| GET | /WorkflowStep/by-workflow |
|---|
export class WorkflowStep
{
public id: number;
// @References("typeof(tvpl.data.Models.Document)")
public workflowId: number;
public stepOrder?: 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;
// @Required()
public description: string;
public createdBy: number;
// @Ignore()
public departmentIds?: number[];
// @Ignore()
public stepBasisDocumentIds?: number[];
// @Ignore()
public stepAttachedIds?: number[];
// @Ignore()
public mainAssigneeIds?: number[];
public constructor(init?: Partial<WorkflowStep>) { (Object as any).assign(this, init); }
}
export enum CategoryTypes
{
Department = 'Department',
PartyGroup = 'PartyGroup',
DocGroup = 'DocGroup',
DocType = 'DocType',
IssuingAgency = 'IssuingAgency',
Status = 'Status',
Subjects = 'Subjects',
Workflow = 'Workflow',
}
export class CreateCategoryModel
{
public name: string;
public description: string;
public type: CategoryTypes;
public isParty: boolean;
// @Ignore()
public childList?: number[];
public constructor(init?: Partial<CreateCategoryModel>) { (Object as any).assign(this, init); }
}
export class Category extends CreateCategoryModel
{
public id: number;
public level: number;
public sortOrder: number;
public lastUpdate?: string;
// @Ignore()
public children: Category[];
public constructor(init?: Partial<Category>) { super(init); (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 WorkFlowProfile
{
public id: number;
public fullName?: string;
public email?: string;
public departmentId?: number;
public avatar?: string;
public telephone?: string;
public birthday?: string;
public confirmStatus?: number;
public constructor(init?: Partial<WorkFlowProfile>) { (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 WorkflowStepDetail extends WorkflowStep
{
public departments?: Category[];
public basisDocuments?: SimpleDocumentRelation[];
public attachedDocuments?: SimpleDocumentRelation[];
public referenceDocuments?: SimpleDocumentRelation[];
public mainAssignees?: WorkFlowProfile[];
public attachFiles?: UploadedFileAttach[];
public constructor(init?: Partial<WorkflowStepDetail>) { super(init); (Object as any).assign(this, init); }
}
export class GetWorkflowStepResponse implements IResponseRequest
{
public code: number;
public message: string;
public data?: WorkflowStepDetail[];
public constructor(init?: Partial<GetWorkflowStepResponse>) { (Object as any).assign(this, init); }
}
export class GetWorkflowStepRequest
{
public workflowId: number;
public constructor(init?: Partial<GetWorkflowStepRequest>) { (Object as any).assign(this, init); }
}
TypeScript GetWorkflowStepRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /WorkflowStep/by-workflow HTTP/1.1 Host: etc-api.vsmlab.vn Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"code":0,"message":"String","data":[{"departments":[{"id":0,"level":0,"sortOrder":0,"lastUpdate":"0001-01-01T00:00:00.0000000+07:06","children":[{"id":0,"level":0,"sortOrder":0,"lastUpdate":"0001-01-01T00:00:00.0000000+07:06","children":[{"id":0,"level":0,"sortOrder":0,"lastUpdate":"0001-01-01T00:00:00.0000000+07:06","children":null,"name":"String","description":"String","type":"Department","isParty":false,"childList":[0]}],"name":"String","description":"String","type":"Department","isParty":false,"childList":[0]}],"name":"String","description":"String","type":"Department","isParty":false,"childList":[0]}],"basisDocuments":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"attachedDocuments":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"referenceDocuments":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06"}],"mainAssignees":[{"id":0,"fullName":"String","email":"String","departmentId":0,"avatar":"String","telephone":"String","birthday":"0001-01-01T00:00:00.0000000+07:06","confirmStatus":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}],"id":0,"workflowId":0,"stepOrder":0,"stepName":"String","isRequired":false,"slaLegalValue":0,"slaLegalIsByDay":false,"slaInternalValue":0,"slaInternalIsByDay":false,"requireAttachment":false,"description":"String","createdBy":0,"departmentIds":[0],"stepBasisDocumentIds":[0],"stepAttachedIds":[0],"mainAssigneeIds":[0]}]}