@getanthill/datastore
Version:
Event-Sourced Datastore
37 lines • 3.65 kB
JavaScript
;
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) {
const { config } = services;
const app = express_1.default.Router({ mergeParams: true });
app
.use((req, res, next) => {
res.locals.model = req.params.model;
next();
})
.get('/', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'read')), (0, controllers_1.find)(services))
.post('/', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'write')), (0, controllers_1.create)(services))
.get('/events', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'read')), (0, controllers_1.getEvents)(services))
.post('/encrypt', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'decrypt')), (0, controllers_1.encrypt)(services))
.post('/decrypt', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'decrypt')), (0, controllers_1.decrypt)(services))
.get('/:correlation_id', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'read')), (0, controllers_1.get)(services))
.post('/:correlation_id', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'write')), (0, controllers_1.update)(services))
.patch('/:correlation_id', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'write')), (0, controllers_1.patch)(services))
.get('/:correlation_id/events', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'read')), (0, controllers_1.getEvents)(services))
.post('/:correlation_id/snapshot', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'write')), (0, controllers_1.createSnapshot)(services))
.get('/:correlation_id/data', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'read')), (0, controllers_1.getGraphData)(services))
.post('/:correlation_id/archive', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'write')), (0, controllers_1.archive)(services))
.post('/:correlation_id/unarchive', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'write')), (0, controllers_1.unarchive)(services))
.delete('/:correlation_id', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'write')), (0, controllers_1.deleteEntity)(services))
.get('/:correlation_id/:version', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'read')), (0, controllers_1.timetravel)(services))
.post('/:correlation_id/:version/restore', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'write')), (0, controllers_1.restore)(services))
.post('/:correlation_id/:event_type/:event_version', (0, middleware_1.authenticate)((0, middleware_1.getTokensByRole)(config.security.tokens, 'write')), (0, controllers_1.apply)(services));
return app;
}
exports.default = routes;
//# sourceMappingURL=index.js.map