tvpl.api

<back to all web services

SearchTemplateRequest

Requires Authentication
The following routes are available for this service:
GET/document-template/search

export class PagingRequest
{
    public page: number;
    public limit: number;

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

export class BasicDocument
{
    // @Required()
    public title: string;

    // @StringLength(4000)
    public description: string;

    // @StringLength(500)
    public owner?: string;

    public documentPolicyId?: number;
    public updateDocumentId?: number;
    public effectBeginDate?: string;
    public effectEndDate?: string;
    public issuingAgencyId?: number;
    public documentTypeId?: number;
    public documentGroupId?: number;
    public subjectId?: number;
    // @StringLength(500)
    public signBy?: string;

    public signDate?: string;
    public statusId?: number;
    public isInternal: boolean;
    public documentNumber?: string;
    public documentCode?: string;
    public isUrgent?: boolean;
    public scopeType?: number;
    public isActive?: boolean;

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

export class Document extends BasicDocument
{
    public id: number;
    // @StringLength(500)
    public reasonReturn?: string;

    public accountId?: number;
    public deletedAt?: string;
    // @StringLength(500)
    public deletedBy?: string;

    // @StringLength(500)
    public updatedBy?: string;

    public createdAt?: string;
    // @StringLength(500)
    public createdBy?: string;

    public isParty?: boolean;
    public isRevisionRequested: boolean;
    public lastUpdatedAt?: string;
    public isPrivate?: boolean;
    public departmentId?: number;
    public publicationDate?: string;
    public processStatusId?: number;
    public fullTextSearchContent?: string;

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

export class DocumentTemplate
{
    public id: number;
    // @Required()
    public title: string;

    public description?: string;
    public isActive: boolean;
    // @Ignore()
    public documentIds?: number[];

    // @Ignore()
    public documents?: Document[];

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

export class SearchDocumentTemplateResponse implements IResponseRequest
{
    public code: number;
    public message: string;
    public data?: DocumentTemplate[];
    public totalCount: number;

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

export class SearchTemplateRequest extends PagingRequest
{
    public title?: string;

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

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

GET /document-template/search HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	code: 0,
	message: String,
	data: 
	[
		{
			id: 0,
			title: String,
			description: String,
			isActive: False,
			documentIds: 
			[
				0
			],
			documents: 
			[
				{
					id: 0,
					reasonReturn: String,
					accountId: 0,
					deletedAt: "0001-01-01T00:00:00.0000000+07:06",
					deletedBy: String,
					updatedBy: String,
					createdAt: "0001-01-01T00:00:00.0000000+07:06",
					createdBy: String,
					isParty: False,
					isRevisionRequested: False,
					lastUpdatedAt: "0001-01-01T00:00:00.0000000+07:06",
					isPrivate: False,
					departmentId: 0,
					publicationDate: "0001-01-01T00:00:00.0000000+07:06",
					processStatusId: 0,
					fullTextSearchContent: String,
					title: String,
					description: String,
					owner: String,
					documentPolicyId: 0,
					updateDocumentId: 0,
					effectBeginDate: "0001-01-01T00:00:00.0000000+07:06",
					effectEndDate: "0001-01-01T00:00:00.0000000+07:06",
					issuingAgencyId: 0,
					documentTypeId: 0,
					documentGroupId: 0,
					subjectId: 0,
					signBy: String,
					signDate: "0001-01-01T00:00:00.0000000+07:06",
					statusId: 0,
					isInternal: False,
					documentNumber: String,
					documentCode: String,
					isUrgent: False,
					scopeType: 0,
					isActive: False
				}
			]
		}
	],
	totalCount: 0
}