/* Options: Date: 2025-12-06 13:10:07 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://etc-api.vsmlab.vn //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: UpdateDocumentRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/document/update", Verbs="POST") open class UpdateDocumentRequest : BasicDocument(), IReturn { var partUploadedFile:UploadedFiles? = null var compactUploadedFile:UploadedFiles? = null var analysisUploadedFile:UploadedFiles? = null var fullUploadedFile:UploadedFiles? = null var attachFiles:ArrayList = ArrayList() var basisDocumentId:ArrayList = ArrayList() var referenceDocumentId:ArrayList = ArrayList() var replacedDocumentId:ArrayList = ArrayList() var expiredDocumentId:ArrayList = ArrayList() var id:Int? = null companion object { private val responseType = DocumentDetailResponse::class.java } override fun getResponseType(): Any? = UpdateDocumentRequest.responseType } open class DocumentDetailResponse : IResponseRequest { @SerializedName("data") var Data:DocumentDetail? = null var code:Int? = null var message:String? = null } open class UploadedFiles : BasicUploadedFile() { var id:Long? = null var uploadedFile:String? = null var subDocumentId:Int? = null var stepId:Int? = null var code:Int? = null } open class BasicDocument { @Required() var title:String? = null @StringLength(4000) var description:String? = null @StringLength(500) var owner:String? = null var documentPolicyId:Int? = null var updateDocumentId:Int? = null var effectBeginDate:Date? = null var effectEndDate:Date? = null var issuingAgencyId:Int? = null var documentTypeId:Int? = null var documentGroupId:Int? = null var subjectId:Int? = null @StringLength(500) var signBy:String? = null var signDate:Date? = null var statusId:Int? = null var isInternal:Boolean? = null var documentNumber:String? = null var documentCode:String? = null var isUrgent:Boolean? = null var scopeType:Int? = null var isActive:Boolean? = null } enum class AccessType { Public, Restricted, } open interface IResponseRequest { var code:Int? var message:String? } open class DocumentSearchResultItem { var title:String? = null var description:String? = null var owner:String? = null var documentPolicyId:Int? = null var updateDocumentId:Int? = null var effectBeginDate:Date? = null var effectEndDate:Date? = null var issuingAgencyId:Int? = null var subjectId:Int? = null var signBy:String? = null var signDate:Date? = null var updatedAt:Date? = null var statusId:Int? = null var isInternal:Boolean? = null var documentNumber:String? = null var documentCode:String? = null var isUrgent:Boolean? = null var id:Int? = null var reasonReturn:String? = null var accountId:Int? = null var approverId:Int? = null @StringLength(500) var updatedBy:String? = null @StringLength(500) var createdBy:String? = null var isParty:Boolean? = null var isRevisionRequested:Boolean? = null var isPrivate:Boolean? = null var departmentId:Int? = null var publicationDate:Date? = null var processStatusId:Int? = null var documentTypeId:Int? = null var documentGroupId:Int? = null var accountName:String? = null var acceptAccountName:String? = null var documentGroupText:String? = null var processStatusText:String? = null var documentTypeText:String? = null var departmentText:String? = null var statusText:String? = null var issuingAgencyText:String? = null var subjectText:String? = null var comment:String? = null var submitComment:String? = null var fullFile:String? = null var parthFile:String? = null var isActive:Boolean? = null var stepOrder:Int? = null var stepCount:Int? = null } open class DocumentDetail : DocumentSearchResultItem() { var partUploadedFile:UploadedFileAttach? = null var compactUploadedFile:UploadedFileAttach? = null var analysisUploadedFile:UploadedFileAttach? = null var fullUploadedFile:UploadedFileAttach? = null var createdAt:Date? = null var nextApprover:ApproversProfile? = null var currentApprover:CurrentApprover? = null var attachFiles:ArrayList = ArrayList() var hasReadPermission:Boolean? = null var canGrantReadPermission:Boolean? = null var basisDocument:ArrayList = ArrayList() var basisForDocument:ArrayList = ArrayList() var mainDocument:SimpleDocumentRelation? = null var referenceDocument:ArrayList = ArrayList() var referencedByDocument:ArrayList = ArrayList() var replacedDocument:ArrayList = ArrayList() var replacedByDocument:ArrayList = ArrayList() var expiredDocument:ArrayList = ArrayList() var expiredByDocument:ArrayList = ArrayList() var updateForDocument:SimpleDocumentRelation? = null var scopeType:Int? = null var stepOrder:Int? = null } open class UserProfile : UserLogin() { var id:Int? = null var fullName:String? = null var email:String? = null var departmentId:Int? = null var partyGroupId:Int? = null var avatar:String? = null var telephone:String? = null var birthday:Date? = null var createdAt:Date? = null var updatedAt:Date? = null var failedLoginCount:Int? = null @Ignore() var roles:ArrayList = ArrayList() var lastLoginDate: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 } open class UploadedFileAttach : UploadedFileModel() { var fileType:String? = null var subDocumentId:Int? = null var stepId:Int? = null } open class ApproversProfile { var userProfiles:ArrayList = ArrayList() var processStatusId:Int? = null var processTitle:String? = null var actionButtonLabel:String? = null var processDescription:String? = null var isApprovalRequired:Boolean? = null var isFinalStep:Boolean? = null var stepOrder:Int? = null } open class CurrentApprover { var approverId:Int? = null var status:String? = null var processStatusId:Int? = null var processTitle:String? = null var actionButtonLabel:String? = null var processDescription:String? = null var isApprovalRequired:Boolean? = null var isFinalStep:Boolean? = null var stepOrder:Int? = null } open class SimpleDocumentRelation { var id:Int? = null var title:String? = null var documentCode:String? = null var publicationDate:Date? = null } open class UserLogin { @Required() var name:String? = null } open class UploadedFileModel : BasicUploadedFile() { var id:Long? = null var accessType:AccessType? = null var createdBy:Int? = null var createdDate:Date? = null }