{
  "meta": {
    "options": {
      "linkedFile": "/views/colaborador/adicionar-veiculo.ejs",
      "linkedForm": "adicionar_veiculo_form"
    },
    "$_POST": [
      {
        "type": "text",
        "fieldName": "placa",
        "options": {
          "rules": {}
        },
        "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": "tipo_veiculo",
        "options": {
          "rules": {}
        },
        "name": "tipo_veiculo"
      },
      {
        "type": "text",
        "fieldName": "observacoes",
        "name": "observacoes"
      },
      {
        "type": "text",
        "fieldName": "usuario",
        "name": "usuario"
      },
      {
        "type": "text",
        "name": "base64_placa"
      }
    ]
  },
  "exec": {
    "steps": [
      {
        "name": "validate",
        "module": "validator",
        "action": "validate",
        "options": {
          "data": [
            {
              "name": "validate_1",
              "value": "{{$_POST.placa.uppercase()}}",
              "rules": {
                "db:notexists": {
                  "param": {
                    "connection": "db",
                    "table": "veiculos_colaboradores",
                    "column": "placa_veiculo"
                  },
                  "message": "Veículo já cadastrado!"
                }
              },
              "fieldName": "placa"
            }
          ]
        },
        "output": false
      },
      {
        "name": "insert_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.uppercase()}}"
              },
              {
                "table": "veiculos_colaboradores",
                "column": "colaborador",
                "type": "text",
                "value": "{{$_POST.usuario}}"
              },
              {
                "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.uppercase()}}",
                "test": ""
              },
              {
                "name": ":P3",
                "type": "expression",
                "value": "{{$_POST.usuario}}",
                "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": "api",
        "module": "api",
        "action": "send",
        "options": {
          "url": "https://backend.spacefeed.app/api/qr-code-veiculo",
          "data": {
            "placa": "{{$_POST.placa}}",
            "id_veiculo": "{{insert_veiculo.identity}}"
          },
          "method": "POST",
          "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"
                }
              ]
            }
          ]
        },
        "output": true,
        "collapsed": 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"
      },
      {
        "name": "insert_motorista",
        "module": "dbupdater",
        "action": "insert",
        "options": {
          "connection": "db",
          "sql": {
            "type": "insert",
            "values": [
              {
                "table": "veiculos_motoristas",
                "column": "id_motorista",
                "type": "text",
                "value": "{{$_POST.usuario}}"
              },
              {
                "table": "veiculos_motoristas",
                "column": "id_veiculo",
                "type": "number",
                "value": "{{insert_veiculo.identity}}"
              },
              {
                "table": "veiculos_motoristas",
                "column": "id_responsavel_motorista",
                "type": "text",
                "value": "{{$_POST.usuario}}"
              }
            ],
            "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": "{{$_POST.usuario}}",
                "test": ""
              },
              {
                "name": ":P2",
                "type": "expression",
                "value": "{{insert_veiculo.identity}}",
                "test": ""
              },
              {
                "name": ":P3",
                "type": "expression",
                "value": "{{$_POST.usuario}}",
                "test": ""
              }
            ]
          }
        },
        "meta": [
          {
            "name": "identity",
            "type": "text"
          },
          {
            "name": "affected",
            "type": "number"
          }
        ]
      }
    ]
  }
}