elixFormsAPI - update syntax and add prepare global function

This commit is contained in:
2026-02-23 10:28:54 +01:00
parent fd3d0da848
commit 98a6019e32
51 changed files with 1716 additions and 3379 deletions
@@ -15,89 +15,50 @@ http:
value: "8760"
body:
type: json
data: "{\r
\ \"userDocument\": \"{{elixBase64EftlDocument}}\", // see the pre-request script\r
\ \"userContext\": {\r
\ \"lang\": \"IT\",\r
\ \"tipologiePunto1\": \"CRCT_RA;CRCT_RAS;CRCT_RB\",\r
\ \"tipologiePunto2\": \"SERV_CON\",\r
\ \"tipologiePunto3\": \"FORM_COM\",\r
\ \"tipologiePunto4\": \"\"\r
\ }\r
}"
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"tipologiePunto1": "CRCT_RA;CRCT_RAS;CRCT_RB",
"tipologiePunto2": "SERV_CON",
"tipologiePunto3": "FORM_COM",
"tipologiePunto4": ""
}
}
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="tipologiaContratto" type="string"][TAG]GETVALUEBYTAG,TIPOLOGIA_CODICE,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="puntoAregolamento" type="number"][% puntoAregolamento = 0; %][/VAR]
var eftlDocumentToBeProcessed = `\r
[IF]
[CONDITION][CONTAINS varname="tipologiePunto1"][VALUE_OF varname="tipologiaContratto" /][/CONTAINS][/CONDITION]
[THEN][% puntoAregolamento = 1; %][/THEN]
[ELSE IF]
[CONDITION][CONTAINS varname="tipologiePunto2"][VALUE_OF varname="tipologiaContratto" /][/CONTAINS][/CONDITION]
[THEN][% puntoAregolamento = 2; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="tipologiePunto3"][VALUE_OF varname="tipologiaContratto" /][/CONTAINS][/CONDITION]
[THEN][% puntoAregolamento = 3; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="tipologiePunto4"][VALUE_OF varname="tipologiaContratto" /][/CONTAINS][/CONDITION]
[THEN][% puntoAregolamento = 4; %][/THEN]
[/ELSE IF]
[/IF]
[EFTL][HEADER name=\"trimDocument\" value=\"true\" type=\"boolean\" /]\r
[VAR name=\"tipologiaContratto\" type=\"string\"][TAG]GETVALUEBYTAG,TIPOLOGIA_CODICE,REQUEST,IUQOID[/TAG][/VAR]\r
[VAR name=\"puntoAregolamento\" type=\"number\"][% puntoAregolamento = 0; %][/VAR]\r
\r
[IF]\r
\ [CONDITION][CONTAINS varname=\"tipologiePunto1\"][VALUE_OF varname=\"tipologiaContratto\" /][/CONTAINS][/CONDITION]\r
\ [THEN][% puntoAregolamento = 1; %][/THEN]\r
\ [ELSE IF]\r
\ [CONDITION][CONTAINS varname=\"tipologiePunto2\"][VALUE_OF varname=\"tipologiaContratto\" /][/CONTAINS][/CONDITION]\r
\ [THEN][% puntoAregolamento = 2; %][/THEN]\r
\ [/ELSE IF]\r
\ [ELSE IF]\r
\ [CONDITION][CONTAINS varname=\"tipologiePunto3\"][VALUE_OF varname=\"tipologiaContratto\" /][/CONTAINS][/CONDITION]\r
\ [THEN][% puntoAregolamento = 3; %][/THEN]\r
\ [/ELSE IF]\r
\ [ELSE IF]\r
\ [CONDITION][CONTAINS varname=\"tipologiePunto4\"][VALUE_OF varname=\"tipologiaContratto\" /][/CONTAINS][/CONDITION]\r
\ [THEN][% puntoAregolamento = 4; %][/THEN]\r
\ [/ELSE IF]\r
[/IF]\r
\r
[%= puntoAregolamento %]\r
[/EFTL]\r
`;\r
\r
var base64EncodedDocument = btoa(eftlDocumentToBeProcessed);\r
\r
bru.setVar(\"elixBase64EftlDocument\", base64EncodedDocument);"
[%= puntoAregolamento %]
[/EFTL]
`);
settings:
encodeUrl: true