const express = require("express"); const validateFirebaseIdTokenMiddleware = require("../middleware/validateFirebaseIdTokenMiddleware"); const { subscribe, unsubscribe, sendNotification } = require("../firebase/firebase-handler"); const eventAuthorizationMiddleware = require("../middleware/eventAuthorizationMIddleware"); const handlePartsOrderChange = require("../notifications/eventHandlers/handlePartsOrderChange"); const handlePartsDispatchChange = require("../notifications/eventHandlers/handlePartsDispatchChange"); const handleTasksChange = require("../notifications/eventHandlers/handleTasksChange"); const handleTimeTicketsChange = require("../notifications/eventHandlers/handleTimeTicketsChange"); const handleJobsChange = require("../notifications/eventHandlers/handeJobsChange"); const handleBillsChange = require("../notifications/eventHandlers/handleBillsChange"); 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); module.exports = router;