/** * The UCCX migration payloads as the backend returns them, mirroring * webex-ops-client's `pages/contact-center/interfaces/uccx-batch.interface.ts`. * Only the fields this widget reads are declared. */ /** The UCCX server a batch/application was collected from. */ export interface UccxHost { id?: number; host?: string; name?: string; } /** * One UCCX application, as the dcp application cache returns it. Note this is a * different shape from {@link UccxBatch} - webex-ops-client types the same endpoint * as `UccxBatch[]` but only ever reads `.name` and `.uccx.host` off it. */ export interface UccxApplication { id: number; name: string; /** Wrapped by UCCX as `SCRIPT[Foo.aef]`; see `CcImportService.toScriptName`. */ scriptName?: string | null; description?: string; type?: string; enabled?: boolean; /** Present on the payload, null throughout dev2 - see `resolveMigrationState`. */ migrationStatus?: string | null; aefFiles?: string[] | null; uccx?: UccxHost; } /** One migratable UCCX entity: a CSQ, a prompt, an agent, a script, ... */ export interface UccxItem { id: number | null; name: string; files: string[]; /** One of {@link UCCX_ITEM_TYPE}. */ type: string; /** * The application this entity belongs to - the application-centric link. * Populated per entity type by the backend's dependency analysis; on dev2 only * Trigger items carry it, everything else is null. */ applicationName?: string | null; batchId?: number; sourceUCCXIp: string; destination: string; customerId: number; migrate?: boolean; } /** The request/response envelope the migrate endpoint expects. */ export interface UccxItemsWrapper { /** Items grouped by batch - the backend takes a list of lists. */ uccxItemsList: UccxItem[][]; } /** * A batch groups UCCX entities of one type. A single application is therefore * spread across several batches, which is why the entity overview has to fan out. */ export interface UccxBatch { /** A number on the wire, despite webex-ops-client typing it as a string. */ id: number | string; name: string; /** * Everything below is optional on purpose: the same shape is returned by the * batch endpoints and by the dcp application cache, and the latter fills in * far fewer fields. */ type?: string; applicationName?: string; applicationNames?: string; sourceUccxIp?: string; size?: number; destination?: string; customerId?: number; aefFiles?: string[]; uccx?: UccxHost; /** * Compatibility score for the application's AEF script, 0-100. * Not served yet - see `CcImportService.resolveCompatibility`. */ compatibilityScore?: number; } /** Per-AEF-script migration state, keyed by `scriptName` + `uccxIp`. */ export interface CallFlowMigrationStatus { id: number; scriptName: string; /** NEW | EDITING | READY_FOR_MIGRATION | MIGRATED | MIGRATION_FAILED | CONVERTING */ status: string; type: string; uccxIp: string; customerId: number; } /** The `type` values a {@link UccxItem} can carry. */ export declare const UCCX_ITEM_TYPE: { readonly RESOURCE_GROUP: "Resource Group"; readonly TRIGGER: "Trigger"; readonly SCRIPT: "Script"; readonly APPLICATION: "Application"; readonly CSQ: "CSQ"; readonly DOCUMENT: "Document"; readonly PHONE_BOOK: "Phone Book"; readonly PROMPT: "Prompt"; readonly REASON_CODE: "Reason Code"; readonly RESOURCE: "Resource"; readonly SKILL: "Skill"; readonly TEAM: "Team"; readonly WRAP_UP_CODE: "Wrap Up Code"; }; /** The only call-flow state that counts as imported. */ export declare const CALL_FLOW_MIGRATED = "MIGRATED";