import { ValueOf } from './Utils.js'; import { ACTIVITY_SOURCE } from '../enums/project.js'; import { DEPLOY_ACTION, DEPLOY_STATUS } from '../enums/deploy.js'; import { COMPONENT_TYPES, SUBCOMPONENT_TYPES } from '../enums/build.js'; import { ProjectStandardError } from './ProjectComponents.js'; export type DeployStatus = ValueOf; export type SubdeployStatus = { action: ValueOf; deployName: string; deployType: ValueOf | ValueOf; errorMessage: string; finishedAt: string; standardError: ProjectStandardError | null; startedAt: string; status: DeployStatus; id: string; visible: boolean; }; export type Deploy = { buildId: number; deployId: number; enqueuedAt: string; finishedAt: string; portalId: number; projectName: string; startedAt: string; status: DeployStatus; subdeployStatuses: Array; userId: number; source: ValueOf; }; export type SubdeployValidationIssue = { uid: string; componentTypeName: string; errorMessages: string[]; blockingMessages: { message: string; isWarning: boolean; }[]; }; export type DeployResponseLinks = { status: string; }; export type ProjectDeployResponseQueued = { id: string; buildResultType: 'DEPLOY_QUEUED'; links: DeployResponseLinks; }; export type ProjectDeployResponseBlocked = { buildResultType: 'DEPLOY_BLOCKED'; issues: SubdeployValidationIssue[]; }; export type ProjectDeployResponse = ProjectDeployResponseQueued | ProjectDeployResponseBlocked; export type ProjectDeployResponseV1 = { id: string; links: DeployResponseLinks; }; export type DeployedComponentInfo = { componentType: string; componentId: string; }; export type ProjectDeletionResponse = { deployId?: number; componentsToRemove: DeployedComponentInfo[]; hasDeployedComponents: boolean; };