csa-backend-test/app/routes/crash.route.js

47 lines
1.9 KiB
JavaScript

// LIBRARY IMPORT
const router = require("express").Router()
// CONTROLLER IMPORT
const crash_controller = require("../controllers/crash.controller.js")
// MIDDLEWARE IMPORT
const { validateApiKey } = require("../middleware/middleware.js");
router.post("/crash/report", validateApiKey, crash_controller.reportCrash);
router.post("/crash/session/start", validateApiKey, crash_controller.startSession);
router.post("/crash/session/end", validateApiKey, crash_controller.endSession);
router.get("/crash/reports", validateApiKey, crash_controller.getCrashReports);
router.get("/crash/reports/:crashId", validateApiKey, crash_controller.getCrashDetails);
router.put("/crash/reports/:crashId/status", validateApiKey, crash_controller.updateCrashStatus);
router.get("/crash/analytics", validateApiKey, crash_controller.getCrashAnalytics);
router.get("/crash/top", validateApiKey, crash_controller.getTopCrashes);
// CHART & VISUALIZATION ROUTES
router.get("/crash/charts/trends", validateApiKey, crash_controller.getCrashTrends);
router.get("/crash/charts/device", validateApiKey, crash_controller.getCrashByDevice);
router.get("/crash/charts/os-version", validateApiKey, crash_controller.getCrashByOSVersion);
router.get("/crash/charts/exception-type", validateApiKey, crash_controller.getCrashByExceptionType);
router.get("/crash/charts/severity", validateApiKey, crash_controller.getCrashBySeverity);
router.get("/crash/charts/app-version", validateApiKey, crash_controller.getCrashByAppVersion);
router.get("/crash/charts/heatmap", validateApiKey, crash_controller.getCrashHeatmap);
router.get("/crash/charts/hourly", validateApiKey, crash_controller.getCrashByHour);
router.get("/crash/charts/overview", validateApiKey, crash_controller.getCrashOverview);
router.get("/crash/charts/affected-users", validateApiKey, crash_controller.getAffectedUsersTimeline);
module.exports = router