UNPKG

@getanthill/datastore

Version:

Event-Sourced Datastore

28 lines 1.92 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const express_1 = __importDefault(require("express")); const middleware_1 = require("../middleware"); const controllers_1 = require("./controllers"); function routes(services, openApi) { const { config, telemetry } = services; const app = express_1.default.Router({ mergeParams: true }); app .get('/', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'read')), (0, controllers_1.getModels)(services)) .get('/graph', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'read')), (0, controllers_1.getGraph)(services)) .get('/:model/schema', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'read')), (0, controllers_1.getSchema)(services)); if (config.features.api.admin !== true) { return app; } telemetry.logger.info('[Feature] Admin API enabled'); app .post('/', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'admin')), (0, controllers_1.create)(services, openApi)) .post('/:model', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'admin')), (0, controllers_1.update)(services, openApi)) .post('/:model/indexes', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'admin')), (0, controllers_1.createModelIndexes)(services)) .post('/rotate/keys', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'admin')), (0, controllers_1.rotateEncryptionKeys)(services)); return app; } exports.default = routes; //# sourceMappingURL=index.js.map