# Template Engine için Form Desteği
## Durum
Template Engine hali hazırda [Scriban](https://github.com/scriban/scriban) tabanlı şablon yönetimi ve şablon için sağlanna JSON verisine istinaden saf (HTML, TEXT) veya PDF render oluşturan bir microservistir.
Kurum içi test erişimi: https://templateenginetest.burgan.com.tr/swagger/index.html
:::info
Bu destek kapsamında proje aynı zamanda Git reposuna dotnet 6 ve paket güncellemeleri ile kaydırılacaktır.
:::
## Form Desteği
Form desteği [form.io](https://github.com/formio/formio.js) ile sağlanacaktır. Servis kümesi form şablonlarını yönetecek ve taşıyacaktır.
### GET /Template/Forms
> Query : page-size, page-size
Kayıtlı olan formları döner.
```jsonld=
[
{
"name": "tr-insurance-apprroval-form",
"template-name": "tr-insurance-apprroval-template",
"header": "Sigorta Onay Formu",
"output": "plain | html | pdf"
},
{
"name": "tr-eft-apprroval-form",
"template-name": "tr-eft-apprroval-template",
"header": "EFT Onay Talimati",
"output": "plain | html | pdf"
}
]
```
### GET /Template/Forms/{form-id}
#### Response
```jsonld=
{
"name": "tr-insurance-apprroval-form",
"template-name": "tr-insurance-apprroval-form",
"header": "Sigorta Onay Formu",
"output": "pdf",
"form": {
"display": "form",
"components": [
{
"label": "TCKN",
"mask": false,
"tableView": false,
"delimiter": false,
"requireDecimal": false,
"inputFormat": "plain",
"truncateMultipleSpaces": false,
"key": "citizenshipNumber",
"type": "number",
"input": true
},
{
"label": "Adı",
"tableView": true,
"key": "name",
"type": "textfield",
"input": true
},
{
"type": "button",
"label": "Submit",
"key": "submit",
"disableOnInvalid": true,
"input": true,
"tableView": false
}
]
}
}
```
### GET /Template/Forms/{form-id}/form
Bu servis direkt olarak form.io tarafından kullanılmak üzere kayıtlı form bilgilerini döner.
#### Response
Response direkt olarak https://formio.github.io/formio.js/app/sandbox sayfasında test edilebilir.
```jsonld=
{
"display": "form",
"components": [
{
"label": "TCKN",
"mask": false,
"tableView": false,
"delimiter": false,
"requireDecimal": false,
"inputFormat": "plain",
"truncateMultipleSpaces": false,
"key": "citizenshipNumber",
"type": "number",
"input": true
},
{
"label": "Adı",
"tableView": true,
"key": "name",
"type": "textfield",
"input": true
},
{
"type": "button",
"label": "Submit",
"key": "submit",
"disableOnInvalid": true,
"input": true,
"tableView": false
}
]
}
```