| 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 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
[<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
[<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 StepBasisDocumentIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
[<Ignore>]
member val StepAttachedIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
[<Ignore>]
member val MainAssigneeIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
type CategoryTypes =
| Department = 0
| PartyGroup = 1
| DocGroup = 2
| DocType = 3
| IssuingAgency = 4
| Status = 5
| Subjects = 6
| Workflow = 7
[<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 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
[<AllowNullLiteral>]
type WorkFlowProfile() =
member val Id:Int32 = new Int32() 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
[<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
type AccessType =
| Public = 0
| Restricted = 1
[<AllowNullLiteral>]
type UploadedFileModel() =
inherit BasicUploadedFile()
member val Id:Int64 = new Int64() with get,set
member val AccessType:AccessType = new AccessType() with get,set
member val CreatedBy:Int32 = new Int32() with get,set
member val CreatedDate:DateTime = new DateTime() with get,set
[<AllowNullLiteral>]
type UploadedFileAttach() =
inherit UploadedFileModel()
member val FileType: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
[<AllowNullLiteral>]
type WorkflowStepDetail() =
inherit WorkflowStep()
member val Departments:ResizeArray<Category> = new ResizeArray<Category>() with get,set
member val BasisDocuments:ResizeArray<SimpleDocumentRelation> = new ResizeArray<SimpleDocumentRelation>() with get,set
member val AttachedDocuments: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 AttachFiles:ResizeArray<UploadedFileAttach> = new ResizeArray<UploadedFileAttach>() 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,
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",
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,
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
]
}
]
}