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 .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,"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]}]}