Files
bodyshop/server/routes/notificationsRoutes.js
2025-05-05 15:02:44 -04:00

40 lines
2.0 KiB
JavaScript

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,
handleAutoAddWatchers
} = 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);
router.post("/events/handleAutoAdd", eventAuthorizationMiddleware, handleAutoAddWatchers);
module.exports = router;