const express = require("express"); const validateFirebaseIdTokenMiddleware = require("../middleware/validateFirebaseIdTokenMiddleware"); const { subscribe, unsubscribe, sendNotification } = require("../firebase/firebase-handler"); const eventAuthorizationMiddleware = require("../middleware/eventAuthorizationMIddleware"); const { handleJobsChange, handleBillsChange, handlePartsOrderChange, handlePartsDispatchChange, handleTasksChange, handleTimeTicketsChange, handleNotesChange, handlePaymentsChange, handleDocumentsChange, handleJobLinesChange } = require("../notifications/eventHandlers"); const router = express.Router(); // These are FCM handlers router.post("/subscribe", validateFirebaseIdTokenMiddleware, subscribe); router.post("/unsubscribe", validateFirebaseIdTokenMiddleware, unsubscribe); router.post("/sendtestnotification", validateFirebaseIdTokenMiddleware, sendNotification); // Hasura Entry points for creating notifications router.post("/events/handleJobsChange", eventAuthorizationMiddleware, handleJobsChange); router.post("/events/handleBillsChange", eventAuthorizationMiddleware, handleBillsChange); router.post("/events/handlePartsOrderChange", eventAuthorizationMiddleware, handlePartsOrderChange); router.post("/events/handlePartsDispatchChange", eventAuthorizationMiddleware, handlePartsDispatchChange); router.post("/events/handleTasksChange", eventAuthorizationMiddleware, handleTasksChange); router.post("/events/handleTimeTicketsChange", eventAuthorizationMiddleware, handleTimeTicketsChange); router.post("/events/handleNotesChange", eventAuthorizationMiddleware, handleNotesChange); router.post("/events/handlePaymentsChange", eventAuthorizationMiddleware, handlePaymentsChange); router.post("/events/handleDocumentsChange", eventAuthorizationMiddleware, handleDocumentsChange); router.post("/events/handleJobLinesChange", eventAuthorizationMiddleware, handleJobLinesChange); module.exports = router;