tvpl.api

<back to all web services

CreateOrUpdateTemplateRequest

Requires Authentication
Required role:super-admin
The following routes are available for this service:
POST/document-template
import 'package:servicestack/servicestack.dart';

class CreateDocumentTemplateResponse implements IResponseRequest, IConvertible
{
    int? insertedId;
    int? code;
    String? message;

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

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

    Map<String, dynamic> toJson() => {
        'insertedId': insertedId,
        'code': code,
        'message': message
    };

    getTypeName() => "CreateDocumentTemplateResponse";
    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 CreateOrUpdateTemplateRequest implements IConvertible
{
    int? id;
    List<int>? documentIds;
    String? title;
    String? description;
    bool? isActive;
    List<DocumentElementDto>? elements;

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

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

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

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

TypeContext _ctx = TypeContext(library: 'etc_api.vsmlab.vn', types: <String, TypeInfo> {
    'CreateDocumentTemplateResponse': TypeInfo(TypeOf.Class, create:() => CreateDocumentTemplateResponse()),
    'DocumentElement': TypeInfo(TypeOf.Class, create:() => DocumentElement()),
    'DocumentElementDto': TypeInfo(TypeOf.Class, create:() => DocumentElementDto()),
    'List<DocumentElementDto>': TypeInfo(TypeOf.Class, create:() => <DocumentElementDto>[]),
    'CreateOrUpdateTemplateRequest': TypeInfo(TypeOf.Class, create:() => CreateOrUpdateTemplateRequest()),
});

Dart CreateOrUpdateTemplateRequest DTOs

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

HTTP + XML

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

POST /document-template HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CreateOrUpdateTemplateRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/tvpl.api.ServiceModel">
  <Description>String</Description>
  <DocumentIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:int>0</d2p1:int>
  </DocumentIds>
  <Elements>
    <DocumentElementDto>
      <CreatedAt xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0001-01-01T00:00:00</CreatedAt>
      <DataType xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</DataType>
      <Description xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Description>
      <ElementKey xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</ElementKey>
      <Id xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</Id>
      <IsRequired xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">false</IsRequired>
      <OrderIndex xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</OrderIndex>
      <ParentId xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</ParentId>
      <Tag xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Tag>
      <TemplateId xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</TemplateId>
      <TemplateType xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</TemplateType>
      <Title xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Title>
      <Children>
        <DocumentElementDto>
          <CreatedAt xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0001-01-01T00:00:00</CreatedAt>
          <DataType xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</DataType>
          <Description xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Description>
          <ElementKey xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</ElementKey>
          <Id xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</Id>
          <IsRequired xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">false</IsRequired>
          <OrderIndex xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</OrderIndex>
          <ParentId xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</ParentId>
          <Tag xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Tag>
          <TemplateId xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</TemplateId>
          <TemplateType xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</TemplateType>
          <Title xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Title>
          <Children>
            <DocumentElementDto>
              <CreatedAt xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0001-01-01T00:00:00</CreatedAt>
              <DataType xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</DataType>
              <Description xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Description>
              <ElementKey xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</ElementKey>
              <Id xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</Id>
              <IsRequired xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">false</IsRequired>
              <OrderIndex xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</OrderIndex>
              <ParentId xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</ParentId>
              <Tag xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Tag>
              <TemplateId xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</TemplateId>
              <TemplateType xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</TemplateType>
              <Title xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Title>
              <Children i:nil="true" />
            </DocumentElementDto>
          </Children>
        </DocumentElementDto>
      </Children>
    </DocumentElementDto>
  </Elements>
  <Id>0</Id>
  <IsActive>false</IsActive>
  <Title>String</Title>
</CreateOrUpdateTemplateRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CreateDocumentTemplateResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/tvpl.api.ServiceModel">
  <Code>0</Code>
  <InsertedId>0</InsertedId>
  <Message>String</Message>
</CreateDocumentTemplateResponse>