{
  "meta": {
    "options": {
      "linkedFile": "/views/base/criar-conta.ejs",
      "linkedForm": "criar_conta_form"
    },
    "$_POST": [
      {
        "type": "text",
        "fieldName": "nome_completo",
        "options": {
          "rules": {}
        },
        "name": "nome_completo"
      },
      {
        "type": "text",
        "fieldName": "cpf",
        "options": {
          "rules": {}
        },
        "name": "cpf"
      },
      {
        "type": "text",
        "fieldName": "data_nascimento",
        "options": {
          "rules": {}
        },
        "name": "data_nascimento"
      },
      {
        "type": "text",
        "fieldName": "email",
        "options": {
          "rules": {}
        },
        "name": "email"
      },
      {
        "type": "text",
        "fieldName": "telefone",
        "options": {
          "rules": {}
        },
        "name": "telefone"
      },
      {
        "type": "text",
        "fieldName": "placa",
        "name": "placa"
      },
      {
        "type": "text",
        "fieldName": "modelo_veiculo",
        "name": "modelo_veiculo"
      },
      {
        "type": "number",
        "fieldName": "ano_veiculo",
        "options": {
          "rules": {}
        },
        "name": "ano_veiculo"
      },
      {
        "type": "text",
        "fieldName": "cor_veiculo",
        "name": "cor_veiculo"
      },
      {
        "type": "text",
        "fieldName": "aceitar_termos",
        "options": {
          "rules": {}
        },
        "name": "aceitar_termos"
      },
      {
        "type": "text",
        "fieldName": "tipo_veiculo",
        "name": "tipo_veiculo"
      },
      {
        "type": "text",
        "name": "placa_veiculo"
      },
      {
        "type": "text",
        "name": "colaborador"
      }
    ]
  },
  "exec": {
    "steps": [
      {
        "name": "hash",
        "module": "crypto",
        "action": "passwordHash",
        "options": {
          "password": "{{$_POST.cpf}}",
          "algo": "argon2id"
        },
        "outputType": "text"
      },
      {
        "name": "colaborador",
        "module": "dbupdater",
        "action": "insert",
        "options": {
          "connection": "db",
          "sql": {
            "type": "insert",
            "values": [
              {
                "table": "colaboradores",
                "column": "nome_colaborador",
                "type": "text",
                "value": "{{$_POST.nome_completo}}"
              },
              {
                "table": "colaboradores",
                "column": "cpf_colaborador",
                "type": "text",
                "value": "{{$_POST.cpf}}"
              },
              {
                "table": "colaboradores",
                "column": "data_nascimento",
                "type": "date",
                "value": "{{$_POST.data_nascimento}}"
              },
              {
                "table": "colaboradores",
                "column": "email",
                "type": "text",
                "value": "{{$_POST.email}}"
              },
              {
                "table": "colaboradores",
                "column": "telefone",
                "type": "text",
                "value": "{{$_POST.telefone}}"
              },
              {
                "table": "colaboradores",
                "column": "password",
                "type": "text",
                "value": "{{hash}}"
              }
            ],
            "table": "colaboradores",
            "returning": "id_colaborador",
            "query": "insert into \"colaboradores\" (\"cpf_colaborador\", \"data_nascimento\", \"email\", \"nome_colaborador\", \"password\", \"telefone\") values (?, ?, ?, ?, ?, ?)",
            "params": [
              {
                "name": ":P1",
                "type": "expression",
                "value": "{{$_POST.nome_completo}}",
                "test": ""
              },
              {
                "name": ":P2",
                "type": "expression",
                "value": "{{$_POST.cpf}}",
                "test": ""
              },
              {
                "name": ":P3",
                "type": "expression",
                "value": "{{$_POST.data_nascimento}}",
                "test": ""
              },
              {
                "name": ":P4",
                "type": "expression",
                "value": "{{$_POST.email}}",
                "test": ""
              },
              {
                "name": ":P5",
                "type": "expression",
                "value": "{{$_POST.telefone}}",
                "test": ""
              },
              {
                "name": ":P6",
                "type": "expression",
                "value": "{{hash}}",
                "test": ""
              }
            ]
          }
        },
        "meta": [
          {
            "name": "identity",
            "type": "text"
          },
          {
            "name": "affected",
            "type": "number"
          }
        ]
      },
      {
        "name": "veiculo",
        "module": "dbupdater",
        "action": "insert",
        "options": {
          "connection": "db",
          "sql": {
            "type": "insert",
            "values": [
              {
                "table": "veiculos_colaboradores",
                "column": "tipo_veiculo",
                "type": "text",
                "value": "{{$_POST.tipo_veiculo}}"
              },
              {
                "table": "veiculos_colaboradores",
                "column": "placa_veiculo",
                "type": "text",
                "value": "{{$_POST.placa}}"
              },
              {
                "table": "veiculos_colaboradores",
                "column": "colaborador",
                "type": "text",
                "value": "{{colaborador.identity}}"
              },
              {
                "table": "veiculos_colaboradores",
                "column": "modelo_veiculo",
                "type": "text",
                "value": "{{$_POST.modelo_veiculo}}"
              },
              {
                "table": "veiculos_colaboradores",
                "column": "ano_veiculo",
                "type": "text",
                "value": "{{$_POST.ano_veiculo}}"
              },
              {
                "table": "veiculos_colaboradores",
                "column": "cor_veiculo",
                "type": "text",
                "value": "{{$_POST.cor_veiculo}}"
              }
            ],
            "table": "veiculos_colaboradores",
            "returning": "id_veiculo_colaborador",
            "query": "insert into \"veiculos_colaboradores\" (\"ano_veiculo\", \"colaborador\", \"cor_veiculo\", \"modelo_veiculo\", \"placa_veiculo\", \"tipo_veiculo\") values (?, ?, ?, ?, ?, ?) returning \"id_veiculo_colaborador\"",
            "params": [
              {
                "name": ":P1",
                "type": "expression",
                "value": "{{$_POST.tipo_veiculo}}",
                "test": ""
              },
              {
                "name": ":P2",
                "type": "expression",
                "value": "{{$_POST.placa}}",
                "test": ""
              },
              {
                "name": ":P3",
                "type": "expression",
                "value": "{{colaborador.identity}}",
                "test": ""
              },
              {
                "name": ":P4",
                "type": "expression",
                "value": "{{$_POST.modelo_veiculo}}",
                "test": ""
              },
              {
                "name": ":P5",
                "type": "expression",
                "value": "{{$_POST.ano_veiculo}}",
                "test": ""
              },
              {
                "name": ":P6",
                "type": "expression",
                "value": "{{$_POST.cor_veiculo}}",
                "test": ""
              }
            ]
          }
        },
        "meta": [
          {
            "name": "identity",
            "type": "text"
          },
          {
            "name": "affected",
            "type": "number"
          }
        ]
      },
      {
        "name": "motorista",
        "module": "dbupdater",
        "action": "insert",
        "options": {
          "connection": "db",
          "sql": {
            "type": "insert",
            "values": [
              {
                "table": "veiculos_motoristas",
                "column": "id_motorista",
                "type": "text",
                "value": "{{colaborador.identity}}"
              },
              {
                "table": "veiculos_motoristas",
                "column": "id_veiculo",
                "type": "number",
                "value": "{{veiculo.identity}}"
              },
              {
                "table": "veiculos_motoristas",
                "column": "id_responsavel_motorista",
                "type": "text",
                "value": "{{colaborador.identity}}"
              }
            ],
            "table": "veiculos_motoristas",
            "returning": "id_veiculos_motoristas",
            "query": "insert into \"veiculos_motoristas\" (\"id_motorista\", \"id_responsavel_motorista\", \"id_veiculo\") values (?, ?, ?)",
            "params": [
              {
                "name": ":P1",
                "type": "expression",
                "value": "{{colaborador.identity}}",
                "test": ""
              },
              {
                "name": ":P2",
                "type": "expression",
                "value": "{{veiculo.identity}}",
                "test": ""
              },
              {
                "name": ":P3",
                "type": "expression",
                "value": "{{colaborador.identity}}",
                "test": ""
              }
            ]
          }
        },
        "meta": [
          {
            "name": "identity",
            "type": "text"
          },
          {
            "name": "affected",
            "type": "number"
          }
        ]
      },
      {
        "name": "api",
        "module": "api",
        "action": "send",
        "options": {
          "url": "https://backend.spacefeed.app/api/qrcode",
          "dataType": "json",
          "schema": [
            {
              "type": "object",
              "name": "data",
              "sub": [
                {
                  "type": "text",
                  "name": "message"
                }
              ]
            },
            {
              "type": "object",
              "name": "headers",
              "sub": [
                {
                  "type": "text",
                  "name": "connection"
                },
                {
                  "type": "text",
                  "name": "content-length"
                },
                {
                  "type": "text",
                  "name": "content-type"
                },
                {
                  "type": "text",
                  "name": "date"
                },
                {
                  "type": "text",
                  "name": "etag"
                },
                {
                  "type": "text",
                  "name": "server"
                },
                {
                  "type": "text",
                  "name": "vary"
                },
                {
                  "type": "text",
                  "name": "x-served-by"
                }
              ]
            }
          ],
          "params": {
            "usuario": "{{$_POST.cpf}}",
            "placa": "{{$_POST.placa}}",
            "veiculo": "{{veiculo.identity}}",
            "id_usuario": "{{colaborador.identity}}"
          }
        },
        "output": true,
        "meta": [
          {
            "type": "object",
            "name": "data",
            "sub": [
              {
                "type": "text",
                "name": "message"
              }
            ]
          },
          {
            "type": "object",
            "name": "headers",
            "sub": [
              {
                "type": "text",
                "name": "connection"
              },
              {
                "type": "text",
                "name": "content-length"
              },
              {
                "type": "text",
                "name": "content-type"
              },
              {
                "type": "text",
                "name": "date"
              },
              {
                "type": "text",
                "name": "etag"
              },
              {
                "type": "text",
                "name": "server"
              },
              {
                "type": "text",
                "name": "vary"
              },
              {
                "type": "text",
                "name": "x-served-by"
              }
            ]
          }
        ],
        "outputType": "object",
        "collapsed": true
      }
    ]
  },
  "usedModules": {
    "argon2": "^0.30.2"
  }
}