/* Options: Date: 2026-02-04 10:27:55 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://etc-api.vsmlab.vn //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateWorkflowStepRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class BasicUploadedFile { public fileName: string; public filekey: string; public fileUrl: string; public checksum: string; public eTag: string; public fileSize: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class UploadedFiles extends BasicUploadedFile { public id?: number; public uploadedFile: string; public subDocumentId?: number; public stepId?: number; public code: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class BasicDocument { // @Required() public title: string; // @StringLength(4000) public description: string; // @StringLength(500) public owner?: string; public documentPolicyId?: number; public updateDocumentId?: number; public effectBeginDate?: string; public effectEndDate?: string; public issuingAgencyId?: number; public documentTypeId?: number; public documentGroupId?: number; public subjectId?: number; // @StringLength(500) public signBy?: string; public signDate?: string; public statusId?: number; public isInternal: boolean; public documentNumber?: string; public documentCode?: string; public isUrgent?: boolean; public scopeType?: number; public isActive?: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BasicSignerConfig { public subDocumentId?: number; public departmentId?: number; public signerType: number; public signerRefId: number; // @Ignore() public signerRefText?: string; public actionType: number; public orderIndex: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SignerConfig extends BasicSignerConfig { public id: number; public documentId: number; public stepId?: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class WorkFlowProfile { public id: number; public name?: string; public fullName?: string; public email?: string; public departmentId?: number; public avatar?: string; public telephone?: string; public birthday?: string; public confirmStatus?: number; public confirmStatusText?: string; public signAt?: string; public signedFileId?: number; public originalFileId?: number; public signedFileName?: string; public isSigned: boolean; public signStatusText?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Roles { public id: number; // @StringLength(50) public name: string; public createdAt?: string; public deletedAt?: string; public updatedAt?: string; public updatedBy?: number; public deletedBy?: number; public createdBy?: number; // @Ignore() public permission?: string[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SignerConfigDetail extends SignerConfig { public profile?: WorkFlowProfile; public role?: Roles; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class StepAttached { public id: number; public documentCode?: string; public title?: string; public isSequentialSigning?: boolean; public pendingSignFile?: UploadedFiles; public originalFile?: UploadedFiles; public signerConfigs?: SignerConfigDetail[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class WorkflowStep { public id: number; // @References("typeof(tvpl.data.Models.Document)") public workflowId: number; public stepOrder?: number; public statusId?: number; // @Required() // @StringLength(255) public stepName: string; // @Required() public isRequired: boolean; public slaLegalValue?: number; public slaLegalIsByDay?: boolean; public slaInternalValue?: number; public slaInternalIsByDay?: boolean; public requireAttachment: boolean; public isUsingForm?: boolean; // @Required() public description: string; public createdBy: number; // @Ignore() public departmentIds?: number[]; // @Ignore() public mainAssigneeIds?: number[]; // @Ignore() public coDepartmentIds?: number[]; // @Ignore() public supportingAssigneeIds?: number[]; // @Ignore() public stepBasisDocumentIds?: number[]; // @Ignore() public attachedDocuments?: StepAttached[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IResponseRequest { code: number; message: string; } export class Document extends BasicDocument { public id: number; // @StringLength(500) public reasonReturn?: string; public accountId?: number; public deletedAt?: string; // @StringLength(500) public deletedBy?: string; // @StringLength(500) public updatedBy?: string; public createdAt?: string; // @StringLength(500) public createdBy?: string; public isParty?: boolean; public isRevisionRequested: boolean; public lastUpdatedAt?: string; public isPrivate?: boolean; public departmentId?: number; public publicationDate?: string; public processStatusId?: number; public fullTextSearchContent?: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class WorkflowStepResponse implements IResponseRequest { public code: number; public message: string; public insertedId: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/WorkflowStep/update", "Post") export class CreateWorkflowStepRequest extends WorkflowStep implements IReturn { public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'CreateWorkflowStepRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new WorkflowStepResponse(); } }