/* Options: Date: 2025-12-06 13:09:31 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: SearchCategoryRequest.* //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="/category", Verbs="POST") open class SearchCategoryRequest : CategoryRequest(), IReturn>> { companion object { private val responseType = object : TypeToken>>(){}.type } override fun getResponseType(): Any? = SearchCategoryRequest.responseType } open class BaseResponse : IResponseRequest { var code:Int? = null var message:String? = null @SerializedName("data") var Data:ArrayList = ArrayList() } enum class CategoryTypes { Department, PartyGroup, DocGroup, DocType, IssuingAgency, Status, Subjects, Workflow, } open class CategoryRequest { var id:Int? = null @SerializedName("type") var Type:CategoryTypes? = null var name:String? = null var parentId: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 DepartmentReport { var departmentId:Int? = null var departmentName:String? = null var totalDocuments:Int? = null } open class ColumnMeta { var key:String? = null var label:String? = null } open class LeftMenuItem { var id:Int? = null var name:String? = null var count:Int? = null var isParty:Boolean? = null var level1ParentId:Int? = null var level2ParentId:Int? = null var level:Int? = null @SerializedName("type") var Type:String? = null @Ignore() var children:ArrayList = ArrayList() } open class SubjectTypeStatistics { var subjectId:Int? = null var typeId:Int? = null var typeName:String? = null var count:Int? = null } open class CategoryStatistics { var id:Int? = null var title:String? = null var count:Int? = null var isParty:Boolean? = null } open class UserLogin { @Required() var name:String? = null }