tvpl.api

<back to all web services

SearchCategoryRequest

Requires Authentication
The following routes are available for this service:
POST/category

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<CategoryRequest>) { (Object as any).assign(this, init); }
}

export class SearchCategoryRequest extends CategoryRequest
{

    public constructor(init?: Partial<SearchCategoryRequest>) { super(init); (Object as any).assign(this, init); }
}

export class CreateCategoryModel
{
    public name: string;
    public description: string;
    public type: CategoryTypes;
    public isParty: boolean;
    // @Ignore()
    public childList?: number[];

    public constructor(init?: Partial<CreateCategoryModel>) { (Object as any).assign(this, init); }
}

export class Category extends CreateCategoryModel
{
    public id: number;
    public level: number;
    public sortOrder: number;
    public lastUpdate?: string;
    // @Ignore()
    public children: Category[];

    public constructor(init?: Partial<Category>) { super(init); (Object as any).assign(this, init); }
}

export class BaseResponse<any[]> implements IResponseRequest
{
    public code: number;
    public message?: string;
    public data?: Category[];

    public constructor(init?: Partial<BaseResponse<any[]>>) { (Object as any).assign(this, init); }
}

TypeScript SearchCategoryRequest 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.

POST /category HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	type: Department,
	name: String,
	parentId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	code: 0,
	message: String,
	data: 
	[
		{
			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
			]
		}
	]
}