tvpl.api

<back to all web services

GetWorkflowStepRequest

Requires Authentication
The following routes are available for this service:
GET/WorkflowStep/by-workflow
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


open class GetWorkflowStepRequest
{
    var workflowId:Int? = null
}

open class GetWorkflowStepResponse : IResponseRequest
{
    var code:Int? = null
    var message:String? = null
    @SerializedName("data") var Data:ArrayList<WorkflowStepDetail> = ArrayList<WorkflowStepDetail>()
}

open class WorkflowStepDetail : WorkflowStep()
{
    var departments:ArrayList<Category> = ArrayList<Category>()
    var basisDocuments:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
    var attachedDocuments:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
    var referenceDocuments:ArrayList<SimpleDocumentRelation> = ArrayList<SimpleDocumentRelation>()
    var mainAssignees:ArrayList<WorkFlowProfile> = ArrayList<WorkFlowProfile>()
    var attachFiles:ArrayList<UploadedFileAttach> = ArrayList<UploadedFileAttach>()
}

open class WorkflowStep
{
    var id:Int? = null
    @References(Document.class)
    var workflowId:Int? = null

    var stepOrder:Int? = null
    @Required()
    @StringLength(255)
    var stepName:String? = null

    @Required()
    var isRequired:Boolean? = null

    var slaLegalValue:Int? = null
    var slaLegalIsByDay:Boolean? = null
    var slaInternalValue:Int? = null
    var slaInternalIsByDay:Boolean? = null
    var requireAttachment:Boolean? = null
    @Required()
    var description:String? = null

    var createdBy:Int? = null
    @Ignore()
    var departmentIds:ArrayList<Int> = ArrayList<Int>()

    @Ignore()
    var stepBasisDocumentIds:ArrayList<Int> = ArrayList<Int>()

    @Ignore()
    var stepAttachedIds:ArrayList<Int> = ArrayList<Int>()

    @Ignore()
    var mainAssigneeIds:ArrayList<Int> = ArrayList<Int>()
}

open class Category : CreateCategoryModel()
{
    var id:Int? = null
    var level:Int? = null
    var sortOrder:Int? = null
    var lastUpdate:Date? = null
    @Ignore()
    var children:ArrayList<Category> = ArrayList<Category>()
}

open class CreateCategoryModel
{
    var name:String? = null
    var description:String? = null
    @SerializedName("type") var Type:CategoryTypes? = null
    var isParty:Boolean? = null
    @Ignore()
    var childList:ArrayList<Int> = ArrayList<Int>()
}

enum class CategoryTypes
{
    Department,
    PartyGroup,
    DocGroup,
    DocType,
    IssuingAgency,
    Status,
    Subjects,
    Workflow,
}

open class SimpleDocumentRelation
{
    var id:Int? = null
    var title:String? = null
    var documentCode:String? = null
    var publicationDate:Date? = null
}

open class WorkFlowProfile
{
    var id:Int? = null
    var fullName:String? = null
    var email:String? = null
    var departmentId:Int? = null
    var avatar:String? = null
    var telephone:String? = null
    var birthday:Date? = null
    var confirmStatus:Int? = null
}

open class UploadedFileAttach : UploadedFileModel()
{
    var fileType:String? = null
    var subDocumentId:Int? = null
    var stepId:Int? = null
}

open class UploadedFileModel : BasicUploadedFile()
{
    var id:Long? = null
    var accessType:AccessType? = null
    var createdBy:Int? = null
    var createdDate:Date? = null
}

open class BasicUploadedFile
{
    var fileName:String? = null
    var filekey:String? = null
    var fileUrl:String? = null
    var checksum:String? = null
    var eTag:String? = null
    var fileSize:Long? = null
}

enum class AccessType
{
    Public,
    Restricted,
}

Kotlin GetWorkflowStepRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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
			]
		}
	]
}