tvpl.api

<back to all web services

PendingAccessRequests

Requires Authentication
The following routes are available for this service:
GET/document-permission/Pending-Access-Requests

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

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

export enum DocumentAccessPermissions
{
    Read = 'Read',
    Write = 'Write',
    GrantRead = 'GrantRead',
}

export enum DocumentApprovalStatus
{
    Pending = 'Pending',
    Approved = 'Approved',
    Rejected = 'Rejected',
}

export class DocumentAccessRequest
{
    public id: number;
    public documentId: number;
    public requestedBy: number;
    public requestPermission: DocumentAccessPermissions;
    public status: DocumentApprovalStatus;
    public createdDate: string;
    public approvedBy?: number;
    public approvedDate?: string;
    public note?: string;
    public comment?: string;
    public dueDate?: string;

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

export class DocumentAccessRequestView extends DocumentAccessRequest
{
    public approvedByName?: string;
    public requestedName?: string;
    public documentTitle: string;

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

export class PendingAccessResponse
{
    public total: number;
    public code: number;
    public message: string;
    public requests: DocumentAccessRequestView[];

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

export class PendingAccessRequests extends PagingRequest
{
    public status?: DocumentApprovalStatus;

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

TypeScript PendingAccessRequests 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-permission/Pending-Access-Requests HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	total: 0,
	code: 0,
	message: String,
	requests: 
	[
		{
			approvedByName: String,
			requestedName: String,
			documentTitle: String,
			id: 0,
			documentId: 0,
			requestedBy: 0,
			requestPermission: Read,
			status: Pending,
			approvedBy: 0,
			approvedDate: "0001-01-01T00:00:00.0000000+07:06",
			note: String,
			comment: String,
			dueDate: "0001-01-01T00:00:00.0000000+07:06"
		}
	]
}