28 lines
929 B
JavaScript
28 lines
929 B
JavaScript
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;
|