/* Options: Date: 2026-02-04 10:25:59 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://etc-api.vsmlab.vn //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateOrUpdateTemplateRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; 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 json) { fromMap(json); } fromMap(Map 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 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? children; DocumentElementDto({this.children}); DocumentElementDto.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); children = JsonConverters.fromJson(json['children'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'children': JsonConverters.toJson(children,'List',context!) }); getTypeName() => "DocumentElementDto"; TypeContext? context = _ctx; } abstract class IResponseRequest { int? code; String? message; } class CreateDocumentTemplateResponse implements IResponseRequest, IConvertible { int? insertedId; int? code; String? message; CreateDocumentTemplateResponse({this.insertedId,this.code,this.message}); CreateDocumentTemplateResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { insertedId = json['insertedId']; code = json['code']; message = json['message']; return this; } Map toJson() => { 'insertedId': insertedId, 'code': code, 'message': message }; getTypeName() => "CreateDocumentTemplateResponse"; TypeContext? context = _ctx; } // @Route("/document-template", "POST") class CreateOrUpdateTemplateRequest implements IReturn, IConvertible, IPost { int? id; List? documentIds; String? title; String? description; bool? isActive; List? elements; CreateOrUpdateTemplateRequest({this.id,this.documentIds,this.title,this.description,this.isActive,this.elements}); CreateOrUpdateTemplateRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; documentIds = JsonConverters.fromJson(json['documentIds'],'List',context!); title = json['title']; description = json['description']; isActive = json['isActive']; elements = JsonConverters.fromJson(json['elements'],'List',context!); return this; } Map toJson() => { 'id': id, 'documentIds': JsonConverters.toJson(documentIds,'List',context!), 'title': title, 'description': description, 'isActive': isActive, 'elements': JsonConverters.toJson(elements,'List',context!) }; createResponse() => CreateDocumentTemplateResponse(); getResponseTypeName() => "CreateDocumentTemplateResponse"; getTypeName() => "CreateOrUpdateTemplateRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'etc_api.vsmlab.vn', types: { 'DocumentElement': TypeInfo(TypeOf.Class, create:() => DocumentElement()), 'DocumentElementDto': TypeInfo(TypeOf.Class, create:() => DocumentElementDto()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'IResponseRequest': TypeInfo(TypeOf.Interface), 'CreateDocumentTemplateResponse': TypeInfo(TypeOf.Class, create:() => CreateDocumentTemplateResponse()), 'CreateOrUpdateTemplateRequest': TypeInfo(TypeOf.Class, create:() => CreateOrUpdateTemplateRequest()), });