| POST | /document/advance-create |
|---|
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<BasicDocument>) { (Object as any).assign(this, init); }
}
export class DocumentSearchResultItem
{
public title?: string;
public description: string;
public owner?: string;
public documentPolicyId?: number;
public updateDocumentId?: number;
public effectBeginDate?: string;
public effectEndDate?: string;
public issuingAgencyId?: number;
public subjectId?: number;
public signBy?: string;
public signDate?: string;
public updatedAt?: string;
public statusId?: number;
public isInternal: boolean;
public documentNumber?: string;
public documentCode?: string;
public isUrgent?: boolean;
public id: number;
public reasonReturn?: string;
public accountId?: number;
public approverId?: number;
// @StringLength(500)
public updatedBy?: string;
// @StringLength(500)
public createdBy?: string;
public isParty?: boolean;
public isRevisionRequested?: boolean;
public isPrivate?: boolean;
public departmentId?: number;
public publicationDate?: string;
public processStatusId: number;
public documentTypeId?: number;
public documentGroupId?: number;
public accountName?: string;
public acceptAccountName?: string;
public documentGroupText?: string;
public processStatusText?: string;
public documentTypeText?: string;
public departmentText?: string;
public statusText?: string;
public issuingAgencyText?: string;
public subjectText?: string;
public comment?: string;
public submitComment?: string;
public fullFile?: string;
public parthFile?: string;
public isActive?: boolean;
public stepOrder?: number;
public stepCount?: number;
public constructor(init?: Partial<DocumentSearchResultItem>) { (Object as any).assign(this, init); }
}
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<BasicUploadedFile>) { (Object as any).assign(this, init); }
}
export enum AccessType
{
Public = 'Public',
Restricted = 'Restricted',
}
export class UploadedFileModel extends BasicUploadedFile
{
public id: number;
public accessType: AccessType;
public createdBy: number;
public createdDate: string;
public constructor(init?: Partial<UploadedFileModel>) { super(init); (Object as any).assign(this, init); }
}
export class UploadedFileAttach extends UploadedFileModel
{
public fileType: string;
public subDocumentId?: number;
public stepId?: number;
public constructor(init?: Partial<UploadedFileAttach>) { super(init); (Object as any).assign(this, init); }
}
export class UserLogin
{
// @Required()
public name: string;
public constructor(init?: Partial<UserLogin>) { (Object as any).assign(this, init); }
}
export class UserProfile extends UserLogin
{
public id: number;
public fullName?: string;
public email?: string;
public departmentId?: number;
public partyGroupId?: number;
public avatar?: string;
public telephone?: string;
public birthday?: string;
public createdAt?: string;
public updatedAt?: string;
public failedLoginCount: number;
// @Ignore()
public roles: number[];
public lastLoginDate?: string;
public constructor(init?: Partial<UserProfile>) { super(init); (Object as any).assign(this, init); }
}
export class ApproversProfile
{
public userProfiles?: UserProfile[];
public processStatusId: number;
public processTitle: string;
public actionButtonLabel?: string;
public processDescription: string;
public isApprovalRequired: boolean;
public isFinalStep: boolean;
public stepOrder: number;
public constructor(init?: Partial<ApproversProfile>) { (Object as any).assign(this, init); }
}
export class CurrentApprover
{
public approverId?: number;
public status?: string;
public processStatusId: number;
public processTitle: string;
public actionButtonLabel?: string;
public processDescription: string;
public isApprovalRequired: boolean;
public isFinalStep: boolean;
public stepOrder: number;
public constructor(init?: Partial<CurrentApprover>) { (Object as any).assign(this, init); }
}
export class SimpleDocumentRelation
{
public id: number;
public title: string;
public documentCode: string;
public publicationDate?: string;
public constructor(init?: Partial<SimpleDocumentRelation>) { (Object as any).assign(this, init); }
}
export class DocumentDetail extends DocumentSearchResultItem
{
public partUploadedFile?: UploadedFileAttach;
public compactUploadedFile?: UploadedFileAttach;
public analysisUploadedFile?: UploadedFileAttach;
public fullUploadedFile?: UploadedFileAttach;
public createdAt: string;
public nextApprover?: ApproversProfile;
public currentApprover?: CurrentApprover;
public attachFiles?: UploadedFileAttach[];
public hasReadPermission: boolean;
public canGrantReadPermission: boolean;
public basisDocument?: SimpleDocumentRelation[];
public basisForDocument?: SimpleDocumentRelation[];
public mainDocument?: SimpleDocumentRelation;
public referenceDocument?: SimpleDocumentRelation[];
public referencedByDocument?: SimpleDocumentRelation[];
public replacedDocument?: SimpleDocumentRelation[];
public replacedByDocument?: SimpleDocumentRelation[];
public expiredDocument?: SimpleDocumentRelation[];
public expiredByDocument?: SimpleDocumentRelation[];
public updateForDocument?: SimpleDocumentRelation;
public scopeType?: number;
public stepOrder: number;
public constructor(init?: Partial<DocumentDetail>) { super(init); (Object as any).assign(this, init); }
}
export class DocumentDetailResponse implements IResponseRequest
{
public data: DocumentDetail;
public code: number;
public message: string;
public constructor(init?: Partial<DocumentDetailResponse>) { (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<UploadedFiles>) { super(init); (Object as any).assign(this, init); }
}
export class AdvanceCreateDocument extends BasicDocument
{
public partUploadedFile?: UploadedFiles;
public compactUploadedFile?: UploadedFiles;
public analysisUploadedFile?: UploadedFiles;
public fullUploadedFile?: UploadedFiles;
public attachFiles?: UploadedFiles[];
public basisDocumentId?: number[];
public referenceDocumentId?: number[];
public replacedDocumentId?: number[];
public expiredDocumentId?: number[];
public constructor(init?: Partial<AdvanceCreateDocument>) { super(init); (Object as any).assign(this, init); }
}
TypeScript AdvanceCreateDocument DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /document/advance-create HTTP/1.1
Host: etc-api.vsmlab.vn
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"partUploadedFile":{"id":0,"uploadedFile":"String","subDocumentId":0,"stepId":0,"code":0,"fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"compactUploadedFile":{"id":0,"uploadedFile":"String","subDocumentId":0,"stepId":0,"code":0,"fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"analysisUploadedFile":{"id":0,"uploadedFile":"String","subDocumentId":0,"stepId":0,"code":0,"fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"fullUploadedFile":{"id":0,"uploadedFile":"String","subDocumentId":0,"stepId":0,"code":0,"fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"attachFiles":[{"id":0,"uploadedFile":"String","subDocumentId":0,"stepId":0,"code":0,"fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0}],"basisDocumentId":[0],"referenceDocumentId":[0],"replacedDocumentId":[0],"expiredDocumentId":[0],"title":"String","description":"String","owner":"String","documentPolicyId":0,"updateDocumentId":0,"effectBeginDate":"0001-01-01T00:00:00.0000000+07:06","effectEndDate":"0001-01-01T00:00:00.0000000+07:06","issuingAgencyId":0,"documentTypeId":0,"documentGroupId":0,"subjectId":0,"signBy":"String","signDate":"0001-01-01T00:00:00.0000000+07:06","statusId":0,"isInternal":false,"documentNumber":"String","documentCode":"String","isUrgent":false,"scopeType":0,"isActive":false}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"data":{"partUploadedFile":{"fileType":"String","subDocumentId":0,"stepId":0,"id":0,"accessType":"Public","createdBy":0,"createdDate":"0001-01-01T00:00:00.0000000+07:06","fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"compactUploadedFile":{"fileType":"String","subDocumentId":0,"stepId":0,"id":0,"accessType":"Public","createdBy":0,"createdDate":"0001-01-01T00:00:00.0000000+07:06","fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"analysisUploadedFile":{"fileType":"String","subDocumentId":0,"stepId":0,"id":0,"accessType":"Public","createdBy":0,"createdDate":"0001-01-01T00:00:00.0000000+07:06","fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"fullUploadedFile":{"fileType":"String","subDocumentId":0,"stepId":0,"id":0,"accessType":"Public","createdBy":0,"createdDate":"0001-01-01T00:00:00.0000000+07:06","fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"createdAt":"0001-01-01T00:00:00.0000000+07:06","nextApprover":{"userProfiles":[{"id":0,"fullName":"String","email":"String","departmentId":0,"partyGroupId":0,"avatar":"String","telephone":"String","birthday":"0001-01-01T00:00:00.0000000+07:06","createdAt":"0001-01-01T00:00:00.0000000+07:06","updatedAt":"0001-01-01T00:00:00.0000000+07:06","failedLoginCount":0,"roles":[0],"lastLoginDate":"0001-01-01T00:00:00.0000000+07:06","name":"String"}],"processStatusId":0,"processTitle":"String","actionButtonLabel":"String","processDescription":"String","isApprovalRequired":false,"isFinalStep":false,"stepOrder":0},"currentApprover":{"approverId":0,"status":"String","processStatusId":0,"processTitle":"String","actionButtonLabel":"String","processDescription":"String","isApprovalRequired":false,"isFinalStep":false,"stepOrder":0},"attachFiles":[{"fileType":"String","subDocumentId":0,"stepId":0,"id":0,"accessType":"Public","createdBy":0,"createdDate":"0001-01-01T00:00:00.0000000+07:06","fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0}],"hasReadPermission":false,"canGrantReadPermission":false,"basisDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"basisForDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"mainDocument":{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"},"referenceDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"referencedByDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"replacedDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"replacedByDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"expiredDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"expiredByDocument":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"updateForDocument":{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"},"scopeType":0,"stepOrder":0,"title":"String","description":"String","owner":"String","documentPolicyId":0,"updateDocumentId":0,"effectBeginDate":"0001-01-01T00:00:00.0000000+07:06","effectEndDate":"0001-01-01T00:00:00.0000000+07:06","issuingAgencyId":0,"subjectId":0,"signBy":"String","signDate":"0001-01-01T00:00:00.0000000+07:06","updatedAt":"0001-01-01T00:00:00.0000000+07:06","statusId":0,"isInternal":false,"documentNumber":"String","documentCode":"String","isUrgent":false,"id":0,"reasonReturn":"String","accountId":0,"approverId":0,"updatedBy":"String","createdBy":"String","isParty":false,"isRevisionRequested":false,"isPrivate":false,"departmentId":0,"publicationDate":"0001-01-01T00:00:00.0000000+07:06","processStatusId":0,"documentTypeId":0,"documentGroupId":0,"accountName":"String","acceptAccountName":"String","documentGroupText":"String","processStatusText":"String","documentTypeText":"String","departmentText":"String","statusText":"String","issuingAgencyText":"String","subjectText":"String","comment":"String","submitComment":"String","fullFile":"String","parthFile":"String","isActive":false,"stepOrder":0,"stepCount":0},"code":0,"message":"String"}