| GET | /WorkflowStep/by-workflow |
|---|
namespace tvpl.api.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type BasicUploadedFile() =
member val FileName:String = null with get,set
member val Filekey:String = null with get,set
member val FileUrl:String = null with get,set
member val Checksum:String = null with get,set
member val ETag:String = null with get,set
member val FileSize:Int64 = new Int64() with get,set
[<AllowNullLiteral>]
type UploadedFiles() =
inherit BasicUploadedFile()
member val Id:Nullable<Int64> = new Nullable<Int64>() with get,set
member val UploadedFile:String = null with get,set
member val SubDocumentId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val StepId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Code:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type BasicSignerConfig() =
member val SubDocumentId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val DepartmentId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val SignerType:Byte = new Byte() with get,set
member val SignerRefId:Int32 = new Int32() with get,set
[<Ignore>]
member val SignerRefText:String = null with get,set
member val ActionType:Byte = new Byte() with get,set
member val OrderIndex:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type SignerConfig() =
inherit BasicSignerConfig()
member val Id:Int32 = new Int32() with get,set
member val DocumentId:Int32 = new Int32() with get,set
member val StepId:Nullable<Int32> = new Nullable<Int32>() with get,set
[<AllowNullLiteral>]
type WorkFlowProfile() =
member val Id:Int32 = new Int32() with get,set
member val Name:String = null with get,set
member val FullName:String = null with get,set
member val Email:String = null with get,set
member val DepartmentId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Avatar:String = null with get,set
member val Telephone:String = null with get,set
member val Birthday:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ConfirmStatus:Nullable<Int32> = new Nullable<Int32>() with get,set
member val ConfirmStatusText:String = null with get,set
member val SignAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val SignedFileId:Nullable<Int64> = new Nullable<Int64>() with get,set
member val OriginalFileId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val SignedFileName:String = null with get,set
member val IsSigned:Boolean = new Boolean() with get,set
member val SignStatusText:String = null with get,set
[<AllowNullLiteral>]
type Roles() =
member val Id:Int32 = new Int32() with get,set
[<StringLength(50)>]
member val Name:String = null with get,set
member val CreatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val DeletedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val UpdatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val UpdatedBy:Nullable<Int32> = new Nullable<Int32>() with get,set
member val DeletedBy:Nullable<Int32> = new Nullable<Int32>() with get,set
member val CreatedBy:Nullable<Int32> = new Nullable<Int32>() with get,set
[<Ignore>]
member val Permission:ResizeArray<String> = new ResizeArray<String>() with get,set
[<AllowNullLiteral>]
type SignerConfigDetail() =
inherit SignerConfig()
member val Profile:WorkFlowProfile = null with get,set
member val Role:Roles = null with get,set
[<AllowNullLiteral>]
type StepAttached() =
member val Id:Int32 = new Int32() with get,set
member val DocumentCode:String = null with get,set
member val Title:String = null with get,set
member val IsSequentialSigning:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val PendingSignFile:UploadedFiles = null with get,set
member val OriginalFile:UploadedFiles = null with get,set
member val SignerConfigs:ResizeArray<SignerConfigDetail> = new ResizeArray<SignerConfigDetail>() with get,set
[<AllowNullLiteral>]
type WorkflowStep() =
member val Id:Int32 = new Int32() with get,set
[<References(typeof<Document>)>]
member val WorkflowId:Int32 = new Int32() with get,set
member val StepOrder:Nullable<Int32> = new Nullable<Int32>() with get,set
member val StatusId:Nullable<Int32> = new Nullable<Int32>() with get,set
[<Required>]
[<StringLength(255)>]
member val StepName:String = null with get,set
[<Required>]
member val IsRequired:Boolean = new Boolean() with get,set
member val SLALegalValue:Nullable<Int32> = new Nullable<Int32>() with get,set
member val SLALegalIsByDay:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val SLAInternalValue:Nullable<Int32> = new Nullable<Int32>() with get,set
member val SLAInternalIsByDay:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val RequireAttachment:Boolean = new Boolean() with get,set
member val IsUsingForm:Nullable<Boolean> = new Nullable<Boolean>() with get,set
[<Required>]
member val Description:String = null with get,set
member val CreatedBy:Int32 = new Int32() with get,set
[<Ignore>]
member val DepartmentIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
[<Ignore>]
member val MainAssigneeIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
[<Ignore>]
member val CoDepartmentIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
[<Ignore>]
member val SupportingAssigneeIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
[<Ignore>]
member val StepBasisDocumentIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
[<Ignore>]
member val AttachedDocuments:ResizeArray<StepAttached> = new ResizeArray<StepAttached>() with get,set
type CategoryTypes =
| Department = 0
| PartyGroup = 1
| DocGroup = 2
| DocType = 3
| IssuingAgency = 4
| Status = 5
| Subjects = 6
| Workflow = 7
| WorkStatus = 8
| StepStatus = 9
| SignStatus = 10
[<AllowNullLiteral>]
type CreateCategoryModel() =
member val Name:String = null with get,set
member val Description:String = null with get,set
member val Type:CategoryTypes = new CategoryTypes() with get,set
member val IsParty:Boolean = new Boolean() with get,set
[<Ignore>]
member val ChildList:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
[<AllowNullLiteral>]
type Category() =
inherit CreateCategoryModel()
member val Id:Int32 = new Int32() with get,set
member val Level:Int32 = new Int32() with get,set
member val Key:String = null with get,set
member val SortOrder:Int32 = new Int32() with get,set
member val LastUpdate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<Ignore>]
member val Children:ResizeArray<Category> = new ResizeArray<Category>() with get,set
[<AllowNullLiteral>]
type SimpleDocumentRelation() =
member val Id:Int32 = new Int32() with get,set
member val Title:String = null with get,set
member val DocumentCode:String = null with get,set
member val PublicationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val IsSequentialSigning:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val StatusText:String = null with get,set
member val DocumentTypeId:Nullable<Int32> = new Nullable<Int32>() with get,set
[<AllowNullLiteral>]
type WorkflowStepDetail() =
inherit WorkflowStep()
member val Departments:ResizeArray<Category> = new ResizeArray<Category>() with get,set
member val CoDepartments:ResizeArray<Category> = new ResizeArray<Category>() with get,set
member val BasisDocuments:ResizeArray<SimpleDocumentRelation> = new ResizeArray<SimpleDocumentRelation>() with get,set
member val ReferenceDocuments:ResizeArray<SimpleDocumentRelation> = new ResizeArray<SimpleDocumentRelation>() with get,set
member val MainAssignees:ResizeArray<WorkFlowProfile> = new ResizeArray<WorkFlowProfile>() with get,set
member val SupportingAssignees:ResizeArray<WorkFlowProfile> = new ResizeArray<WorkFlowProfile>() with get,set
member val StatusKey:String = null with get,set
member val StatusText:String = null with get,set
[<Ignore>]
member val CanRead:Nullable<Boolean> = new Nullable<Boolean>() with get,set
[<Ignore>]
member val CanWrite:Nullable<Boolean> = new Nullable<Boolean>() with get,set
[<Ignore>]
member val CanUpload:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val ReasonReturn:String = null with get,set
member val ReturnDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<AllowNullLiteral>]
type GetWorkflowStepResponse() =
member val Code:Int32 = new Int32() with get,set
member val Message:String = null with get,set
member val Data:ResizeArray<WorkflowStepDetail> = new ResizeArray<WorkflowStepDetail>() with get,set
[<AllowNullLiteral>]
type GetWorkflowStepRequest() =
member val WorkflowId:Int32 = new Int32() with get,set
F# GetWorkflowStepRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
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/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
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",
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",
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
}
]
}
]
}
]
}