elixFormsAPI - update syntax and add prepare global function
This commit is contained in:
+81
-164
@@ -15,177 +15,94 @@ http:
|
||||
value: "8463"
|
||||
body:
|
||||
type: json
|
||||
data: "{\r
|
||||
|
||||
\ \"userDocument\": \"{{elixBase64EftlDocument}}\", // see the pre-request script\r
|
||||
|
||||
\ \"userContext\": {\r
|
||||
|
||||
\ \"lang\": \"IT\",\r
|
||||
|
||||
\ \"docs\": [\r
|
||||
|
||||
\ {\r
|
||||
|
||||
\ \"name\": \"doc1\",\r
|
||||
|
||||
\ \"quantity\": 3,\r
|
||||
|
||||
\ \"price\": 123.3\r
|
||||
|
||||
\ },\r
|
||||
|
||||
\ {\r
|
||||
|
||||
\ \"name\": \"doc2\",\r
|
||||
|
||||
\ \"quantity\": 5,\r
|
||||
|
||||
\ \"price\": 213.3\r
|
||||
|
||||
\ },\r
|
||||
|
||||
\ {\r
|
||||
|
||||
\ \"name\": \"doc3\",\r
|
||||
|
||||
\ \"quantity\": 10,\r
|
||||
|
||||
\ \"price\": 321.3\r
|
||||
|
||||
\ }\r
|
||||
|
||||
\ ],\r
|
||||
|
||||
\ \"docsAsEntities\": [\r
|
||||
|
||||
\ {\r
|
||||
|
||||
\ \"eftlEntityType\": \"com.anthesi.elixforms.api.eftl.model.mock.EftlDoc\",\r
|
||||
|
||||
\ \"eftlEntity\": {\r
|
||||
|
||||
\ \"name\": \"doc1\",\r
|
||||
|
||||
\ \"quantity\": 3,\r
|
||||
|
||||
\ \"price\": 123.3\r
|
||||
|
||||
\ }\r
|
||||
|
||||
\ },\r
|
||||
|
||||
\ {\r
|
||||
|
||||
\ \"eftlEntityType\": \"com.anthesi.elixforms.api.eftl.model.mock.EftlDoc\",\r
|
||||
|
||||
\ \"eftlEntity\": {\r
|
||||
|
||||
\ \"name\": \"doc2\",\r
|
||||
|
||||
\ \"quantity\": 5,\r
|
||||
|
||||
\ \"price\": 213.3\r
|
||||
|
||||
\ }\r
|
||||
|
||||
\ },\r
|
||||
|
||||
\ {\r
|
||||
|
||||
\ \"eftlEntityType\": \"com.anthesi.elixforms.api.eftl.model.mock.EftlDoc\",\r
|
||||
|
||||
\ \"eftlEntity\": {\r
|
||||
|
||||
\ \"name\": \"doc3\",\r
|
||||
|
||||
\ \"quantity\": 10,\r
|
||||
|
||||
\ \"price\": 321.3\r
|
||||
|
||||
\ }\r
|
||||
|
||||
\ }\r
|
||||
|
||||
\ ],\r
|
||||
|
||||
\ \"singleEntity\": {\r
|
||||
|
||||
\ \"eftlEntityType\": \"com.anthesi.elixforms.api.eftl.model.mock.EftlDoc\",\r
|
||||
|
||||
\ \"eftlEntity\": {\r
|
||||
|
||||
\ \"name\": \"doc1\",\r
|
||||
|
||||
\ \"quantity\": 3,\r
|
||||
|
||||
\ \"price\": 123.3\r
|
||||
|
||||
\ }\r
|
||||
|
||||
\ },\r
|
||||
|
||||
\ \"simpleList\": [\r
|
||||
|
||||
\ \"s1\",\r
|
||||
|
||||
\ \"s2\",\r
|
||||
|
||||
\ \"s3\"\r
|
||||
|
||||
\ ],\r
|
||||
|
||||
\ \"docsSize\": 3\r
|
||||
|
||||
\ }\r
|
||||
|
||||
}"
|
||||
data: |-
|
||||
{
|
||||
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
|
||||
"userContext": {
|
||||
"lang": "IT",
|
||||
"docs": [
|
||||
{
|
||||
"name": "doc1",
|
||||
"quantity": 3,
|
||||
"price": 123.3
|
||||
},
|
||||
{
|
||||
"name": "doc2",
|
||||
"quantity": 5,
|
||||
"price": 213.3
|
||||
},
|
||||
{
|
||||
"name": "doc3",
|
||||
"quantity": 10,
|
||||
"price": 321.3
|
||||
}
|
||||
],
|
||||
"docsAsEntities": [
|
||||
{
|
||||
"eftlEntityType": "com.anthesi.elixforms.api.eftl.model.mock.EftlDoc",
|
||||
"eftlEntity": {
|
||||
"name": "doc1",
|
||||
"quantity": 3,
|
||||
"price": 123.3
|
||||
}
|
||||
},
|
||||
{
|
||||
"eftlEntityType": "com.anthesi.elixforms.api.eftl.model.mock.EftlDoc",
|
||||
"eftlEntity": {
|
||||
"name": "doc2",
|
||||
"quantity": 5,
|
||||
"price": 213.3
|
||||
}
|
||||
},
|
||||
{
|
||||
"eftlEntityType": "com.anthesi.elixforms.api.eftl.model.mock.EftlDoc",
|
||||
"eftlEntity": {
|
||||
"name": "doc3",
|
||||
"quantity": 10,
|
||||
"price": 321.3
|
||||
}
|
||||
}
|
||||
],
|
||||
"singleEntity": {
|
||||
"eftlEntityType": "com.anthesi.elixforms.api.eftl.model.mock.EftlDoc",
|
||||
"eftlEntity": {
|
||||
"name": "doc1",
|
||||
"quantity": 3,
|
||||
"price": 123.3
|
||||
}
|
||||
},
|
||||
"simpleList": [
|
||||
"s1",
|
||||
"s2",
|
||||
"s3"
|
||||
],
|
||||
"docsSize": 3
|
||||
}
|
||||
}
|
||||
auth: inherit
|
||||
|
||||
runtime:
|
||||
scripts:
|
||||
- type: before-request
|
||||
code: "// Copy-pasta your EFTL document below inside the template literals (`)\r
|
||||
code: |-
|
||||
const { prepareEftlDocument } = require("./elixFormsJs.js")
|
||||
// Copy-pasta your EFTL document below inside the template literals (`)
|
||||
prepareEftlDocument(String.raw`
|
||||
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
|
||||
[VAR name="tipologiaCodice" type="string"][TAG]GETVALUEBYTAG,TIPOLOGIA_CODICE,REQUEST,IUQOID[/TAG][/VAR]
|
||||
[VAR name="isEconomico" type="boolean"][% isEconomico = true; %][/VAR]
|
||||
[VAR name="tipologieNonEconomico" type="iterable"][SPLIT regex=";"][TAG]GETVALUEBYTAG,TIPOLOGIE_NON_ECONOMICO,REQUEST,IUQOID[/TAG][/SPLIT][/VAR]
|
||||
|
||||
var eftlDocumentToBeProcessed = `\r
|
||||
[IF]
|
||||
[CONDITION]
|
||||
[CONTAINS varname="tipologieNonEconomico"][VALUE_OF varname="tipologiaCodice" /][/CONTAINS]
|
||||
[/CONDITION]
|
||||
[THEN][% isEconomico = false; %][/THEN]
|
||||
[/IF]
|
||||
|
||||
[EFTL][HEADER name=\"trimDocument\" value=\"true\" type=\"boolean\" /]\r
|
||||
|
||||
[VAR name=\"tipologiaCodice\" type=\"string\"][TAG]GETVALUEBYTAG,TIPOLOGIA_CODICE,REQUEST,IUQOID[/TAG][/VAR]\r
|
||||
|
||||
[VAR name=\"isEconomico\" type=\"boolean\"][% isEconomico = true; %][/VAR]\r
|
||||
|
||||
[VAR name=\"tipologieNonEconomico\" type=\"iterable\"][SPLIT regex=\";\"][TAG]GETVALUEBYTAG,TIPOLOGIE_NON_ECONOMICO,REQUEST,IUQOID[/TAG][/SPLIT][/VAR]\r
|
||||
|
||||
\r
|
||||
|
||||
[IF]\r
|
||||
|
||||
\ [CONDITION]\r
|
||||
|
||||
\ [CONTAINS varname=\"tipologieNonEconomico\"][VALUE_OF varname=\"tipologiaCodice\" /][/CONTAINS]\r
|
||||
|
||||
\ [/CONDITION]\r
|
||||
|
||||
\ [THEN][% isEconomico = false; %][/THEN]\r
|
||||
|
||||
[/IF]\r
|
||||
|
||||
\r
|
||||
|
||||
[%= isEconomico %]\r
|
||||
|
||||
[/EFTL]\r
|
||||
|
||||
`;\r
|
||||
|
||||
\r
|
||||
|
||||
var base64EncodedDocument = btoa(eftlDocumentToBeProcessed);\r
|
||||
|
||||
\r
|
||||
|
||||
bru.setVar(\"elixBase64EftlDocument\", base64EncodedDocument);"
|
||||
[%= isEconomico %]
|
||||
[/EFTL]
|
||||
`);
|
||||
|
||||
settings:
|
||||
encodeUrl: true
|
||||
|
||||
Reference in New Issue
Block a user