| Required role: | super-admin |
| POST | /document-template |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using tvpl.api.ServiceModel;
using tvpl.data.Models;
namespace tvpl.api.ServiceModel
{
public partial class CreateDocumentTemplateResponse
: IResponseRequest
{
public virtual int InsertedId { get; set; }
public virtual int Code { get; set; }
public virtual string Message { get; set; }
}
public partial class CreateOrUpdateTemplateRequest
{
public CreateOrUpdateTemplateRequest()
{
DocumentIds = new List<int>{};
Elements = new List<DocumentElementDto>{};
}
public virtual int? Id { get; set; }
public virtual List<int> DocumentIds { get; set; }
public virtual string Title { get; set; }
public virtual string Description { get; set; }
public virtual bool IsActive { get; set; }
public virtual List<DocumentElementDto> Elements { get; set; }
}
public partial class DocumentElementDto
: DocumentElement
{
public DocumentElementDto()
{
Children = new List<DocumentElementDto>{};
}
public virtual List<DocumentElementDto> Children { get; set; }
}
}
namespace tvpl.data.Models
{
public partial class DocumentElement
{
public virtual int Id { get; set; }
public virtual int TemplateId { get; set; }
[Required]
public virtual string ElementKey { get; set; }
[Required]
public virtual string Tag { get; set; }
public virtual int? ParentId { get; set; }
[Required]
public virtual string Title { get; set; }
public virtual string Description { get; set; }
[Required]
public virtual string DataType { get; set; }
public virtual string TemplateType { get; set; }
public virtual int OrderIndex { get; set; }
public virtual bool? IsRequired { get; set; }
}
}
C# CreateOrUpdateTemplateRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
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: text/jsv
Content-Type: text/jsv
Content-Length: length
{
id: 0,
documentIds:
[
0
],
title: String,
description: String,
isActive: False,
elements:
[
{
children:
[
{
children:
[
{
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
}
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
insertedId: 0,
code: 0,
message: String
}