UNPKG

openhim-core

Version:

The OpenHIM core application that provides logging and routing of http requests

123 lines (97 loc) 5.88 kB
var Q, audits, authentication, bodyParser, certificateAuthority, channels, clients, config, contactGroups, cors, heartbeat, keystore, koa, mediators, metrics, route, router, serverRestart, statsd, tasks, transactions, users, visualizer; koa = require('koa'); route = require('koa-route'); cors = require('koa-cors'); router = require('./middleware/router'); bodyParser = require('koa-body-parser'); authentication = require('./api/authentication'); users = require('./api/users'); clients = require('./api/clients'); transactions = require('./api/transactions'); channels = require('./api/channels'); tasks = require('./api/tasks'); contactGroups = require('./api/contactGroups'); visualizer = require('./api/visualizer'); Q = require('q'); mediators = require('./api/mediators'); metrics = require('./api/metrics'); keystore = require('./api/keystore'); serverRestart = require('./api/restart'); audits = require('./api/audits'); statsd = require('./api/statsd'); config = require('./config/config'); heartbeat = require('./api/heartbeat'); certificateAuthority = require('./api/certificateAuthority'); exports.setupApp = function(done) { var app; app = koa(); app.use(cors()); app.use(bodyParser()); app.use(route.get('/heartbeat', heartbeat.getHeartbeat)); app.use(route.get('/new-user/:token', users.getNewUser)); app.use(route.put('/new-user/:token', users.updateNewUser)); app.use(route.get('/authenticate/:username', users.authenticate)); app.use(authentication.authenticate); app.use(route.get('/users', users.getUsers)); app.use(route.get('/users/:email', users.getUser)); app.use(route.post('/users', users.addUser)); app.use(route.put('/users/:email', users.updateUser)); app.use(route["delete"]('/users/:email', users.removeUser)); app.use(route.get('/clients', clients.getClients)); app.use(route.get('/clients/:clientId', clients.getClient)); app.use(route.post('/clients', clients.addClient)); app.use(route.get('/clients/domain/:clientDomain', clients.findClientByDomain)); app.use(route.put('/clients/:clientId', clients.updateClient)); app.use(route["delete"]('/clients/:clientId', clients.removeClient)); app.use(route.get('/clients/:clientId/:property', clients.getClient)); app.use(route.get('/transactions', transactions.getTransactions)); app.use(route.post('/transactions', transactions.addTransaction)); app.use(route.get('/transactions/:transactionId', transactions.getTransactionById)); app.use(route.get('/transactions/clients/:clientId', transactions.findTransactionByClientId)); app.use(route.put('/transactions/:transactionId', transactions.updateTransaction)); app.use(route["delete"]('/transactions/:transactionId', transactions.removeTransaction)); app.use(route.get('/groups', contactGroups.getContactGroups)); app.use(route.get('/groups/:contactGroupId', contactGroups.getContactGroup)); app.use(route.post('/groups', contactGroups.addContactGroup)); app.use(route.put('/groups/:contactGroupId', contactGroups.updateContactGroup)); app.use(route["delete"]('/groups/:contactGroupId', contactGroups.removeContactGroup)); app.use(route.get('/channels', channels.getChannels)); app.use(route.post('/channels', channels.addChannel)); app.use(route.get('/channels/:channelId', channels.getChannel)); app.use(route.put('/channels/:channelId', channels.updateChannel)); app.use(route["delete"]('/channels/:channelId', channels.removeChannel)); app.use(route.get('/tasks', tasks.getTasks)); app.use(route.post('/tasks', tasks.addTask)); app.use(route.get('/tasks/:taskId', tasks.getTask)); app.use(route.put('/tasks/:taskId', tasks.updateTask)); app.use(route["delete"]('/tasks/:taskId', tasks.removeTask)); app.use(route.get('/visualizer/events/:receivedTime', visualizer.getLatestEvents)); app.use(route.get('/visualizer/sync', visualizer.sync)); app.use(route.get('/metrics', config.statsd.enabled ? statsd.retrieveTransactionCountPerHour : metrics.getGlobalLoadTimeMetrics)); app.use(route.get('/metrics/status', config.statsd.enabled ? statsd.fetchGlobalStatusMetrics : metrics.getGlobalStatusMetrics)); app.use(route.get('/metrics/:type/:channelId', config.statsd.enabled ? statsd.retrieveChannelMetrics : metrics.getChannelMetrics)); app.use(route.get('/metrics/load-time', config.statsd.enabled ? statsd.retrieveAverageLoadTimePerHour : metrics.getGlobalLoadTimeMetrics)); app.use(route.get('/mediators', mediators.getAllMediators)); app.use(route.get('/mediators/:uuid', mediators.getMediator)); app.use(route.post('/mediators', mediators.addMediator)); app.use(route["delete"]('/mediators/:urn', mediators.removeMediator)); app.use(route.post('/mediators/:urn/heartbeat', mediators.heartbeat)); app.use(route.put('/mediators/:urn/config', mediators.setConfig)); app.use(route.get('/keystore/cert', keystore.getServerCert)); app.use(route.post('/keystore/cert', keystore.setServerCert)); app.use(route.get('/keystore/ca', keystore.getCACerts)); app.use(route.get('/keystore/ca/:certId', keystore.getCACert)); app.use(route["delete"]('/keystore/ca/:certId', keystore.removeCACert)); app.use(route.post('/keystore/key', keystore.setServerKey)); app.use(route.post('/keystore/ca/cert', keystore.addTrustedCert)); app.use(route.get('/keystore/validity', keystore.verifyServerKeys)); app.use(route.post('/keystore/passphrase', keystore.setServerPassphrase)); app.use(route.post('/restart', serverRestart.restart)); app.use(route.post('/audits', audits.addAudit)); app.use(route.get('/audits', audits.getAudits)); app.use(route.get('/audits/:auditId', audits.getAuditById)); app.use(route.get('/audits-filter-options', audits.getAuditsFilterOptions)); app.use(route.post('/certificates', certificateAuthority.generateCert)); return done(app); }; //# sourceMappingURL=koaApi.js.map