tvpl.api

<back to all web services

GetWorkflowStepRequest

Requires Authentication
The following routes are available for this service:
GET/WorkflowStep/by-workflow

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 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 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<BasicSignerConfig>) { (Object as any).assign(this, init); }
}

export class SignerConfig extends BasicSignerConfig
{
    public id: number;
    public documentId: number;
    public stepId?: number;

    public constructor(init?: Partial<SignerConfig>) { 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<WorkFlowProfile>) { (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<Roles>) { (Object as any).assign(this, init); }
}

export class SignerConfigDetail extends SignerConfig
{
    public profile?: WorkFlowProfile;
    public role?: Roles;

    public constructor(init?: Partial<SignerConfigDetail>) { 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<StepAttached>) { (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<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',
    WorkStatus = 'WorkStatus',
    StepStatus = 'StepStatus',
    SignStatus = 'SignStatus',
}

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 key?: string;
    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 isSequentialSigning?: boolean;
    public statusText?: string;
    public documentTypeId?: number;

    public constructor(init?: Partial<SimpleDocumentRelation>) { (Object as any).assign(this, init); }
}

export class WorkflowStepDetail extends WorkflowStep
{
    public departments?: Category[];
    public coDepartments?: Category[];
    public basisDocuments?: SimpleDocumentRelation[];
    public referenceDocuments?: SimpleDocumentRelation[];
    public mainAssignees?: WorkFlowProfile[];
    public supportingAssignees?: WorkFlowProfile[];
    public statusKey?: string;
    public statusText?: string;
    // @Ignore()
    public canRead?: boolean;

    // @Ignore()
    public canWrite?: boolean;

    // @Ignore()
    public canUpload?: boolean;

    public reasonReturn?: string;
    public returnDate?: string;

    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 .other suffix or ?format=other

HTTP + OTHER

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/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"code":0,"message":"String","data":[{"departments":[{"id":0,"level":0,"key":"String","sortOrder":0,"lastUpdate":"0001-01-01T00:00:00.0000000+07:06","children":[{"id":0,"level":0,"key":"String","sortOrder":0,"lastUpdate":"0001-01-01T00:00:00.0000000+07:06","children":[{"id":0,"level":0,"key":"String","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]}],"coDepartments":[{"id":0,"level":0,"key":"String","sortOrder":0,"lastUpdate":"0001-01-01T00:00:00.0000000+07:06","children":[{"id":0,"level":0,"key":"String","sortOrder":0,"lastUpdate":"0001-01-01T00:00:00.0000000+07:06","children":[{"id":0,"level":0,"key":"String","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","isSequentialSigning":false,"statusText":"String","documentTypeId":0}],"referenceDocuments":[{"id":0,"title":"String","documentCode":"String","publicationDate":"0001-01-01T00:00:00.0000000+07:06","isSequentialSigning":false,"statusText":"String","documentTypeId":0}],"mainAssignees":[{"id":0,"name":"String","fullName":"String","email":"String","departmentId":0,"avatar":"String","telephone":"String","birthday":"0001-01-01T00:00:00.0000000+07:06","confirmStatus":0,"confirmStatusText":"String","signAt":"0001-01-01T00:00:00.0000000+07:06","signedFileId":0,"originalFileId":0,"signedFileName":"String","isSigned":false,"signStatusText":"String"}],"supportingAssignees":[{"id":0,"name":"String","fullName":"String","email":"String","departmentId":0,"avatar":"String","telephone":"String","birthday":"0001-01-01T00:00:00.0000000+07:06","confirmStatus":0,"confirmStatusText":"String","signAt":"0001-01-01T00:00:00.0000000+07:06","signedFileId":0,"originalFileId":0,"signedFileName":"String","isSigned":false,"signStatusText":"String"}],"statusKey":"String","statusText":"String","canRead":false,"canWrite":false,"canUpload":false,"reasonReturn":"String","returnDate":"0001-01-01T00:00:00.0000000+07:06","id":0,"workflowId":0,"stepOrder":0,"statusId":0,"stepName":"String","isRequired":false,"slaLegalValue":0,"slaLegalIsByDay":false,"slaInternalValue":0,"slaInternalIsByDay":false,"requireAttachment":false,"isUsingForm":false,"description":"String","createdBy":0,"departmentIds":[0],"mainAssigneeIds":[0],"coDepartmentIds":[0],"supportingAssigneeIds":[0],"stepBasisDocumentIds":[0],"attachedDocuments":[{"id":0,"documentCode":"String","title":"String","isSequentialSigning":false,"pendingSignFile":{"id":0,"uploadedFile":"String","subDocumentId":0,"stepId":0,"code":0,"fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"originalFile":{"id":0,"uploadedFile":"String","subDocumentId":0,"stepId":0,"code":0,"fileName":"String","filekey":"String","fileUrl":"String","checksum":"String","eTag":"String","fileSize":0},"signerConfigs":[{"profile":{"id":0,"name":"String","fullName":"String","email":"String","departmentId":0,"avatar":"String","telephone":"String","birthday":"0001-01-01T00:00:00.0000000+07:06","confirmStatus":0,"confirmStatusText":"String","signAt":"0001-01-01T00:00:00.0000000+07:06","signedFileId":0,"originalFileId":0,"signedFileName":"String","isSigned":false,"signStatusText":"String"},"role":{"id":0,"name":"String","createdAt":"0001-01-01T00:00:00.0000000+07:06","deletedAt":"0001-01-01T00:00:00.0000000+07:06","updatedAt":"0001-01-01T00:00:00.0000000+07:06","updatedBy":0,"deletedBy":0,"createdBy":0,"permission":["String"]},"id":0,"documentId":0,"stepId":0,"subDocumentId":0,"departmentId":0,"signerType":0,"signerRefId":0,"signerRefText":"String","actionType":0,"orderIndex":0}]}]}]}