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;