feature/IO-3701-Harness-Replacement - Implement

This commit is contained in:
Dave
2026-05-20 14:41:24 -04:00
parent 84ec68f142
commit deb2fc28ce
100 changed files with 4813 additions and 773 deletions

View File

@@ -1,7 +1,19 @@
const express = require("express");
const router = express.Router();
const validateFirebaseIdTokenMiddleware = require("../middleware/validateFirebaseIdTokenMiddleware");
const { createAssociation, createShop, updateShop, updateCounter } = require("../admin/adminops");
const {
createAssociation,
createShop,
updateShop,
updateCounter,
getFeatureFlags,
getBodyshopFeatureFlags,
createFeatureFlag,
updateFeatureFlag,
deleteFeatureFlag,
getFeatureFlagBodyshops,
updateFeatureFlagBodyshops
} = require("../admin/adminops");
const { updateUser, getUser, createUser, getWelcomeEmail, getResetLink } = require("../firebase/firebase-handler");
const validateAdminMiddleware = require("../middleware/validateAdminMiddleware");
@@ -12,6 +24,13 @@ router.post("/createassociation", createAssociation);
router.post("/createshop", createShop);
router.post("/updateshop", updateShop);
router.post("/updatecounter", updateCounter);
router.get("/feature-flags", getFeatureFlags);
router.post("/feature-flags", createFeatureFlag);
router.get("/feature-flags/:name/bodyshops", getFeatureFlagBodyshops);
router.put("/feature-flags/:name/bodyshops", updateFeatureFlagBodyshops);
router.put("/feature-flags/:name", updateFeatureFlag);
router.delete("/feature-flags/:name", deleteFeatureFlag);
router.get("/bodyshops/:bodyshopId/feature-flags", getBodyshopFeatureFlags);
router.post("/updateuser", updateUser);
router.post("/getuser", getUser);
router.post("/createuser", createUser);

View File

@@ -0,0 +1,27 @@
const express = require("express");
const validateFirebaseIdTokenMiddleware = require("../middleware/validateFirebaseIdTokenMiddleware");
const withUserGraphQLClientMiddleware = require("../middleware/withUserGraphQLClientMiddleware");
const eventAuthorizationMiddleware = require("../middleware/eventAuthorizationMIddleware");
const {
getBodyshopFeatureFlags,
invalidateBodyshopFeatureFlags
} = require("../feature-flags/feature-flags");
const router = express.Router();
/**
* Returns runtime feature flags for a bodyshop the authenticated user can access.
*/
router.get(
"/bodyshops/:bodyshopId",
validateFirebaseIdTokenMiddleware,
withUserGraphQLClientMiddleware,
getBodyshopFeatureFlags
);
/**
* Receives Hasura event-trigger callbacks that invalidate feature flag runtime caches.
*/
router.post("/cache/invalidate", eventAuthorizationMiddleware, invalidateBodyshopFeatureFlags);
module.exports = router;