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: '', 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);