Bound provisioning history and poll only active operations
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import type { ProvisioningAction } from './provisioning.js';
|
||||
import type { ProvisioningDeployment } from './provisioning-detail.js';
|
||||
|
||||
export type ProvisioningListRow = Pick<ProvisioningDeployment,
|
||||
'id' | 'server' | 'server_deleted_at' | 'action' | 'state' | 'stage' | 'started_at' |
|
||||
'finished_at' | 'triggered_by' | 'error' | 'warnings' | 'server_exists'> & { canCancelRemoval: number };
|
||||
|
||||
export interface ProvisioningListOptions {
|
||||
view?: 'active' | 'history' | 'all';
|
||||
action?: ProvisioningAction;
|
||||
status?: 'attention';
|
||||
server?: string;
|
||||
limit?: number;
|
||||
offset?: number;
|
||||
}
|
||||
|
||||
export interface ProvisioningListPage {
|
||||
deployments: ProvisioningListRow[];
|
||||
total: number;
|
||||
needsReview: number;
|
||||
limit: number;
|
||||
offset: number;
|
||||
}
|
||||
|
||||
export function provisioningPageSize(value: number): number {
|
||||
return Number.isFinite(value) ? Math.min(100, Math.max(1, Math.floor(value) || 25)) : 25;
|
||||
}
|
||||
|
||||
export function provisioningPageOffset(value: number): number {
|
||||
return Number.isFinite(value) ? Math.min(1_000_000, Math.max(0, Math.floor(value))) : 0;
|
||||
}
|
||||
Reference in New Issue
Block a user