tvpl.api

<back to all web services

AssignDocumentPermissionsRequest

Requires Authentication
The following routes are available for this service:
POST/document-permission/assign
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DocumentPemissionResponse:
    code: int = 0
    message: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AssignDocumentPermissionsRequest(IPost):
    document_id: int = 0
    account_ids: Optional[List[int]] = None
    reason: Optional[str] = None
    date_expired: Optional[datetime.datetime] = None
    can_read: bool = False
    can_write: bool = False
    can_comment: bool = False
    can_grant_read: bool = False
    team_id: int = 0

Python AssignDocumentPermissionsRequest 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 /document-permission/assign HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	documentId: 0,
	accountIds: 
	[
		0
	],
	reason: String,
	dateExpired: "0001-01-01T00:00:00.0000000+07:06",
	canRead: False,
	canWrite: False,
	canComment: False,
	canGrantRead: False,
	teamId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	code: 0,
	message: String
}