tvpl.api

<back to all web services

GetTemplateByDocumentIdRequest

Requires Authentication
The following routes are available for this service:
GET/document-template/bydocument
import 'package:servicestack/servicestack.dart';

class BasicDocument implements IConvertible
{
    // @required()
    String? title;

    // @StringLength(4000)
    String? description;

    // @StringLength(500)
    String? owner;

    int? documentPolicyId;
    int? updateDocumentId;
    DateTime? effectBeginDate;
    DateTime? effectEndDate;
    int? issuingAgencyId;
    int? documentTypeId;
    int? documentGroupId;
    int? subjectId;
    // @StringLength(500)
    String? signBy;

    DateTime? signDate;
    int? statusId;
    bool? isInternal;
    String? documentNumber;
    String? documentCode;
    bool? isUrgent;
    int? scopeType;
    bool? isActive;

    BasicDocument({this.title,this.description,this.owner,this.documentPolicyId,this.updateDocumentId,this.effectBeginDate,this.effectEndDate,this.issuingAgencyId,this.documentTypeId,this.documentGroupId,this.subjectId,this.signBy,this.signDate,this.statusId,this.isInternal,this.documentNumber,this.documentCode,this.isUrgent,this.scopeType,this.isActive});
    BasicDocument.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        title = json['title'];
        description = json['description'];
        owner = json['owner'];
        documentPolicyId = json['documentPolicyId'];
        updateDocumentId = json['updateDocumentId'];
        effectBeginDate = JsonConverters.fromJson(json['effectBeginDate'],'DateTime',context!);
        effectEndDate = JsonConverters.fromJson(json['effectEndDate'],'DateTime',context!);
        issuingAgencyId = json['issuingAgencyId'];
        documentTypeId = json['documentTypeId'];
        documentGroupId = json['documentGroupId'];
        subjectId = json['subjectId'];
        signBy = json['signBy'];
        signDate = JsonConverters.fromJson(json['signDate'],'DateTime',context!);
        statusId = json['statusId'];
        isInternal = json['isInternal'];
        documentNumber = json['documentNumber'];
        documentCode = json['documentCode'];
        isUrgent = json['isUrgent'];
        scopeType = json['scopeType'];
        isActive = json['isActive'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'title': title,
        'description': description,
        'owner': owner,
        'documentPolicyId': documentPolicyId,
        'updateDocumentId': updateDocumentId,
        'effectBeginDate': JsonConverters.toJson(effectBeginDate,'DateTime',context!),
        'effectEndDate': JsonConverters.toJson(effectEndDate,'DateTime',context!),
        'issuingAgencyId': issuingAgencyId,
        'documentTypeId': documentTypeId,
        'documentGroupId': documentGroupId,
        'subjectId': subjectId,
        'signBy': signBy,
        'signDate': JsonConverters.toJson(signDate,'DateTime',context!),
        'statusId': statusId,
        'isInternal': isInternal,
        'documentNumber': documentNumber,
        'documentCode': documentCode,
        'isUrgent': isUrgent,
        'scopeType': scopeType,
        'isActive': isActive
    };

    getTypeName() => "BasicDocument";
    TypeContext? context = _ctx;
}

class Document extends BasicDocument implements IConvertible
{
    int? id;
    // @StringLength(500)
    String? reasonReturn;

    int? accountId;
    DateTime? deletedAt;
    // @StringLength(500)
    String? deletedBy;

    // @StringLength(500)
    String? updatedBy;

    DateTime? createdAt;
    // @StringLength(500)
    String? createdBy;

    bool? isParty;
    bool? isRevisionRequested;
    DateTime? lastUpdatedAt;
    bool? isPrivate;
    int? departmentId;
    DateTime? publicationDate;
    int? processStatusId;
    String? fullTextSearchContent;

    Document({this.id,this.reasonReturn,this.accountId,this.deletedAt,this.deletedBy,this.updatedBy,this.createdAt,this.createdBy,this.isParty,this.isRevisionRequested,this.lastUpdatedAt,this.isPrivate,this.departmentId,this.publicationDate,this.processStatusId,this.fullTextSearchContent});
    Document.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        id = json['id'];
        reasonReturn = json['reasonReturn'];
        accountId = json['accountId'];
        deletedAt = JsonConverters.fromJson(json['deletedAt'],'DateTime',context!);
        deletedBy = json['deletedBy'];
        updatedBy = json['updatedBy'];
        createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
        createdBy = json['createdBy'];
        isParty = json['isParty'];
        isRevisionRequested = json['isRevisionRequested'];
        lastUpdatedAt = JsonConverters.fromJson(json['lastUpdatedAt'],'DateTime',context!);
        isPrivate = json['isPrivate'];
        departmentId = json['departmentId'];
        publicationDate = JsonConverters.fromJson(json['publicationDate'],'DateTime',context!);
        processStatusId = json['processStatusId'];
        fullTextSearchContent = json['fullTextSearchContent'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'id': id,
        'reasonReturn': reasonReturn,
        'accountId': accountId,
        'deletedAt': JsonConverters.toJson(deletedAt,'DateTime',context!),
        'deletedBy': deletedBy,
        'updatedBy': updatedBy,
        'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
        'createdBy': createdBy,
        'isParty': isParty,
        'isRevisionRequested': isRevisionRequested,
        'lastUpdatedAt': JsonConverters.toJson(lastUpdatedAt,'DateTime',context!),
        'isPrivate': isPrivate,
        'departmentId': departmentId,
        'publicationDate': JsonConverters.toJson(publicationDate,'DateTime',context!),
        'processStatusId': processStatusId,
        'fullTextSearchContent': fullTextSearchContent
    });

    getTypeName() => "Document";
    TypeContext? context = _ctx;
}

class DocumentTemplate implements IConvertible
{
    int? id;
    // @required()
    String? title;

    String? description;
    bool? isActive;
    // @ignore()
    List<int>? documentIds;

    // @ignore()
    List<Document>? documents;

    DocumentTemplate({this.id,this.title,this.description,this.isActive,this.documentIds,this.documents});
    DocumentTemplate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        title = json['title'];
        description = json['description'];
        isActive = json['isActive'];
        documentIds = JsonConverters.fromJson(json['documentIds'],'List<int>',context!);
        documents = JsonConverters.fromJson(json['documents'],'List<Document>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'title': title,
        'description': description,
        'isActive': isActive,
        'documentIds': JsonConverters.toJson(documentIds,'List<int>',context!),
        'documents': JsonConverters.toJson(documents,'List<Document>',context!)
    };

    getTypeName() => "DocumentTemplate";
    TypeContext? context = _ctx;
}

class DocumentElement implements IConvertible
{
    int? id;
    int? templateId;
    // @required()
    String? elementKey;

    // @required()
    String? tag;

    int? parentId;
    // @required()
    String? title;

    String? description;
    // @required()
    String? dataType;

    String? templateType;
    int? orderIndex;
    bool? isRequired;

    DocumentElement({this.id,this.templateId,this.elementKey,this.tag,this.parentId,this.title,this.description,this.dataType,this.templateType,this.orderIndex,this.isRequired});
    DocumentElement.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        templateId = json['templateId'];
        elementKey = json['elementKey'];
        tag = json['tag'];
        parentId = json['parentId'];
        title = json['title'];
        description = json['description'];
        dataType = json['dataType'];
        templateType = json['templateType'];
        orderIndex = json['orderIndex'];
        isRequired = json['isRequired'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'templateId': templateId,
        'elementKey': elementKey,
        'tag': tag,
        'parentId': parentId,
        'title': title,
        'description': description,
        'dataType': dataType,
        'templateType': templateType,
        'orderIndex': orderIndex,
        'isRequired': isRequired
    };

    getTypeName() => "DocumentElement";
    TypeContext? context = _ctx;
}

class DocumentElementDto extends DocumentElement implements IConvertible
{
    List<DocumentElementDto>? children;

    DocumentElementDto({this.children});
    DocumentElementDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        children = JsonConverters.fromJson(json['children'],'List<DocumentElementDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'children': JsonConverters.toJson(children,'List<DocumentElementDto>',context!)
    });

    getTypeName() => "DocumentElementDto";
    TypeContext? context = _ctx;
}

class DocumentTemplateDto extends DocumentTemplate implements IConvertible
{
    List<DocumentElementDto>? elements;

    DocumentTemplateDto({this.elements});
    DocumentTemplateDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        elements = JsonConverters.fromJson(json['elements'],'List<DocumentElementDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'elements': JsonConverters.toJson(elements,'List<DocumentElementDto>',context!)
    });

    getTypeName() => "DocumentTemplateDto";
    TypeContext? context = _ctx;
}

class DocumentTemplateResponse implements IConvertible
{
    DocumentTemplateDto? template;
    int? insertedId;
    int? code;
    String? message;

    DocumentTemplateResponse({this.template,this.insertedId,this.code,this.message});
    DocumentTemplateResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        template = JsonConverters.fromJson(json['template'],'DocumentTemplateDto',context!);
        insertedId = json['insertedId'];
        code = json['code'];
        message = json['message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'template': JsonConverters.toJson(template,'DocumentTemplateDto',context!),
        'insertedId': insertedId,
        'code': code,
        'message': message
    };

    getTypeName() => "DocumentTemplateResponse";
    TypeContext? context = _ctx;
}

class GetTemplateByDocumentIdRequest implements IConvertible
{
    int? documentId;

    GetTemplateByDocumentIdRequest({this.documentId});
    GetTemplateByDocumentIdRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        documentId = json['documentId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'documentId': documentId
    };

    getTypeName() => "GetTemplateByDocumentIdRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'etc_api.vsmlab.vn', types: <String, TypeInfo> {
    'BasicDocument': TypeInfo(TypeOf.Class, create:() => BasicDocument()),
    'Document': TypeInfo(TypeOf.Class, create:() => Document()),
    'DocumentTemplate': TypeInfo(TypeOf.Class, create:() => DocumentTemplate()),
    'List<Document>': TypeInfo(TypeOf.Class, create:() => <Document>[]),
    'DocumentElement': TypeInfo(TypeOf.Class, create:() => DocumentElement()),
    'DocumentElementDto': TypeInfo(TypeOf.Class, create:() => DocumentElementDto()),
    'List<DocumentElementDto>': TypeInfo(TypeOf.Class, create:() => <DocumentElementDto>[]),
    'DocumentTemplateDto': TypeInfo(TypeOf.Class, create:() => DocumentTemplateDto()),
    'DocumentTemplateResponse': TypeInfo(TypeOf.Class, create:() => DocumentTemplateResponse()),
    'GetTemplateByDocumentIdRequest': TypeInfo(TypeOf.Class, create:() => GetTemplateByDocumentIdRequest()),
});

Dart GetTemplateByDocumentIdRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /document-template/bydocument HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"template":{"elements":[{"children":[{"children":[{"children":null,"id":0,"templateId":0,"elementKey":"String","tag":"String","parentId":0,"title":"String","description":"String","dataType":"String","templateType":"String","orderIndex":0,"isRequired":false}],"id":0,"templateId":0,"elementKey":"String","tag":"String","parentId":0,"title":"String","description":"String","dataType":"String","templateType":"String","orderIndex":0,"isRequired":false}],"id":0,"templateId":0,"elementKey":"String","tag":"String","parentId":0,"title":"String","description":"String","dataType":"String","templateType":"String","orderIndex":0,"isRequired":false}],"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}]},"insertedId":0,"code":0,"message":"String"}