const {  } = require("../controllers/customFields")
const { getAllProjectsInstallation,updateTemplate,addApointment, fetchAllApointments, 
    updateProjectInstallationDate, fetchApointmentById, getAllCustomerOrders, getProductsById, getLocationsById, 
    getTotalPaidAmountByRequestId, addInstallationNote, editInstallationNote, deleteInstallationNote, 
    fetchNotesByInstallationId, addInstallationTemplate, getAllInstallationTemplate, deleteInstallationTemplate, 
    getInstTemplateData, saveInstTemplate, getInstTemplateDatabyId, updateInstTemplate, updateInstallationStatus, updateInstallationHoldStatus,
    completeInstallationReview,
    rejectInstallationReview,
    DuplicateTemplate, deactivateInstallationTemplate, updateInstallationAddress,saveProjectOrder,
    updateLatLong,convertJobToInstallation,updateInstallationsAssignToDriver,reassignInstallationToDriver, 
    updateProjectInstallationDateInProject,reassignInstallationToDriverInsideDetails,
    assignInstallationsAssignToDriverInsideDetails,
    updateInstallationspickupshipping,saveInstTemplateForMultipleInstallation,reduceInstallationCount,
    fetchAllApointmentsCount,
    getAllInstallsTabCount,
    getAllPickupTabCount,
    getAllShippingTabCount,
    reducePickupCount,
    reduceShippingCount,
    getAllTeamAndDrivers,
    deleteInstallationById,
    convertJobToBuildOrderComplete,
    convertJobToNoChargeComplete,
    convertSingleJobToInstallationSplitBuildOrder,
    fetchAllApointmentsCalendar,
    fetchAllApointmentsFilter,
    getInstallationByTeamId,
    getInstallationTaskByRequestId} = require("../controllers/installation")



const installation = [
    {
        method : "POST",
        url : "/webservice/installation/all-project",
        handler : getAllProjectsInstallation
    },
    {
        method : "POST",
        url : "/webservice/installation/all-project-team-and-drivers",
        handler : getAllTeamAndDrivers
    },
    {
        method : "POST",
        url : "/webservice/installation/fetch-products",
        handler : getProductsById
    },
    {
        method : "POST",
        url : "/webservice/installation/fetch-locations",
        handler : getLocationsById
    },
    {
        method : "POST",
        url : "/webservice/installation/fetch-total-paid",
        handler : getTotalPaidAmountByRequestId
    },
    {
        method : "POST",
        url : "/webservice/installation/add-appointment",
        handler : addApointment
    },
    {
        method : "POST",
        url : "/webservice/installation/fetch-apointment-by-id",
        handler : fetchApointmentById
    },
    {
        method : "POST",
        url : "/webservice/installation/installs-tabs-count",
        handler : getAllInstallsTabCount
    },
    {
        method : "POST",
        url : "/webservice/pickup/pick-tabs-count",
        handler : getAllPickupTabCount
    },
    {
        method : "POST",
        url : "/webservice/shipping/shipping-tabs-count",
        handler : getAllShippingTabCount
    },
    {
        method : "POST",
        url : "/webservice/installation/fetch-all-appointments-filter",
        handler : fetchAllApointmentsFilter
    },
    {
        method : "POST",
        url : "/webservice/installation/fetch-all-appointments",
        handler : fetchAllApointments
    },
    {
        method : "POST",
        url : "/webservice/installation/fetch-all-appointments-calendar",
        handler : fetchAllApointmentsCalendar
    },
    {
        method : "POST",
        url : "/webservice/installation/fetch-all-appointments-count",
        handler : fetchAllApointmentsCount
    },
    {
        method : "POST",
        url : "/webservice/installation/update-installation-date",
        handler :updateProjectInstallationDate
    },
    {
        method : "POST",
        url : "/webservice/installation/update-installation-date-in-job",
        handler :updateProjectInstallationDateInProject
    },
    {
        method : "POST",
        url : "/webservice/installation/get-all-customer-orders",
        handler :getAllCustomerOrders
    },
    {
        method : "POST",
        url : "/webservice/installation/add-installation-note",
        handler :addInstallationNote
    },
    {
        method : "POST",
        url : "/webservice/installation/edit-installation-note",
        handler :editInstallationNote
    },
    {
        method : "POST",
        url : "/webservice/installation/delete-installation-note",
        handler :deleteInstallationNote
    },
    {
        method : "POST",
        url : "/webservice/installation/fetch-notes-by-installation-id",
        handler :fetchNotesByInstallationId
    },
    {
        method : "POST",
        url : "/webservice/installation/add-template",
        handler :addInstallationTemplate
    },
    {
        method : "POST",
        url : "/webservice/installation/get-all-template",
        handler :getAllInstallationTemplate
    },
    {
        method : "POST",
        url : "/webservice/installation/delete-template",
        handler :deleteInstallationTemplate
    },
    {
        method : "POST",
        url : "/webservice/installation/deactivate-template",
        handler :deactivateInstallationTemplate
    },
    {
        method : "POST",
        url : "/webservice/installation/template-view",
        handler :getInstTemplateData
    },
    {
        method : "POST",
        url : "/webservice/installation/save-template",
        handler :saveInstTemplate
    },
    {
        method : "POST",
        url : "/webservice/installation/get-template-data",
        handler :getInstTemplateDatabyId
    },
    {
        method : "POST",
        url : "/webservice/installation/update-inst-template",
        handler :updateInstTemplate
    },
    {
        method: "POST",
        url: "/webservice/installation/update-installation-hold-status",
        handler: updateInstallationHoldStatus,
    },
    {
        method: "POST",
        url: "/webservice/installation/update-installation-status",
        handler: updateInstallationStatus,
    },
    {
        method: "POST",
        url: "/webservice/installation/complete-installation-review",
        handler: completeInstallationReview,
    },
    {
        method: "POST",
        url: "/webservice/installation/reject-installation-review",
        handler: rejectInstallationReview,
    },
    {
        method: "POST",
        url: "/webservice/installation/duplicate-template",
        handler: DuplicateTemplate,
    },
    {
        method: "POST",
        url: "/webservice/installation/update-template",
        handler:updateTemplate,
    },
    {
        method: "POST",
        url: "/webservice/installation/update-address",
        handler:updateInstallationAddress,
    },
    {
        method: "POST",
        url: "/webservice/installation/save-card-order",
        handler:saveProjectOrder,
    },
    {
        method: "POST",
        url: "/webservice/installation/update-lat-lng",
        handler:updateLatLong,
    },
    {
        method: "POST",
        url: "/webservice/installation/convert-job-to-installation",
        handler:convertJobToInstallation,
    },
    {
        method: "POST",
        url: "/webservice/installation/convert-job-to-installation-split-product",
        handler: convertSingleJobToInstallationSplitBuildOrder,
    },
    {
        method: "POST",
        url: "/webservice/installation/complete-job-build-order",
        handler:convertJobToBuildOrderComplete,
    },
    {
        method: "POST",
        url: "/webservice/installation/complete-job-no-charge",
        handler:convertJobToNoChargeComplete,
    },
    {
        method: "POST",
        url: "/webservice/installation/assign-installation-to-driver",
        handler:updateInstallationsAssignToDriver,
    },
    {
        method: "POST",
        url: "/webservice/installation/delete-installations",
        handler:deleteInstallationById,
    },
    {
        method: "POST",
        url: "/webservice/installation/convert-installation-status",
        handler:updateInstallationspickupshipping,
    },
    {
        method: "POST",
        url: "/webservice/installation/re-assign-installation-to-driver",
        handler:reassignInstallationToDriver,
    },
    {
        method: "POST",
        url: "/webservice/installation/re-assign-installation-to-driver-inside-details",
        handler:reassignInstallationToDriverInsideDetails,
    },
    {
        method: "POST",
        url: "/webservice/installation/assign-installation-to-driver-inside-details",
        handler:assignInstallationsAssignToDriverInsideDetails,
    },
    {
        method : "POST",
        url : "/webservice/installation/save-multiple-template",
        handler :saveInstTemplateForMultipleInstallation
    },
    {
        method: 'POST',
        url: '/webservice/installation/reduce-count',
        handler: reduceInstallationCount,
    },
    {
        method: 'POST',
        url: '/webservice/pickup/reduce-count',
        handler: reducePickupCount,
    },
    {
        method: 'POST',
        url: '/webservice/shipping/reduce-count',
        handler: reduceShippingCount,
    },
    {
        method: 'POST',
        url: '/webservice/installation/get-installation-by-team-id',
        handler: getInstallationByTeamId,
    },
    {
        method: 'POST',
        url: '/webservice/installation/get-installation-task-by-request-id',
        handler: getInstallationTaskByRequestId,
    },
]

module.exports =installation