diff --git a/frontend/src/api.js b/frontend/src/api.js index 9c71024..55d9149 100644 --- a/frontend/src/api.js +++ b/frontend/src/api.js @@ -5,6 +5,8 @@ import { useErrorStore } from "./stores/errors"; const ZIPPOPOTAMUS_BASE_URL = "https://api.zippopotam.us/us"; // Proxy method for external API calls const FRAPPE_PROXY_METHOD = "custom_ui.api.proxy.request"; +// On-Site Meeting methods +const FRAPPE_GET_INCOMPLETE_BIDS_METHOD = "custom_ui.api.db.on_site_meetings.get_incomplete_bids"; // Estimate methods const FRAPPE_UPSERT_ESTIMATE_METHOD = "custom_ui.api.db.estimates.upsert_estimate"; const FRAPPE_GET_ESTIMATES_METHOD = "custom_ui.api.db.estimates.get_estimate_table_data"; @@ -14,7 +16,7 @@ const FRAPPE_LOCK_ESTIMATE_METHOD = "custom_ui.api.db.estimates.lock_estimate"; const FRAPPE_ESTIMATE_UPDATE_RESPONSE_METHOD = "custom_ui.api.db.estimates.manual_response"; const FRAPPE_GET_ESTIMATE_TEMPLATES_METHOD = "custom_ui.api.db.estimates.get_estimate_templates"; const FRAPPE_CREATE_ESTIMATE_TEMPLATE_METHOD = "custom_ui.api.db.estimates.create_estimate_template"; -const FRAPPE_GET_UNAPPROVED_ESTIMATES_COUNT_METHOD = "custom_ui.api.db.estimates.get_unnaproved_estimates_count"; +const FRAPPE_GET_UNAPPROVED_ESTIMATES_COUNT_METHOD = "custom_ui.api.db.estimates.get_unapproved_estimates_count"; const FRAPPE_GET_ESTIMATES_HALF_DOWN_COUNT_METHOD = "custom_ui.api.db.estimates.get_estimates_half_down_count"; // Job methods const FRAPPE_GET_JOB_METHOD = "custom_ui.api.db.jobs.get_job"; @@ -26,6 +28,10 @@ const FRAPPE_GET_INSTALL_PROJECTS_METHOD = "custom_ui.api.db.jobs.get_install_pr const FRAPPE_GET_JOBS_FOR_CALENDAR_METHOD = "custom_ui.api.db.jobs.get_projects_for_calendar"; const FRAPPE_GET_JOB_TEMPLATES_METHOD = "custom_ui.api.db.jobs.get_job_templates"; const FRAPPE_UPDATE_JOB_SCHEDULED_DATES_METHOD = "custom_ui.api.db.jobs.update_job_scheduled_dates"; +const FRAPPE_GET_JOBS_IN_QUEUE_METHOD = "custom_ui.api.db.jobs.get_jobs_in_queue_count"; +const FRAPPE_GET_JOBS_IN_PROGRESS_METHOD = "custom_ui.api.db.jobs.get_jobs_in_progress_count"; +const FRAPPE_GET_JOBS_LATE_METHOD = "custom_ui.api.db.jobs.get_jobs_late_count"; +const FRAPPE_GET_JOBS_TO_INVOICE_METHOD = "custom_ui.api.db.jobs.get_jobs_to_invoice_count"; // Task methods const FRAPPE_GET_TASKS_METHOD = "custom_ui.api.db.tasks.get_tasks_table_data"; const FRAPPE_GET_TASKS_STATUS_OPTIONS = "custom_ui.api.db.tasks.get_task_status_options"; @@ -34,6 +40,8 @@ const FRAPPE_GET_TASKS_DUE_METHOD = "custom_ui.api.db.tasks.get_tasks_due"; // Invoice methods const FRAPPE_GET_INVOICES_METHOD = "custom_ui.api.db.invoices.get_invoice_table_data"; const FRAPPE_UPSERT_INVOICE_METHOD = "custom_ui.api.db.invoices.upsert_invoice"; +const FRAPPE_GET_INVOICES_LATE_METHOD = "custom_ui.api.db.invoices.get_invoices_late_count"; +const FRAPPE_CREATE_INVOICE_FOR_JOB = "custom_ui.api.db.invoices.create_invoice_for_job"; // Warranty methods const FRAPPE_GET_WARRANTY_CLAIMS_METHOD = "custom_ui.api.db.warranties.get_warranty_claims"; // On-Site Meeting methods @@ -240,6 +248,11 @@ class Api { return result; } + static async getIncompleteBidsCount(currentCompany) { + const result = await this.request(FRAPPE_GET_INCOMPLETE_BIDS_METHOD, { company: currentCompany }); + return result; + } + static async createEstimate(estimateData) { const result = await this.request(FRAPPE_UPSERT_ESTIMATE_METHOD, { data: estimateData }); return result; @@ -265,12 +278,12 @@ class Api { return await this.request(FRAPPE_CREATE_ESTIMATE_TEMPLATE_METHOD, { data }); } - static async getUnapprovedEstimatesCount() { - return await this.request(FRAPPE_GET_UNAPPROVED_ESTIMATES_COUNT_METHOD, {}); + static async getUnapprovedEstimatesCount(currentCompany) { + return await this.request(FRAPPE_GET_UNAPPROVED_ESTIMATES_COUNT_METHOD, {company: currentCompany}); } - static async getEstimatesHalfDownCount() { - return await this.request(FRAPPE_GET_ESTIMATES_HALF_DOWN_COUNT_METHOD, {}); + static async getEstimatesHalfDownCount(currentCompany) { + return await this.request(FRAPPE_GET_ESTIMATES_HALF_DOWN_COUNT_METHOD, {company: currentCompany}); } // ============================================================================ @@ -342,6 +355,26 @@ class Api { }); } + static async getJobsInQueueCount(currentCompany) { + return await this.request(FRAPPE_GET_JOBS_IN_QUEUE_METHOD, {company: currentCompany}); + } + + static async getJobsInProgressCount(currentCompany) { + return await this.request(FRAPPE_GET_JOBS_IN_PROGRESS_METHOD, {company: currentCompany}); + } + + static async getJobsLateCount(currentCompany) { + return await this.request(FRAPPE_GET_JOBS_LATE_METHOD, {company: currentCompany}); + } + + static async getJobsToInvoiceCount(currentCompany) { + return await this.request(FRAPPE_GET_JOBS_TO_INVOICE_METHOD, {company: currentCompany}); + } + + static async setJobCompleted(jobName) { + return await this.request(FRAPPE_SET_JOB_COMPLETE_METHOD, {jobName: jobName}); + } + static async getJob(jobName) { if (frappe.db.exists("Project", jobName)) { const result = await this.request(FRAPPE_GET_JOB_METHOD, { jobId: jobName }) @@ -491,6 +524,16 @@ class Api { return result; } + static async getInvoicesLateCount(currentCompany) { + const result = await this.request(FRAPPE_GET_INVOICES_LATE_METHOD, { company: currentCompany }); + return result; + } + + static async createInvoiceForJob(jobName) { + const result = await this.request(FRAPPE_CREATE_INVOICE_FOR_JOB, { jobName: jobName }); + return result; + } + // ============================================================================ // WARRANTY METHODS // ============================================================================