import { Operation } from './operation.model'; import { JobActionType } from './job-action-type'; import { JobParallel, StorageObjectJob } from './action-job'; import { Job, JobType, StorageObject } from '../../shared'; export type JobInteract = (Job | JobParallel) | (StorageObjectJob | JobParallel); export declare const enum InteractJobType { MergeJob = "MERGE_JOB", MovingJob = "MOVING_JOB" } export declare const enum JobOperationType { Create = "CREATE_JOB", Copy = "COPY_SELECT_JOB", Insert = "INSERT_SELECT_JOB", Unbind = "UNBIND_SELECT_JOB", Delete = "DELETE_SELECT_JOB" } export interface CreateJobRequestBody { readonly constructionTechnologyId: string; readonly shiftType?: JobActionType; readonly type_operations: string; readonly stageId?: string; } export interface SupplementCreateOperation { readonly title: string; readonly storageNodeId: string; } export interface SupplementSelectOperation { readonly selectJobId: string; } export interface CreateShiftTaskRequestBody extends CreateJobRequestBody { readonly supplementOperation: SupplementCreateOperation; } export interface InsertShiftTaskRequestBody extends CreateJobRequestBody { readonly supplementOperation: SupplementSelectOperation; } export interface CopyShiftTaskRequestBody extends CreateJobRequestBody { readonly supplementOperation: SupplementSelectOperation; } export interface UnbindShiftTaskRequestBody extends CreateJobRequestBody { readonly supplementOperation: SupplementSelectOperation; } export interface DeleteJobRequestBody { readonly jobId: string; readonly deleteOperationType: string; readonly containerId?: string; readonly type_operations: string; } export interface CreateJobResponse { readonly id: string; } export type InteractJobRequestBody = InteractMergeJobRequestBody | InteractMovingJobRequestBody; export interface InteractMergeJobRequestBody { readonly containerMainId: string; readonly type: InteractJobType.MergeJob; readonly movableJobId: string; readonly targetJobId: string; } export interface InteractMovingJobRequestBody { readonly containerMovableItemId: string; readonly containerTargetItemId: string; readonly containerMainId: string; readonly type: InteractJobType.MovingJob; readonly movableJobId: string; readonly targetJobId: string; readonly pointer: InteractMovingJobPointer; } export type InteractMovingJobPointer = 'BEFORE' | 'AFTER'; export interface JobOperationRequestBodyBase { readonly jobId: string; readonly pointerOperationsId: string; readonly type: JobType; } export interface CreateOperationRequestBody extends JobOperationRequestBodyBase { readonly title: string; readonly storageNodeId: string; } export interface InsertOperationRequestBody extends JobOperationRequestBodyBase { readonly selectOperation: string; } export interface CopyOperationRequestBody extends JobOperationRequestBodyBase { readonly selectOperation: string; } export interface UnbindOperationRequestBody extends JobOperationRequestBodyBase { readonly selectOperation: string; } export interface UpdateEstimatedTimeParams { readonly id: string; readonly jobType: 'action' | 'approval' | 'evaluation'; readonly estimatedTime: string; } export declare const enum OperationTypeOperation { Create = "CREATE_OPERATION", Insert = "INSERT_SELECT_OPERATION", Copy = "COPY_SELECT_OPERATION", Unbind = "UNBIND_SELECT_OPERATION" } export type StorageObjectOperation = StorageObject;