{
  "meta": {
    "$_POST": [
      {
        "type": "number",
        "name": "collectiontype_id"
      },
      {
        "type": "text",
        "name": "collection_name"
      },
      {
        "type": "text",
        "name": "id"
      }
    ]
  },
  "exec": {
    "steps": [
      {
        "name": "",
        "module": "auth",
        "action": "restrict",
        "options": {
          "provider": "security",
          "permissions": [
            "Active"
          ]
        }
      },
      {
        "name": "",
        "module": "core",
        "action": "condition",
        "options": {
          "if": "{{$_POST.id}}",
          "then": {
            "steps": {
              "name": "update",
              "module": "dbupdater",
              "action": "update",
              "options": {
                "connection": "db",
                "sql": {
                  "type": "update",
                  "values": [
                    {
                      "table": "collections",
                      "column": "collectiontype_id",
                      "type": "number",
                      "value": "{{$_POST.collectiontype_id}}"
                    },
                    {
                      "table": "collections",
                      "column": "name",
                      "type": "text",
                      "value": "{{$_POST.collection_name}}"
                    }
                  ],
                  "table": "collections",
                  "wheres": {
                    "condition": "AND",
                    "rules": [
                      {
                        "id": "id",
                        "type": "double",
                        "operator": "equal",
                        "value": "{{$_POST.id}}",
                        "data": {
                          "column": "id"
                        },
                        "operation": "="
                      }
                    ]
                  },
                  "returning": "id",
                  "query": "update `collections` set `collectiontype_id` = ?, `name` = ? where `id` = ?",
                  "params": [
                    {
                      "name": ":P1",
                      "type": "expression",
                      "value": "{{$_POST.collectiontype_id}}",
                      "test": ""
                    },
                    {
                      "name": ":P2",
                      "type": "expression",
                      "value": "{{$_POST.collection_name}}",
                      "test": ""
                    },
                    {
                      "operator": "equal",
                      "type": "expression",
                      "name": ":P3",
                      "value": "{{$_POST.id}}",
                      "test": ""
                    }
                  ]
                }
              },
              "meta": [
                {
                  "name": "affected",
                  "type": "number"
                }
              ]
            }
          },
          "else": {
            "steps": {
              "name": "insert",
              "module": "dbupdater",
              "action": "insert",
              "options": {
                "connection": "db",
                "sql": {
                  "type": "insert",
                  "values": [
                    {
                      "table": "collections",
                      "column": "collectiontype_id",
                      "type": "number",
                      "value": "{{$_POST.collectiontype_id}}"
                    },
                    {
                      "table": "collections",
                      "column": "name",
                      "type": "text",
                      "value": "{{$_POST.collection_name}}"
                    }
                  ],
                  "table": "collections",
                  "returning": "id",
                  "query": "insert into `collections` (`collectiontype_id`, `name`) values (?, ?)",
                  "params": [
                    {
                      "name": ":P1",
                      "type": "expression",
                      "value": "{{$_POST.collectiontype_id}}",
                      "test": ""
                    },
                    {
                      "name": ":P2",
                      "type": "expression",
                      "value": "{{$_POST.collection_name}}",
                      "test": ""
                    }
                  ]
                }
              },
              "meta": [
                {
                  "name": "identity",
                  "type": "text"
                },
                {
                  "name": "affected",
                  "type": "number"
                }
              ]
            }
          }
        },
        "outputType": "boolean"
      }
    ]
  }
}