{
  "meta": {
    "$_GET": [
      {
        "type": "text",
        "name": "sort"
      },
      {
        "type": "text",
        "name": "dir"
      }
    ]
  },
  "exec": {
    "steps": [
      {
        "name": "",
        "module": "auth",
        "action": "restrict",
        "options": {
          "provider": "security",
          "permissions": [
            "Active"
          ]
        }
      },
      {
        "name": "queryActive",
        "module": "dbconnector",
        "action": "select",
        "options": {
          "connection": "db",
          "sql": {
            "type": "SELECT",
            "columns": [
              {
                "table": "todos",
                "column": "*"
              },
              {
                "table": "tr",
                "column": "repeat_type"
              },
              {
                "table": "tr",
                "column": "next_due_date"
              },
              {
                "table": "tf",
                "column": "required_amount"
              },
              {
                "table": "tf",
                "column": "saved_amount"
              }
            ],
            "table": {
              "name": "todos"
            },
            "primary": "id",
            "joins": [
              {
                "table": "todo_recurrence",
                "column": "*",
                "alias": "tr",
                "type": "LEFT",
                "clauses": {
                  "condition": "AND",
                  "rules": [
                    {
                      "table": "tr",
                      "column": "todo_id",
                      "operator": "equal",
                      "value": {
                        "table": "todos",
                        "column": "id"
                      },
                      "operation": "="
                    }
                  ]
                },
                "primary": "id"
              },
              {
                "table": "todo_financial",
                "column": "*",
                "alias": "tf",
                "type": "LEFT",
                "clauses": {
                  "condition": "AND",
                  "rules": [
                    {
                      "table": "tf",
                      "column": "todo_id",
                      "operator": "equal",
                      "value": {
                        "table": "todos",
                        "column": "id"
                      },
                      "operation": "="
                    }
                  ]
                },
                "primary": "id"
              }
            ],
            "wheres": {
              "condition": "AND",
              "rules": [
                {
                  "id": "todos.section",
                  "field": "todos.section",
                  "type": "string",
                  "operator": "equal",
                  "value": "active",
                  "data": {
                    "table": "todos",
                    "column": "section",
                    "type": "text",
                    "columnObj": {
                      "type": "enum",
                      "primary": false,
                      "nullable": false,
                      "name": "section"
                    }
                  },
                  "operation": "=",
                  "table": "todos"
                }
              ],
              "conditional": null,
              "valid": true
            },
            "query": "select `todos`.*, `tr`.`repeat_type`, `tr`.`next_due_date`, `tf`.`required_amount`, `tf`.`saved_amount` from `todos` left join `todo_recurrence` as `tr` on `tr`.`todo_id` = `todos`.`id` left join `todo_financial` as `tf` on `tf`.`todo_id` = `todos`.`id` where `todos`.`section` = ? order by `todos`.`id` ASC",
            "params": [],
            "orders": [
              {
                "table": "todos",
                "column": "id",
                "direction": "ASC"
              }
            ]
          }
        },
        "output": true,
        "meta": [
          {
            "type": "number",
            "name": "id"
          },
          {
            "type": "text",
            "name": "title"
          },
          {
            "type": "text",
            "name": "description"
          },
          {
            "type": "text",
            "name": "category"
          },
          {
            "type": "text",
            "name": "priority"
          },
          {
            "type": "text",
            "name": "section"
          },
          {
            "type": "date",
            "name": "due_date"
          },
          {
            "type": "boolean",
            "name": "is_financial"
          },
          {
            "type": "boolean",
            "name": "is_recurring"
          },
          {
            "type": "boolean",
            "name": "is_completed"
          },
          {
            "type": "datetime",
            "name": "completed_at"
          },
          {
            "type": "datetime",
            "name": "created_at"
          },
          {
            "type": "datetime",
            "name": "updated_at"
          },
          {
            "type": "text",
            "name": "repeat_type"
          },
          {
            "type": "date",
            "name": "next_due_date"
          },
          {
            "type": "number",
            "name": "required_amount"
          },
          {
            "type": "number",
            "name": "saved_amount"
          }
        ],
        "outputType": "array",
        "collapsed": true
      }
    ]
  }
}