Files
bodyshop/server/routes/featureFlagRoutes.js

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;