tvpl.api

<back to all web services

PendingAccessRequests

Requires Authentication
The following routes are available for this service:
GET/document-permission/Pending-Access-Requests
namespace tvpl.api.ServiceModel

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    type DocumentAccessPermissions =
        | Read = 0
        | Write = 1
        | GrantRead = 2

    type DocumentApprovalStatus =
        | Pending = 0
        | Approved = 1
        | Rejected = 2

    [<AllowNullLiteral>]
    type DocumentAccessRequest() = 
        member val Id:Int32 = new Int32() with get,set
        member val DocumentId:Int32 = new Int32() with get,set
        member val RequestedBy:Int32 = new Int32() with get,set
        member val RequestPermission:DocumentAccessPermissions = new DocumentAccessPermissions() with get,set
        member val Status:DocumentApprovalStatus = new DocumentApprovalStatus() with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set
        member val ApprovedBy:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ApprovedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Note:String = null with get,set
        member val Comment:String = null with get,set
        member val DueDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    [<AllowNullLiteral>]
    type DocumentAccessRequestView() = 
        inherit DocumentAccessRequest()
        member val ApprovedByName:String = null with get,set
        member val RequestedName:String = null with get,set
        member val DocumentTitle:String = null with get,set

    [<AllowNullLiteral>]
    type PendingAccessResponse() = 
        member val Total:Int32 = new Int32() with get,set
        member val Code:Int32 = new Int32() with get,set
        member val Message:String = null with get,set
        member val Requests:ResizeArray<DocumentAccessRequestView> = new ResizeArray<DocumentAccessRequestView>() with get,set

    [<AllowNullLiteral>]
    type PagingRequest() = 
        member val Page:Int32 = new Int32() with get,set
        member val Limit:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type PendingAccessRequests() = 
        inherit PagingRequest()
        member val Status:Nullable<DocumentApprovalStatus> = new Nullable<DocumentApprovalStatus>() with get,set

F# 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"
		}
	]
}