tvpl.api

<back to all web services

MergeFileRequest

Requires Authentication
The following routes are available for this service:
POST/merge-file
import 'package:servicestack/servicestack.dart';

class TemplateDefinitionDto implements IConvertible
{
    int? id;
    int? documentId;
    String? title;
    String? description;
    bool? isActive;

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

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

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

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

class ElementDefinitionDto implements IConvertible
{
    int? id;
    int? templateId;
    String? elementKey;
    String? tag;
    String? title;
    String? description;
    String? dataType;
    String? templateType;
    int? orderIndex;
    int? parentId;
    dynamic? value;
    List<ElementDefinitionDto>? children;

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

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        templateId = json['templateId'];
        elementKey = json['elementKey'];
        tag = json['tag'];
        title = json['title'];
        description = json['description'];
        dataType = json['dataType'];
        templateType = json['templateType'];
        orderIndex = json['orderIndex'];
        parentId = json['parentId'];
        value = JsonConverters.fromJson(json['value'],'dynamic',context!);
        children = JsonConverters.fromJson(json['children'],'List<ElementDefinitionDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'templateId': templateId,
        'elementKey': elementKey,
        'tag': tag,
        'title': title,
        'description': description,
        'dataType': dataType,
        'templateType': templateType,
        'orderIndex': orderIndex,
        'parentId': parentId,
        'value': JsonConverters.toJson(value,'dynamic',context!),
        'children': JsonConverters.toJson(children,'List<ElementDefinitionDto>',context!)
    };

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

class MergeFileRequest implements IConvertible
{
    TemplateDefinitionDto? template;
    List<ElementDefinitionDto>? elements;

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

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

    Map<String, dynamic> toJson() => {
        'template': JsonConverters.toJson(template,'TemplateDefinitionDto',context!),
        'elements': JsonConverters.toJson(elements,'List<ElementDefinitionDto>',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'etc_api.vsmlab.vn', types: <String, TypeInfo> {
    'TemplateDefinitionDto': TypeInfo(TypeOf.Class, create:() => TemplateDefinitionDto()),
    'ElementDefinitionDto': TypeInfo(TypeOf.Class, create:() => ElementDefinitionDto()),
    'List<ElementDefinitionDto>': TypeInfo(TypeOf.Class, create:() => <ElementDefinitionDto>[]),
    'MergeFileRequest': TypeInfo(TypeOf.Class, create:() => MergeFileRequest()),
});

Dart MergeFileRequest DTOs

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

HTTP + OTHER

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

POST /merge-file HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"template":{"id":0,"documentId":0,"title":"String","description":"String","isActive":false},"elements":[{"id":0,"templateId":0,"elementKey":"String","tag":"String","title":"String","description":"String","dataType":"String","templateType":"String","orderIndex":0,"parentId":0,"value":{},"children":[{"id":0,"templateId":0,"elementKey":"String","tag":"String","title":"String","description":"String","dataType":"String","templateType":"String","orderIndex":0,"parentId":0,"value":{},"children":[{"id":0,"templateId":0,"elementKey":"String","tag":"String","title":"String","description":"String","dataType":"String","templateType":"String","orderIndex":0,"parentId":0,"value":{},"children":null}]}]}]}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{}