const androidConfig = {
  name: "Manaknight",
  packageName: "com.manaknight.app",
  baseUrl: "https://mkdlabs.com",
  projectId: "profitpro",
  secret: "15p1dfbeh2pc0uypfidk8i7r5yqx13esa",
  startDestination: "splash",
  isGoogleLogin: false,
  isAppleLogin: false,
  isFacebookLogin: false,
  isInappPurchase: false,
  hasAuth: true,
  hasToolBar: false,
  navigationType: "sideBar",
  extensions: [{}],
  menu: [
    {
      id: "980f4fc1-8121-f7cb-e291-d65140b21fa7",
      title: "Home",
      icon: "ic_dialog_dialer",
      destination: "home",
    },
    {
      id: "8c7b774e-ff8a-ccbf-6881-ecb649d918fa",
      title: "Proejects",
      icon: "ic_menu_gallery",
      destination: "projectview",
    },
    {
      id: "46c9db93-486f-f959-02b3-0c2e92e56b68",
      title: "Cost",
      icon: "ic_menu_search",
      destination: "costview",
    },
    {
      id: "c69ef864-1d73-bde7-b972-f846f873bc07",
      title: "profile",
      icon: "ic_profile",
      destination: "accountview",
    },
  ],
  appBar: [],
  enums: [],
  models: [],
  libraries: [],
  api: [
    {
      id: "_createchangeorder",
      name: "Create Change Order",
      description: "",
      method: "POST",
      route: "/v3/api/custom/profitpro/company/change-order",
      inputs: [
        {
          name: "project_id",
          dataType: "",
          type: "path",
          rules: "is_required",
        },
        {
          name: "data",
          dataType: "String",
          type: "body",
          rules: "is_required",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Updated successfully",
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [],
      logic: "",
      code: "app.post('/v3/api/custom/profitpro/company/change-order', [ ...middlewares, TokenMiddleware({ role: \"company\" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \nlet validation = await validateObject(\n  {\n    data: 'is_required',\n  },\n  req.body\n);\nif (validation.error) return res.status(403).json(validation);\n\n//======\n\n\n      return res.status(200).json({error: false,message: Updated successfully })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {},
      status_code: "200 - OK",
      workflows: [
        {
          id: "f6a1b478-bf26-0610-22b0-b759d5851bc7",
          name: "API_Route",
          configurations: {
            General: {
              name: "Create Change Order",
              description: "",
              route: "/v3/api/custom/profitpro/company/change-order",
              method: "POST",
              id: "_createchangeorder",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [
                {
                  name: "project_id",
                  dataType: "",
                  type: "path",
                  rules: "is_required",
                },
                {
                  name: "data",
                  dataType: "String",
                  type: "body",
                  rules: "is_required",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "831c952d-aa93-9740-8361-52a1ac573e1d",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "Updated successfully",
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
        },
      ],
    },
    {
      id: "_finalizeproject",
      name: "Finalize Project",
      description: "Finalize project. Send estimation to client.",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/finalize-project",
      inputs: [
        {
          name: "project_id",
          dataType: "",
          type: "",
          rules: "is_required",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Success",
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [],
      logic: "",
      code: "app.get('/v3/api/custom/profitpro/company/finalize-project', [ ...middlewares, TokenMiddleware({ role: \"company\" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: Success })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {},
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "3fd8ea5c-2a63-5bb8-927d-9096cfdc88be",
          name: "API_Route",
          configurations: {
            General: {
              name: "Finalize Project",
              description: "Finalize project. Send estimation to client.",
              route: "/v3/api/custom/profitpro/company/finalize-project",
              method: "GET",
              folder: "company",
              id: "_finalizeproject",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [
                {
                  name: "project_id",
                  dataType: "",
                  type: "",
                  rules: "is_required",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "6847b10d-cae4-fd94-438a-d6c4ada3c844",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "Success",
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [],
        },
      ],
    },
    {
      id: "_getprojectreview",
      name: "Get Project Review",
      description: "",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/project-review",
      inputs: [
        {
          name: "project_id",
          dataType: "",
          type: "path",
          rules: "is_required",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value:
            '{     "client_details": {         "name": "John Doe",         "email": "client.email@domain.com",         "address": "123 Main St, Cityville, Country"     },     "line_items": [         {             "description": "Interior Wall Painting",             "estimated_by": "material",             "labor_hours": 20,             "entries": [             "ceiling_paint": {                 "quantity": 20,                 "rate": 1                  "cost": 20             } ],                 "labor_budget": 1250,                 "material_budget": 1250,                 "profit_overhead": 250,                 "labor_hours": 20         }     ],     "project_totals": {         "total_sale_price": 1250,         "total_profit_overhead": 250,         "total_labor_budget": 1250,         "total_material_budget": 1250,         "total_labor_hours": 20     },     "draws": [         {             "percentage": 25,             "amount": 500,             "description": "On contract signing"         },         {             "percentage": 25,             "amount": 500,             "description": "After completion of initial phase"         },         {             "percentage": 50,             "amount": 1000,             "description": "At project completion"         }     ],     "total_cost": 2000 }',
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "client_details",
          dataType: "String",
        },
        {
          name: "line_items",
          dataType: "String",
        },
        {
          name: "project_totals",
          dataType: "String",
        },
        {
          name: "draws",
          dataType: "String",
        },
        {
          name: "total_cost",
          dataType: "String",
        },
      ],
      logic: "",
      code: 'app.get(\'/v3/api/custom/profitpro/company/project-review\', [ ...middlewares, TokenMiddleware({ role: "company" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: text,model: {     "client_details": {         "name": "John Doe",         "email": "client.email@domain.com",         "address": "123 Main St, Cityville, Country"     },     "line_items": [         {             "description": "Interior Wall Painting",             "estimated_by": "material",             "labor_hours": 20,             "entries": [             "ceiling_paint": {                 "quantity": 20,                 "rate": 1                  "cost": 20             } ],                 "labor_budget": 1250,                 "material_budget": 1250,                 "profit_overhead": 250,                 "labor_hours": 20         }     ],     "project_totals": {         "total_sale_price": 1250,         "total_profit_overhead": 250,         "total_labor_budget": 1250,         "total_material_budget": 1250,         "total_labor_hours": 20     },     "draws": [         {             "percentage": 25,             "amount": 500,             "description": "On contract signing"         },         {             "percentage": 25,             "amount": 500,             "description": "After completion of initial phase"         },         {             "percentage": 50,             "amount": 1000,             "description": "At project completion"         }     ],     "total_cost": 2000 } })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ',
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        client_details: "String",
        line_items: "String",
        project_totals: "String",
        draws: "String",
        total_cost: "String",
      },
      status_code: "200 - OK",
      workflows: [
        {
          id: "4b227650-dd66-83fd-db6e-e769faafb20a",
          name: "API_Route",
          configurations: {
            General: {
              name: "Get Project Review",
              description: "",
              route: "/v3/api/custom/profitpro/company/project-review",
              method: "GET",
              id: "_getprojectreview",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [
                {
                  name: "project_id",
                  dataType: "",
                  type: "path",
                  rules: "is_required",
                },
              ],
            },
          },
        },
        {
          id: "ed4db72c-b254-d5f2-8039-d621cbac6562",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "model",
              key: "model",
              value:
                '{     "client_details": {         "name": "John Doe",         "email": "client.email@domain.com",         "address": "123 Main St, Cityville, Country"     },     "line_items": [         {             "description": "Interior Wall Painting",             "estimated_by": "material",             "labor_hours": 20,             "entries": [             "ceiling_paint": {                 "quantity": 20,                 "rate": 1                  "cost": 20             } ],                 "labor_budget": 1250,                 "material_budget": 1250,                 "profit_overhead": 250,                 "labor_hours": 20         }     ],     "project_totals": {         "total_sale_price": 1250,         "total_profit_overhead": 250,         "total_labor_budget": 1250,         "total_material_budget": 1250,         "total_labor_hours": 20     },     "draws": [         {             "percentage": 25,             "amount": 500,             "description": "On contract signing"         },         {             "percentage": 25,             "amount": 500,             "description": "After completion of initial phase"         },         {             "percentage": 50,             "amount": 1000,             "description": "At project completion"         }     ],     "total_cost": 2000 }',
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "client_details",
              dataType: "String",
            },
            {
              name: "line_items",
              dataType: "String",
            },
            {
              name: "project_totals",
              dataType: "String",
            },
            {
              name: "draws",
              dataType: "String",
            },
            {
              name: "total_cost",
              dataType: "String",
            },
          ],
        },
      ],
    },
    {
      id: "_updatedraws",
      name: "Update Draws",
      description:
        "Only add the cstom draws, for first and last draws You can only update them.",
      method: "POST",
      route: "/v3/api/custom/profitpro/company/update-draws",
      inputs: [
        {
          name: "project_id",
          dataType: "Integer",
          type: "path",
          rules: "is_required",
        },
        {
          name: "draws",
          dataType: "String",
          type: "body",
          rules: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Draws Updated Successfully",
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [],
      logic: "",
      code: "app.post('/v3/api/custom/profitpro/company/update-draws', [ ...middlewares, TokenMiddleware({ role: \"company\" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: Draws Updated Successfully })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {},
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "eb63162d-062d-1822-d0fc-c366771a61cf",
          name: "API_Route",
          configurations: {
            General: {
              name: "Update Draws",
              description:
                "Only add the cstom draws, for first and last draws You can only update them.",
              route: "/v3/api/custom/profitpro/company/update-draws",
              method: "POST",
              folder: "company",
              id: "_updatedraws",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [
                {
                  name: "project_id",
                  dataType: "Integer",
                  type: "path",
                  rules: "is_required",
                },
                {
                  name: "draws",
                  dataType: "String",
                  type: "body",
                  rules: "",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "84bec010-7c1c-c54c-d27f-e6b772fa7a7b",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "Draws Updated Successfully",
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [],
        },
      ],
    },
    {
      id: "_initializedraws",
      name: "Initialize Draws",
      description: "",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/initialize-draws",
      inputs: [
        {
          name: "project_id",
          dataType: "",
          type: "",
          rules: "is_required",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Initialized Successfully",
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [],
      logic: "",
      code: "app.get('/v3/api/custom/profitpro/company/initialize-draws', [ ...middlewares, TokenMiddleware()] , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: Initialized Successfully })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {},
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "3a894ab8-aeb2-f8d9-20e6-ce1c70330b96",
          name: "API_Route",
          configurations: {
            General: {
              name: "Initialize Draws",
              description: "",
              route: "/v3/api/custom/profitpro/company/initialize-draws",
              method: "GET",
              folder: "company",
              id: "_initializedraws",
            },
            Authentication: {
              protected: true,
              authorizedRoles: [],
            },
            Api_Input: {
              inputs: [
                {
                  name: "project_id",
                  dataType: "",
                  type: "",
                  rules: "is_required",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "72a64caa-2b44-2966-c18e-4b833d3dcff7",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "Initialized Successfully",
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [],
        },
      ],
    },
    {
      id: "_addlineitem",
      name: "Add Line Item",
      description: "",
      method: "POST",
      route: "/v3/api/custom/profitpro/company/add-line-item",
      inputs: [
        {
          name: "description",
          dataType: "Integer",
          type: "body",
          rules: "is_required",
        },
        {
          name: "estimated_by",
          dataType: "Integer",
          type: "body",
          rules: "is_required",
        },
        {
          name: "entries",
          dataType: "String",
          type: "body",
          rules: "is_required",
        },
        {
          name: "labor_hours",
          dataType: "Double",
          type: "body",
          rules: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: '{"id": 1}',
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "id",
          dataType: "Integer",
        },
      ],
      logic: "",
      code: "app.post('/v3/api/custom/profitpro/company/add-line-item', [ ...middlewares, TokenMiddleware({ role: \"company\" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \nlet validation = await validateObject(\n  {\n    description: 'is_required',\n    estimated_by: 'is_required',\n    entries: 'is_required',\n  },\n  req.body\n);\nif (validation.error) return res.status(403).json(validation);\n\n//======\n\n\n      return res.status(200).json({error: false,message: text,model: {\"id\": 1} })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        id: "Integer",
      },
      status_code: "200 - OK",
      workflows: [
        {
          id: "c70188d3-f5dd-fb4e-0151-11412649233c",
          name: "API_Route",
          configurations: {
            General: {
              name: "Add Line Item",
              description: "",
              route: "/v3/api/custom/profitpro/company/add-line-item",
              method: "POST",
              id: "_addlineitem",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [
                {
                  name: "description",
                  dataType: "Integer",
                  type: "body",
                  rules: "is_required",
                },
                {
                  name: "estimated_by",
                  dataType: "Integer",
                  type: "body",
                  rules: "is_required",
                },
                {
                  name: "entries",
                  dataType: "String",
                  type: "body",
                  rules: "is_required",
                },
                {
                  name: "labor_hours",
                  dataType: "Double",
                  type: "body",
                  rules: "",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "7de24ab5-bf80-f38b-7f29-89681a9d35da",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "model",
              key: "model",
              value: '{"id": 1}',
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "id",
              dataType: "Integer",
            },
          ],
        },
      ],
    },
    {
      id: "_createnewestimation",
      name: "Create New Estimation",
      description: "",
      method: "POST",
      route: "/v3/api/custom/profitpro/company/create-estimation",
      inputs: [
        {
          name: "customer_id",
          dataType: "",
          type: "",
          rules: "is_required",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "{id: 1}",
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "id",
          dataType: "Integer",
        },
      ],
      logic: "",
      code: "app.post('/v3/api/custom/profitpro/company/create-estimation', [ ...middlewares, TokenMiddleware({ role: \"company\" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: text,model: {id: 1} })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        id: "Integer",
      },
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "e20ce2bc-d6ba-9955-7ce8-e88071b1a1d0",
          name: "API_Route",
          configurations: {
            General: {
              name: "Create New Estimation",
              description: "",
              route: "/v3/api/custom/profitpro/company/create-estimation",
              method: "POST",
              folder: "company",
              id: "_createnewestimation",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [
                {
                  name: "customer_id",
                  dataType: "",
                  type: "",
                  rules: "is_required",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "3398b9eb-3a10-1487-a9a2-5f55a90e939a",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "model",
              key: "model",
              value: "{id: 1}",
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "id",
              dataType: "Integer",
            },
          ],
        },
      ],
    },
    {
      id: "_trackingmaterial",
      name: "Tracking (Material)",
      description: "",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/get-material-details",
      inputs: [
        {
          name: "project_id",
          dataType: "Integer",
          type: "path",
          rules: "is_required",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value:
            '{     "material_budget": 2000,     "material_spent": 1230,     "material_balance": 770,     "materials": [         {             "date": "2024-01-01",             "amount": 1200.00         },         {             "date": "2024-02-15",             "amount": 1200.00         },         {             "date": "2024-03-10",             "amount": 1200.00         },         {             "date": "2024-04-20",             "amount": 1200.00         }     ] }',
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "material_budget",
          dataType: "Double",
        },
        {
          name: "material_spent",
          dataType: "Double",
        },
        {
          name: "material_balance",
          dataType: "Double",
        },
        {
          name: "materials",
          dataType: "String",
        },
      ],
      logic: "",
      code: 'app.get(\'/v3/api/custom/profitpro/company/get-material-details\', [ ...middlewares, TokenMiddleware({ role: "company" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: text,model: {     "material_budget": 2000,     "material_spent": 1230,     "material_balance": 770,     "materials": [         {             "date": "2024-01-01",             "amount": 1200.00         },         {             "date": "2024-02-15",             "amount": 1200.00         },         {             "date": "2024-03-10",             "amount": 1200.00         },         {             "date": "2024-04-20",             "amount": 1200.00         }     ] } })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ',
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        material_budget: "Double",
        material_spent: "Double",
        material_balance: "Double",
        materials: "String",
      },
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "74a55096-cf1c-b155-aa09-489d7dc923d7",
          name: "API_Route",
          configurations: {
            General: {
              name: "Tracking (Material)",
              description: "",
              route: "/v3/api/custom/profitpro/company/get-material-details",
              method: "GET",
              folder: "company",
              id: "_trackingmaterial",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [
                {
                  name: "project_id",
                  dataType: "Integer",
                  type: "path",
                  rules: "is_required",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "a6d7ff9d-2ba1-ef13-b75f-2d2266ad0466",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "model",
              key: "model",
              value:
                '{     "material_budget": 2000,     "material_spent": 1230,     "material_balance": 770,     "materials": [         {             "date": "2024-01-01",             "amount": 1200.00         },         {             "date": "2024-02-15",             "amount": 1200.00         },         {             "date": "2024-03-10",             "amount": 1200.00         },         {             "date": "2024-04-20",             "amount": 1200.00         }     ] }',
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "material_budget",
              dataType: "Double",
            },
            {
              name: "material_spent",
              dataType: "Double",
            },
            {
              name: "material_balance",
              dataType: "Double",
            },
            {
              name: "materials",
              dataType: "String",
            },
          ],
        },
      ],
    },
    {
      id: "_trackinglabour",
      name: "Tracking (Labour)",
      description: "",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/get-labor-details",
      inputs: [
        {
          name: "project_id",
          dataType: "Integer",
          type: "path",
          rules: "is_required",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value:
            '{     "labor_budget": 2000,     "labor_spent_amount": 1230,     "labor_spent_percentage": 53,     "remaining_budget_amount": 770,     "remaining_budget_percentage": 47,     "labor_costs": [         {             "name": "John Smith",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         },         {             "name": "Adam Silverstone",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         },         {             "name": "Jonathan McMahon",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         },         {             "name": "Patrick Brownstein",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         },         {             "name": "Ronnie O\'Sullivan",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         }     ] }',
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "labor_budget",
          dataType: "Double",
        },
        {
          name: "labor_spent_amount",
          dataType: "Double",
        },
        {
          name: "labor_spent_percentage",
          dataType: "Double",
        },
        {
          name: "remaining_budget_amount",
          dataType: "Double",
        },
        {
          name: "remaining_budget_percentage",
          dataType: "Double",
        },
      ],
      logic: "",
      code: 'app.get(\'/v3/api/custom/profitpro/company/get-labor-details\', [ ...middlewares, TokenMiddleware({ role: "company" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: text,list: {     "labor_budget": 2000,     "labor_spent_amount": 1230,     "labor_spent_percentage": 53,     "remaining_budget_amount": 770,     "remaining_budget_percentage": 47,     "labor_costs": [         {             "name": "John Smith",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         },         {             "name": "Adam Silverstone",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         },         {             "name": "Jonathan McMahon",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         },         {             "name": "Patrick Brownstein",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         },         {             "name": "Ronnie O\'Sullivan",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         }     ] } })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ',
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        labor_budget: "Double",
        labor_spent_amount: "Double",
        labor_spent_percentage: "Double",
        remaining_budget_amount: "Double",
        remaining_budget_percentage: "Double",
      },
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "5ed0805b-cadb-d31b-67d0-8e9ef3866b46",
          name: "API_Route",
          configurations: {
            General: {
              name: "Tracking (Labour)",
              description: "",
              route: "/v3/api/custom/profitpro/company/get-labor-details",
              method: "GET",
              folder: "company",
              id: "_trackinglabour",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [
                {
                  name: "project_id",
                  dataType: "Integer",
                  type: "path",
                  rules: "is_required",
                },
              ],
            },
          },
        },
        {
          id: "8c7a2ca6-8852-700f-fab4-ff44541640e8",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "list",
              key: "list",
              value:
                '{     "labor_budget": 2000,     "labor_spent_amount": 1230,     "labor_spent_percentage": 53,     "remaining_budget_amount": 770,     "remaining_budget_percentage": 47,     "labor_costs": [         {             "name": "John Smith",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         },         {             "name": "Adam Silverstone",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         },         {             "name": "Jonathan McMahon",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         },         {             "name": "Patrick Brownstein",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         },         {             "name": "Ronnie O\'Sullivan",             "rate_per_hour": 30,             "hours": 6,             "total_cost": 180         }     ] }',
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "labor_budget",
              dataType: "Double",
            },
            {
              name: "labor_spent_amount",
              dataType: "Double",
            },
            {
              name: "labor_spent_percentage",
              dataType: "Double",
            },
            {
              name: "remaining_budget_amount",
              dataType: "Double",
            },
            {
              name: "remaining_budget_percentage",
              dataType: "Double",
            },
          ],
        },
      ],
    },
    {
      id: "_trackingdraws",
      name: "Tracking (Draws)",
      description: "",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/get-draws",
      inputs: [
        {
          name: "status",
          dataType: "String",
          type: "query",
          rules: "",
        },
        {
          name: "project_id",
          dataType: "Integer",
          type: "path",
          rules: "is_required",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value:
            '[             {                 "amount": 200.00,                 "status": 0,                 "name": "Regular Draw"             },             {                 "amount": 200.00,                 "status": 1,                 "name": "Additional Charge"             },             {                 "amount": 200.00,                 "status": 0,                 "name": "Regular Draw"             },             {                 "amount": 200.00,                 "status": 2,                 "name": "Credit"             },             {                 "amount": 200.00,                 "status": 1,                 "name": "Additional Charge"             },             {                 "amount": 200.00,                 "status": 3,                 "name": "Adjusted by Credit"             }         ]',
          valueType: "String",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value:
            '{     "status_mapping": {         "0": "Received",         "1": "Pending",         "2": "Credit",         "3": "Extra Charge"     } }',
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "amount",
          dataType: "String",
        },
        {
          name: "status",
          dataType: "",
        },
        {
          name: "name",
          dataType: "String",
        },
      ],
      logic: "",
      code: 'app.get(\'/v3/api/custom/profitpro/company/get-draws\',  middlewares  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: text,list: [             {                 "amount": 200.00,                 "status": 0,                 "name": "Regular Draw"             },             {                 "amount": 200.00,                 "status": 1,                 "name": "Additional Charge"             },             {                 "amount": 200.00,                 "status": 0,                 "name": "Regular Draw"             },             {                 "amount": 200.00,                 "status": 2,                 "name": "Credit"             },             {                 "amount": 200.00,                 "status": 1,                 "name": "Additional Charge"             },             {                 "amount": 200.00,                 "status": 3,                 "name": "Adjusted by Credit"             }         ],mapping: {     "status_mapping": {         "0": "Received",         "1": "Pending",         "2": "Credit",         "3": "Extra Charge"     } } })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ',
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        amount: "String",
        status: "",
        name: "String",
      },
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "4006ae63-e2c4-54ee-44c1-9c6a1731737d",
          name: "API_Route",
          configurations: {
            General: {
              name: "Tracking (Draws)",
              description: "",
              route: "/v3/api/custom/profitpro/company/get-draws",
              method: "GET",
              folder: "company",
              id: "_trackingdraws",
            },
            Authentication: {
              protected: false,
              authorizedRoles: [],
            },
            Api_Input: {
              inputs: [
                {
                  name: "status",
                  dataType: "String",
                  type: "query",
                  rules: "",
                },
                {
                  name: "project_id",
                  dataType: "Integer",
                  type: "path",
                  rules: "is_required",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "831c6c1d-3d2d-5588-e80f-34b472a2fe91",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "list",
              key: "list",
              value:
                '[             {                 "amount": 200.00,                 "status": 0,                 "name": "Regular Draw"             },             {                 "amount": 200.00,                 "status": 1,                 "name": "Additional Charge"             },             {                 "amount": 200.00,                 "status": 0,                 "name": "Regular Draw"             },             {                 "amount": 200.00,                 "status": 2,                 "name": "Credit"             },             {                 "amount": 200.00,                 "status": 1,                 "name": "Additional Charge"             },             {                 "amount": 200.00,                 "status": 3,                 "name": "Adjusted by Credit"             }         ]',
              valueType: "String",
              parent: "",
            },
            {
              id: "mapping",
              key: "mapping",
              value:
                '{     "status_mapping": {         "0": "Received",         "1": "Pending",         "2": "Credit",         "3": "Extra Charge"     } }',
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "amount",
              dataType: "String",
            },
            {
              name: "status",
              dataType: "",
            },
            {
              name: "name",
              dataType: "String",
            },
          ],
        },
      ],
    },
    {
      id: "_getlinedetails",
      name: "Get Line Details",
      description: "",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/line-details",
      inputs: [
        {
          name: "line_id",
          dataType: "",
          type: "path",
          rules: "is_required",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value:
            '{         "description": "Install electrical wiring",         "materials": [             {                 "name": "Copper Wire",                 "cost": 1.80,                 "quantity": 100,                 "total": 180             },             {                 "name": "Conduit Pipe",                 "cost": 1.80,                 "quantity": 10,                 "total": 18             },             {                 "name": "Electrical Tape",                 "cost": 1.80,                 "quantity": 10,                 "total": 18             },             {                 "name": "Junction Box",                 "cost": 1.80,                 "quantity": 10,                 "total": 18             }         ],         "labor_hours": 10,         "labor_budget": 100, \t    "material_budget": 100, \t    "profit_overhead": 50, \t    "sale_price": 350     }',
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "material_list",
          dataType: "String",
        },
        {
          name: "labor_hours",
          dataType: "Double",
        },
        {
          name: "labor_budget",
          dataType: "Double",
        },
        {
          name: "material_budget",
          dataType: "Double",
        },
        {
          name: "profit_overhead",
          dataType: "String",
        },
        {
          name: "sale_price",
          dataType: "String",
        },
        {
          name: "description",
          dataType: "String",
        },
      ],
      logic: "",
      code: 'app.get(\'/v3/api/custom/profitpro/company/line-details\',  middlewares  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: text,model: {         "description": "Install electrical wiring",         "materials": [             {                 "name": "Copper Wire",                 "cost": 1.80,                 "quantity": 100,                 "total": 180             },             {                 "name": "Conduit Pipe",                 "cost": 1.80,                 "quantity": 10,                 "total": 18             },             {                 "name": "Electrical Tape",                 "cost": 1.80,                 "quantity": 10,                 "total": 18             },             {                 "name": "Junction Box",                 "cost": 1.80,                 "quantity": 10,                 "total": 18             }         ],         "labor_hours": 10,         "labor_budget": 100, \t    "material_budget": 100, \t    "profit_overhead": 50, \t    "sale_price": 350     } })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ',
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        material_list: "String",
        labor_hours: "Double",
        labor_budget: "Double",
        material_budget: "Double",
        profit_overhead: "String",
        sale_price: "String",
        description: "String",
      },
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "0a7d1b12-dbd0-27de-3372-ff30d998adc5",
          name: "API_Route",
          configurations: {
            General: {
              name: "Get Line Details",
              description: "",
              route: "/v3/api/custom/profitpro/company/line-details",
              method: "GET",
              folder: "company",
              id: "_getlinedetails",
            },
            Authentication: {
              protected: false,
              authorizedRoles: [],
            },
            Api_Input: {
              inputs: [
                {
                  name: "line_id",
                  dataType: "",
                  type: "path",
                  rules: "is_required",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "d56d151c-2ab8-add6-6f44-0431714f094a",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "model",
              key: "model",
              value:
                '{         "description": "Install electrical wiring",         "materials": [             {                 "name": "Copper Wire",                 "cost": 1.80,                 "quantity": 100,                 "total": 180             },             {                 "name": "Conduit Pipe",                 "cost": 1.80,                 "quantity": 10,                 "total": 18             },             {                 "name": "Electrical Tape",                 "cost": 1.80,                 "quantity": 10,                 "total": 18             },             {                 "name": "Junction Box",                 "cost": 1.80,                 "quantity": 10,                 "total": 18             }         ],         "labor_hours": 10,         "labor_budget": 100, \t    "material_budget": 100, \t    "profit_overhead": 50, \t    "sale_price": 350     }',
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "material_list",
              dataType: "String",
            },
            {
              name: "labor_hours",
              dataType: "Double",
            },
            {
              name: "labor_budget",
              dataType: "Double",
            },
            {
              name: "material_budget",
              dataType: "Double",
            },
            {
              name: "profit_overhead",
              dataType: "String",
            },
            {
              name: "sale_price",
              dataType: "String",
            },
            {
              name: "description",
              dataType: "String",
            },
          ],
        },
      ],
    },
    {
      id: "_getsingleprojectdetails",
      name: "Get Single Project Details",
      description: "",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/get-project-details",
      inputs: [
        {
          name: "project_id",
          dataType: "Integer",
          type: "path",
          rules: "is_required",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value:
            '{     "project": {         "name": "Project Alpha"     },     "client_details": {         "name": "John Doe",         "email": "client.email@domain.com",         "address": "123 Main St, Cityville, Country"     },     "job_details": [         {             "description": "Install electrical wiring",             "cost": 100         },         {             "description": "Install plumbing fixtures",             "cost": 100         },         {             "description": "Paint interior walls",             "cost": 100         }     ],     "totals": {         "labor_budget": 100,         "material_budget": 100,         "profit_overhead": 50,         "total_sale_price": 350     },     "draws": [         {             "percentage": 1.25,             "amount": 500,             "status": 1,             "description": "On contract signing"         },         {             "percentage": 1.25,             "amount": 500,             "status": 2,             "description": "Draw 2"         },         {             "percentage": 1.25,             "amount": 500,             "status": 3,             "description": "On Completion"         }     ] }',
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "client_details",
          dataType: "String",
        },
        {
          name: "job_details",
          dataType: "String",
        },
        {
          name: "totals",
          dataType: "String",
        },
        {
          name: "draws",
          dataType: "String",
        },
        {
          name: "project_details",
          dataType: "String",
        },
      ],
      logic: "",
      code: 'app.get(\'/v3/api/custom/profitpro/company/get-project-details\', [ ...middlewares, TokenMiddleware()] , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: text,model: {     "project": {         "name": "Project Alpha"     },     "client_details": {         "name": "John Doe",         "email": "client.email@domain.com",         "address": "123 Main St, Cityville, Country"     },     "job_details": [         {             "description": "Install electrical wiring",             "cost": 100         },         {             "description": "Install plumbing fixtures",             "cost": 100         },         {             "description": "Paint interior walls",             "cost": 100         }     ],     "totals": {         "labor_budget": 100,         "material_budget": 100,         "profit_overhead": 50,         "total_sale_price": 350     },     "draws": [         {             "percentage": 1.25,             "amount": 500,             "status": 1,             "description": "On contract signing"         },         {             "percentage": 1.25,             "amount": 500,             "status": 2,             "description": "Draw 2"         },         {             "percentage": 1.25,             "amount": 500,             "status": 3,             "description": "On Completion"         }     ] } })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ',
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        client_details: "String",
        job_details: "String",
        totals: "String",
        draws: "String",
        project_details: "String",
      },
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "56db6160-8dc1-8e8d-390c-2a6c8133c769",
          name: "API_Route",
          configurations: {
            General: {
              name: "Get Single Project Details",
              description: "",
              route: "/v3/api/custom/profitpro/company/get-project-details",
              method: "GET",
              folder: "company",
              id: "_getsingleprojectdetails",
            },
            Authentication: {
              protected: true,
              authorizedRoles: [],
            },
            Api_Input: {
              inputs: [
                {
                  name: "project_id",
                  dataType: "Integer",
                  type: "path",
                  rules: "is_required",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "d3e604f8-baa0-b173-cdb8-31a2b270953c",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "model",
              key: "model",
              value:
                '{     "project": {         "name": "Project Alpha"     },     "client_details": {         "name": "John Doe",         "email": "client.email@domain.com",         "address": "123 Main St, Cityville, Country"     },     "job_details": [         {             "description": "Install electrical wiring",             "cost": 100         },         {             "description": "Install plumbing fixtures",             "cost": 100         },         {             "description": "Paint interior walls",             "cost": 100         }     ],     "totals": {         "labor_budget": 100,         "material_budget": 100,         "profit_overhead": 50,         "total_sale_price": 350     },     "draws": [         {             "percentage": 1.25,             "amount": 500,             "status": 1,             "description": "On contract signing"         },         {             "percentage": 1.25,             "amount": 500,             "status": 2,             "description": "Draw 2"         },         {             "percentage": 1.25,             "amount": 500,             "status": 3,             "description": "On Completion"         }     ] }',
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "client_details",
              dataType: "String",
            },
            {
              name: "job_details",
              dataType: "String",
            },
            {
              name: "totals",
              dataType: "String",
            },
            {
              name: "draws",
              dataType: "String",
            },
            {
              name: "project_details",
              dataType: "String",
            },
          ],
        },
      ],
    },
    {
      id: "_finalizingonboarding",
      name: "Finalizing Onboarding",
      description:
        "This endpoint must be called at the last stage of registration",
      method: "POST",
      route: "/v3/api/custom/profitpro/company/finlize-account",
      inputs: [],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Account Setup Done.",
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [],
      logic: "",
      code: "app.post('/v3/api/custom/profitpro/company/finlize-account', [ ...middlewares, TokenMiddleware({ role: \"company\" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: Account Setup Done. })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {},
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "a68a8ace-4638-04a7-afc8-66e23741b075",
          name: "API_Route",
          configurations: {
            General: {
              name: "Finalizing Onboarding",
              description:
                "This endpoint must be called at the last stage of registration",
              route: "/v3/api/custom/profitpro/company/finlize-account",
              method: "POST",
              folder: "company",
              id: "_finalizingonboarding",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [],
              response_model: [],
            },
          },
        },
        {
          id: "10aa1968-85da-0835-80d9-e871f92fe78e",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "Account Setup Done.",
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
        },
      ],
    },
    {
      id: "_getsquarefootlinealfootcosts",
      name: "Get Square Foot/ Lineal Foot Costs",
      description:
        "https://baas.manaknightdigital.com/admin/edit-wireframe/221",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/get-costs",
      inputs: [
        {
          name: "type",
          dataType: "String",
          type: "body",
          rules: "is_required",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value:
            '[     {         "name": "Product A",         "cost": 120.50,         "profit_overhead": 30.75,         "labor_cost": 50.25,         "material_cost": 40.00     },     {         "name": "Product B",         "cost": 200.00,         "profit_overhead": 45.00,         "labor_cost": 80.00,         "material_cost": 75.00     },     {         "name": "Product C",         "cost": 150.75,         "profit_overhead": 35.50,         "labor_cost": 60.00,         "material_cost": 55.25     } ]',
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "name",
          dataType: "String",
        },
        {
          name: "cost",
          dataType: "Double",
        },
        {
          name: "profit_overhead",
          dataType: "Double",
        },
        {
          name: "labor_cost",
          dataType: "Double",
        },
        {
          name: "material_cost",
          dataType: "Double",
        },
      ],
      logic: "",
      code: 'app.get(\'/v3/api/custom/profitpro/company/get-costs\', [ ...middlewares, TokenMiddleware({ role: "company" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \nlet validation = await validateObject(\n  {\n    type: \'is_required\',\n  },\n  req.body\n);\nif (validation.error) return res.status(403).json(validation);\n\n//======\n\n\n      return res.status(200).json({error: false,message: text,list: [     {         "name": "Product A",         "cost": 120.50,         "profit_overhead": 30.75,         "labor_cost": 50.25,         "material_cost": 40.00     },     {         "name": "Product B",         "cost": 200.00,         "profit_overhead": 45.00,         "labor_cost": 80.00,         "material_cost": 75.00     },     {         "name": "Product C",         "cost": 150.75,         "profit_overhead": 35.50,         "labor_cost": 60.00,         "material_cost": 55.25     } ] })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ',
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        name: "String",
        cost: "Double",
        profit_overhead: "Double",
        labor_cost: "Double",
        material_cost: "Double",
      },
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "160da796-4cca-6f64-24fd-54176a8ecc8e",
          name: "API_Route",
          configurations: {
            General: {
              name: "Get Square Foot/ Lineal Foot Costs",
              description:
                "https://baas.manaknightdigital.com/admin/edit-wireframe/221",
              route: "/v3/api/custom/profitpro/company/get-costs",
              method: "GET",
              folder: "company",
              id: "_getsquarefootlinealfootcosts",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [
                {
                  name: "type",
                  dataType: "String",
                  type: "body",
                  rules: "is_required",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "5758cea5-9105-7a50-79d2-1dfe3ffd99de",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "list",
              key: "list",
              value:
                '[     {         "name": "Product A",         "cost": 120.50,         "profit_overhead": 30.75,         "labor_cost": 50.25,         "material_cost": 40.00     },     {         "name": "Product B",         "cost": 200.00,         "profit_overhead": 45.00,         "labor_cost": 80.00,         "material_cost": 75.00     },     {         "name": "Product C",         "cost": 150.75,         "profit_overhead": 35.50,         "labor_cost": 60.00,         "material_cost": 55.25     } ]',
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "name",
              dataType: "String",
            },
            {
              name: "cost",
              dataType: "Double",
            },
            {
              name: "profit_overhead",
              dataType: "Double",
            },
            {
              name: "labor_cost",
              dataType: "Double",
            },
            {
              name: "material_cost",
              dataType: "Double",
            },
          ],
        },
      ],
    },
    {
      id: "_addlinealfootcost",
      name: "Add Lineal Foot Cost",
      description: "",
      method: "POST",
      route: "/v3/api/custom/profitpro/company/add-lineal-foot-cost",
      inputs: [
        {
          name: "name",
          dataType: "String",
          type: "body",
          rules: "is_required",
        },
        {
          name: "cost",
          dataType: "Double",
          type: "body",
          rules: "is_required",
        },
        {
          name: "labor_cost",
          dataType: "Double",
          type: "body",
          rules: "is_required",
        },
        {
          name: "hidden",
          dataType: "Boolean",
          type: "body",
          rules: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Added Successfully",
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [],
      logic: "",
      code: "app.post('/v3/api/custom/profitpro/company/add-lineal-foot-cost', [ ...middlewares, TokenMiddleware({ role: \"company\" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \nlet validation = await validateObject(\n  {\n    name: 'is_required',\n    cost: 'is_required',\n    labor_cost: 'is_required',\n  },\n  req.body\n);\nif (validation.error) return res.status(403).json(validation);\n\n//======\n\n\n      return res.status(200).json({error: false,message: Added Successfully })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {},
      status_code: "200 - OK",
      workflows: [
        {
          id: "684d7b38-d12a-79ff-81ee-2fa25106b691",
          name: "API_Route",
          configurations: {
            General: {
              name: "Add Lineal Foot Cost",
              description: "",
              route: "/v3/api/custom/profitpro/company/add-lineal-foot-cost",
              method: "POST",
              id: "_addlinealfootcost",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [
                {
                  name: "name",
                  dataType: "String",
                  type: "body",
                  rules: "is_required",
                },
                {
                  name: "cost",
                  dataType: "Double",
                  type: "body",
                  rules: "is_required",
                },
                {
                  name: "labor_cost",
                  dataType: "Double",
                  type: "body",
                  rules: "is_required",
                },
                {
                  name: "hidden",
                  dataType: "Boolean",
                  type: "body",
                  rules: "",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "3b8bce5c-7f44-4468-c772-eeb5b35f3215",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "Added Successfully",
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
        },
      ],
    },
    {
      id: "_addsquarefootcost",
      name: "Add Square Foot Cost",
      description: "",
      method: "POST",
      route: "/v3/api/custom/profitpro/company/add-square-foot-cost",
      inputs: [
        {
          name: "name",
          dataType: "String",
          type: "body",
          rules: "is_required",
        },
        {
          name: "cost",
          dataType: "",
          type: "body",
          rules: "is_required",
        },
        {
          name: "labor_cost",
          dataType: "String",
          type: "body",
          rules: "is_required",
        },
        {
          name: "hidden",
          dataType: "Boolean",
          type: "body",
          rules: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Successfully Added",
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [],
      logic: "",
      code: "app.post('/v3/api/custom/profitpro/company/add-square-foot-cost', [ ...middlewares, TokenMiddleware({ role: \"company\" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \nlet validation = await validateObject(\n  {\n    name: 'is_required',\n    cost: 'is_required',\n    labor_cost: 'is_required',\n  },\n  req.body\n);\nif (validation.error) return res.status(403).json(validation);\n\n//======\n\n\n      return res.status(200).json({error: false,message: Successfully Added })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {},
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "22aecb96-7c10-01de-947d-b1b045075450",
          name: "API_Route",
          configurations: {
            General: {
              name: "Add Square Foot Cost",
              description: "",
              route: "/v3/api/custom/profitpro/company/add-square-foot-cost",
              method: "POST",
              folder: "company",
              id: "_addsquarefootcost",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [
                {
                  name: "name",
                  dataType: "String",
                  type: "body",
                  rules: "is_required",
                },
                {
                  name: "cost",
                  dataType: "",
                  type: "body",
                  rules: "is_required",
                },
                {
                  name: "labor_cost",
                  dataType: "String",
                  type: "body",
                  rules: "is_required",
                },
                {
                  name: "hidden",
                  dataType: "Boolean",
                  type: "body",
                  rules: "",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "abb93e55-fed0-a377-8bec-8c60794ba351",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "Successfully Added",
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
        },
      ],
    },
    {
      id: "_initializeuser",
      name: "Initialize User",
      description:
        "This API needs to be called just after sign up lambda API. It'll initialize data for the user on the database.",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/initialize-user",
      inputs: [],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "User Initialized Successfully",
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [],
      logic: "",
      code: "app.get('/v3/api/custom/profitpro/company/initialize-user', [ ...middlewares, TokenMiddleware({ role: \"company\" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: User Initialized Successfully })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {},
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "125b04c6-df2d-cc7c-eac3-782296c494a9",
          name: "API_Route",
          configurations: {
            General: {
              name: "Initialize User",
              description:
                "This API needs to be called just after sign up lambda API. It'll initialize data for the user on the database.",
              route: "/v3/api/custom/profitpro/company/initialize-user",
              method: "GET",
              folder: "company",
              id: "_initializeuser",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [],
              response_model: [],
            },
          },
        },
        {
          id: "02ee9088-3906-5292-f2ff-3c9d758d4852",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "User Initialized Successfully",
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [],
        },
      ],
    },
    {
      id: "_savedefaultsonbording",
      name: "Save Defaults (Onbording)",
      description: "",
      method: "POST",
      route: "/v3/api/custom/profitpro/company/onboarding-save-defaults",
      inputs: [
        {
          name: "default_hourly_rate",
          dataType: "Integer",
          type: "body",
          rules: "",
        },
        {
          name: "default_profit_overhead",
          dataType: "Integer",
          type: "body",
          rules: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Updated Successfully",
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "default_hourly_rate",
          dataType: "Integer",
        },
        {
          name: "default_profit_overhead",
          dataType: "Integer",
        },
        {
          name: "workers_array",
          dataType: "String",
        },
      ],
      logic: "",
      code: "app.post('/v3/api/custom/profitpro/company/onboarding-save-defaults',  middlewares  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: Updated Successfully })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        default_hourly_rate: "Integer",
        default_profit_overhead: "Integer",
        workers_array: "String",
      },
      status_code: "200 - OK",
      workflows: [
        {
          id: "aa7ee9e9-d7e6-09f3-7509-de68b3837a8f",
          name: "API_Route",
          configurations: {
            General: {
              name: "Save Defaults (Onbording)",
              description: "",
              route:
                "/v3/api/custom/profitpro/company/onboarding-save-defaults",
              method: "POST",
              id: "_savedefaultsonbording",
            },
            Authentication: {
              protected: false,
              authorizedRoles: [],
            },
            Api_Input: {
              inputs: [
                {
                  name: "default_hourly_rate",
                  dataType: "Integer",
                  type: "body",
                  rules: "",
                },
                {
                  name: "default_profit_overhead",
                  dataType: "Integer",
                  type: "body",
                  rules: "",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "8d9c5209-6e32-0653-b6d7-908215bba431",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "Updated Successfully",
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [],
        },
      ],
    },
    {
      id: "_getprojects",
      name: "Get Projects ",
      description: "",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/get-projects",
      inputs: [
        {
          name: "type",
          dataType: "String",
          type: "query",
          rules: "",
        },
        {
          name: "time_period",
          dataType: "String",
          type: "query",
          rules: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value:
            '[     {         "name": "Project Alpha",         "start_date": "2024-01-01",         "end_date": "2024-06-30",         "status": 1     },     {         "name": "Project Beta",         "start_date": "2024-02-15",         "end_date": "2024-08-15",         "status": 2     },     {         "name": "Project Gamma",         "start_date": "2024-03-10",         "end_date": "2024-09-30",         "status": 3     } ]',
          valueType: "String",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value:
            '{status: {     "1": "Active",     "2": "Completed",     "3": "Draft",     "4": "Outstanding" }}',
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "name",
          dataType: "String",
        },
        {
          name: "start_date",
          dataType: "String",
        },
        {
          name: "end_date",
          dataType: "String",
        },
        {
          name: "status",
          dataType: "Integer",
        },
      ],
      logic: "",
      code: 'app.get(\'/v3/api/custom/profitpro/company/get-projects\', [ ...middlewares, TokenMiddleware({ role: "company" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: text,list: [     {         "name": "Project Alpha",         "start_date": "2024-01-01",         "end_date": "2024-06-30",         "status": 1     },     {         "name": "Project Beta",         "start_date": "2024-02-15",         "end_date": "2024-08-15",         "status": 2     },     {         "name": "Project Gamma",         "start_date": "2024-03-10",         "end_date": "2024-09-30",         "status": 3     } ],mapping: {status: {     "1": "Active",     "2": "Completed",     "3": "Draft",     "4": "Outstanding" }} })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ',
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        name: "String",
        start_date: "String",
        end_date: "String",
        status: "Integer",
      },
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "0949613e-8381-ea5f-a19b-a2ef9fc72859",
          name: "API_Route",
          configurations: {
            General: {
              name: "Get Projects ",
              description: "",
              route: "/v3/api/custom/profitpro/company/get-projects",
              method: "GET",
              folder: "company",
              id: "_getprojects",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [
                {
                  name: "type",
                  dataType: "String",
                  type: "query",
                  rules: "",
                },
                {
                  name: "time_period",
                  dataType: "String",
                  type: "query",
                  rules: "",
                },
              ],
              response_model: [],
            },
          },
        },
        {
          id: "ac7f7457-fd86-9425-4a04-f96b46f5927f",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "list",
              key: "list",
              value:
                '[     {         "name": "Project Alpha",         "start_date": "2024-01-01",         "end_date": "2024-06-30",         "status": 1     },     {         "name": "Project Beta",         "start_date": "2024-02-15",         "end_date": "2024-08-15",         "status": 2     },     {         "name": "Project Gamma",         "start_date": "2024-03-10",         "end_date": "2024-09-30",         "status": 3     } ]',
              valueType: "String",
              parent: "",
            },
            {
              id: "mapping",
              key: "mapping",
              value:
                '{status: {     "1": "Active",     "2": "Completed",     "3": "Draft",     "4": "Outstanding" }}',
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "name",
              dataType: "String",
            },
            {
              name: "start_date",
              dataType: "String",
            },
            {
              name: "end_date",
              dataType: "String",
            },
            {
              name: "status",
              dataType: "Integer",
            },
          ],
        },
      ],
    },
    {
      id: "_onboarding",
      name: "Onboarding",
      description: "",
      method: "POST",
      route: "/v3/api/custom/profitpro/company/onboarding",
      inputs: [
        {
          name: "default_hourly_rate",
          dataType: "Integer",
          type: "body",
          rules: "",
        },
        {
          name: "default_profit_overhead",
          dataType: "Integer",
          type: "body",
          rules: "",
        },
        {
          name: "name",
          dataType: "String",
          type: "body",
          rules: "",
        },
        {
          name: "hourly_rate",
          dataType: "",
          type: "",
          rules: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "[{message: 'Added successfully', id: 1 }]",
          valueType: "Array",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "default_hourly_rate",
          dataType: "Integer",
        },
        {
          name: "default_profit_overhead",
          dataType: "Integer",
        },
        {
          name: "workers_array",
          dataType: "String",
        },
      ],
      logic: "",
      code: "app.post('/v3/api/custom/profitpro/company/onboarding',  middlewares  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: text,list: [{message: 'Added successfully', id: 1 }] })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        default_hourly_rate: "Integer",
        default_profit_overhead: "Integer",
        workers_array: "String",
      },
      status_code: "200 - OK",
      workflows: [
        {
          id: "aa7ee9e9-d7e6-09f3-7509-de68b3837a8f",
          name: "API_Route",
          configurations: {
            General: {
              name: "Onboarding",
              description: "",
              route: "/v3/api/custom/profitpro/company/onboarding",
              method: "POST",
              id: "_onboarding",
            },
            Authentication: {
              protected: false,
              authorizedRoles: [],
            },
            Api_Input: {
              inputs: [
                {
                  name: "default_hourly_rate",
                  dataType: "Integer",
                  type: "body",
                  rules: "",
                },
                {
                  name: "default_profit_overhead",
                  dataType: "Integer",
                  type: "body",
                  rules: "",
                },
                {
                  name: "name",
                  dataType: "String",
                  type: "body",
                  rules: "",
                },
                {
                  name: "hourly_rate",
                  dataType: "",
                  type: "",
                  rules: "",
                },
              ],
            },
          },
        },
        {
          id: "8d9c5209-6e32-0653-b6d7-908215bba431",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "list",
              key: "list",
              value: "[{message: 'Added successfully', id: 1 }]",
              valueType: "Array",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "default_hourly_rate",
              dataType: "Integer",
            },
            {
              name: "default_profit_overhead",
              dataType: "Integer",
            },
            {
              name: "workers_array",
              dataType: "String",
            },
          ],
        },
      ],
    },
    {
      id: "_companyoverview",
      name: "Company Overview",
      description: "",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/overview",
      inputs: [],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value:
            '{     "total_profit_overhead": 1254.00,     "company_health": 7.0,     "total_contracts": 325,     "total_ar": 325,     "material_balance": 1234.50,     "material_spent": 1234.50,     "labor_balance": 325.00,     "labor_spent": 325.00,     "drafts": 0,     "outstanding": 20,     "active": 9,     "completed": 67 }',
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "total_profit_overhead",
          dataType: "Double",
        },
        {
          name: "company_health",
          dataType: "Double",
        },
        {
          name: "total_contracts",
          dataType: "Integer",
        },
        {
          name: "total_ar",
          dataType: "Integer",
        },
        {
          name: "material_balance",
          dataType: "Double",
        },
        {
          name: "material_spent",
          dataType: "Double",
        },
        {
          name: "labor_balance",
          dataType: "Double",
        },
        {
          name: "labor_spent",
          dataType: "Double",
        },
        {
          name: "drafts",
          dataType: "Integer",
        },
        {
          name: "outstanding",
          dataType: "Integer",
        },
        {
          name: "active",
          dataType: "Integer",
        },
        {
          name: "completed",
          dataType: "Integer",
        },
      ],
      logic: "",
      code: 'app.get(\'/v3/api/custom/profitpro/company/overview\', [ ...middlewares, TokenMiddleware({ role: "company" }) ]  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: text,model: {     "total_profit_overhead": 1254.00,     "company_health": 7.0,     "total_contracts": 325,     "total_ar": 325,     "material_balance": 1234.50,     "material_spent": 1234.50,     "labor_balance": 325.00,     "labor_spent": 325.00,     "drafts": 0,     "outstanding": 20,     "active": 9,     "completed": 67 } })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ',
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["company"],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        total_profit_overhead: "Double",
        company_health: "Double",
        total_contracts: "Integer",
        total_ar: "Integer",
        material_balance: "Double",
        material_spent: "Double",
        labor_balance: "Double",
        labor_spent: "Double",
        drafts: "Integer",
        outstanding: "Integer",
        active: "Integer",
        completed: "Integer",
      },
      folder: "company",
      status_code: "200 - OK",
      workflows: [
        {
          id: "8ad9c2f3-4acb-578d-cb1c-5c46641b9d01",
          name: "API_Route",
          configurations: {
            General: {
              name: "Company Overview",
              description: "",
              route: "/v3/api/custom/profitpro/company/overview",
              method: "GET",
              folder: "company",
              id: "_companyoverview",
            },
            Authentication: {
              protected: true,
              authorizedRoles: ["company"],
            },
            Api_Input: {
              inputs: [],
              response_model: [],
            },
          },
        },
        {
          id: "fbf64565-1457-7cb4-d9d5-7933d955f2da",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "model",
              key: "model",
              value:
                '{     "total_profit_overhead": 1254.00,     "company_health": 7.0,     "total_contracts": 325,     "total_ar": 325,     "material_balance": 1234.50,     "material_spent": 1234.50,     "labor_balance": 325.00,     "labor_spent": 325.00,     "drafts": 0,     "outstanding": 20,     "active": 9,     "completed": 67 }',
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "total_profit_overhead",
              dataType: "Double",
            },
            {
              name: "company_health",
              dataType: "Double",
            },
            {
              name: "total_contracts",
              dataType: "Integer",
            },
            {
              name: "total_ar",
              dataType: "Integer",
            },
            {
              name: "material_balance",
              dataType: "Double",
            },
            {
              name: "material_spent",
              dataType: "Double",
            },
            {
              name: "labor_balance",
              dataType: "Double",
            },
            {
              name: "labor_spent",
              dataType: "Double",
            },
            {
              name: "drafts",
              dataType: "Integer",
            },
            {
              name: "outstanding",
              dataType: "Integer",
            },
            {
              name: "active",
              dataType: "Integer",
            },
            {
              name: "completed",
              dataType: "Integer",
            },
          ],
        },
      ],
    },
    {
      id: "_companydetailspage30",
      name: "Company Details",
      description: "",
      method: "GET",
      route: "/v3/api/custom/profitpro/company/details",
      inputs: [],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "[{sale_price: 56,remaining: 1000}]",
          valueType: "String",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "sale_price",
          dataType: "",
        },
        {
          name: "remaining",
          dataType: "Integer",
        },
      ],
      logic: "",
      code: "app.get('/v3/api/custom/profitpro/company/details',  middlewares  , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: text,list: [{sale_price: 56,remaining: 1000}] })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        sale_price: "",
        remaining: "Integer",
      },
      status_code: "200 - OK",
      workflows: [
        {
          id: "ae22fce8-bdf0-5553-d11c-a8d63a04ab62",
          name: "API_Route",
          configurations: {
            General: {
              name: "Company Details",
              description: "",
              route: "/v3/api/custom/profitpro/company/details",
              method: "GET",
              id: "_companydetailspage30",
            },
            Authentication: {
              protected: false,
              authorizedRoles: [],
            },
            Api_Input: {
              inputs: [],
            },
          },
        },
        {
          id: "e322617b-0d00-424b-d349-624aa4fe97cd",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "list",
              key: "list",
              value: "[{sale_price: 56,remaining: 1000}]",
              valueType: "String",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "sale_price",
              dataType: "",
            },
            {
              name: "remaining",
              dataType: "Integer",
            },
          ],
        },
      ],
    },
    {
      id: "_getprojectstats",
      name: "get project stats",
      description: "",
      method: "GET",
      route: "/v3/api/profitpro/dashboard/project-stats",
      inputs: [],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "text",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "{ draft: 20, active: 10, completed: 10, estimate: 10 }",
          valueType: "Object",
          parent: "",
        },
      ],
      response_model: [
        {
          name: "draft",
          dataType: "Integer",
        },
        {
          name: "active",
          dataType: "Integer",
        },
        {
          name: "completed",
          dataType: "Integer",
        },
        {
          name: "estimate",
          dataType: "Integer",
        },
      ],
      logic: "",
      code: "app.get('/v3/api/profitpro/dashboard/project-stats', [ ...middlewares, TokenMiddleware()] , async (req, res) => { \n          const sdk = req.sdk;\n          sdk.setProjectId(req.projectId)\n          try{\n  \n\n\n      return res.status(200).json({error: false,message: text,model: { draft: 20, active: 10, completed: 10, estimate: 10 } })\n      } catch (err) {\n          console.error(err);\n          res.status(403).json({\n              error: true,\n              message: err.message\n          });\n          }\n      })\n      \n  ",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "custom",
      group: "custom",
      columns: {
        draft: "Integer",
        active: "Integer",
        completed: "Integer",
        estimate: "Integer",
      },
      status_code: "200 - OK",
      workflows: [
        {
          id: "bc99a027-7066-2956-7f60-509e9ab09825",
          name: "API_Route",
          configurations: {
            General: {
              name: "get project stats",
              description: "",
              route: "/v3/api/profitpro/dashboard/project-stats",
              method: "GET",
              id: "_getprojectstats",
            },
            Authentication: {
              protected: true,
              authorizedRoles: [],
            },
            Api_Input: {
              inputs: [],
              response_model: [],
            },
          },
        },
        {
          id: "92cfaf7b-d937-4836-304f-0dc74f3e81d2",
          name: "success_response",
          status_code: "200 - OK",
          response: [
            {
              id: "error",
              key: "error",
              value: false,
              valueType: "Boolean",
              parent: "",
            },
            {
              id: "message",
              key: "message",
              value: "text",
              valueType: "String",
              parent: "",
            },
            {
              id: "model",
              key: "model",
              value: "{ draft: 20, active: 10, completed: 10, estimate: 10 }",
              valueType: "Object",
              parent: "",
            },
          ],
          columns: {},
          type: "Responses",
          response_model: [
            {
              name: "draft",
              dataType: "Integer",
            },
            {
              name: "active",
              dataType: "Integer",
            },
            {
              name: "completed",
              dataType: "Integer",
            },
            {
              name: "estimate",
              dataType: "Integer",
            },
          ],
        },
      ],
    },
    {
      id: "_checkLambda",
      name: "Lambda Check",
      description: "",
      method: "POST",
      route: "/v2/api/lambda/check",
      inputs: [
        {
          name: "role",
          type: "body",
          rules: "required",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "OK",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "check",
    },
    {
      id: "_twofaLogin",
      name: "Two FA Login",
      description: "Handles the 2FA login process",
      method: "POST",
      route: "/v2/api/lambda/2fa/login",
      inputs: [
        {
          name: "email",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "password",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "role",
          type: "body",
          rules: "required",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "qr_code",
          key: "qr_code",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "one_time_token",
          key: "one_time_token",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "expire_at",
          key: "expire_at",
          value: 60,
          valueType: "Number",
          parent: "",
        },
        {
          id: "user_id",
          key: "user_id",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "twofa",
    },
    {
      id: "_twofaSignin",
      name: "Two FA Signin",
      description: "Handles the 2FA signin process",
      method: "POST",
      route: "/v2/api/lambda/2fa/signin",
      inputs: [
        {
          name: "email",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "password",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "role",
          type: "body",
          rules: "required",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "qr_code",
          key: "qr_code",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "access_token",
          key: "access_token",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "expire_at",
          key: "expire_at",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "user_id",
          key: "user_id",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "twofa",
    },
    {
      id: "_twofaAuthorize",
      name: "Two FA Authorize",
      description: "Authorizes the user with 2FA",
      method: "POST",
      route: "/v2/api/lambda/2fa/authorize",
      inputs: [
        {
          name: "user_id",
          type: "body",
          rules: "required",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "qr_code",
          key: "qr_code",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "type",
          key: "type",
          value: "qr",
          valueType: "String",
          parent: "",
        },
        {
          id: "access_token",
          key: "access_token",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "expire_at",
          key: "expire_at",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "user_id",
          key: "user_id",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "twofa",
    },
    {
      id: "_twofaEnable",
      name: "Two FA Enable",
      description: "Enables 2FA for the user",
      method: "POST",
      route: "/v2/api/lambda/2fa/enable",
      inputs: [
        {
          name: "user_id",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "type",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "phone",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "token",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "qr_code",
          key: "qr_code",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "access_token",
          key: "access_token",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "expire_at",
          key: "expire_at",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "user_id",
          key: "user_id",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "twofa",
    },
    {
      id: "_twofaDisable",
      name: "Two FA Disable",
      description: "Disables 2FA for the user",
      method: "POST",
      route: "/v2/api/lambda/2fa/disable",
      inputs: [
        {
          name: "user_id",
          type: "body",
          rules: "required",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "twofa",
    },
    {
      id: "_twofaVerify",
      name: "Two FA Verify",
      description: "Verifies the 2FA token",
      method: "POST",
      route: "/v2/api/lambda/2fa/verify",
      inputs: [
        {
          name: "token",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "access_token",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "valid",
          key: "valid",
          value: "true",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Verified Successfully",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "twofa",
    },
    {
      id: "_twofaAuth",
      name: "Two FA Auth",
      description: "Performs 2FA authentication",
      method: "POST",
      route: "/v2/api/lambda/2fa/auth",
      inputs: [
        {
          name: "code",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "token",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "role",
          key: "role",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "token",
          key: "token",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "expire_at",
          key: "expire_at",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "user_id",
          key: "user_id",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "twofa",
    },
    {
      id: "_analyticsLog",
      name: "Analytics Log",
      description: "Endpoint for logging analytics data",
      method: "POST",
      route: "/v2/api/lambda/analytics/",
      inputs: [
        {
          name: "user_id",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "session_id",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "status",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "user_agent",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "application",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "document",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "url",
          type: "body",
          rules: "",
          dataType: "Array",
        },
        {
          name: "link_clicks",
          type: "body",
          rules: "",
          dataType: "Number",
        },
        {
          name: "clicked_buttons",
          type: "body",
          rules: "",
          dataType: "Array",
        },
        {
          name: "client_ip",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "events",
          type: "body",
          rules: "",
          dataType: "Array",
        },
        {
          name: "total_time",
          type: "body",
          rules: "",
          dataType: "Number",
        },
        {
          name: "data",
          type: "body",
          rules: "",
          dataType: "Object",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Added successfully",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "analytics",
    },
    {
      id: "_analyticsEndpoint",
      name: "Get Analytics",
      description: "Endpoint for getting analytics data",
      method: "GET",
      route: "/v2/api/lambda/analytics/data",
      inputs: [],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "user_analytics",
          key: "user_analytics",
          value: "",
          valueType: "Object",
          parent: "model",
        },
        {
          id: "guest_analytics",
          key: "guest_analytics",
          value: "",
          valueType: "Object",
          parent: "model",
        },
        {
          id: "click_analytics",
          key: "click_analytics",
          value: "",
          valueType: "Object",
          parent: "model",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "analytics",
    },
    {
      id: "_heatmapAnalytics",
      name: "Log Heatmap Analytics",
      description: "Endpoint for logging heatmap data",
      method: "POST",
      route: "/v2/api/lambda/heatmap",
      inputs: [
        {
          name: "user_id",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "session_id",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "user_agent",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "scroll_position",
          type: "body",
          rules: "required",
          dataType: "Object",
        },
        {
          name: "coordinates",
          type: "body",
          rules: "required",
          dataType: "Object",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "client_ip",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "screen_size",
          type: "body",
          rules: "",
          dataType: "Number",
        },
        {
          name: "screen_width",
          type: "body",
          rules: "",
          dataType: "Number",
        },
        {
          name: "page",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "screen_height",
          type: "body",
          rules: "",
          dataType: "Number",
        },
        {
          name: "snapshot",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "total_time",
          type: "body",
          rules: "",
          dataType: "Number",
        },
        {
          name: "data",
          type: "body",
          rules: "",
          dataType: "Object",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Added successfully",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "analytics",
    },
    {
      id: "_heatmapDataEndpoint",
      name: "Get Heatmap Data ",
      description: "Endpoint for retrieving heatmap data",
      method: "GET",
      route: "/v2/api/lambda/heatmap/data",
      inputs: [
        {
          name: "custom_date",
          type: "query",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "false",
          valueType: "Object",
          parent: "",
        },
        {
          id: "user_analytics",
          key: "user_analytics",
          value: "",
          valueType: "Object",
          parent: "model",
        },
        {
          id: "guest_analytics",
          key: "guest_analytics",
          value: "",
          valueType: "Object",
          parent: "model",
        },
        {
          id: "heat_map_data",
          key: "heat_map_data",
          value: "",
          valueType: "Array",
          parent: "model",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "analytics",
    },
    {
      id: "_userSessionsDataEndpoint",
      name: "User Sessions Data",
      description: "Endpoint for retrieving user session data",
      method: "GET",
      route: "/v2/api/lambda/user-sessions/data",
      inputs: [
        {
          name: "custom_date",
          type: "query",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "false",
          valueType: "Object",
          parent: "",
        },
        {
          id: "user_analytics",
          key: "user_analytics",
          value: "",
          valueType: "Object",
          parent: "model",
        },
        {
          id: "guest_analytics",
          key: "guest_analytics",
          value: "",
          valueType: "Object",
          parent: "model",
        },
        {
          id: "heat_map_data",
          key: "heat_map_data",
          value: "",
          valueType: "Array",
          parent: "model",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "analytics",
    },
    {
      id: "_userSessionsAnalytics",
      name: "Create User Sessions Analytics",
      description: "Endpoint for creating user sessions analytics",
      method: "POST",
      route: "/v2/api/lambda/analytics/user-sessions/",
      inputs: [
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer",
        },
        {
          name: "session_id",
          type: "body",
          rules: "",
          dataType: "Integer",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "events",
          type: "body",
          rules: "",
          dataType: "Array",
        },
        {
          name: "screen_width",
          type: "body",
          rules: "",
          dataType: "Integer",
        },
        {
          name: "screen_height",
          type: "body",
          rules: "",
          dataType: "Integer",
        },
        {
          name: "screen_size",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "start_time",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "end_time",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "html_copy",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "User session created successfully",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "analytics",
    },
    {
      id: "_appleLoginMobileEndpoint",
      name: "Apple Login Mobile Endpoint",
      description: "Endpoint for login via iOS app",
      method: "POST",
      route: "/v2/api/lambda/apple/login/mobile",
      inputs: [
        {
          name: "first_name",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "last_name",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "identityToken",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "apple_id",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "role",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "role",
          key: "role",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "access_token",
          key: "access_token",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "refresh_token",
          key: "refresh_token",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "expire_at",
          key: "expire_at",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "user_id",
          key: "user_id",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "apple_login",
    },
    {
      id: "_appleLogin",
      name: "Apple Login",
      description: "Endpoint for Apple login",
      method: "GET",
      route: "/v2/api/lambda/apple/login",
      inputs: [],
      response: [
        {
          id: "error",
          key: "error",
          value: "true",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "apple_login",
    },
    {
      id: "_appleAuthCode",
      name: "Apple Auth Code ",
      description: "Endpoint for handling Apple authorization code",
      method: "POST",
      route: "/v2/api/lambda/apple/code",
      inputs: [
        {
          id: "state",
          name: "state",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "code",
          name: "code",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "true",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "apple_login",
    },
    {
      id: "_googleCode",
      name: "Google Code",
      method: "GET",
      description: "",
      route: "/v2/api/lambda/google/code",
      inputs: [
        {
          id: "state",
          name: "state",
          value: "",
          datType: "String",
          rules: "optional",
          type: "query",
        },
      ],
      response: [],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "google",
    },
    {
      id: "_googleCodeMobile",
      name: "Google Code Mobile",
      method: "GET",
      description:
        "Default function for the mobile app Google login endpoint with code exchange.",
      route: "/v2/api/lambda/google/code/mobile",
      inputs: [
        {
          id: "role",
          name: "role",
          type: "query",
          rules: "optional",
          dataType: "String",
          value: "user",
        },
        {
          id: "is_refresh",
          name: "is_refresh",
          type: "query",
          rules: "optional",
          dataType: "Boolean",
          value: "false",
        },
        {
          id: "code",
          name: "code",
          type: "query",
          rules: "required",
          dataType: "String",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "role",
          key: "role",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "token",
          key: "token",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "expire_at",
          key: "expire_at",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "user_id",
          key: "user_id",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "refrsh_token",
          key: "refresh_token",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "google_login",
    },
    {
      id: "_googleLogin",
      name: "Google Login",
      method: "GET",
      description:
        "Default function for generating Google login URL for user registration.",
      route: "/v2/api/lambda/google/login",
      inputs: [
        {
          id: "role",
          name: "role",
          type: "query",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "company_id",
          name: "company_id",
          type: "query",
          rules: "optional",
          dataType: "String",
          value: "",
        },
        {
          id: "is_refresh",
          name: "is_refresh",
          type: "query",
          rules: "optional",
          dataType: "Boolean",
          value: "",
        },
      ],
      response: [],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "google_login",
    },
    {
      id: "_blogAll",
      name: "Blog All",
      description: "Endpoint for retrieving all blog posts",
      method: "GET",
      route: "/v2/api/lambda/blog/all",
      inputs: [
        {
          name: "limit",
          type: "query",
          rules: "",
          dataType: "Integer",
        },
        {
          name: "offset",
          type: "query",
          rules: "",
          dataType: "Integer",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Integer",
          parent: "",
        },
        {
          id: "offset",
          key: "offset",
          value: "",
          valueType: "Integer",
          parent: "",
        },
        {
          id: "count",
          key: "count",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogSimilar",
      name: "Blog Similar",
      description: "Endpoint for retrieving similar blog posts",
      method: "GET",
      route: "/v2/api/lambda/blog/similar/:id",
      inputs: [
        {
          name: "top",
          type: "query",
          rules: "",
          dataType: "Integer",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Array",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogFilter",
      name: "Blog Filter",
      description: "Endpoint for filtering blog posts",
      method: "GET",
      route: "/v2/api/lambda/blog/filter",
      inputs: [
        {
          name: "categories",
          type: "query",
          rules: "",
          dataType: "Array",
        },
        {
          name: "tags",
          type: "query",
          rules: "",
          dataType: "Array",
        },
        {
          name: "rule",
          type: "query",
          rules: "",
          dataType: "String",
        },
        {
          name: "search",
          type: "query",
          rules: "",
          dataType: "String",
        },
        {
          name: "limit",
          type: "query",
          rules: "",
          dataType: "Integer",
        },
        {
          name: "page",
          type: "query",
          rules: "",
          dataType: "Integer",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Array",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogCreate",
      name: "Blog Create",
      description: "Endpoint for creating a new blog post",
      method: "POST",
      route: "/v2/api/lambda/blog/create",
      inputs: [
        {
          name: "title",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "body",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "meta",
          type: "body",
          rules: "",
          dataType: "Object",
        },
        {
          name: "tags",
          type: "body",
          rules: "",
          dataType: "Array",
        },
        {
          name: "categories",
          type: "body",
          rules: "",
          dataType: "Array",
        },
        {
          name: "content",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "description",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "thumbnail",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "Blog Created.",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogEdit",
      name: "Blog Edit",
      description: "Endpoint for editing an existing blog post",
      method: "POST",
      route: "/v2/api/lambda/blog/edit/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "String",
        },
        {
          name: "title",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "content",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "description",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "meta",
          type: "body",
          rules: "",
          dataType: "Object",
        },
        {
          name: "tags",
          type: "body",
          rules: "",
          dataType: "Array",
        },
        {
          name: "categories",
          type: "body",
          rules: "",
          dataType: "Array",
        },
        {
          name: "thumbnail",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "Blog Edited.",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogDelete",
      name: "Blog Delete",
      description: "Endpoint for deleting an existing blog post",
      method: "DELETE",
      route: "/v2/api/lambda/blog/delete/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "Blog Deleted.",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogSingle",
      name: "Blog Single",
      description: "Endpoint for retrieving a single blog post",
      method: "GET",
      route: "/v2/api/lambda/blog/single/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "data_id",
          key: "data__id",
          value: "",
          valueType: "String",
          parent: "data",
        },
        {
          id: "data_title",
          key: "data__title",
          value: "",
          valueType: "String",
          parent: "data",
        },
        {
          id: "data_description",
          key: "data__description",
          value: "",
          valueType: "String",
          parent: "data",
        },
        {
          id: "data_content",
          key: "data__content",
          value: "",
          valueType: "String",
          parent: "data",
        },
        {
          id: "data_thumbnail",
          key: "data__thumbnail",
          value: "",
          valueType: "String",
          parent: "data",
        },
        {
          id: "data_author",
          key: "data__author",
          value: "",
          valueType: "String",
          parent: "data",
        },
        {
          id: "data_meta",
          key: "data__meta",
          value: "",
          valueType: "String",
          parent: "data",
        },
        {
          id: "data_create_at",
          key: "data__create_at",
          value: "",
          valueType: "String",
          parent: "data",
        },
        {
          id: "data_update_at",
          key: "data__update_at",
          value: "",
          valueType: "String",
          parent: "data",
        },
        {
          id: "data_tags",
          key: "data__tags",
          value: "",
          valueType: "Array",
          parent: "data",
        },
        {
          id: "data_tags_name",
          key: "data__tags_name",
          value: "",
          valueType: "String",
          parent: "data_tags",
        },
        {
          id: "data_tags_id",
          key: "data_tags__id",
          value: "",
          valueType: "String",
          parent: "data_tags",
        },
        {
          id: "data_categories",
          key: "data__categories",
          value: "",
          valueType: "Array",
          parent: "data",
        },
        {
          id: "data_categories_name",
          key: "data_categories__name",
          value: "",
          valueType: "String",
          parent: "data_categories",
        },
        {
          id: "data_categories_id",
          key: "data_categories__id",
          value: "",
          valueType: "String",
          parent: "data_categories",
        },
        {
          id: "data_views",
          key: "data__views",
          value: 0,
          valueType: "Number",
          parent: "data",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogTags",
      name: "Blog Tags",
      description:
        "Endpoint for retrieving a blog tag or creating if it does not exist ",
      method: "POST",
      route: "/v2/api/lambda/blog/tags",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "tag_id",
          key: "tag_id",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogTagsUpdate",
      name: "Blog Tags Update",
      description: "Endpoint for updating a blog tag by ID",
      method: "POST",
      route: "/v2/api/lambda/blog/tags/:id",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Updated!",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogTagsRetrieve",
      name: "Blog Tags Retrieve",
      description: "Endpoint for retrieving blog tags",
      method: "GET",
      route: "/v2/api/lambda/blog/tags",
      inputs: [
        {
          name: "limit",
          type: "query",
          rules: "",
          dataType: "Integer",
        },
        {
          name: "page",
          type: "query",
          rules: "",
          dataType: "Integer",
        },
        {
          name: "name",
          type: "query",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: [],
          valueType: "Array",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: 10,
          valueType: "Integer",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: 1,
          valueType: "Integer",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: 0,
          valueType: "Integer",
          parent: "",
        },
        {
          id: "num_pages",
          key: "num_pages",
          value: 0,
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogTagsDelete",
      name: "Blog Tags Delete by ID",
      description: "Endpoint for deleting a blog tag by ID",
      method: "DELETE",
      route: "/v2/api/lambda/blog/tags/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Tag Deleted",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: ["admin"],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogCategoryCreate",
      name: "Create Blog Category",
      description: "Endpoint for creating a new blog category",
      method: "POST",
      route: "/v2/api/lambda/blog/category",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "parent_id",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogCategoryUpdate",
      name: "Update Blog Category",
      description: "Endpoint for updating a blog category",
      method: "POST",
      route: "/v2/api/lambda/blog/category/:id",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "parent_id",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: false,
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "Updated",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogCategoryGet",
      name: "Get Blog Category",
      description: "Endpoint for retrieving blog categories",
      method: "GET",
      route: "/v2/api/lambda/blog/category",
      inputs: [
        {
          name: "limit",
          type: "query",
          rules: "",
          dataType: "Integer",
        },
        {
          name: "page",
          type: "query",
          rules: "",
          dataType: "Integer",
        },
        {
          name: "name",
          type: "query",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Integer",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Integer",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Integer",
          parent: "",
        },
        {
          id: "num_pages",
          key: "num_pages",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogSubcategoryGet",
      name: "Get Blog Subcategory",
      description: "Endpoint for retrieving subcategories of a blog category",
      method: "GET",
      route: "/v2/api/lambda/blog/subcategory/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Array",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_blogDeleteCategory",
      name: "Delete Blog Category",
      description: "Endpoint for deleting a blog category",
      method: "DELETE",
      route: "/v2/api/lambda/blog/category/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "Deleted",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "blog",
    },
    {
      id: "_captchaTest",
      name: "Captcha Test",
      description: "Endpoint for generating a captcha test",
      method: "GET",
      route: "/v2/api/lambda/test/:width?/:height?/",
      inputs: [
        {
          name: "width",
          type: "path",
          rules: "",
          dataType: "Integer",
        },
        {
          name: "height",
          type: "path",
          rules: "",
          dataType: "Integer",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: '<img class="generated-captcha" src="{image}">',
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "captcha",
    },
    {
      id: "_captchaGenerate",
      name: "Captcha Generate",
      description: "Endpoint for generating a captcha",
      method: "GET",
      route: "/v2/api/lambda/captcha/:width?/:height?/",
      inputs: [
        {
          name: "width",
          type: "path",
          rules: "",
          dataType: "Integer",
        },
        {
          name: "height",
          type: "path",
          rules: "",
          dataType: "Integer",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "image",
          key: "image",
          value: "",
          valueType: "String",
          parent: "model",
        },
        {
          id: "text",
          key: "text",
          value: "",
          valueType: "String",
          parent: "model",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "captcha",
    },
    {
      id: "_googleCaptchaVerify",
      name: "Google Captcha Verify",
      description: "Endpoint for verifying Google reCAPTCHA token",
      method: "POST",
      route: "/v2/api/lambda/google-captcha/",
      inputs: [
        {
          name: "formData",
          type: "body",
          rules: "",
          dataType: "Object",
        },
        {
          name: "captchaToken",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "captcha",
    },
    {
      id: "_createCmsLambda",
      name: "Create CMS Lambda",
      method: "POST",
      description: "Create new CMS record",
      route: "/v2/api/lambda/cms",
      inputs: [
        {
          name: "page",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "key",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "type",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "value",
          type: "body",
          rules: "required",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "insertResult",
          valueType: "String",
          parent: "",
        },
      ],
      code: 'app.post("/v2/api/lambda/cms", middlewares, async function (req, res) {\n          try {\n            let client = req.app.get("subscriber");\n            let sdk = req.sdk;\n            sdk.setProjectId(req.projectId);\n            sdk.setTable("cms");\n      \n            if (!req.body.page) {\n              return res.status(403).json({\n                error: true,\n                message: "Page Missing",\n                validation: { page: "page missing" },\n              });\n            }\n      \n            if (!req.body.key) {\n              return res.status(403).json({\n                error: true,\n                message: "Key Missing",\n                validation: { key: "key missing" },\n              });\n            }\n      \n            if (!req.body.type) {\n              return res.status(403).json({\n                error: true,\n                message: "Type Missing",\n                validation: { type: "type missing" },\n              });\n            }\n      \n            if (!req.body.value) {\n              return res.status(403).json({\n                error: true,\n                message: "Value Missing",\n                validation: { value: "value missing" },\n              });\n            }\n      \n            const insertResult = await sdk.insert({\n              page: req.body.page,\n              content_type: req.body.type,\n              content_key: req.body.key,\n              content_value: req.body.value,\n              create_at: sqlDateFormat(new Date()),\n              update_at: sqlDateTimeFormat(new Date()),\n            });\n      \n            const getAllResult = await sdk.get({});\n      \n            client.set("cms-" + req.projectId, JSON.stringify(getAllResult), "EX", 60 * 60, function (data) {\n              console.log("SET", data);\n            });\n      \n            const getAllPageResult = await sdk.get({\n              page: req.body.page,\n            });\n      \n            client.set("cms-" + req.projectId + "-" + req.body.page, JSON.stringify(getAllPageResult), "EX", 60 * 60, function (data) {\n              console.log("SET", data);\n            });\n      \n            const getAllPageKeyResult = await sdk.get({\n              page: req.body.page,\n              content_key: req.body.key,\n            });\n      \n            client.set("cms-" + req.projectId + "-" + req.body.page + "-" + req.body.key, JSON.stringify(getAllPageKeyResult), "EX", 60 * 60, function (data) {\n              console.log("SET", data);\n            });\n      \n            return res.status(200).json({\n              error: false,\n              message: insertResult,\n            });\n          } catch (error) {\n            console.log(error);\n            return res.status(403).json({\n              error: true,\n              message: "Something went wrong",\n            });\n          }\n        });',
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports:
        'const TokenMiddleware = require("../../../middleware/TokenMiddleware");',
      type: "default",
      group: "cms",
    },
    {
      id: "_updateCmsLambda",
      name: "Update CMS Lambda",
      method: "PUT",
      description: "Update a CMS record",
      route: "/v2/api/lambda/cms/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "required",
          dataType: "String",
        },
        {
          name: "page",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "key",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "type",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "value",
          type: "body",
          rules: "required",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "updateResult",
          valueType: "String",
          parent: "",
        },
      ],
      code: 'app.put("/v2/api/lambda/cms/:id", middlewares, async function (req, res) {\n          try {\n            let client = req.app.get("subscriber");\n            let sdk = req.sdk;\n            sdk.setProjectId(req.projectId);\n            sdk.setTable("cms");\n      \n            if (!req.body.page) {\n              return res.status(403).json({\n                error: true,\n                message: "Page Missing",\n                validation: { page: "page missing" },\n              });\n            }\n      \n            if (!req.body.key) {\n              return res.status(403).json({\n                error: true,\n                message: "Key Missing",\n                validation: { key: "key missing" },\n              });\n            }\n      \n            if (!req.body.type) {\n              return res.status(403).json({\n                error: true,\n                message: "Type Missing",\n                validation: { type: "type missing" },\n              });\n            }\n      \n            if (!req.body.value) {\n              return res.status(403).json({\n                error: true,\n                message: "Value Missing",\n                validation: { value: "value missing" },\n              });\n            }\n      \n            const updateResult = await sdk.update(\n              {\n                page: req.body.page,\n                content_type: req.body.type,\n                content_key: req.body.key,\n                content_value: req.body.value,\n                update_at: sqlDateTimeFormat(new Date()),\n              },\n              req.params.id\n            );\n      \n            const getAllResult = await sdk.get({});\n      \n            client.set("cms-" + req.projectId, JSON.stringify(getAllResult), "EX", 60 * 60, function (data) {\n              console.log("SET", data);\n            });\n      \n            const getAllPageResult = await sdk.get({\n              page: req.body.page,\n            });\n      \n            client.set("cms-" + req.projectId + "-" + req.body.page, JSON.stringify(getAllPageResult), "EX", 60 * 60, function (data) {\n              console.log("SET", data);\n            });\n      \n            const getAllPageKeyResult = await sdk.get({\n              page: req.body.page,\n              content_key: req.body.key,\n            });\n      \n            client.set("cms-" + req.projectId + "-" + req.body.page + "-" + req.body.key, JSON.stringify(getAllPageKeyResult), "EX", 60 * 60, function (data) {\n              console.log("SET", data);\n            });\n      \n            return res.status(200).json({\n              error: false,\n              message: updateResult,\n            });\n          } catch (error) {\n            return res.status(403).json({\n              error: true,\n              message: "Something went wrong",\n            });\n          }\n        });',
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "cms",
    },
    {
      id: "_deleteCmsLambda",
      name: "Delete CMS Lambda",
      method: "DELETE",
      description: "Delete a CMS record",
      route: "/v2/api/lambda/cms/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "required",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "deleted",
          valueType: "String",
          parent: "",
        },
      ],
      code: 'app.delete("/v2/api/lambda/cms/:id", middlewares, async function (req, res) {\n          try {\n            let sdk = req.sdk;\n            sdk.setProjectId(req.projectId);\n            sdk.setTable("cms");\n      \n            if (!req.params.id) {\n              return res.status(403).json({\n                error: true,\n                message: "ID Missing",\n                validation: { id: "id missing" },\n              });\n            }\n      \n            await sdk.delete({}, req.params.id);\n      \n            return res.status(200).json({\n              error: false,\n              message: "deleted",\n            });\n          } catch (error) {\n            return res.status(403).json({\n              error: true,\n              message: "Something went wrong",\n            });\n          }\n        });',
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "cms",
    },
    {
      id: "_getCmsByIdLambda",
      name: "Get CMS by ID Lambda",
      method: "GET",
      description: "Get A CMS Record by ID",
      route: "/v2/api/lambda/cms/id/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "required",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "result[0]",
          valueType: "Object",
          parent: "",
        },
      ],
      code: 'app.get("/v2/api/lambda/cms/id/:id", publicMiddlewares, async function (req, res) {\n          try {\n            let sdk = req.sdk;\n            sdk.setProjectId(req.projectId);\n            sdk.setTable("cms");\n      \n            if (!req.params.id) {\n              return res.status(403).json({\n                error: true,\n                message: "ID Missing",\n                validation: { id: "id missing" },\n              });\n            }\n      \n            const result = await sdk.get({ id: req.params.id });\n      \n            if (result.length > 0) {\n              return res.status(200).json({\n                error: false,\n                model: result[0],\n              });\n            } else {\n              return res.status(200).json({\n                error: false,\n                model: null,\n              });\n            }\n          } catch (error) {\n            return res.status(403).json({\n              error: true,\n              message: "Something went wrong",\n            });\n          }\n        });',
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "cms",
    },
    {
      id: "_getCmsByPageAndKeyLambda",
      name: "Get CMS by Page and Key Lambda",
      method: "GET",
      description: "Get CMS by Page and Key",
      route: "/v2/api/lambda/cms/page/:page/:key",
      inputs: [
        {
          name: "page",
          type: "path",
          rules: "required",
          dataType: "String",
        },
        {
          name: "key",
          type: "path",
          rules: "required",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
      ],
      code: 'app.get("/v2/api/lambda/cms/page/:page/:key", publicMiddlewares, async function (req, res) {\n          try {\n            let sdk = req.sdk;\n            sdk.setProjectId(req.projectId);\n            sdk.setTable("cms");\n      \n            let client = req.app.get("subscriber");\n            const getall = await client.get("cms-" + req.projectId + "-" + req.params.page + "-" + req.params.key);\n      \n            if (getall) {\n              return res.status(200).send(getall);\n            }\n      \n            const getAllResult = await sdk.get({\n              page: req.params.page,\n              content_key: req.params.key,\n            });\n      \n            client.set("cms-" + req.projectId + "-" + req.params.page + "-" + req.params.key, JSON.stringify(getAllResult), "EX", 60 * 60, function (data) {\n              console.log("SET", data);\n            });\n      \n            return res.status(200).send(getAllResult);\n          } catch (error) {\n            console.log("ERROR: ", error);\n            return res.status(403).json({\n              error: true,\n              message: "Something went wrong",\n            });\n          }\n        });',
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "cms",
    },
    {
      id: "_getCmsByPageLambda",
      name: "Get CMS by Page Lambda",
      method: "GET",
      description: "Get All CMS records for a particular page.",
      route: "/v2/api/lambda/cms/page/:page",
      inputs: [
        {
          name: "page",
          type: "path",
          rules: "required",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
      ],
      code: 'app.get("/v2/api/lambda/cms/page/:page", publicMiddlewares, async function (req, res) {\n          try {\n            let sdk = req.sdk;\n            sdk.setProjectId(req.projectId);\n            sdk.setTable("cms");\n      \n            let client = req.app.get("subscriber");\n            const getall = await client.get("cms-" + req.projectId + "-" + req.params.page);\n            if (getall) {\n              return res.status(200).send(getall);\n            }\n      \n            const getAllResult = await sdk.get({\n              page: req.params.page,\n            });\n      \n            client.set("cms-" + req.projectId + "-" + req.params.page, JSON.stringify(getAllResult), "EX", 60 * 60, function (data) {\n              console.log("SET", data);\n            });\n      \n            return res.status(200).send(getAllResult);\n          } catch (error) {\n            console.log("ERROR: ", error);\n            return res.status(403).json({\n              error: true,\n              message: "Something went wrong",\n            });\n          }\n        });',
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "cms",
    },
    {
      id: "_getAllCmsLambda",
      name: "Get All CMS Lambda",
      method: "GET",
      description: "Get all CMS records",
      route: "/v2/api/lambda/cms/all",
      inputs: [],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
      ],
      code: 'app.get("/v2/api/lambda/cms/all", publicMiddlewares, async function (req, res) {\n          try {\n            let sdk = req.sdk;\n            sdk.setProjectId(req.projectId);\n            sdk.setTable("cms");\n      \n            let client = req.app.get("subscriber");\n            const getall = await client.get("cms-" + req.projectId);\n            if (getall) {\n              return res.status(200).send(getall);\n            }\n      \n            const getAllResult = await sdk.get({});\n      \n            client.set("cms-" + req.projectId, JSON.stringify(getAllResult), "EX", 60 * 60, function (data) {\n              console.log("SET", data);\n            });\n      \n            return res.status(200).send(getAllResult);\n          } catch (error) {\n            console.log("ERROR: ", error);\n            return res.status(403).json({\n              error: true,\n              message: "Something went wrong",\n            });\n          }\n        });',
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "cms",
    },
    {
      id: "_registerLambda",
      name: "Register Lambda",
      method: "POST",
      description: "",
      route: "/v2/api/lambda/register",
      inputs: [
        {
          name: "email",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "role",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "verify",
          type: "body",
          rules: "",
          dataType: "Boolean",
        },
        {
          name: "is_refresh",
          type: "body",
          rules: "",
          dataType: "Boolean",
        },
        {
          name: "password",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "first_name",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "last_name",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "photo",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "phone",
          type: "body",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "role",
          key: "role",
          value: "req.body.role",
          valueType: "String",
          parent: "",
        },
        {
          id: "token",
          key: "token",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "refresh_token",
          key: "refresh_token",
          value: "refreshToken",
          valueType: "String",
          parent: "",
        },
        {
          id: "expire_at",
          key: "expire_at",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "user_id",
          key: "user_id",
          value: "result",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports:
        'const TokenMiddleware = require("../../../middleware/TokenMiddleware");',
      type: "default",
      group: "register",
    },
    {
      id: "_loginLambda",
      name: "Login Lambda",
      method: "POST",
      description: "",
      route: "/v2/api/lambda/login",
      inputs: [
        {
          name: "email",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "password",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "role",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "is_refresh",
          type: "body",
          rules: "",
          dataType: "Boolean",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "role",
          key: "role",
          value: "role",
          valueType: "String",
          parent: "",
        },
        {
          id: "token",
          key: "token",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "refresh_token",
          key: "refresh_token",
          value: "refreshToken",
          valueType: "String",
          parent: "",
        },
        {
          id: "expire_at",
          key: "expire_at",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "user_id",
          key: "user_id",
          value: "",
          valueType: "Int",
          parent: "",
        },
        {
          id: "first_name",
          key: "first_name",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "last_name",
          key: "last_name",
          value: " ",
          valueType: "String",
          parent: "",
        },
        {
          id: "photo",
          key: "photo",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "two_factor_enabled",
          key: "two_factor_enabled",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "login",
    },
    {
      id: "_marketingLoginLambda",
      name: "Marketing Login Lambda",
      method: "POST",
      description: "",
      route: "/v2/api/lambda/marketing-login",
      inputs: [
        {
          name: "email",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "password",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "role",
          type: "body",
          rules: "required",
          dataType: "String",
        },
        {
          name: "is_refresh",
          type: "body",
          rules: "",
          dataType: "Boolean",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "role",
          key: "role",
          value: "role",
          valueType: "String",
          parent: "",
        },
        {
          id: "token",
          key: "token",
          value:
            "JwtService.createAccessToken({ user_id: result.id, role }, config.jwt_expire, config.jwt_key)",
          valueType: "String",
          parent: "",
        },
        {
          id: "refresh_token",
          key: "refresh_token",
          value: "refreshToken",
          valueType: "String",
          parent: "",
        },
        {
          id: "expire_at",
          key: "expire_at",
          value: "config.jwt_expire",
          valueType: "Number",
          parent: "",
        },
        {
          id: "user_id",
          key: "user_id",
          value: "result.id",
          valueType: "String",
          parent: "",
        },
        {
          id: "two_factor_enabled",
          key: "two_factor_enabled",
          value: "result.two_factor_authentication === 1 ? true : false",
          valueType: "Boolean",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "login",
    },
    {
      id: "_profile",
      name: "profile",
      method: "GET",
      description: "",
      route: "/v2/api/lambda/profile",
      inputs: [],
      response: [
        {
          id: "id",
          key: "id",
          value: "result[0].id",
          valueType: "String",
          parent: "",
        },
        {
          id: "first_name",
          key: "first_name",
          value: "result[0].first_name",
          valueType: "String",
          parent: "",
        },
        {
          id: "email",
          key: "email",
          value: "result[0].email",
          valueType: "String",
          parent: "",
        },
        {
          id: "role",
          key: "role",
          value: "result[0].role",
          valueType: "String",
          parent: "",
        },
        {
          id: "last_name",
          key: "last_name",
          value: "result[0].last_name",
          valueType: "String",
          parent: "",
        },
        {
          id: "phone",
          key: "phone",
          value: 'result[0].phone ?? ""',
          valueType: "String",
          parent: "",
        },
        {
          id: "photo",
          key: "photo",
          value: 'result[0].photo ?? ""',
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "profile",
    },
    {
      id: "_profileUpdate",
      name: "Profile Update",
      method: "POST",
      description: "",
      route: "/v2/api/lambda/profile",
      inputs: [
        {
          name: "first_name",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "last_name",
          type: "body",
          rules: "",
          dataType: "String",
        },
        {
          name: "photo",
          type: "body",
          rules: "",
          dataType: "String",
          defaultValue: "null",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "Updated",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "profile",
    },
    {
      id: "_uploadImageLocalDefault",
      name: "Upload Image Local Default",
      method: "POST",
      description: "",
      route: "/v2/api/lambda/upload",
      inputs: [
        {
          name: "file",
          type: "multipart",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "id",
          key: "id",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "url",
          key: "url",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports:
        '\n          const imageMiddlewares = require("../../../middleware/imageMiddlewares");\n          const sizeOf = require("image-size");\n          const fs = require("fs");\n          const logService = require("../../../services/logService");\n          const { sqlDateFormat, sqlDateTimeFormat } = require("../../../utils/dateUtils");\n        ',
      type: "default",
      group: "upload",
    },
    {
      id: "_uploadImageS3",
      name: "UploadImageS3",
      method: "POST",
      description: "",
      route: "/v2/api/lambda/s3/upload",
      inputs: [
        {
          name: "file",
          type: "multipart",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "id",
          key: "id",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "url",
          key: "url",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "upload",
    },
    {
      id: "_preferenceFetch",
      name: "Preference Fetch",
      method: "GET",
      description: "",
      route: "/v2/api/lambda/preference",
      inputs: [],
      response: [
        {
          id: "user_id",
          key: "user_id",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "fcm_token",
          key: "fcm_token",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "first_name",
          key: "first_name",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "last_name",
          key: "last_name",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "email",
          key: "email",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "role",
          key: "role",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "phone",
          key: "phone",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "photo",
          key: "photo",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "preference",
    },
    {
      id: "_preferenceUpdate",
      name: "Preference Update",
      method: "POST",
      description: "",
      route: "/v2/api/lambda/preference",
      inputs: [
        {
          name: "payload",
          type: "body",
          rules: "required",
          dataType: "Object",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "preference",
    },
    {
      id: "_treeSow",
      name: "Get Sow Tree",
      method: "GET",
      description: "",
      route: "/v4/api/records/sow",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "preference",
    },
    {
      id: "_appAlertsList",
      name: "App Alerts List",
      method: "GET",
      description: "",
      route: "/v4/api/records/alerts",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "preference",
    },
    {
      id: "_appAlertsUpdate",
      name: "App Alerts Update",
      method: "PUT",
      description: "",
      route: "/v4/api/records/alerts/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "required",
          dataType: "String",
        },
        {
          name: "is_read",
          type: "body",
          rules: "required",
          dataType: "Int",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "preference",
    },
    {
      id: "_ecomProductDefault",
      name: "Retrieve Product Default",
      method: "POST",
      description:
        "Default function for retrieving e-commerce products with pagination.",
      route: "/v2/api/lambda/ecom/product/",
      inputs: [
        {
          id: "page",
          name: "page",
          type: "body",
          rules: "required",
          dataType: "Number",
          value: "",
        },
        {
          id: "limit",
          name: "limit",
          type: "body",
          rules: "required",
          dataType: "Number",
          value: "",
        },
        {
          id: "sortId",
          name: "sortId",
          type: "body",
          rules: "optional",
          dataType: "String",
          value: "",
        },
        {
          id: "direction",
          name: "direction",
          type: "body",
          rules: "optional",
          dataType: "String",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "num_pages",
          key: "num_pages",
          value: "",
          valueType: "Number",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "ecom",
    },
    {
      id: "_ecomProductByIdDefault",
      name: "Ecom Product by ID Default",
      method: "GET",
      description:
        "Default function for retrieving a specific e-commerce product by ID or slug.",
      route: "/v2/api/lambda/ecom/product/:product_identifier",
      inputs: [
        {
          id: "product_identifier",
          name: "product_identifier",
          type: "params",
          rules: "required",
          dataType: "String",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "model",
          key: "message",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "ecom",
    },
    {
      id: "_ecomProductAddLambda",
      name: "Add Ecom Product Lambda",
      method: "POST",
      description: "Create Product.",
      route: "/v3/api/custom/lambda/ecom/product/add",
      inputs: [
        {
          id: "slug",
          name: "slug",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "category_id",
          name: "category_id",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "type",
          name: "type",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "quantity",
          name: "quantity",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "data",
          name: "data",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "name",
          name: "name",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "is_taxable",
          name: "is_taxable",
          type: "body",
          rules: "",
          dataType: "Boolean",
          value: "",
        },
        {
          id: "is_shipping",
          name: "is_shipping",
          type: "body",
          rules: "",
          dataType: "Boolean",
          value: "",
        },
        {
          id: "is_sticky",
          name: "is_sticky",
          type: "body",
          rules: "",
          dataType: "Boolean",
          value: "",
        },
        {
          id: "is_featured",
          name: "is_featured",
          type: "body",
          rules: "",
          dataType: "Boolean",
          value: "",
        },
        {
          id: "is_downloadable",
          name: "is_downloadable",
          type: "body",
          rules: "",
          dataType: "Boolean",
          value: "",
        },
        {
          id: "download_limit",
          name: "download_limit",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "is_backorder",
          name: "is_backorder",
          type: "body",
          rules: "",
          dataType: "Boolean",
          value: "",
        },
        {
          id: "sold_single",
          name: "sold_single",
          type: "body",
          rules: "",
          dataType: "Boolean",
          value: "",
        },
        {
          id: "manage_stock",
          name: "manage_stock",
          type: "body",
          rules: "",
          dataType: "Boolean",
          value: "",
        },
        {
          id: "thumbnail_image",
          name: "thumbnail_image",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "featured_image",
          name: "featured_image",
          type: "body",
          rules: "",
          dataType: "Boolean",
          value: "",
        },
        {
          id: "image",
          name: "image",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "sku",
          name: "sku",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "weight",
          name: "weight",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "height",
          name: "height",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "length",
          name: "length",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "weight_unit",
          name: "weight_unit",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "height_unit",
          name: "height_unit",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "length_unit",
          name: "length_unit",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "avg_review",
          name: "avg_review",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "sale_price",
          name: "sale_price",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "shipping_price",
          name: "shipping_price",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "regular_price",
          name: "regular_price",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "position",
          name: "position",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "download_expire_at",
          name: "download_expire_at",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "schedule_sale_at",
          name: "schedule_sale_at",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "schedule_sale_end",
          name: "schedule_sale_end",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "description",
          name: "description",
          type: "body",
          rules: "",
          dataType: "String",
          value: "",
        },
        {
          id: "is_virtual",
          name: "is_virtual",
          type: "body",
          rules: "",
          dataType: "Boolean",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "ecom",
    },
    {
      id: "_ecomProductEditLambda",
      name: "Edit Ecom Product Lambda",
      method: "PUT",
      description: "Edit Product.",
      route: "/v2/api/lambda/ecom/product/:id",
      inputs: [
        {
          id: "id",
          name: "id",
          type: "path",
          rules: "required",
          dataType: "Number",
          value: "",
        },
        {
          id: "payload",
          name: "payload",
          type: "body",
          rules: "required",
          dataType: "Object",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "ecom",
    },
    {
      id: "_ecomProductDeleteLambda",
      name: "Delete Ecom Product Lambda",
      method: "DELETE",
      description: "Delete Product.",
      route: "/v2/api/lambda/ecom/product/:id",
      inputs: [
        {
          id: "id",
          name: "id",
          type: "path",
          rules: "required",
          dataType: "Number",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "ecom",
    },
    {
      id: "_getCartItems",
      name: "Get Cart Items",
      method: "GET",
      description: "Get cart.",
      route: "/v2/api/lambda/ecom/cart",
      columns: [],
      inputs: [
        {
          id: "user_id",
          name: "user_id",
          type: "query",
          rules: "required",
          dataType: "Int?",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: [],
          valueType: "Array",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "ecom",
    },
    {
      id: "_ecomAddCart",
      name: "Ecom Add Cart",
      method: "POST",
      description: "Add Product to cart.",
      route: "/v2/api/lambda/ecom/cart/item",
      inputs: [
        {
          id: "user_id",
          name: "user_id",
          type: "body",
          rules: "required",
          dataType: "Int?",
          value: "",
        },
        {
          id: "productId",
          name: "productId",
          type: "body",
          rules: "required",
          dataType: "Int",
          value: "",
        },
        {
          id: "quantity",
          name: "quantity",
          type: "body",
          rules: "required",
          dataType: "Int",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "ecom",
    },
    {
      id: "_ecomDeleteCartItem",
      name: "Ecom delete Cart item",
      method: "POST",
      description: "Delete Product from cart.",
      route: "/v2/api/lambda/ecom/cart/update",
      inputs: [
        {
          id: "user_id",
          name: "user_id",
          type: "query",
          rules: "required",
          dataType: "Int?",
          value: "",
        },
        {
          id: "data",
          name: "data",
          type: "query",
          rules: "required",
          dataType: [],
          value: "Array",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "ecom",
    },
    {
      id: "_ecomGetReviews",
      name: "Ecom get product review",
      method: "POST",
      description: "Get Product Review.",
      route: "/v2/api/lambda/ecom/product/review",
      inputs: [
        {
          id: "productId",
          name: "productId",
          type: "query",
          rules: "required",
          dataType: "Int",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: [],
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "ecom",
    },
    {
      id: "_ecomAddReviews",
      name: "Ecom add product review",
      method: "POST",
      description: "Add Product Review.",
      route: "/v2/api/lambda/ecom/product/review/add",
      inputs: [
        {
          id: "review",
          name: "review",
          type: "query",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "productId",
          name: "productId",
          type: "query",
          rules: "required",
          dataType: "Int",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "ecom",
    },
    {
      id: "_forgotPassword",
      name: "Forgot Password",
      method: "POST",
      description: "",
      route: "/v2/api/lambda/forgot",
      inputs: [
        {
          id: "email",
          name: "email",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "role",
          name: "role",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "forgot",
    },
    {
      id: "_forgotPasswordMobile",
      name: "Forgot Password Mobile",
      method: "POSt",
      description: "",
      route: "/v2/api/lambda/mobile/forgot",
      inputs: [
        {
          id: "email",
          name: "email",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "forgot",
    },
    {
      id: "_resetPassword",
      name: "Reset Password",
      method: "POST",
      description: "",
      route: "/v2/api/lambda/reset",
      inputs: [
        {
          id: "token",
          name: "token",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "code",
          name: "code",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "password",
          name: "password",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "validation",
          key: "validation",
          value: "",
          valueType: "Array",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "reset",
    },
    {
      id: "_resetPasswordMobile",
      name: "Reset Password Mobile",
      method: "POST",
      description: "",
      route: "/v2/api/lambda/mobile/reset",
      inputs: [
        {
          id: "code",
          name: "code",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "password",
          name: "password",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "validation",
          key: "validation",
          value: "",
          valueType: "Array",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "reset",
    },
    {
      id: "_getStripeData",
      name: "Get Stripe Data",
      method: "POST",
      description: "Default function for generating stripe data for checkout.",
      route: "/v2/api/lambda/stripe/mobile/intent/",
      inputs: [
        {
          id: "user_id",
          name: "user_id",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "amount",
          name: "amount",
          type: "body",
          rules: "required",
          dataType: "String",
          value: "",
        },
        {
          id: "currency",
          name: "currency",
          type: "body",
          rules: "optional",
          dataType: "String",
          value: "",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "false",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "OK",
          valueType: "String",
          parent: "",
        },
        {
          id: "paymentIntent",
          key: "paymentIntent",
          value: "result[0].paymentIntent ?? ''",
          valueType: "String",
          parent: "",
        },
        {
          id: "ephemeralKeyRaw",
          key: "ephemeralKeyRaw",
          value: "result[0].ephemeralKeyRaw ?? ''",
          valueType: "String",
          parent: "",
        },
        {
          id: "customer",
          key: "customer",
          value: "result[0].customer ?? ''",
          valueType: "String",
          parent: "",
        },
        {
          id: "publishableKey",
          key: "publishableKey",
          value: "result[0].publishableKey ?? ''",
          valueType: "String",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: false,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "stripe",
    },
    {
      id: "_defaultSquareFootCostOneTree",
      name: "Get One Default Square Foot Cost",
      method: "GET",
      description: "",
      route: "/v4/api/records/default_square_foot_cost/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        user_id: "int",
        hidden: "int",
      },
    },
    {
      id: "_settingOneTree",
      name: "Get One Setting",
      method: "GET",
      description: "",
      route: "/v4/api/records/setting/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        setting_key: "varchar",
        setting_value: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_costOneTree",
      name: "Get One Cost",
      method: "GET",
      description: "",
      route: "/v4/api/records/cost/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        cost_type: "varchar",
        name: "varchar",
        unit_cost: "int",
        lineal_foot_cost: "int",
        labor_cost: "int",
        material_cost: "int",
        profit_overhead: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_roomOneTree",
      name: "Get One Room",
      method: "GET",
      description: "",
      route: "/v4/api/records/room/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        other_user_id: "int",
        chat_id: "int",
        unread: "int",
        create_at: "date",
        update_at: "datetime",
        user_update_at: "datetime",
        other_user_update_at: "datetime",
      },
    },
    {
      id: "_laborOneTree",
      name: "Get One Labor",
      method: "GET",
      description: "",
      route: "/v4/api/records/labor/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        hours: "varchar",
        amount: "int",
        per_hour: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_lineItemEntryOneTree",
      name: "Get One Line Item Entry",
      method: "GET",
      description: "",
      route: "/v4/api/records/line_item_entry/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        parent_id: "int",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        line_item_id: "int",
        quantity: "double",
      },
    },
    {
      id: "_companySettingsOneTree",
      name: "Get One Company Settings",
      method: "GET",
      description: "",
      route: "/v4/api/records/company_settings/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        default_hourly_rate: "double",
        default_profit_overhead: "double",
        user_id: "int",
      },
    },
    {
      id: "_cmsOneTree",
      name: "Get One Cms",
      method: "GET",
      description: "",
      route: "/v4/api/records/cms/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        page: "varchar",
        content_key: "varchar",
        content_type: "varchar",
        content_value: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_teamMemberOneTree",
      name: "Get One Team Member",
      method: "GET",
      description: "",
      route: "/v4/api/records/team_member/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        status: "int",
        project_id: "int",
        id: "int",
        user_id: "int",
        name: "varchar",
        hourly_rate: "int",
        is_default: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultMaterialOneTree",
      name: "Get One Default Material",
      method: "GET",
      description: "",
      route: "/v4/api/records/default_material/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        user_id: "varchar",
        cost: "varchar",
        name: "varchar",
        hidden: "int",
      },
    },
    {
      id: "_projectOneTree",
      name: "Get One Project",
      method: "GET",
      description: "",
      route: "/v4/api/records/project/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        name: "text",
        change_count: "int",
        id: "int",
        customer_id: "int",
        user_id: "int",
        status: "int",
        profit_overhead: "double",
        hourly_rate: "double",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_userOneTree",
      name: "Get One User",
      method: "GET",
      description: "",
      route: "/v4/api/records/user/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        oauth: "varchar",
        role: "varchar",
        first_name: "varchar",
        last_name: "varchar",
        email: "varchar",
        password: "varchar",
        type: "int",
        verify: "int",
        phone: "varchar",
        company_name: "varchar",
        photo: "text",
        refer: "varchar",
        stripe_uid: "varchar",
        paypal_uid: "varchar",
        two_factor_authentication: "int",
        status: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_profileOneTree",
      name: "Get One Profile",
      method: "GET",
      description: "",
      route: "/v4/api/records/profile/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        create_at: "date",
        fcm_token: "text",
        device_id: "text",
        device_type: "text",
        update_at: "datetime",
      },
    },
    {
      id: "_linealFootCostOneTree",
      name: "Get One Lineal Foot Cost",
      method: "GET",
      description: "",
      route: "/v4/api/records/lineal_foot_cost/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        lineal_foot_cost: "int",
        profit_overhead: "int",
        labor_cost: "int",
        material_cost: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_customerOneTree",
      name: "Get One Customer",
      method: "GET",
      description: "",
      route: "/v4/api/records/customer/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        status: "int",
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        email: "varchar",
        phone: "varchar",
        address: "varchar",
        user_id: "varchar",
      },
    },
    {
      id: "_permissionOneTree",
      name: "Get One Permission",
      method: "GET",
      description: "",
      route: "/v4/api/records/permission/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        role: "varchar",
        permission: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_tokenOneTree",
      name: "Get One Token",
      method: "GET",
      description: "",
      route: "/v4/api/records/token/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        token: "text",
        type: "int",
        data: "text",
        user_id: "int",
        status: "int",
        create_at: "date",
        update_at: "datetime",
        expire_at: "datetime",
      },
    },
    {
      id: "_sqftCostsOneTree",
      name: "Get One Sqft Costs",
      method: "GET",
      description: "",
      route: "/v4/api/records/sqft_costs/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        lineal_foot_cost: "int",
        profit_overhead: "int",
        labor_cost: "int",
        material_cost: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_emailOneTree",
      name: "Get One Email",
      method: "GET",
      description: "",
      route: "/v4/api/records/email/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        slug: "varchar",
        subject: "text",
        tag: "text",
        html: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_alertsOneTree",
      name: "Get One Alerts",
      method: "GET",
      description: "",
      route: "/v4/api/records/alerts/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        message: "text",
        image: "text",
        is_read: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_drawsOneTree",
      name: "Get One Draws",
      method: "GET",
      description: "",
      route: "/v4/api/records/draws/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        amount_paid: "int",
        id: "int",
        check_no: "varchar",
        amount: "decimal",
        percentage: "decimal",
        description: "text",
        create_at: "date",
        update_at: "datetime",
        status: "int",
        project_id: "int",
        payment_type: "varchar",
      },
    },
    {
      id: "_chatOneTree",
      name: "Get One Chat",
      method: "GET",
      description: "",
      route: "/v4/api/records/chat/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        room_id: "int",
        unread: "int",
        chat: "longtext",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_materialOneTree",
      name: "Get One Material",
      method: "GET",
      description: "",
      route: "/v4/api/records/material/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        unit_cost: "int",
        create_at: "date",
        update_at: "datetime",
        project_id: "varchar",
      },
    },
    {
      id: "_invoiceOneTree",
      name: "Get One Invoice",
      method: "GET",
      description: "",
      route: "/v4/api/records/invoice/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        company_name: "varchar",
        name: "varchar",
        email: "varchar",
        address: "varchar",
        milestone_description: "varchar",
        total_amount_due: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultLinealFootCostOneTree",
      name: "Get One Default Lineal Foot Cost",
      method: "GET",
      description: "",
      route: "/v4/api/records/default_lineal_foot_cost/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        user_id: "int",
        hidden: "int",
      },
    },
    {
      id: "_triggerTypeOneTree",
      name: "Get One Trigger Type",
      method: "GET",
      description: "",
      route: "/v4/api/records/trigger_type/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_jobOneTree",
      name: "Get One Job",
      method: "GET",
      description: "",
      route: "/v4/api/records/job/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        task: "text",
        arguments: "text",
        error_log: "text",
        identifier: "varchar",
        retries: "int",
        retry_count: "int",
        time_interval: "varchar",
        last_run: "datetime",
        status: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_lineItemsOneTree",
      name: "Get One Line Items",
      method: "GET",
      description: "",
      route: "/v4/api/records/line_items/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        hidden: "int",
        id: "int",
        project_id: "int",
        description: "varchar",
        estimated_by: "varchar",
        create_at: "date",
        update_at: "datetime",
        labor_hours: "double",
      },
    },
    {
      id: "_photoOneTree",
      name: "Get One Photo",
      method: "GET",
      description: "",
      route: "/v4/api/records/photo/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        url: "text",
        caption: "text",
        user_id: "int",
        width: "int",
        height: "int",
        type: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_apiKeysOneTree",
      name: "Get One Api Keys",
      method: "GET",
      description: "",
      route: "/v4/api/records/api_keys/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        key: "varchar",
        value: "text",
        description: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_changeOrderDescriptionOneTree",
      name: "Get One Change Order Description",
      method: "GET",
      description: "",
      route: "/v4/api/records/change_order_description/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        update_at: "datetime",
        create_at: "date",
        id: "int",
        description: "text",
        line_item_id: "int",
      },
    },
    {
      id: "_analyticLogOneTree",
      name: "Get One Analytic Log",
      method: "GET",
      description: "",
      route: "/v4/api/records/analytic_log/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "bigint",
        user_id: "int",
        url: "text",
        path: "text",
        hostname: "text",
        ip: "varchar",
        role: "varchar",
        browser: "varchar",
        country: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_postsOneTree",
      name: "Get One Posts",
      method: "GET",
      description: "",
      route: "/v4/api/records/posts/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        status: "tinyint",
        type: "text",
        data: "text",
        links: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_employeeOneTree",
      name: "Get One Employee",
      method: "GET",
      description: "",
      route: "/v4/api/records/employee/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "model",
          key: "model",
          value: "",
          valueType: "Object",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        default_hourly_rate: "int",
        default_profit_overhead: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultSquareFootCostListTree",
      name: "Get Default Square Foot Cost List",
      method: "GET",
      description: "",
      route: "/v4/api/records/default_square_foot_cost",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        user_id: "int",
        hidden: "int",
      },
    },
    {
      id: "_settingListTree",
      name: "Get Setting List",
      method: "GET",
      description: "",
      route: "/v4/api/records/setting",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        setting_key: "varchar",
        setting_value: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_costListTree",
      name: "Get Cost List",
      method: "GET",
      description: "",
      route: "/v4/api/records/cost",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        cost_type: "varchar",
        name: "varchar",
        unit_cost: "int",
        lineal_foot_cost: "int",
        labor_cost: "int",
        material_cost: "int",
        profit_overhead: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_roomListTree",
      name: "Get Room List",
      method: "GET",
      description: "",
      route: "/v4/api/records/room",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        other_user_id: "int",
        chat_id: "int",
        unread: "int",
        create_at: "date",
        update_at: "datetime",
        user_update_at: "datetime",
        other_user_update_at: "datetime",
      },
    },
    {
      id: "_laborListTree",
      name: "Get Labor List",
      method: "GET",
      description: "",
      route: "/v4/api/records/labor",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        hours: "varchar",
        amount: "int",
        per_hour: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_lineItemEntryListTree",
      name: "Get Line Item Entry List",
      method: "GET",
      description: "",
      route: "/v4/api/records/line_item_entry",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        parent_id: "int",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        line_item_id: "int",
        quantity: "double",
      },
    },
    {
      id: "_companySettingsListTree",
      name: "Get Company Settings List",
      method: "GET",
      description: "",
      route: "/v4/api/records/company_settings",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        default_hourly_rate: "double",
        default_profit_overhead: "double",
        user_id: "int",
      },
    },
    {
      id: "_cmsListTree",
      name: "Get Cms List",
      method: "GET",
      description: "",
      route: "/v4/api/records/cms",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        page: "varchar",
        content_key: "varchar",
        content_type: "varchar",
        content_value: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_teamMemberListTree",
      name: "Get Team Member List",
      method: "GET",
      description: "",
      route: "/v4/api/records/team_member",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        status: "int",
        project_id: "int",
        id: "int",
        user_id: "int",
        name: "varchar",
        hourly_rate: "int",
        is_default: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultMaterialListTree",
      name: "Get Default Material List",
      method: "GET",
      description: "",
      route: "/v4/api/records/default_material",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        user_id: "varchar",
        cost: "varchar",
        name: "varchar",
        hidden: "int",
      },
    },
    {
      id: "_projectListTree",
      name: "Get Project List",
      method: "GET",
      description: "",
      route: "/v4/api/records/project",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        name: "text",
        change_count: "int",
        id: "int",
        customer_id: "int",
        user_id: "int",
        status: "int",
        profit_overhead: "double",
        hourly_rate: "double",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_userListTree",
      name: "Get User List",
      method: "GET",
      description: "",
      route: "/v4/api/records/user",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        oauth: "varchar",
        role: "varchar",
        first_name: "varchar",
        last_name: "varchar",
        email: "varchar",
        password: "varchar",
        type: "int",
        verify: "int",
        phone: "varchar",
        company_name: "varchar",
        photo: "text",
        refer: "varchar",
        stripe_uid: "varchar",
        paypal_uid: "varchar",
        two_factor_authentication: "int",
        status: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_profileListTree",
      name: "Get Profile List",
      method: "GET",
      description: "",
      route: "/v4/api/records/profile",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        create_at: "date",
        fcm_token: "text",
        device_id: "text",
        device_type: "text",
        update_at: "datetime",
      },
    },
    {
      id: "_linealFootCostListTree",
      name: "Get Lineal Foot Cost List",
      method: "GET",
      description: "",
      route: "/v4/api/records/lineal_foot_cost",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        lineal_foot_cost: "int",
        profit_overhead: "int",
        labor_cost: "int",
        material_cost: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_customerListTree",
      name: "Get Customer List",
      method: "GET",
      description: "",
      route: "/v4/api/records/customer",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        status: "int",
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        email: "varchar",
        phone: "varchar",
        address: "varchar",
        user_id: "varchar",
      },
    },
    {
      id: "_permissionListTree",
      name: "Get Permission List",
      method: "GET",
      description: "",
      route: "/v4/api/records/permission",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        role: "varchar",
        permission: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_tokenListTree",
      name: "Get Token List",
      method: "GET",
      description: "",
      route: "/v4/api/records/token",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        token: "text",
        type: "int",
        data: "text",
        user_id: "int",
        status: "int",
        create_at: "date",
        update_at: "datetime",
        expire_at: "datetime",
      },
    },
    {
      id: "_sqftCostsListTree",
      name: "Get Sqft Costs List",
      method: "GET",
      description: "",
      route: "/v4/api/records/sqft_costs",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        lineal_foot_cost: "int",
        profit_overhead: "int",
        labor_cost: "int",
        material_cost: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_emailListTree",
      name: "Get Email List",
      method: "GET",
      description: "",
      route: "/v4/api/records/email",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        slug: "varchar",
        subject: "text",
        tag: "text",
        html: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_alertsListTree",
      name: "Get Alerts List",
      method: "GET",
      description: "",
      route: "/v4/api/records/alerts",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        message: "text",
        image: "text",
        is_read: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_drawsListTree",
      name: "Get Draws List",
      method: "GET",
      description: "",
      route: "/v4/api/records/draws",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        amount_paid: "int",
        id: "int",
        check_no: "varchar",
        amount: "decimal",
        percentage: "decimal",
        description: "text",
        create_at: "date",
        update_at: "datetime",
        status: "int",
        project_id: "int",
        payment_type: "varchar",
      },
    },
    {
      id: "_chatListTree",
      name: "Get Chat List",
      method: "GET",
      description: "",
      route: "/v4/api/records/chat",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        room_id: "int",
        unread: "int",
        chat: "longtext",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_materialListTree",
      name: "Get Material List",
      method: "GET",
      description: "",
      route: "/v4/api/records/material",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        unit_cost: "int",
        create_at: "date",
        update_at: "datetime",
        project_id: "varchar",
      },
    },
    {
      id: "_invoiceListTree",
      name: "Get Invoice List",
      method: "GET",
      description: "",
      route: "/v4/api/records/invoice",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        company_name: "varchar",
        name: "varchar",
        email: "varchar",
        address: "varchar",
        milestone_description: "varchar",
        total_amount_due: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultLinealFootCostListTree",
      name: "Get Default Lineal Foot Cost List",
      method: "GET",
      description: "",
      route: "/v4/api/records/default_lineal_foot_cost",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        user_id: "int",
        hidden: "int",
      },
    },
    {
      id: "_triggerTypeListTree",
      name: "Get Trigger Type List",
      method: "GET",
      description: "",
      route: "/v4/api/records/trigger_type",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_jobListTree",
      name: "Get Job List",
      method: "GET",
      description: "",
      route: "/v4/api/records/job",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        task: "text",
        arguments: "text",
        error_log: "text",
        identifier: "varchar",
        retries: "int",
        retry_count: "int",
        time_interval: "varchar",
        last_run: "datetime",
        status: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_lineItemsListTree",
      name: "Get Line Items List",
      method: "GET",
      description: "",
      route: "/v4/api/records/line_items",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        hidden: "int",
        id: "int",
        project_id: "int",
        description: "varchar",
        estimated_by: "varchar",
        create_at: "date",
        update_at: "datetime",
        labor_hours: "double",
      },
    },
    {
      id: "_photoListTree",
      name: "Get Photo List",
      method: "GET",
      description: "",
      route: "/v4/api/records/photo",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        url: "text",
        caption: "text",
        user_id: "int",
        width: "int",
        height: "int",
        type: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_apiKeysListTree",
      name: "Get Api Keys List",
      method: "GET",
      description: "",
      route: "/v4/api/records/api_keys",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        key: "varchar",
        value: "text",
        description: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_changeOrderDescriptionListTree",
      name: "Get Change Order Description List",
      method: "GET",
      description: "",
      route: "/v4/api/records/change_order_description",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        update_at: "datetime",
        create_at: "date",
        id: "int",
        description: "text",
        line_item_id: "int",
      },
    },
    {
      id: "_analyticLogListTree",
      name: "Get Analytic Log List",
      method: "GET",
      description: "",
      route: "/v4/api/records/analytic_log",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "bigint",
        user_id: "int",
        url: "text",
        path: "text",
        hostname: "text",
        ip: "varchar",
        role: "varchar",
        browser: "varchar",
        country: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_postsListTree",
      name: "Get Posts List",
      method: "GET",
      description: "",
      route: "/v4/api/records/posts",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        status: "tinyint",
        type: "text",
        data: "text",
        links: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_employeeListTree",
      name: "Get Employee List",
      method: "GET",
      description: "",
      route: "/v4/api/records/employee",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "size",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        default_hourly_rate: "int",
        default_profit_overhead: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultSquareFootCostPaginatedTree",
      name: "Get Default Square Foot Cost Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/default_square_foot_cost",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        user_id: "int",
        hidden: "int",
      },
    },
    {
      id: "_settingPaginatedTree",
      name: "Get Setting Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/setting",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        setting_key: "varchar",
        setting_value: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_costPaginatedTree",
      name: "Get Cost Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/cost",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        cost_type: "varchar",
        name: "varchar",
        unit_cost: "int",
        lineal_foot_cost: "int",
        labor_cost: "int",
        material_cost: "int",
        profit_overhead: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_roomPaginatedTree",
      name: "Get Room Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/room",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        other_user_id: "int",
        chat_id: "int",
        unread: "int",
        create_at: "date",
        update_at: "datetime",
        user_update_at: "datetime",
        other_user_update_at: "datetime",
      },
    },
    {
      id: "_laborPaginatedTree",
      name: "Get Labor Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/labor",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        hours: "varchar",
        amount: "int",
        per_hour: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_lineItemEntryPaginatedTree",
      name: "Get Line Item Entry Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/line_item_entry",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        parent_id: "int",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        line_item_id: "int",
        quantity: "double",
      },
    },
    {
      id: "_companySettingsPaginatedTree",
      name: "Get Company Settings Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/company_settings",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        default_hourly_rate: "double",
        default_profit_overhead: "double",
        user_id: "int",
      },
    },
    {
      id: "_cmsPaginatedTree",
      name: "Get Cms Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/cms",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        page: "varchar",
        content_key: "varchar",
        content_type: "varchar",
        content_value: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_teamMemberPaginatedTree",
      name: "Get Team Member Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/team_member",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        status: "int",
        project_id: "int",
        id: "int",
        user_id: "int",
        name: "varchar",
        hourly_rate: "int",
        is_default: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultMaterialPaginatedTree",
      name: "Get Default Material Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/default_material",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        user_id: "varchar",
        cost: "varchar",
        name: "varchar",
        hidden: "int",
      },
    },
    {
      id: "_projectPaginatedTree",
      name: "Get Project Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/project",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        name: "text",
        change_count: "int",
        id: "int",
        customer_id: "int",
        user_id: "int",
        status: "int",
        profit_overhead: "double",
        hourly_rate: "double",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_userPaginatedTree",
      name: "Get User Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/user",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        oauth: "varchar",
        role: "varchar",
        first_name: "varchar",
        last_name: "varchar",
        email: "varchar",
        password: "varchar",
        type: "int",
        verify: "int",
        phone: "varchar",
        company_name: "varchar",
        photo: "text",
        refer: "varchar",
        stripe_uid: "varchar",
        paypal_uid: "varchar",
        two_factor_authentication: "int",
        status: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_profilePaginatedTree",
      name: "Get Profile Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/profile",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        create_at: "date",
        fcm_token: "text",
        device_id: "text",
        device_type: "text",
        update_at: "datetime",
      },
    },
    {
      id: "_linealFootCostPaginatedTree",
      name: "Get Lineal Foot Cost Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/lineal_foot_cost",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        lineal_foot_cost: "int",
        profit_overhead: "int",
        labor_cost: "int",
        material_cost: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_customerPaginatedTree",
      name: "Get Customer Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/customer",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        status: "int",
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        email: "varchar",
        phone: "varchar",
        address: "varchar",
        user_id: "varchar",
      },
    },
    {
      id: "_permissionPaginatedTree",
      name: "Get Permission Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/permission",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        role: "varchar",
        permission: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_tokenPaginatedTree",
      name: "Get Token Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/token",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        token: "text",
        type: "int",
        data: "text",
        user_id: "int",
        status: "int",
        create_at: "date",
        update_at: "datetime",
        expire_at: "datetime",
      },
    },
    {
      id: "_sqftCostsPaginatedTree",
      name: "Get Sqft Costs Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/sqft_costs",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        lineal_foot_cost: "int",
        profit_overhead: "int",
        labor_cost: "int",
        material_cost: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_emailPaginatedTree",
      name: "Get Email Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/email",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        slug: "varchar",
        subject: "text",
        tag: "text",
        html: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_alertsPaginatedTree",
      name: "Get Alerts Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/alerts",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        message: "text",
        image: "text",
        is_read: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_drawsPaginatedTree",
      name: "Get Draws Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/draws",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        amount_paid: "int",
        id: "int",
        check_no: "varchar",
        amount: "decimal",
        percentage: "decimal",
        description: "text",
        create_at: "date",
        update_at: "datetime",
        status: "int",
        project_id: "int",
        payment_type: "varchar",
      },
    },
    {
      id: "_chatPaginatedTree",
      name: "Get Chat Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/chat",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        room_id: "int",
        unread: "int",
        chat: "longtext",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_materialPaginatedTree",
      name: "Get Material Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/material",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        unit_cost: "int",
        create_at: "date",
        update_at: "datetime",
        project_id: "varchar",
      },
    },
    {
      id: "_invoicePaginatedTree",
      name: "Get Invoice Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/invoice",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        company_name: "varchar",
        name: "varchar",
        email: "varchar",
        address: "varchar",
        milestone_description: "varchar",
        total_amount_due: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultLinealFootCostPaginatedTree",
      name: "Get Default Lineal Foot Cost Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/default_lineal_foot_cost",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        user_id: "int",
        hidden: "int",
      },
    },
    {
      id: "_triggerTypePaginatedTree",
      name: "Get Trigger Type Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/trigger_type",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_jobPaginatedTree",
      name: "Get Job Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/job",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        task: "text",
        arguments: "text",
        error_log: "text",
        identifier: "varchar",
        retries: "int",
        retry_count: "int",
        time_interval: "varchar",
        last_run: "datetime",
        status: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_lineItemsPaginatedTree",
      name: "Get Line Items Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/line_items",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        hidden: "int",
        id: "int",
        project_id: "int",
        description: "varchar",
        estimated_by: "varchar",
        create_at: "date",
        update_at: "datetime",
        labor_hours: "double",
      },
    },
    {
      id: "_photoPaginatedTree",
      name: "Get Photo Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/photo",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        url: "text",
        caption: "text",
        user_id: "int",
        width: "int",
        height: "int",
        type: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_apiKeysPaginatedTree",
      name: "Get Api Keys Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/api_keys",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        key: "varchar",
        value: "text",
        description: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_changeOrderDescriptionPaginatedTree",
      name: "Get Change Order Description Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/change_order_description",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        update_at: "datetime",
        create_at: "date",
        id: "int",
        description: "text",
        line_item_id: "int",
      },
    },
    {
      id: "_analyticLogPaginatedTree",
      name: "Get Analytic Log Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/analytic_log",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "bigint",
        user_id: "int",
        url: "text",
        path: "text",
        hostname: "text",
        ip: "varchar",
        role: "varchar",
        browser: "varchar",
        country: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_postsPaginatedTree",
      name: "Get Posts Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/posts",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        status: "tinyint",
        type: "text",
        data: "text",
        links: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_employeePaginatedTree",
      name: "Get Employee Paginated",
      method: "GET",
      description: "",
      route: "/v4/api/records/employee",
      inputs: [
        {
          name: "order",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "page",
          type: "query",
          rules: "required",
          dataType: "String?",
        },
        {
          name: "filter",
          type: "query",
          rules: "",
          dataType: "String?",
        },
        {
          name: "join",
          type: "query",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "list",
          key: "list",
          value: "",
          valueType: "Array",
          parent: "",
        },
        {
          id: "page",
          key: "page",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "limit",
          key: "limit",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "total",
          key: "total",
          value: "",
          valueType: "Number",
          parent: "",
        },
        {
          id: "mapping",
          key: "mapping",
          value: "",
          valueType: "Object",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        default_hourly_rate: "int",
        default_profit_overhead: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultSquareFootCostCreateTree",
      name: "Create Default Square Foot Cost",
      method: "POST",
      description: "",
      route: "/v4/api/records/default_square_foot_cost",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "cost",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "labor_cost",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "hidden",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        user_id: "int",
        hidden: "int",
      },
    },
    {
      id: "_settingCreateTree",
      name: "Create Setting",
      method: "POST",
      description: "",
      route: "/v4/api/records/setting",
      inputs: [
        {
          name: "setting_key",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "setting_value",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        setting_key: "varchar",
        setting_value: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_costCreateTree",
      name: "Create Cost",
      method: "POST",
      description: "",
      route: "/v4/api/records/cost",
      inputs: [
        {
          name: "cost_type",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "unit_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "lineal_foot_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "labor_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "material_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "profit_overhead",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        cost_type: "varchar",
        name: "varchar",
        unit_cost: "int",
        lineal_foot_cost: "int",
        labor_cost: "int",
        material_cost: "int",
        profit_overhead: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_roomCreateTree",
      name: "Create Room",
      method: "POST",
      description: "",
      route: "/v4/api/records/room",
      inputs: [
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "other_user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "chat_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "unread",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "user_update_at",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "other_user_update_at",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        other_user_id: "int",
        chat_id: "int",
        unread: "int",
        create_at: "date",
        update_at: "datetime",
        user_update_at: "datetime",
        other_user_update_at: "datetime",
      },
    },
    {
      id: "_laborCreateTree",
      name: "Create Labor",
      method: "POST",
      description: "",
      route: "/v4/api/records/labor",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "hours",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "amount",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "per_hour",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        hours: "varchar",
        amount: "int",
        per_hour: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_lineItemEntryCreateTree",
      name: "Create Line Item Entry",
      method: "POST",
      description: "",
      route: "/v4/api/records/line_item_entry",
      inputs: [
        {
          name: "parent_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "cost",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "labor_cost",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "line_item_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "quantity",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        parent_id: "int",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        line_item_id: "int",
        quantity: "double",
      },
    },
    {
      id: "_companySettingsCreateTree",
      name: "Create Company Settings",
      method: "POST",
      description: "",
      route: "/v4/api/records/company_settings",
      inputs: [
        {
          name: "default_hourly_rate",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "default_profit_overhead",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        default_hourly_rate: "double",
        default_profit_overhead: "double",
        user_id: "int",
      },
    },
    {
      id: "_cmsCreateTree",
      name: "Create Cms",
      method: "POST",
      description: "",
      route: "/v4/api/records/cms",
      inputs: [
        {
          name: "page",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "content_key",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "content_type",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "content_value",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        page: "varchar",
        content_key: "varchar",
        content_type: "varchar",
        content_value: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_teamMemberCreateTree",
      name: "Create Team Member",
      method: "POST",
      description: "",
      route: "/v4/api/records/team_member",
      inputs: [
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "project_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "hourly_rate",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "is_default",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        status: "int",
        project_id: "int",
        id: "int",
        user_id: "int",
        name: "varchar",
        hourly_rate: "int",
        is_default: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultMaterialCreateTree",
      name: "Create Default Material",
      method: "POST",
      description: "",
      route: "/v4/api/records/default_material",
      inputs: [
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "cost",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "hidden",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        user_id: "varchar",
        cost: "varchar",
        name: "varchar",
        hidden: "int",
      },
    },
    {
      id: "_projectCreateTree",
      name: "Create Project",
      method: "POST",
      description: "",
      route: "/v4/api/records/project",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "change_count",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "customer_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "profit_overhead",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "hourly_rate",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        name: "text",
        change_count: "int",
        id: "int",
        customer_id: "int",
        user_id: "int",
        status: "int",
        profit_overhead: "double",
        hourly_rate: "double",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_userCreateTree",
      name: "Create User",
      method: "POST",
      description: "",
      route: "/v4/api/records/user",
      inputs: [
        {
          name: "oauth",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "role",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "first_name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "last_name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "email",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "password",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "type",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "verify",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "phone",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "company_name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "photo",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "refer",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "stripe_uid",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "paypal_uid",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "two_factor_authentication",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        oauth: "varchar",
        role: "varchar",
        first_name: "varchar",
        last_name: "varchar",
        email: "varchar",
        password: "varchar",
        type: "int",
        verify: "int",
        phone: "varchar",
        company_name: "varchar",
        photo: "text",
        refer: "varchar",
        stripe_uid: "varchar",
        paypal_uid: "varchar",
        two_factor_authentication: "int",
        status: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_profileCreateTree",
      name: "Create Profile",
      method: "POST",
      description: "",
      route: "/v4/api/records/profile",
      inputs: [
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "fcm_token",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "device_id",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "device_type",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        create_at: "date",
        fcm_token: "text",
        device_id: "text",
        device_type: "text",
        update_at: "datetime",
      },
    },
    {
      id: "_linealFootCostCreateTree",
      name: "Create Lineal Foot Cost",
      method: "POST",
      description: "",
      route: "/v4/api/records/lineal_foot_cost",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "lineal_foot_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "profit_overhead",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "labor_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "material_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        lineal_foot_cost: "int",
        profit_overhead: "int",
        labor_cost: "int",
        material_cost: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_customerCreateTree",
      name: "Create Customer",
      method: "POST",
      description: "",
      route: "/v4/api/records/customer",
      inputs: [
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "email",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "phone",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "address",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        status: "int",
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        email: "varchar",
        phone: "varchar",
        address: "varchar",
        user_id: "varchar",
      },
    },
    {
      id: "_permissionCreateTree",
      name: "Create Permission",
      method: "POST",
      description: "",
      route: "/v4/api/records/permission",
      inputs: [
        {
          name: "role",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "permission",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        role: "varchar",
        permission: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_tokenCreateTree",
      name: "Create Token",
      method: "POST",
      description: "",
      route: "/v4/api/records/token",
      inputs: [
        {
          name: "token",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "type",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "data",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "expire_at",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        token: "text",
        type: "int",
        data: "text",
        user_id: "int",
        status: "int",
        create_at: "date",
        update_at: "datetime",
        expire_at: "datetime",
      },
    },
    {
      id: "_sqftCostsCreateTree",
      name: "Create Sqft Costs",
      method: "POST",
      description: "",
      route: "/v4/api/records/sqft_costs",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "lineal_foot_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "profit_overhead",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "labor_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "material_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        lineal_foot_cost: "int",
        profit_overhead: "int",
        labor_cost: "int",
        material_cost: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_emailCreateTree",
      name: "Create Email",
      method: "POST",
      description: "",
      route: "/v4/api/records/email",
      inputs: [
        {
          name: "slug",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "subject",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "tag",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "html",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        slug: "varchar",
        subject: "text",
        tag: "text",
        html: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_alertsCreateTree",
      name: "Create Alerts",
      method: "POST",
      description: "",
      route: "/v4/api/records/alerts",
      inputs: [
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "message",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "image",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "is_read",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        message: "text",
        image: "text",
        is_read: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_drawsCreateTree",
      name: "Create Draws",
      method: "POST",
      description: "",
      route: "/v4/api/records/draws",
      inputs: [
        {
          name: "amount_paid",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "check_no",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "amount",
          type: "body",
          rules: "",
          dataType: "decimal?",
        },
        {
          name: "percentage",
          type: "body",
          rules: "",
          dataType: "decimal?",
        },
        {
          name: "description",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "project_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "payment_type",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        amount_paid: "int",
        id: "int",
        check_no: "varchar",
        amount: "decimal",
        percentage: "decimal",
        description: "text",
        create_at: "date",
        update_at: "datetime",
        status: "int",
        project_id: "int",
        payment_type: "varchar",
      },
    },
    {
      id: "_chatCreateTree",
      name: "Create Chat",
      method: "POST",
      description: "",
      route: "/v4/api/records/chat",
      inputs: [
        {
          name: "room_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "unread",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "chat",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        room_id: "int",
        unread: "int",
        chat: "longtext",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_materialCreateTree",
      name: "Create Material",
      method: "POST",
      description: "",
      route: "/v4/api/records/material",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "unit_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "project_id",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        unit_cost: "int",
        create_at: "date",
        update_at: "datetime",
        project_id: "varchar",
      },
    },
    {
      id: "_invoiceCreateTree",
      name: "Create Invoice",
      method: "POST",
      description: "",
      route: "/v4/api/records/invoice",
      inputs: [
        {
          name: "company_name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "email",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "address",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "milestone_description",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "total_amount_due",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        company_name: "varchar",
        name: "varchar",
        email: "varchar",
        address: "varchar",
        milestone_description: "varchar",
        total_amount_due: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultLinealFootCostCreateTree",
      name: "Create Default Lineal Foot Cost",
      method: "POST",
      description: "",
      route: "/v4/api/records/default_lineal_foot_cost",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "cost",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "labor_cost",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "hidden",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        user_id: "int",
        hidden: "int",
      },
    },
    {
      id: "_triggerTypeCreateTree",
      name: "Create Trigger Type",
      method: "POST",
      description: "",
      route: "/v4/api/records/trigger_type",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_jobCreateTree",
      name: "Create Job",
      method: "POST",
      description: "",
      route: "/v4/api/records/job",
      inputs: [
        {
          name: "task",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "arguments",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "error_log",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "identifier",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "retries",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "retry_count",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "time_interval",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "last_run",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        task: "text",
        arguments: "text",
        error_log: "text",
        identifier: "varchar",
        retries: "int",
        retry_count: "int",
        time_interval: "varchar",
        last_run: "datetime",
        status: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_lineItemsCreateTree",
      name: "Create Line Items",
      method: "POST",
      description: "",
      route: "/v4/api/records/line_items",
      inputs: [
        {
          name: "hidden",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "project_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "description",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "estimated_by",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "labor_hours",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        hidden: "int",
        id: "int",
        project_id: "int",
        description: "varchar",
        estimated_by: "varchar",
        create_at: "date",
        update_at: "datetime",
        labor_hours: "double",
      },
    },
    {
      id: "_photoCreateTree",
      name: "Create Photo",
      method: "POST",
      description: "",
      route: "/v4/api/records/photo",
      inputs: [
        {
          name: "url",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "caption",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "width",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "height",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "type",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        url: "text",
        caption: "text",
        user_id: "int",
        width: "int",
        height: "int",
        type: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_apiKeysCreateTree",
      name: "Create Api Keys",
      method: "POST",
      description: "",
      route: "/v4/api/records/api_keys",
      inputs: [
        {
          name: "key",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "value",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "description",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        key: "varchar",
        value: "text",
        description: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_changeOrderDescriptionCreateTree",
      name: "Create Change Order Description",
      method: "POST",
      description: "",
      route: "/v4/api/records/change_order_description",
      inputs: [
        {
          name: "description",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "line_item_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        update_at: "datetime",
        create_at: "date",
        id: "int",
        description: "text",
        line_item_id: "int",
      },
    },
    {
      id: "_analyticLogCreateTree",
      name: "Create Analytic Log",
      method: "POST",
      description: "",
      route: "/v4/api/records/analytic_log",
      inputs: [
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "url",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "path",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "hostname",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "ip",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "role",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "browser",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "country",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "bigint",
        user_id: "int",
        url: "text",
        path: "text",
        hostname: "text",
        ip: "varchar",
        role: "varchar",
        browser: "varchar",
        country: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_postsCreateTree",
      name: "Create Posts",
      method: "POST",
      description: "",
      route: "/v4/api/records/posts",
      inputs: [
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "type",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "data",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "links",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        status: "tinyint",
        type: "text",
        data: "text",
        links: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_employeeCreateTree",
      name: "Create Employee",
      method: "POST",
      description: "",
      route: "/v4/api/records/employee",
      inputs: [
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "default_hourly_rate",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "default_profit_overhead",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        default_hourly_rate: "int",
        default_profit_overhead: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultSquareFootCostUpdateTree",
      name: "Update Default Square Foot Cost",
      method: "PUT",
      description: "",
      route: "/v4/api/records/default_square_foot_cost/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "cost",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "labor_cost",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "hidden",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        user_id: "int",
        hidden: "int",
      },
    },
    {
      id: "_settingUpdateTree",
      name: "Update Setting",
      method: "PUT",
      description: "",
      route: "/v4/api/records/setting/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "setting_key",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "setting_value",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        setting_key: "varchar",
        setting_value: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_costUpdateTree",
      name: "Update Cost",
      method: "PUT",
      description: "",
      route: "/v4/api/records/cost/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "cost_type",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "unit_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "lineal_foot_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "labor_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "material_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "profit_overhead",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        cost_type: "varchar",
        name: "varchar",
        unit_cost: "int",
        lineal_foot_cost: "int",
        labor_cost: "int",
        material_cost: "int",
        profit_overhead: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_roomUpdateTree",
      name: "Update Room",
      method: "PUT",
      description: "",
      route: "/v4/api/records/room/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "other_user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "chat_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "unread",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "user_update_at",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "other_user_update_at",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        other_user_id: "int",
        chat_id: "int",
        unread: "int",
        create_at: "date",
        update_at: "datetime",
        user_update_at: "datetime",
        other_user_update_at: "datetime",
      },
    },
    {
      id: "_laborUpdateTree",
      name: "Update Labor",
      method: "PUT",
      description: "",
      route: "/v4/api/records/labor/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "hours",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "amount",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "per_hour",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        hours: "varchar",
        amount: "int",
        per_hour: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_lineItemEntryUpdateTree",
      name: "Update Line Item Entry",
      method: "PUT",
      description: "",
      route: "/v4/api/records/line_item_entry/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "parent_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "cost",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "labor_cost",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "line_item_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "quantity",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        parent_id: "int",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        line_item_id: "int",
        quantity: "double",
      },
    },
    {
      id: "_companySettingsUpdateTree",
      name: "Update Company Settings",
      method: "PUT",
      description: "",
      route: "/v4/api/records/company_settings/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "default_hourly_rate",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "default_profit_overhead",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        default_hourly_rate: "double",
        default_profit_overhead: "double",
        user_id: "int",
      },
    },
    {
      id: "_cmsUpdateTree",
      name: "Update Cms",
      method: "PUT",
      description: "",
      route: "/v4/api/records/cms/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "page",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "content_key",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "content_type",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "content_value",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        page: "varchar",
        content_key: "varchar",
        content_type: "varchar",
        content_value: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_teamMemberUpdateTree",
      name: "Update Team Member",
      method: "PUT",
      description: "",
      route: "/v4/api/records/team_member/:id",
      inputs: [
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "project_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "hourly_rate",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "is_default",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        status: "int",
        project_id: "int",
        id: "int",
        user_id: "int",
        name: "varchar",
        hourly_rate: "int",
        is_default: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultMaterialUpdateTree",
      name: "Update Default Material",
      method: "PUT",
      description: "",
      route: "/v4/api/records/default_material/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "cost",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "hidden",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        user_id: "varchar",
        cost: "varchar",
        name: "varchar",
        hidden: "int",
      },
    },
    {
      id: "_projectUpdateTree",
      name: "Update Project",
      method: "PUT",
      description: "",
      route: "/v4/api/records/project/:id",
      inputs: [
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "change_count",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "customer_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "profit_overhead",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "hourly_rate",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        name: "text",
        change_count: "int",
        id: "int",
        customer_id: "int",
        user_id: "int",
        status: "int",
        profit_overhead: "double",
        hourly_rate: "double",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_userUpdateTree",
      name: "Update User",
      method: "PUT",
      description: "",
      route: "/v4/api/records/user/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "oauth",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "role",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "first_name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "last_name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "email",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "password",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "type",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "verify",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "phone",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "company_name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "photo",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "refer",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "stripe_uid",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "paypal_uid",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "two_factor_authentication",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        oauth: "varchar",
        role: "varchar",
        first_name: "varchar",
        last_name: "varchar",
        email: "varchar",
        password: "varchar",
        type: "int",
        verify: "int",
        phone: "varchar",
        company_name: "varchar",
        photo: "text",
        refer: "varchar",
        stripe_uid: "varchar",
        paypal_uid: "varchar",
        two_factor_authentication: "int",
        status: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_profileUpdateTree",
      name: "Update Profile",
      method: "PUT",
      description: "",
      route: "/v4/api/records/profile/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "fcm_token",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "device_id",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "device_type",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        create_at: "date",
        fcm_token: "text",
        device_id: "text",
        device_type: "text",
        update_at: "datetime",
      },
    },
    {
      id: "_linealFootCostUpdateTree",
      name: "Update Lineal Foot Cost",
      method: "PUT",
      description: "",
      route: "/v4/api/records/lineal_foot_cost/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "lineal_foot_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "profit_overhead",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "labor_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "material_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        lineal_foot_cost: "int",
        profit_overhead: "int",
        labor_cost: "int",
        material_cost: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_customerUpdateTree",
      name: "Update Customer",
      method: "PUT",
      description: "",
      route: "/v4/api/records/customer/:id",
      inputs: [
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "email",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "phone",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "address",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        status: "int",
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        email: "varchar",
        phone: "varchar",
        address: "varchar",
        user_id: "varchar",
      },
    },
    {
      id: "_permissionUpdateTree",
      name: "Update Permission",
      method: "PUT",
      description: "",
      route: "/v4/api/records/permission/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "role",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "permission",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        role: "varchar",
        permission: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_tokenUpdateTree",
      name: "Update Token",
      method: "PUT",
      description: "",
      route: "/v4/api/records/token/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "token",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "type",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "data",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "expire_at",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        token: "text",
        type: "int",
        data: "text",
        user_id: "int",
        status: "int",
        create_at: "date",
        update_at: "datetime",
        expire_at: "datetime",
      },
    },
    {
      id: "_sqftCostsUpdateTree",
      name: "Update Sqft Costs",
      method: "PUT",
      description: "",
      route: "/v4/api/records/sqft_costs/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "lineal_foot_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "profit_overhead",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "labor_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "material_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        lineal_foot_cost: "int",
        profit_overhead: "int",
        labor_cost: "int",
        material_cost: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_emailUpdateTree",
      name: "Update Email",
      method: "PUT",
      description: "",
      route: "/v4/api/records/email/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "slug",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "subject",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "tag",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "html",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        slug: "varchar",
        subject: "text",
        tag: "text",
        html: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_alertsUpdateTree",
      name: "Update Alerts",
      method: "PUT",
      description: "",
      route: "/v4/api/records/alerts/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "message",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "image",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "is_read",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        message: "text",
        image: "text",
        is_read: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_drawsUpdateTree",
      name: "Update Draws",
      method: "PUT",
      description: "",
      route: "/v4/api/records/draws/:id",
      inputs: [
        {
          name: "amount_paid",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "check_no",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "amount",
          type: "body",
          rules: "",
          dataType: "decimal?",
        },
        {
          name: "percentage",
          type: "body",
          rules: "",
          dataType: "decimal?",
        },
        {
          name: "description",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "project_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "payment_type",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        amount_paid: "int",
        id: "int",
        check_no: "varchar",
        amount: "decimal",
        percentage: "decimal",
        description: "text",
        create_at: "date",
        update_at: "datetime",
        status: "int",
        project_id: "int",
        payment_type: "varchar",
      },
    },
    {
      id: "_chatUpdateTree",
      name: "Update Chat",
      method: "PUT",
      description: "",
      route: "/v4/api/records/chat/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "room_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "unread",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "chat",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        room_id: "int",
        unread: "int",
        chat: "longtext",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_materialUpdateTree",
      name: "Update Material",
      method: "PUT",
      description: "",
      route: "/v4/api/records/material/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "unit_cost",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "project_id",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        unit_cost: "int",
        create_at: "date",
        update_at: "datetime",
        project_id: "varchar",
      },
    },
    {
      id: "_invoiceUpdateTree",
      name: "Update Invoice",
      method: "PUT",
      description: "",
      route: "/v4/api/records/invoice/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "company_name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "email",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "address",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "milestone_description",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "total_amount_due",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        company_name: "varchar",
        name: "varchar",
        email: "varchar",
        address: "varchar",
        milestone_description: "varchar",
        total_amount_due: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultLinealFootCostUpdateTree",
      name: "Update Default Lineal Foot Cost",
      method: "PUT",
      description: "",
      route: "/v4/api/records/default_lineal_foot_cost/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "cost",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "labor_cost",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "hidden",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        user_id: "int",
        hidden: "int",
      },
    },
    {
      id: "_triggerTypeUpdateTree",
      name: "Update Trigger Type",
      method: "PUT",
      description: "",
      route: "/v4/api/records/trigger_type/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "name",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_jobUpdateTree",
      name: "Update Job",
      method: "PUT",
      description: "",
      route: "/v4/api/records/job/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "task",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "arguments",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "error_log",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "identifier",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "retries",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "retry_count",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "time_interval",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "last_run",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        task: "text",
        arguments: "text",
        error_log: "text",
        identifier: "varchar",
        retries: "int",
        retry_count: "int",
        time_interval: "varchar",
        last_run: "datetime",
        status: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_lineItemsUpdateTree",
      name: "Update Line Items",
      method: "PUT",
      description: "",
      route: "/v4/api/records/line_items/:id",
      inputs: [
        {
          name: "hidden",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "project_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "description",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "estimated_by",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "labor_hours",
          type: "body",
          rules: "",
          dataType: "Number?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        hidden: "int",
        id: "int",
        project_id: "int",
        description: "varchar",
        estimated_by: "varchar",
        create_at: "date",
        update_at: "datetime",
        labor_hours: "double",
      },
    },
    {
      id: "_photoUpdateTree",
      name: "Update Photo",
      method: "PUT",
      description: "",
      route: "/v4/api/records/photo/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "url",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "caption",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "width",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "height",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "type",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        url: "text",
        caption: "text",
        user_id: "int",
        width: "int",
        height: "int",
        type: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_apiKeysUpdateTree",
      name: "Update Api Keys",
      method: "PUT",
      description: "",
      route: "/v4/api/records/api_keys/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "key",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "value",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "description",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        key: "varchar",
        value: "text",
        description: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_changeOrderDescriptionUpdateTree",
      name: "Update Change Order Description",
      method: "PUT",
      description: "",
      route: "/v4/api/records/change_order_description/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "description",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "line_item_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        update_at: "datetime",
        create_at: "date",
        id: "int",
        description: "text",
        line_item_id: "int",
      },
    },
    {
      id: "_analyticLogUpdateTree",
      name: "Update Analytic Log",
      method: "PUT",
      description: "",
      route: "/v4/api/records/analytic_log/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "url",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "path",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "hostname",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "ip",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "role",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "browser",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "country",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "bigint",
        user_id: "int",
        url: "text",
        path: "text",
        hostname: "text",
        ip: "varchar",
        role: "varchar",
        browser: "varchar",
        country: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_postsUpdateTree",
      name: "Update Posts",
      method: "PUT",
      description: "",
      route: "/v4/api/records/posts/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "status",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "type",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "data",
          type: "body",
          rules: "",
          dataType: "String?",
        },
        {
          name: "links",
          type: "body",
          rules: "",
          dataType: "String?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        status: "tinyint",
        type: "text",
        data: "text",
        links: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_employeeUpdateTree",
      name: "Update Employee",
      method: "PUT",
      description: "",
      route: "/v4/api/records/employee/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "user_id",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "default_hourly_rate",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
        {
          name: "default_profit_overhead",
          type: "body",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        default_hourly_rate: "int",
        default_profit_overhead: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultSquareFootCostDeleteTree",
      name: "Delete Default Square Foot Cost",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/default_square_foot_cost/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        user_id: "int",
        hidden: "int",
      },
    },
    {
      id: "_settingDeleteTree",
      name: "Delete Setting",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/setting/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        setting_key: "varchar",
        setting_value: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_costDeleteTree",
      name: "Delete Cost",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/cost/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        cost_type: "varchar",
        name: "varchar",
        unit_cost: "int",
        lineal_foot_cost: "int",
        labor_cost: "int",
        material_cost: "int",
        profit_overhead: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_roomDeleteTree",
      name: "Delete Room",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/room/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        other_user_id: "int",
        chat_id: "int",
        unread: "int",
        create_at: "date",
        update_at: "datetime",
        user_update_at: "datetime",
        other_user_update_at: "datetime",
      },
    },
    {
      id: "_laborDeleteTree",
      name: "Delete Labor",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/labor/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        hours: "varchar",
        amount: "int",
        per_hour: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_lineItemEntryDeleteTree",
      name: "Delete Line Item Entry",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/line_item_entry/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        parent_id: "int",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        line_item_id: "int",
        quantity: "double",
      },
    },
    {
      id: "_companySettingsDeleteTree",
      name: "Delete Company Settings",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/company_settings/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        default_hourly_rate: "double",
        default_profit_overhead: "double",
        user_id: "int",
      },
    },
    {
      id: "_cmsDeleteTree",
      name: "Delete Cms",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/cms/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        page: "varchar",
        content_key: "varchar",
        content_type: "varchar",
        content_value: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_teamMemberDeleteTree",
      name: "Delete Team Member",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/team_member/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        status: "int",
        project_id: "int",
        id: "int",
        user_id: "int",
        name: "varchar",
        hourly_rate: "int",
        is_default: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultMaterialDeleteTree",
      name: "Delete Default Material",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/default_material/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        user_id: "varchar",
        cost: "varchar",
        name: "varchar",
        hidden: "int",
      },
    },
    {
      id: "_projectDeleteTree",
      name: "Delete Project",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/project/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        name: "text",
        change_count: "int",
        id: "int",
        customer_id: "int",
        user_id: "int",
        status: "int",
        profit_overhead: "double",
        hourly_rate: "double",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_userDeleteTree",
      name: "Delete User",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/user/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        oauth: "varchar",
        role: "varchar",
        first_name: "varchar",
        last_name: "varchar",
        email: "varchar",
        password: "varchar",
        type: "int",
        verify: "int",
        phone: "varchar",
        company_name: "varchar",
        photo: "text",
        refer: "varchar",
        stripe_uid: "varchar",
        paypal_uid: "varchar",
        two_factor_authentication: "int",
        status: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_profileDeleteTree",
      name: "Delete Profile",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/profile/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        create_at: "date",
        fcm_token: "text",
        device_id: "text",
        device_type: "text",
        update_at: "datetime",
      },
    },
    {
      id: "_linealFootCostDeleteTree",
      name: "Delete Lineal Foot Cost",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/lineal_foot_cost/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        lineal_foot_cost: "int",
        profit_overhead: "int",
        labor_cost: "int",
        material_cost: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_customerDeleteTree",
      name: "Delete Customer",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/customer/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        status: "int",
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        email: "varchar",
        phone: "varchar",
        address: "varchar",
        user_id: "varchar",
      },
    },
    {
      id: "_permissionDeleteTree",
      name: "Delete Permission",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/permission/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        role: "varchar",
        permission: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_tokenDeleteTree",
      name: "Delete Token",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/token/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        token: "text",
        type: "int",
        data: "text",
        user_id: "int",
        status: "int",
        create_at: "date",
        update_at: "datetime",
        expire_at: "datetime",
      },
    },
    {
      id: "_sqftCostsDeleteTree",
      name: "Delete Sqft Costs",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/sqft_costs/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        lineal_foot_cost: "int",
        profit_overhead: "int",
        labor_cost: "int",
        material_cost: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_emailDeleteTree",
      name: "Delete Email",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/email/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        slug: "varchar",
        subject: "text",
        tag: "text",
        html: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_alertsDeleteTree",
      name: "Delete Alerts",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/alerts/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        message: "text",
        image: "text",
        is_read: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_drawsDeleteTree",
      name: "Delete Draws",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/draws/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        amount_paid: "int",
        id: "int",
        check_no: "varchar",
        amount: "decimal",
        percentage: "decimal",
        description: "text",
        create_at: "date",
        update_at: "datetime",
        status: "int",
        project_id: "int",
        payment_type: "varchar",
      },
    },
    {
      id: "_chatDeleteTree",
      name: "Delete Chat",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/chat/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        room_id: "int",
        unread: "int",
        chat: "longtext",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_materialDeleteTree",
      name: "Delete Material",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/material/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "varchar",
        unit_cost: "int",
        create_at: "date",
        update_at: "datetime",
        project_id: "varchar",
      },
    },
    {
      id: "_invoiceDeleteTree",
      name: "Delete Invoice",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/invoice/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        company_name: "varchar",
        name: "varchar",
        email: "varchar",
        address: "varchar",
        milestone_description: "varchar",
        total_amount_due: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_defaultLinealFootCostDeleteTree",
      name: "Delete Default Lineal Foot Cost",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/default_lineal_foot_cost/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        create_at: "date",
        update_at: "datetime",
        name: "varchar",
        cost: "double",
        labor_cost: "double",
        user_id: "int",
        hidden: "int",
      },
    },
    {
      id: "_triggerTypeDeleteTree",
      name: "Delete Trigger Type",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/trigger_type/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        name: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_jobDeleteTree",
      name: "Delete Job",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/job/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        task: "text",
        arguments: "text",
        error_log: "text",
        identifier: "varchar",
        retries: "int",
        retry_count: "int",
        time_interval: "varchar",
        last_run: "datetime",
        status: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_lineItemsDeleteTree",
      name: "Delete Line Items",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/line_items/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        hidden: "int",
        id: "int",
        project_id: "int",
        description: "varchar",
        estimated_by: "varchar",
        create_at: "date",
        update_at: "datetime",
        labor_hours: "double",
      },
    },
    {
      id: "_photoDeleteTree",
      name: "Delete Photo",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/photo/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        url: "text",
        caption: "text",
        user_id: "int",
        width: "int",
        height: "int",
        type: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_apiKeysDeleteTree",
      name: "Delete Api Keys",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/api_keys/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        key: "varchar",
        value: "text",
        description: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_changeOrderDescriptionDeleteTree",
      name: "Delete Change Order Description",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/change_order_description/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        update_at: "datetime",
        create_at: "date",
        id: "int",
        description: "text",
        line_item_id: "int",
      },
    },
    {
      id: "_analyticLogDeleteTree",
      name: "Delete Analytic Log",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/analytic_log/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "bigint",
        user_id: "int",
        url: "text",
        path: "text",
        hostname: "text",
        ip: "varchar",
        role: "varchar",
        browser: "varchar",
        country: "varchar",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_postsDeleteTree",
      name: "Delete Posts",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/posts/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        status: "tinyint",
        type: "text",
        data: "text",
        links: "text",
        create_at: "date",
        update_at: "datetime",
      },
    },
    {
      id: "_employeeDeleteTree",
      name: "Delete Employee",
      method: "DELETE",
      description: "",
      route: "/v4/api/records/employee/:id",
      inputs: [
        {
          name: "id",
          type: "path",
          rules: "",
          dataType: "Integer?",
        },
      ],
      response: [
        {
          id: "error",
          key: "error",
          value: "",
          valueType: "Boolean",
          parent: "",
        },
        {
          id: "message",
          key: "message",
          value: "",
          valueType: "String",
          parent: "",
        },
        {
          id: "data",
          key: "data",
          value: "",
          valueType: "Integer",
          parent: "",
        },
      ],
      code: "",
      doc: "",
      unit: "",
      protected: true,
      authorizedRoles: [],
      imports: "",
      type: "default",
      group: "treeql",
      columns: {
        id: "int",
        user_id: "int",
        default_hourly_rate: "int",
        default_profit_overhead: "int",
        create_at: "date",
        update_at: "datetime",
      },
    },
  ],
  ui: [
    {
      id: "cedf5140-1c20-660c-774d-a6d36bfb223b",
      name: "Accountview",
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 1,
          components: [],
          id: "e40754ef-7303-e432-4049-dd621424dc48",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "cedf5140-1c20-660c-774d-a6d36bfb223b",
          children: [],
        },
      ],
    },
    {
      id: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
      name: "Addmaterial",
      components: [
        {
          type: "layout",
          name: "RelativeLayout",
          icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
          order: 16,
          components: [],
          props: {},
          propTypes: {},
          childProps: {
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          childPropTypes: {
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          pageId: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
          id: "993807ed-1158-2d72-23f3-2281e5855e75",
          children: [
            {
              type: "layout",
              name: "RelativeLayout",
              icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
              order: -1,
              components: [],
              props: {},
              propTypes: {},
              childProps: {
                toLeftOf: "",
                toRightOf: "",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "",
              },
              childPropTypes: {
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              id: "e204640c-1d1b-4fbc-7884-4d8ee46a8642",
              parentId: "993807ed-1158-2d72-23f3-2281e5855e75",
              parentName: "RelativeLayout",
              children: [
                {
                  type: "element",
                  name: "TextView",
                  icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
                  order: -1,
                  components: [],
                  props: {
                    text: "Name",
                  },
                  propTypes: {
                    text: "text",
                  },
                  id: "i0glnmyu8ekz-xn95dj-j9ao2y-8rmcz2-mzjszfbrwvqtiuyjy5",
                  parentId: "e204640c-1d1b-4fbc-7884-4d8ee46a8642",
                  parentName: "LinearLayout",
                },
                {
                  type: "element",
                  name: "TextView",
                  icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
                  order: -1,
                  components: [],
                  props: {
                    text: "Unit Cost",
                  },
                  propTypes: {
                    text: "text",
                  },
                  id: "tt5o08am1y2a-2xqfu6-d6uihy-ifafi6-6pkk450e90vpyzhs1p",
                  parentId: "e204640c-1d1b-4fbc-7884-4d8ee46a8642",
                  parentName: "LinearLayout",
                },
              ],
            },
            {
              type: "layout",
              name: "LinearLayout",
              icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
              order: -1,
              components: [],
              id: "995998a3-91f9-1278-fbf6-1dcdd41cf6f8",
              props: {
                orientation: "horizontal",
                width: "match_parent",
                height: "wrap_content",
                toLeftOf: "",
                toRightOf: "",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "true",
              },
              propTypes: {
                orientation: "options_vertical:horizontal",
                width:
                  "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
                height:
                  "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              parentId: "993807ed-1158-2d72-23f3-2281e5855e75",
              parentName: "RelativeLayout",
              children: [
                {
                  type: "element",
                  name: "Button",
                  icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
                  order: -1,
                  components: [],
                  props: {
                    text: "Cancel",
                    onclick: "submit",
                  },
                  propTypes: {
                    text: "text",
                    onclick: "action",
                    to: "skip",
                  },
                  id: "ldlk8cm79j48-x1lipf-zu7n13-9y2m5r-56qwl7hezv22qmtx0u",
                  parentId: "995998a3-91f9-1278-fbf6-1dcdd41cf6f8",
                  parentName: "LinearLayout",
                },
                {
                  type: "element",
                  name: "Button",
                  icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
                  order: -1,
                  components: [],
                  props: {
                    text: "Submit",
                    onclick: "",
                  },
                  propTypes: {
                    text: "text",
                    onclick: "action",
                    to: "skip",
                  },
                  id: "rhygz41im004-vtsqb1-kbbhpd-6sjd53-sjm3cvaqofck1r1ok0",
                  parentId: "995998a3-91f9-1278-fbf6-1dcdd41cf6f8",
                  parentName: "LinearLayout",
                },
              ],
            },
          ],
        },
      ],
    },
    {
      id: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
      name: "Companysetup",
      components: [
        {
          type: "layout",
          name: "RelativeLayout",
          icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
          order: -1,
          components: [],
          props: {},
          propTypes: {},
          childProps: {
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          childPropTypes: {
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          id: "5cedc397-73ca-0247-05e7-f5c32deee49d",
          pageId: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
          children: [
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Default Hourly Rate",
              },
              propTypes: {
                text: "text",
              },
              id: "f13a11ee-c0f8-d9e4-f435-eeade06546dc",
              parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Default Profit Overhead",
              },
              propTypes: {
                text: "text",
              },
              id: "464ba6e4-7c4e-db6f-7af8-b2a742769221",
              parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
              parentName: "LinearLayout",
            },
          ],
        },
        {
          type: "layout",
          name: "RelativeLayout",
          icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
          order: -1,
          components: [],
          props: {},
          propTypes: {},
          childProps: {
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          childPropTypes: {
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          id: "2f313e36-566f-e504-34d5-8356db95861d",
          pageId: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
          children: [
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Workers",
              },
              propTypes: {
                text: "text",
              },
              id: "27ff1748-a96a-9384-c3e0-d4d92fb3c018",
              parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Name",
              },
              propTypes: {
                text: "text",
              },
              id: "0bc73012-cb2a-1781-7569-841891167249",
              parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Hourly Rate",
              },
              propTypes: {
                text: "text",
              },
              id: "771db74e-37c6-c6cd-c62d-b1197ead23b1",
              parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "+ Add",
                onclick: "submit",
                toLeftOf: "",
                toRightOf: "",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              id: "de33bc49-74a1-735c-bc26-4f2dbde093ff",
              parentId: "2f313e36-566f-e504-34d5-8356db95861d",
              parentName: "RelativeLayout",
            },
          ],
        },
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 14,
          components: [],
          id: "e1a5833a-7bf8-8a20-a14e-880533c37ace",
          props: {
            orientation: "horizontal",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
          children: [
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Save",
                onclick: "submit",
                toLeftOf: "",
                toRightOf: "",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              id: "b5480a18-8c78-996e-9717-3174639c8229",
              parentId: "e1a5833a-7bf8-8a20-a14e-880533c37ace",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Save & Continue",
                onclick: "submit",
                toLeftOf: "",
                toRightOf: "",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              id: "945e2d15-15fd-f4d2-a353-4b1157348d5d",
              parentId: "e1a5833a-7bf8-8a20-a14e-880533c37ace",
              parentName: "LinearLayout",
            },
          ],
        },
      ],
    },
    {
      id: "5d406458-0ce8-beab-c688-eb363661dad1",
      name: "Costview",
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 3,
          components: [],
          id: "c0d0f5da-9028-41d6-cb9f-bef20f99a288",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "5d406458-0ce8-beab-c688-eb363661dad1",
          children: [],
        },
      ],
    },
    {
      id: "21324f55-dbc1-a71e-c420-7aed7669de2f",
      name: "Dashboardview",
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 4,
          components: [],
          id: "77f1c763-cf22-e4c0-ab68-bb6edc2475dd",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "21324f55-dbc1-a71e-c420-7aed7669de2f",
          children: [],
        },
      ],
    },
    {
      id: "9f3966f9-5189-5cc1-2b64-cb01cfa27ed7",
      name: "Home",
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 5,
          components: [],
          id: "7a5b7443-6f9d-68c0-c878-86af04ce6636",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "9f3966f9-5189-5cc1-2b64-cb01cfa27ed7",
          children: [],
        },
      ],
    },
    {
      id: "3eccc95d-9b37-e89f-4b9a-1912cc269cb1",
      name: "LabortrackingView",
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 6,
          components: [],
          id: "8e83f3a7-4bd2-3e3c-f458-00a4c7ead46c",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "3eccc95d-9b37-e89f-4b9a-1912cc269cb1",
          children: [],
        },
      ],
    },
    {
      id: "cc620db8-7ec0-eef5-a83d-f7a388b37bf2",
      name: "Linealfootsetup",
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 15,
          components: [],
          id: "99e555d4-d5bd-d22c-d852-bc5ced874f63",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "cc620db8-7ec0-eef5-a83d-f7a388b37bf2",
          children: [
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Add New Lineal foot cost",
                onclick: "navigation",
                to: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
              },
              id: "ce83daf4-1e5d-6e1f-2f8e-1ef9ed13ac5b",
              parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Skip",
                onclick: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
              },
              id: "0e6bb1f7-63e2-b483-1e16-91236a95bde7",
              parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
              parentName: "LinearLayout",
            },
          ],
        },
      ],
    },
    {
      id: "57629038-3779-61e4-9222-413fba948f6d",
      name: "Materiallist",
      components: [
        {
          type: "layout",
          name: "RelativeLayout",
          icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
          order: -1,
          components: [],
          props: {},
          propTypes: {},
          childProps: {
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          childPropTypes: {
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          id: "930da8c7-1e04-545d-49c1-93338ae5a03c",
          pageId: "57629038-3779-61e4-9222-413fba948f6d",
          parentId: "993807ed-1158-2d72-23f3-2281e5855e75",
          parentName: "RelativeLayout",
          children: [
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Add Material",
                onclick: "",
                toLeftOf: "",
                toRightOf: "parent",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "true",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              id: "3df228c4-b4e6-812a-6851-d7dae0756c38",
              parentId: "930da8c7-1e04-545d-49c1-93338ae5a03c",
              parentName: "RelativeLayout",
            },
            {
              type: "layout",
              name: "RecyclerView",
              component: "DATA_COMPONENT",
              icon: "https://cdn-icons-png.flaticon.com/512/4997/4997760.png",
              order: -1,
              components: [],
              props: {
                name: "Data",
                fields: "id, name, unit_cost",
                pass_data: true,
                layout_manager: "linear",
                columns: "2",
                toLeftOf: "",
                toRightOf: "",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "",
              },
              propTypes: {
                name: "text",
                fields: "text",
                pass_data: "boolean",
                layout_manager: "options_linear:grid",
                columns: "options_1:2:3:4:5:6:7:8",
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              id: "084bf25e-2763-3548-dcbf-42f337390e95",
              parentId: "930da8c7-1e04-545d-49c1-93338ae5a03c",
              parentName: "RelativeLayout",
              dataSource: "_materialListTree",
              dataSourceName: "Get Material List",
            },
          ],
        },
      ],
    },
    {
      id: "a763bdbe-c58c-0ed1-110d-00711065d256",
      name: "Materialsetup",
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 15,
          components: [],
          id: "402b8e07-3b82-9324-8133-36f1783d0243",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "a763bdbe-c58c-0ed1-110d-00711065d256",
          children: [
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Add Material",
                onclick: "navigation",
                to: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
              },
              id: "32747828-0ee7-b69d-b9c1-585f02ba0eab",
              parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Skip",
                onclick: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
              },
              id: "62cf8ff1-37d9-1ebf-479f-99c29d0d7700",
              parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
              parentName: "LinearLayout",
            },
          ],
        },
      ],
    },
    {
      id: "63924326-339a-399f-41cf-092404a69bca",
      name: "Projectview",
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 7,
          components: [],
          id: "95f48c05-63a7-07e9-820e-2924141a7c0b",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "63924326-339a-399f-41cf-092404a69bca",
          children: [],
        },
      ],
    },
    {
      id: "e4621fcf-2b34-dfd9-bd36-556d21401819",
      name: "Subcriptionfragment",
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 10,
          components: [],
          id: "951d1db9-3a90-03f5-9fec-40be63508d25",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "e4621fcf-2b34-dfd9-bd36-556d21401819",
          children: [
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Subscription",
              },
              propTypes: {
                text: "text",
              },
              id: "03bafcc0-eff8-418a-de97-55614e63912d",
              parentId: "951d1db9-3a90-03f5-9fec-40be63508d25",
              parentName: "LinearLayout",
            },
            {
              type: "layout",
              name: "LinearLayout",
              icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
              order: -1,
              components: [],
              id: "29e2d580-570d-0f0d-8689-f2e0a051d392",
              props: {
                orientation: "vertical",
                width: "match_parent",
                height: "wrap_content",
              },
              propTypes: {
                orientation: "options_vertical:horizontal",
                width:
                  "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
                height:
                  "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
              },
              parentId: "951d1db9-3a90-03f5-9fec-40be63508d25",
              parentName: "LinearLayout",
              children: [
                {
                  type: "element",
                  name: "TextView",
                  icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
                  order: -1,
                  components: [],
                  props: {
                    text: "$45 / Month",
                  },
                  propTypes: {
                    text: "text",
                  },
                  id: "4999v4boh74v-g7rs3p-910lm0-089xyz-zsrux5qqk05i06j5qe",
                  parentId: "29e2d580-570d-0f0d-8689-f2e0a051d392",
                  parentName: "LinearLayout",
                },
                {
                  type: "element",
                  name: "TextView",
                  icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
                  order: -1,
                  components: [],
                  props: {
                    text: "If the user cancels during the trial period after using it for a few days (e.g., 2 days), they won't receive another free trial if they decide to return to the app later.",
                  },
                  propTypes: {
                    text: "text",
                  },
                  id: "a261ec0b-146d-cd31-8891-4fc42b92c1a0",
                  parentId: "29e2d580-570d-0f0d-8689-f2e0a051d392",
                  parentName: "LinearLayout",
                },
              ],
            },
          ],
        },
        {
          type: "element",
          name: "Button",
          icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
          order: 11,
          components: [],
          props: {
            text: "Start 14 day free trail",
            onclick: "navigation",
            to: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
          },
          propTypes: {
            text: "text",
            onclick: "action",
            to: "skip",
          },
          pageId: "e4621fcf-2b34-dfd9-bd36-556d21401819",
          id: "983d20ec-34d2-072f-d8d3-43f90ecc8706",
          children: [],
        },
      ],
    },
    {
      id: "6814ce22-3722-c1cd-909c-6dcbb8d55c5a",
      name: "Trackingview",
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 8,
          components: [],
          id: "142b3d45-3423-46ef-7ce9-06f976af9ab2",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "6814ce22-3722-c1cd-909c-6dcbb8d55c5a",
          children: [],
        },
      ],
    },
    {
      id: "020f9b50-4247-bfd1-3e07-2e251d0ae286",
      name: "Workerview",
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 9,
          components: [],
          id: "839e9f22-a942-d051-cd61-8372738dcab2",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "020f9b50-4247-bfd1-3e07-2e251d0ae286",
          children: [],
        },
      ],
    },
  ],
  components: [],
  constants: [],
  leftPanel: [
    {
      type: "FRAGMENT",
      name: "Accountview",
      order: 5,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "cedf5140-1c20-660c-774d-a6d36bfb223b",
    },
    {
      type: "FRAGMENT",
      name: "Addmaterial",
      order: 12,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
    },
    {
      type: "FRAGMENT",
      name: "Companysetup",
      order: 9,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
    },
    {
      type: "FRAGMENT",
      name: "Costview",
      order: 3,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "5d406458-0ce8-beab-c688-eb363661dad1",
    },
    {
      type: "FRAGMENT",
      name: "Dashboardview",
      order: 6,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "21324f55-dbc1-a71e-c420-7aed7669de2f",
    },
    {
      type: "FRAGMENT",
      name: "Home",
      order: -1,
      intent: [],
      components: [],
      layout: "LinearLayout",
      container: "LinearLayout",
      id: "9f3966f9-5189-5cc1-2b64-cb01cfa27ed7",
      actions: [],
      props: {
        layout: "LinearLayout",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_LinearLayout",
      },
    },
    {
      type: "FRAGMENT",
      name: "LabortrackingView",
      order: 8,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "3eccc95d-9b37-e89f-4b9a-1912cc269cb1",
    },
    {
      type: "FRAGMENT",
      name: "Linealfootsetup",
      order: 14,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "cc620db8-7ec0-eef5-a83d-f7a388b37bf2",
    },
    {
      type: "FRAGMENT",
      name: "Materiallist",
      order: 13,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "57629038-3779-61e4-9222-413fba948f6d",
    },
    {
      type: "FRAGMENT",
      name: "Materialsetup",
      order: 11,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "a763bdbe-c58c-0ed1-110d-00711065d256",
    },
    {
      type: "FRAGMENT",
      name: "Projectview",
      order: 2,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "63924326-339a-399f-41cf-092404a69bca",
    },
    {
      type: "FRAGMENT",
      name: "Subcriptionfragment",
      order: 10,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "e4621fcf-2b34-dfd9-bd36-556d21401819",
    },
    {
      type: "FRAGMENT",
      name: "Trackingview",
      order: 7,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "6814ce22-3722-c1cd-909c-6dcbb8d55c5a",
    },
    {
      type: "FRAGMENT",
      name: "Workerview",
      order: 4,
      intent: [],
      components: [],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "020f9b50-4247-bfd1-3e07-2e251d0ae286",
    },
  ],
  middlePanel: [
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 1,
      components: [],
      id: "e40754ef-7303-e432-4049-dd621424dc48",
      props: {
        orientation: "vertical",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: "cedf5140-1c20-660c-774d-a6d36bfb223b",
      children: [],
    },
    {
      type: "layout",
      name: "RelativeLayout",
      icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
      order: -1,
      components: [],
      props: {},
      propTypes: {},
      childProps: {
        toLeftOf: "",
        toRightOf: "",
        above: "",
        below: "",
        centerHorizontal: "",
        centerVertical: "",
        centerInParent: "",
        alignParentTop: "",
        alignParentLeft: "",
        alignParentRight: "",
        alignParentBottom: "",
      },
      childPropTypes: {
        toLeftOf: "siblings",
        toRightOf: "siblings",
        above: "siblings",
        below: "siblings",
        centerHorizontal: "options_true:false",
        centerVertical: "options_true:false",
        centerInParent: "options_true:false",
        alignParentTop: "options_true:false",
        alignParentLeft: "options_true:false",
        alignParentRight: "options_true:false",
        alignParentBottom: "options_true:false",
      },
      id: "5cedc397-73ca-0247-05e7-f5c32deee49d",
      pageId: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
      children: [
        {
          type: "element",
          name: "TextView",
          icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
          order: -1,
          components: [],
          props: {
            text: "Default Hourly Rate",
          },
          propTypes: {
            text: "text",
          },
          id: "f13a11ee-c0f8-d9e4-f435-eeade06546dc",
          parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
          parentName: "LinearLayout",
        },
        {
          type: "element",
          name: "TextView",
          icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
          order: -1,
          components: [],
          props: {
            text: "Default Profit Overhead",
          },
          propTypes: {
            text: "text",
          },
          id: "464ba6e4-7c4e-db6f-7af8-b2a742769221",
          parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
          parentName: "LinearLayout",
        },
      ],
    },
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 3,
      components: [],
      id: "c0d0f5da-9028-41d6-cb9f-bef20f99a288",
      props: {
        orientation: "vertical",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: "5d406458-0ce8-beab-c688-eb363661dad1",
      children: [],
    },
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 4,
      components: [],
      id: "77f1c763-cf22-e4c0-ab68-bb6edc2475dd",
      props: {
        orientation: "vertical",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: "21324f55-dbc1-a71e-c420-7aed7669de2f",
      children: [],
    },
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 5,
      components: [],
      id: "7a5b7443-6f9d-68c0-c878-86af04ce6636",
      props: {
        orientation: "vertical",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: "9f3966f9-5189-5cc1-2b64-cb01cfa27ed7",
      children: [],
    },
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 6,
      components: [],
      id: "8e83f3a7-4bd2-3e3c-f458-00a4c7ead46c",
      props: {
        orientation: "vertical",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: "3eccc95d-9b37-e89f-4b9a-1912cc269cb1",
      children: [],
    },
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 7,
      components: [],
      id: "95f48c05-63a7-07e9-820e-2924141a7c0b",
      props: {
        orientation: "vertical",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: "63924326-339a-399f-41cf-092404a69bca",
      children: [],
    },
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 8,
      components: [],
      id: "142b3d45-3423-46ef-7ce9-06f976af9ab2",
      props: {
        orientation: "vertical",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: "6814ce22-3722-c1cd-909c-6dcbb8d55c5a",
      children: [],
    },
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 9,
      components: [],
      id: "839e9f22-a942-d051-cd61-8372738dcab2",
      props: {
        orientation: "vertical",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: "020f9b50-4247-bfd1-3e07-2e251d0ae286",
      children: [],
    },
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 10,
      components: [],
      id: "951d1db9-3a90-03f5-9fec-40be63508d25",
      props: {
        orientation: "vertical",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: "e4621fcf-2b34-dfd9-bd36-556d21401819",
      children: [
        {
          type: "element",
          name: "TextView",
          icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
          order: -1,
          components: [],
          props: {
            text: "Subscription",
          },
          propTypes: {
            text: "text",
          },
          id: "03bafcc0-eff8-418a-de97-55614e63912d",
          parentId: "951d1db9-3a90-03f5-9fec-40be63508d25",
          parentName: "LinearLayout",
        },
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: -1,
          components: [],
          id: "29e2d580-570d-0f0d-8689-f2e0a051d392",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          parentId: "951d1db9-3a90-03f5-9fec-40be63508d25",
          parentName: "LinearLayout",
          children: [
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "$45 / Month",
              },
              propTypes: {
                text: "text",
              },
              id: "4999v4boh74v-g7rs3p-910lm0-089xyz-zsrux5qqk05i06j5qe",
              parentId: "29e2d580-570d-0f0d-8689-f2e0a051d392",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "If the user cancels during the trial period after using it for a few days (e.g., 2 days), they won't receive another free trial if they decide to return to the app later.",
              },
              propTypes: {
                text: "text",
              },
              id: "a261ec0b-146d-cd31-8891-4fc42b92c1a0",
              parentId: "29e2d580-570d-0f0d-8689-f2e0a051d392",
              parentName: "LinearLayout",
            },
          ],
        },
      ],
    },
    {
      type: "element",
      name: "Button",
      icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
      order: 11,
      components: [],
      props: {
        text: "Start 14 day free trail",
        onclick: "navigation",
        to: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
      },
      propTypes: {
        text: "text",
        onclick: "action",
        to: "skip",
      },
      pageId: "e4621fcf-2b34-dfd9-bd36-556d21401819",
      id: "983d20ec-34d2-072f-d8d3-43f90ecc8706",
      children: [],
    },
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 12,
      components: [],
      children: [
        {
          type: "element",
          name: "TextView",
          icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
          order: -1,
          components: [],
          props: {
            text: "Default Hourly Rate",
          },
          propTypes: {
            text: "string",
          },
          id: "914b1efe-7a94-6196-128d-ca1f5ec0d445",
          parentId: "6c4782a2-5026-7e99-6629-2f9cb56eef29",
          parentName: "LinearLayout",
          pageId: {
            type: "FRAGMENT",
            name: "Companysetup",
            order: 9,
            intent: [],
            components: [],
            props: {
              layout: "",
              name: "",
              startDestination: false,
              actions: [],
            },
            propTypes: {
              layout: "options_",
            },
            id: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
          },
        },
        {
          type: "element",
          name: "EditText",
          icon: "https://cdn-icons-png.flaticon.com/512/84/84380.png",
          order: -1,
          components: [],
          props: {
            text: "",
            name: "",
          },
          propTypes: {
            text: "text",
            name: "text",
          },
          id: "b3b4446e-5383-afcb-24e5-1646c65c2361",
          parentId: "6c4782a2-5026-7e99-6629-2f9cb56eef29",
          parentName: "LinearLayout",
          pageId: {
            type: "FRAGMENT",
            name: "Companysetup",
            order: 9,
            intent: [],
            components: [],
            props: {
              layout: "",
              name: "",
              startDestination: false,
              actions: [],
            },
            propTypes: {
              layout: "options_",
            },
            id: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
          },
        },
      ],
      id: "6c4782a2-5026-7e99-6629-2f9cb56eef29",
      props: {
        orientation: "vertical",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: {
        type: "FRAGMENT",
        name: "Companysetup",
        order: 9,
        intent: [],
        components: [],
        props: {
          layout: "",
          name: "",
          startDestination: false,
          actions: [],
        },
        propTypes: {
          layout: "options_",
        },
        id: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
      },
    },
    {
      type: "layout",
      name: "RelativeLayout",
      icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
      order: -1,
      components: [],
      props: {},
      propTypes: {},
      childProps: {
        toLeftOf: "",
        toRightOf: "",
        above: "",
        below: "",
        centerHorizontal: "",
        centerVertical: "",
        centerInParent: "",
        alignParentTop: "",
        alignParentLeft: "",
        alignParentRight: "",
        alignParentBottom: "",
      },
      childPropTypes: {
        toLeftOf: "siblings",
        toRightOf: "siblings",
        above: "siblings",
        below: "siblings",
        centerHorizontal: "options_true:false",
        centerVertical: "options_true:false",
        centerInParent: "options_true:false",
        alignParentTop: "options_true:false",
        alignParentLeft: "options_true:false",
        alignParentRight: "options_true:false",
        alignParentBottom: "options_true:false",
      },
      id: "2f313e36-566f-e504-34d5-8356db95861d",
      pageId: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
      children: [
        {
          type: "element",
          name: "TextView",
          icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
          order: -1,
          components: [],
          props: {
            text: "Workers",
          },
          propTypes: {
            text: "text",
          },
          id: "27ff1748-a96a-9384-c3e0-d4d92fb3c018",
          parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
          parentName: "LinearLayout",
        },
        {
          type: "element",
          name: "TextView",
          icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
          order: -1,
          components: [],
          props: {
            text: "Name",
          },
          propTypes: {
            text: "text",
          },
          id: "0bc73012-cb2a-1781-7569-841891167249",
          parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
          parentName: "LinearLayout",
        },
        {
          type: "element",
          name: "TextView",
          icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
          order: -1,
          components: [],
          props: {
            text: "Hourly Rate",
          },
          propTypes: {
            text: "text",
          },
          id: "771db74e-37c6-c6cd-c62d-b1197ead23b1",
          parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
          parentName: "LinearLayout",
        },
        {
          type: "element",
          name: "Button",
          icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
          order: -1,
          components: [],
          props: {
            text: "+ Add",
            onclick: "submit",
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          propTypes: {
            text: "text",
            onclick: "action",
            to: "skip",
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          id: "de33bc49-74a1-735c-bc26-4f2dbde093ff",
          parentId: "2f313e36-566f-e504-34d5-8356db95861d",
          parentName: "RelativeLayout",
        },
      ],
    },
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 14,
      components: [],
      id: "e1a5833a-7bf8-8a20-a14e-880533c37ace",
      props: {
        orientation: "horizontal",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
      children: [
        {
          type: "element",
          name: "Button",
          icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
          order: -1,
          components: [],
          props: {
            text: "Save",
            onclick: "submit",
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          propTypes: {
            text: "text",
            onclick: "action",
            to: "skip",
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          id: "b5480a18-8c78-996e-9717-3174639c8229",
          parentId: "e1a5833a-7bf8-8a20-a14e-880533c37ace",
          parentName: "LinearLayout",
        },
        {
          type: "element",
          name: "Button",
          icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
          order: -1,
          components: [],
          props: {
            text: "Save & Continue",
            onclick: "submit",
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          propTypes: {
            text: "text",
            onclick: "action",
            to: "skip",
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          id: "945e2d15-15fd-f4d2-a353-4b1157348d5d",
          parentId: "e1a5833a-7bf8-8a20-a14e-880533c37ace",
          parentName: "LinearLayout",
        },
      ],
    },
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 15,
      components: [],
      id: "402b8e07-3b82-9324-8133-36f1783d0243",
      props: {
        orientation: "vertical",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: "a763bdbe-c58c-0ed1-110d-00711065d256",
      children: [
        {
          type: "element",
          name: "Button",
          icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
          order: -1,
          components: [],
          props: {
            text: "Add Material",
            onclick: "navigation",
            to: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
          },
          propTypes: {
            text: "text",
            onclick: "action",
            to: "skip",
          },
          id: "32747828-0ee7-b69d-b9c1-585f02ba0eab",
          parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
          parentName: "LinearLayout",
        },
        {
          type: "element",
          name: "Button",
          icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
          order: -1,
          components: [],
          props: {
            text: "Skip",
            onclick: "",
          },
          propTypes: {
            text: "text",
            onclick: "action",
            to: "skip",
          },
          id: "62cf8ff1-37d9-1ebf-479f-99c29d0d7700",
          parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
          parentName: "LinearLayout",
        },
      ],
    },
    {
      type: "layout",
      name: "RelativeLayout",
      icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
      order: 16,
      components: [],
      props: {},
      propTypes: {},
      childProps: {
        toLeftOf: "",
        toRightOf: "",
        above: "",
        below: "",
        centerHorizontal: "",
        centerVertical: "",
        centerInParent: "",
        alignParentTop: "",
        alignParentLeft: "",
        alignParentRight: "",
        alignParentBottom: "",
      },
      childPropTypes: {
        toLeftOf: "siblings",
        toRightOf: "siblings",
        above: "siblings",
        below: "siblings",
        centerHorizontal: "options_true:false",
        centerVertical: "options_true:false",
        centerInParent: "options_true:false",
        alignParentTop: "options_true:false",
        alignParentLeft: "options_true:false",
        alignParentRight: "options_true:false",
        alignParentBottom: "options_true:false",
      },
      pageId: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
      id: "993807ed-1158-2d72-23f3-2281e5855e75",
      children: [
        {
          type: "layout",
          name: "RelativeLayout",
          icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
          order: -1,
          components: [],
          props: {},
          propTypes: {},
          childProps: {
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          childPropTypes: {
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          id: "e204640c-1d1b-4fbc-7884-4d8ee46a8642",
          parentId: "993807ed-1158-2d72-23f3-2281e5855e75",
          parentName: "RelativeLayout",
          children: [
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Name",
              },
              propTypes: {
                text: "text",
              },
              id: "i0glnmyu8ekz-xn95dj-j9ao2y-8rmcz2-mzjszfbrwvqtiuyjy5",
              parentId: "e204640c-1d1b-4fbc-7884-4d8ee46a8642",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Unit Cost",
              },
              propTypes: {
                text: "text",
              },
              id: "tt5o08am1y2a-2xqfu6-d6uihy-ifafi6-6pkk450e90vpyzhs1p",
              parentId: "e204640c-1d1b-4fbc-7884-4d8ee46a8642",
              parentName: "LinearLayout",
            },
          ],
        },
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: -1,
          components: [],
          id: "995998a3-91f9-1278-fbf6-1dcdd41cf6f8",
          props: {
            orientation: "horizontal",
            width: "match_parent",
            height: "wrap_content",
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "true",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          parentId: "993807ed-1158-2d72-23f3-2281e5855e75",
          parentName: "RelativeLayout",
          children: [
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Cancel",
                onclick: "submit",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
              },
              id: "ldlk8cm79j48-x1lipf-zu7n13-9y2m5r-56qwl7hezv22qmtx0u",
              parentId: "995998a3-91f9-1278-fbf6-1dcdd41cf6f8",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Submit",
                onclick: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
              },
              id: "rhygz41im004-vtsqb1-kbbhpd-6sjd53-sjm3cvaqofck1r1ok0",
              parentId: "995998a3-91f9-1278-fbf6-1dcdd41cf6f8",
              parentName: "LinearLayout",
            },
          ],
        },
      ],
    },
    {
      type: "layout",
      name: "RelativeLayout",
      icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
      order: -1,
      components: [],
      props: {},
      propTypes: {},
      childProps: {
        toLeftOf: "",
        toRightOf: "",
        above: "",
        below: "",
        centerHorizontal: "",
        centerVertical: "",
        centerInParent: "",
        alignParentTop: "",
        alignParentLeft: "",
        alignParentRight: "",
        alignParentBottom: "",
      },
      childPropTypes: {
        toLeftOf: "siblings",
        toRightOf: "siblings",
        above: "siblings",
        below: "siblings",
        centerHorizontal: "options_true:false",
        centerVertical: "options_true:false",
        centerInParent: "options_true:false",
        alignParentTop: "options_true:false",
        alignParentLeft: "options_true:false",
        alignParentRight: "options_true:false",
        alignParentBottom: "options_true:false",
      },
      id: "930da8c7-1e04-545d-49c1-93338ae5a03c",
      pageId: "57629038-3779-61e4-9222-413fba948f6d",
      parentId: "993807ed-1158-2d72-23f3-2281e5855e75",
      parentName: "RelativeLayout",
      children: [
        {
          type: "element",
          name: "Button",
          icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
          order: -1,
          components: [],
          props: {
            text: "Add Material",
            onclick: "",
            toLeftOf: "",
            toRightOf: "parent",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "true",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          propTypes: {
            text: "text",
            onclick: "action",
            to: "skip",
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          id: "3df228c4-b4e6-812a-6851-d7dae0756c38",
          parentId: "930da8c7-1e04-545d-49c1-93338ae5a03c",
          parentName: "RelativeLayout",
        },
        {
          type: "layout",
          name: "RecyclerView",
          component: "DATA_COMPONENT",
          icon: "https://cdn-icons-png.flaticon.com/512/4997/4997760.png",
          order: -1,
          components: [],
          props: {
            name: "Data",
            fields: "id, name, unit_cost",
            pass_data: true,
            layout_manager: "linear",
            columns: "2",
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          propTypes: {
            name: "text",
            fields: "text",
            pass_data: "boolean",
            layout_manager: "options_linear:grid",
            columns: "options_1:2:3:4:5:6:7:8",
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          id: "084bf25e-2763-3548-dcbf-42f337390e95",
          parentId: "930da8c7-1e04-545d-49c1-93338ae5a03c",
          parentName: "RelativeLayout",
          dataSource: "_materialListTree",
          dataSourceName: "Get Material List",
        },
      ],
    },
    {
      type: "layout",
      name: "LinearLayout",
      icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
      order: 15,
      components: [],
      id: "99e555d4-d5bd-d22c-d852-bc5ced874f63",
      props: {
        orientation: "vertical",
        width: "match_parent",
        height: "wrap_content",
      },
      propTypes: {
        orientation: "options_vertical:horizontal",
        width:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
        height:
          "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      },
      pageId: "cc620db8-7ec0-eef5-a83d-f7a388b37bf2",
      children: [
        {
          type: "element",
          name: "Button",
          icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
          order: -1,
          components: [],
          props: {
            text: "Add New Lineal foot cost",
            onclick: "navigation",
            to: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
          },
          propTypes: {
            text: "text",
            onclick: "action",
            to: "skip",
          },
          id: "ce83daf4-1e5d-6e1f-2f8e-1ef9ed13ac5b",
          parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
          parentName: "LinearLayout",
        },
        {
          type: "element",
          name: "Button",
          icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
          order: -1,
          components: [],
          props: {
            text: "Skip",
            onclick: "",
          },
          propTypes: {
            text: "text",
            onclick: "action",
            to: "skip",
          },
          id: "0e6bb1f7-63e2-b483-1e16-91236a95bde7",
          parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
          parentName: "LinearLayout",
        },
      ],
    },
  ],
  rightPanel: {
    type: "element",
    name: "EditText",
    icon: "https://cdn-icons-png.flaticon.com/512/84/84380.png",
    order: -1,
    components: [],
    props: {
      text: "Kapil",
      name: "namefield",
      toLeftOf: "",
      toRightOf: "",
      above: "",
      below: "",
      centerHorizontal: "",
      centerVertical: "",
      centerInParent: "",
      alignParentTop: "",
      alignParentLeft: "",
      alignParentRight: "",
      alignParentBottom: "",
    },
    propTypes: {
      text: "text",
      name: "text",
      toLeftOf: "siblings",
      toRightOf: "siblings",
      above: "siblings",
      below: "siblings",
      centerHorizontal: "options_true:false",
      centerVertical: "options_true:false",
      centerInParent: "options_true:false",
      alignParentTop: "options_true:false",
      alignParentLeft: "options_true:false",
      alignParentRight: "options_true:false",
      alignParentBottom: "options_true:false",
    },
    id: "e32b5f6f-a689-4ea9-42ef-5d2bcdfdd9f9",
    parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
    parentName: "RelativeLayout",
  },
  selectedComponent: "5cedc397-73ca-0247-05e7-f5c32deee49d",
  rightComponentId: "e32b5f6f-a689-4ea9-42ef-5d2bcdfdd9f9",
  selectedPageComponent: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
  nav: "sideBar",
  fragment: [
    {
      type: "FRAGMENT",
      name: "Accountview",
      order: 5,
      intent: [],
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 1,
          components: [],
          id: "e40754ef-7303-e432-4049-dd621424dc48",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "cedf5140-1c20-660c-774d-a6d36bfb223b",
          children: [],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "cedf5140-1c20-660c-774d-a6d36bfb223b",
    },
    {
      type: "FRAGMENT",
      name: "Addmaterial",
      order: 12,
      intent: [],
      components: [
        {
          type: "layout",
          name: "RelativeLayout",
          icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
          order: 16,
          components: [],
          props: {},
          propTypes: {},
          childProps: {
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          childPropTypes: {
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          pageId: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
          id: "993807ed-1158-2d72-23f3-2281e5855e75",
          children: [
            {
              type: "layout",
              name: "RelativeLayout",
              icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
              order: -1,
              components: [],
              props: {},
              propTypes: {},
              childProps: {
                toLeftOf: "",
                toRightOf: "",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "",
              },
              childPropTypes: {
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              id: "e204640c-1d1b-4fbc-7884-4d8ee46a8642",
              parentId: "993807ed-1158-2d72-23f3-2281e5855e75",
              parentName: "RelativeLayout",
              children: [
                {
                  type: "element",
                  name: "TextView",
                  icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
                  order: -1,
                  components: [],
                  props: {
                    text: "Name",
                  },
                  propTypes: {
                    text: "text",
                  },
                  id: "i0glnmyu8ekz-xn95dj-j9ao2y-8rmcz2-mzjszfbrwvqtiuyjy5",
                  parentId: "e204640c-1d1b-4fbc-7884-4d8ee46a8642",
                  parentName: "LinearLayout",
                },
                {
                  type: "element",
                  name: "TextView",
                  icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
                  order: -1,
                  components: [],
                  props: {
                    text: "Unit Cost",
                  },
                  propTypes: {
                    text: "text",
                  },
                  id: "tt5o08am1y2a-2xqfu6-d6uihy-ifafi6-6pkk450e90vpyzhs1p",
                  parentId: "e204640c-1d1b-4fbc-7884-4d8ee46a8642",
                  parentName: "LinearLayout",
                },
              ],
            },
            {
              type: "layout",
              name: "LinearLayout",
              icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
              order: -1,
              components: [],
              id: "995998a3-91f9-1278-fbf6-1dcdd41cf6f8",
              props: {
                orientation: "horizontal",
                width: "match_parent",
                height: "wrap_content",
                toLeftOf: "",
                toRightOf: "",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "true",
              },
              propTypes: {
                orientation: "options_vertical:horizontal",
                width:
                  "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
                height:
                  "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              parentId: "993807ed-1158-2d72-23f3-2281e5855e75",
              parentName: "RelativeLayout",
              children: [
                {
                  type: "element",
                  name: "Button",
                  icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
                  order: -1,
                  components: [],
                  props: {
                    text: "Cancel",
                    onclick: "submit",
                  },
                  propTypes: {
                    text: "text",
                    onclick: "action",
                    to: "skip",
                  },
                  id: "ldlk8cm79j48-x1lipf-zu7n13-9y2m5r-56qwl7hezv22qmtx0u",
                  parentId: "995998a3-91f9-1278-fbf6-1dcdd41cf6f8",
                  parentName: "LinearLayout",
                },
                {
                  type: "element",
                  name: "Button",
                  icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
                  order: -1,
                  components: [],
                  props: {
                    text: "Submit",
                    onclick: "",
                  },
                  propTypes: {
                    text: "text",
                    onclick: "action",
                    to: "skip",
                  },
                  id: "rhygz41im004-vtsqb1-kbbhpd-6sjd53-sjm3cvaqofck1r1ok0",
                  parentId: "995998a3-91f9-1278-fbf6-1dcdd41cf6f8",
                  parentName: "LinearLayout",
                },
              ],
            },
          ],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
    },
    {
      type: "FRAGMENT",
      name: "Companysetup",
      order: 9,
      intent: [],
      components: [
        {
          type: "layout",
          name: "RelativeLayout",
          icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
          order: -1,
          components: [],
          props: {},
          propTypes: {},
          childProps: {
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          childPropTypes: {
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          id: "5cedc397-73ca-0247-05e7-f5c32deee49d",
          pageId: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
          children: [
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Default Hourly Rate",
              },
              propTypes: {
                text: "text",
              },
              id: "f13a11ee-c0f8-d9e4-f435-eeade06546dc",
              parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Default Profit Overhead",
              },
              propTypes: {
                text: "text",
              },
              id: "464ba6e4-7c4e-db6f-7af8-b2a742769221",
              parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
              parentName: "LinearLayout",
            },
          ],
        },
        {
          type: "layout",
          name: "RelativeLayout",
          icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
          order: -1,
          components: [],
          props: {},
          propTypes: {},
          childProps: {
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          childPropTypes: {
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          id: "2f313e36-566f-e504-34d5-8356db95861d",
          pageId: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
          children: [
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Workers",
              },
              propTypes: {
                text: "text",
              },
              id: "27ff1748-a96a-9384-c3e0-d4d92fb3c018",
              parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Name",
              },
              propTypes: {
                text: "text",
              },
              id: "0bc73012-cb2a-1781-7569-841891167249",
              parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Hourly Rate",
              },
              propTypes: {
                text: "text",
              },
              id: "771db74e-37c6-c6cd-c62d-b1197ead23b1",
              parentId: "5cedc397-73ca-0247-05e7-f5c32deee49d",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "+ Add",
                onclick: "submit",
                toLeftOf: "",
                toRightOf: "",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              id: "de33bc49-74a1-735c-bc26-4f2dbde093ff",
              parentId: "2f313e36-566f-e504-34d5-8356db95861d",
              parentName: "RelativeLayout",
            },
          ],
        },
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 14,
          components: [],
          id: "e1a5833a-7bf8-8a20-a14e-880533c37ace",
          props: {
            orientation: "horizontal",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
          children: [
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Save",
                onclick: "submit",
                toLeftOf: "",
                toRightOf: "",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              id: "b5480a18-8c78-996e-9717-3174639c8229",
              parentId: "e1a5833a-7bf8-8a20-a14e-880533c37ace",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Save & Continue",
                onclick: "submit",
                toLeftOf: "",
                toRightOf: "",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              id: "945e2d15-15fd-f4d2-a353-4b1157348d5d",
              parentId: "e1a5833a-7bf8-8a20-a14e-880533c37ace",
              parentName: "LinearLayout",
            },
          ],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
    },
    {
      type: "FRAGMENT",
      name: "Costview",
      order: 3,
      intent: [],
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 3,
          components: [],
          id: "c0d0f5da-9028-41d6-cb9f-bef20f99a288",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "5d406458-0ce8-beab-c688-eb363661dad1",
          children: [],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "5d406458-0ce8-beab-c688-eb363661dad1",
    },
    {
      type: "FRAGMENT",
      name: "Dashboardview",
      order: 6,
      intent: [],
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 4,
          components: [],
          id: "77f1c763-cf22-e4c0-ab68-bb6edc2475dd",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "21324f55-dbc1-a71e-c420-7aed7669de2f",
          children: [],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "21324f55-dbc1-a71e-c420-7aed7669de2f",
    },
    {
      type: "FRAGMENT",
      name: "Home",
      order: -1,
      intent: [],
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 5,
          components: [],
          id: "7a5b7443-6f9d-68c0-c878-86af04ce6636",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "9f3966f9-5189-5cc1-2b64-cb01cfa27ed7",
          children: [],
        },
      ],
      layout: "LinearLayout",
      container: "LinearLayout",
      id: "9f3966f9-5189-5cc1-2b64-cb01cfa27ed7",
      actions: [],
      props: {
        layout: "LinearLayout",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_LinearLayout",
      },
    },
    {
      type: "FRAGMENT",
      name: "LabortrackingView",
      order: 8,
      intent: [],
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 6,
          components: [],
          id: "8e83f3a7-4bd2-3e3c-f458-00a4c7ead46c",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "3eccc95d-9b37-e89f-4b9a-1912cc269cb1",
          children: [],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "3eccc95d-9b37-e89f-4b9a-1912cc269cb1",
    },
    {
      type: "FRAGMENT",
      name: "Linealfootsetup",
      order: 14,
      intent: [],
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 15,
          components: [],
          id: "99e555d4-d5bd-d22c-d852-bc5ced874f63",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "cc620db8-7ec0-eef5-a83d-f7a388b37bf2",
          children: [
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Add New Lineal foot cost",
                onclick: "navigation",
                to: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
              },
              id: "ce83daf4-1e5d-6e1f-2f8e-1ef9ed13ac5b",
              parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Skip",
                onclick: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
              },
              id: "0e6bb1f7-63e2-b483-1e16-91236a95bde7",
              parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
              parentName: "LinearLayout",
            },
          ],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "cc620db8-7ec0-eef5-a83d-f7a388b37bf2",
    },
    {
      type: "FRAGMENT",
      name: "Materiallist",
      order: 13,
      intent: [],
      components: [
        {
          type: "layout",
          name: "RelativeLayout",
          icon: "https://cdn-icons-png.flaticon.com/128/1607/1607252.png",
          order: -1,
          components: [],
          props: {},
          propTypes: {},
          childProps: {
            toLeftOf: "",
            toRightOf: "",
            above: "",
            below: "",
            centerHorizontal: "",
            centerVertical: "",
            centerInParent: "",
            alignParentTop: "",
            alignParentLeft: "",
            alignParentRight: "",
            alignParentBottom: "",
          },
          childPropTypes: {
            toLeftOf: "siblings",
            toRightOf: "siblings",
            above: "siblings",
            below: "siblings",
            centerHorizontal: "options_true:false",
            centerVertical: "options_true:false",
            centerInParent: "options_true:false",
            alignParentTop: "options_true:false",
            alignParentLeft: "options_true:false",
            alignParentRight: "options_true:false",
            alignParentBottom: "options_true:false",
          },
          id: "930da8c7-1e04-545d-49c1-93338ae5a03c",
          pageId: "57629038-3779-61e4-9222-413fba948f6d",
          parentId: "993807ed-1158-2d72-23f3-2281e5855e75",
          parentName: "RelativeLayout",
          children: [
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Add Material",
                onclick: "",
                toLeftOf: "",
                toRightOf: "parent",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "true",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              id: "3df228c4-b4e6-812a-6851-d7dae0756c38",
              parentId: "930da8c7-1e04-545d-49c1-93338ae5a03c",
              parentName: "RelativeLayout",
            },
            {
              type: "layout",
              name: "RecyclerView",
              component: "DATA_COMPONENT",
              icon: "https://cdn-icons-png.flaticon.com/512/4997/4997760.png",
              order: -1,
              components: [],
              props: {
                name: "Data",
                fields: "id, name, unit_cost",
                pass_data: true,
                layout_manager: "linear",
                columns: "2",
                toLeftOf: "",
                toRightOf: "",
                above: "",
                below: "",
                centerHorizontal: "",
                centerVertical: "",
                centerInParent: "",
                alignParentTop: "",
                alignParentLeft: "",
                alignParentRight: "",
                alignParentBottom: "",
              },
              propTypes: {
                name: "text",
                fields: "text",
                pass_data: "boolean",
                layout_manager: "options_linear:grid",
                columns: "options_1:2:3:4:5:6:7:8",
                toLeftOf: "siblings",
                toRightOf: "siblings",
                above: "siblings",
                below: "siblings",
                centerHorizontal: "options_true:false",
                centerVertical: "options_true:false",
                centerInParent: "options_true:false",
                alignParentTop: "options_true:false",
                alignParentLeft: "options_true:false",
                alignParentRight: "options_true:false",
                alignParentBottom: "options_true:false",
              },
              id: "084bf25e-2763-3548-dcbf-42f337390e95",
              parentId: "930da8c7-1e04-545d-49c1-93338ae5a03c",
              parentName: "RelativeLayout",
              dataSource: "_materialListTree",
              dataSourceName: "Get Material List",
            },
          ],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "57629038-3779-61e4-9222-413fba948f6d",
    },
    {
      type: "FRAGMENT",
      name: "Materialsetup",
      order: 11,
      intent: [],
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 15,
          components: [],
          id: "402b8e07-3b82-9324-8133-36f1783d0243",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "a763bdbe-c58c-0ed1-110d-00711065d256",
          children: [
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Add Material",
                onclick: "navigation",
                to: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
              },
              id: "32747828-0ee7-b69d-b9c1-585f02ba0eab",
              parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
              parentName: "LinearLayout",
            },
            {
              type: "element",
              name: "Button",
              icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
              order: -1,
              components: [],
              props: {
                text: "Skip",
                onclick: "",
              },
              propTypes: {
                text: "text",
                onclick: "action",
                to: "skip",
              },
              id: "62cf8ff1-37d9-1ebf-479f-99c29d0d7700",
              parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
              parentName: "LinearLayout",
            },
          ],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "a763bdbe-c58c-0ed1-110d-00711065d256",
    },
    {
      type: "FRAGMENT",
      name: "Projectview",
      order: 2,
      intent: [],
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 7,
          components: [],
          id: "95f48c05-63a7-07e9-820e-2924141a7c0b",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "63924326-339a-399f-41cf-092404a69bca",
          children: [],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "63924326-339a-399f-41cf-092404a69bca",
    },
    {
      type: "FRAGMENT",
      name: "Subcriptionfragment",
      order: 10,
      intent: [],
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 10,
          components: [],
          id: "951d1db9-3a90-03f5-9fec-40be63508d25",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "e4621fcf-2b34-dfd9-bd36-556d21401819",
          children: [
            {
              type: "element",
              name: "TextView",
              icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
              order: -1,
              components: [],
              props: {
                text: "Subscription",
              },
              propTypes: {
                text: "text",
              },
              id: "03bafcc0-eff8-418a-de97-55614e63912d",
              parentId: "951d1db9-3a90-03f5-9fec-40be63508d25",
              parentName: "LinearLayout",
            },
            {
              type: "layout",
              name: "LinearLayout",
              icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
              order: -1,
              components: [],
              id: "29e2d580-570d-0f0d-8689-f2e0a051d392",
              props: {
                orientation: "vertical",
                width: "match_parent",
                height: "wrap_content",
              },
              propTypes: {
                orientation: "options_vertical:horizontal",
                width:
                  "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
                height:
                  "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
              },
              parentId: "951d1db9-3a90-03f5-9fec-40be63508d25",
              parentName: "LinearLayout",
              children: [
                {
                  type: "element",
                  name: "TextView",
                  icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
                  order: -1,
                  components: [],
                  props: {
                    text: "$45 / Month",
                  },
                  propTypes: {
                    text: "text",
                  },
                  id: "4999v4boh74v-g7rs3p-910lm0-089xyz-zsrux5qqk05i06j5qe",
                  parentId: "29e2d580-570d-0f0d-8689-f2e0a051d392",
                  parentName: "LinearLayout",
                },
                {
                  type: "element",
                  name: "TextView",
                  icon: "https://cdn-icons-png.flaticon.com/512/32/32329.png",
                  order: -1,
                  components: [],
                  props: {
                    text: "If the user cancels during the trial period after using it for a few days (e.g., 2 days), they won't receive another free trial if they decide to return to the app later.",
                  },
                  propTypes: {
                    text: "text",
                  },
                  id: "a261ec0b-146d-cd31-8891-4fc42b92c1a0",
                  parentId: "29e2d580-570d-0f0d-8689-f2e0a051d392",
                  parentName: "LinearLayout",
                },
              ],
            },
          ],
        },
        {
          type: "element",
          name: "Button",
          icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
          order: 11,
          components: [],
          props: {
            text: "Start 14 day free trail",
            onclick: "navigation",
            to: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
          },
          propTypes: {
            text: "text",
            onclick: "action",
            to: "skip",
          },
          pageId: "e4621fcf-2b34-dfd9-bd36-556d21401819",
          id: "983d20ec-34d2-072f-d8d3-43f90ecc8706",
          children: [],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "e4621fcf-2b34-dfd9-bd36-556d21401819",
    },
    {
      type: "FRAGMENT",
      name: "Trackingview",
      order: 7,
      intent: [],
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 8,
          components: [],
          id: "142b3d45-3423-46ef-7ce9-06f976af9ab2",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "6814ce22-3722-c1cd-909c-6dcbb8d55c5a",
          children: [],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "6814ce22-3722-c1cd-909c-6dcbb8d55c5a",
    },
    {
      type: "FRAGMENT",
      name: "Workerview",
      order: 4,
      intent: [],
      components: [
        {
          type: "layout",
          name: "LinearLayout",
          icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
          order: 9,
          components: [],
          id: "839e9f22-a942-d051-cd61-8372738dcab2",
          props: {
            orientation: "vertical",
            width: "match_parent",
            height: "wrap_content",
          },
          propTypes: {
            orientation: "options_vertical:horizontal",
            width:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
            height:
              "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
          },
          pageId: "020f9b50-4247-bfd1-3e07-2e251d0ae286",
          children: [],
        },
      ],
      props: {
        layout: "",
        name: "",
        startDestination: false,
        actions: [],
      },
      propTypes: {
        layout: "options_",
      },
      id: "020f9b50-4247-bfd1-3e07-2e251d0ae286",
    },
  ],
  activity: [],
  copyComponent: {
    type: "layout",
    name: "LinearLayout",
    icon: "https://cdn-icons-png.flaticon.com/512/3094/3094321.png",
    order: 15,
    components: [],
    id: "402b8e07-3b82-9324-8133-36f1783d0243",
    props: {
      orientation: "vertical",
      width: "match_parent",
      height: "wrap_content",
    },
    propTypes: {
      orientation: "options_vertical:horizontal",
      width: "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
      height:
        "options_match_parent:wrap_content:10dp:20dp:30dp:40dp:50dp:100dp",
    },
    pageId: "a763bdbe-c58c-0ed1-110d-00711065d256",
    children: [
      {
        type: "element",
        name: "Button",
        icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
        order: -1,
        components: [],
        props: {
          text: "Add Material",
          onclick: "navigation",
          to: "1d84d9cb-f95d-779b-4d3a-86f978680dee",
        },
        propTypes: {
          text: "text",
          onclick: "action",
          to: "skip",
        },
        id: "32747828-0ee7-b69d-b9c1-585f02ba0eab",
        parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
        parentName: "LinearLayout",
      },
      {
        type: "element",
        name: "Button",
        icon: "https://cdn-icons-png.flaticon.com/512/3305/3305815.png",
        order: -1,
        components: [],
        props: {
          text: "Skip",
          onclick: "",
        },
        propTypes: {
          text: "text",
          onclick: "action",
          to: "skip",
        },
        id: "62cf8ff1-37d9-1ebf-479f-99c29d0d7700",
        parentId: "402b8e07-3b82-9324-8133-36f1783d0243",
        parentName: "LinearLayout",
      },
    ],
  },
  changedState: 0,
  loading: false,
  selectedPageId: {
    type: "FRAGMENT",
    name: "Companysetup",
    order: 9,
    intent: [],
    components: [],
    props: {
      layout: "",
      name: "",
      startDestination: false,
      actions: [],
    },
    propTypes: {
      layout: "options_",
    },
    id: "f4460074-1148-d24b-7351-eb4f7dc26d4a",
  },
  disabledComponent: false,
};

const targetId = "f4460074-1148-d24b-7351-eb4f7dc26d4a";

const components = androidConfig.middlePanel.filter(
  (component) => component.pageId?.id == targetId
);
console.log("components >>", components?.length);
