/* Options: Date: 2025-12-06 13:27:11 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://etc-api.vsmlab.vn //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SearchCategoryRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export enum CategoryTypes { Department = 'Department', PartyGroup = 'PartyGroup', DocGroup = 'DocGroup', DocType = 'DocType', IssuingAgency = 'IssuingAgency', Status = 'Status', Subjects = 'Subjects', Workflow = 'Workflow', } export class CategoryRequest { public id?: number; public type?: CategoryTypes; public name?: string; public parentId?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class UserLogin { // @Required() public name: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class UserProfile extends UserLogin { public id: number; public fullName?: string; public email?: string; public departmentId?: number; public partyGroupId?: number; public avatar?: string; public telephone?: string; public birthday?: string; public createdAt?: string; public updatedAt?: string; public failedLoginCount: number; // @Ignore() public roles: number[]; public lastLoginDate?: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class DepartmentReport { public departmentId: number; public departmentName: string; public totalDocuments: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ColumnMeta { public key: string; public label: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class LeftMenuItem { public id: number; public name: string; public count: number; public isParty: boolean; public level1ParentId: number; public level2ParentId: number; public level: number; public type: string; // @Ignore() public children: LeftMenuItem[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SubjectTypeStatistics { public subjectId: number; public typeId: number; public typeName: string; public count: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CategoryStatistics { public id: number; public title: string; public count: number; public isParty: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BaseResponse implements IResponseRequest { public code: number; public message?: string; public data?: Category[]; public constructor(init?: Partial>) { (Object as any).assign(this, init); } } // @Route("/category", "POST") export class SearchCategoryRequest extends CategoryRequest implements IReturn> { public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'SearchCategoryRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new BaseResponse(); } }