Newer
Older
const Router = require('koa-router')
const controller = (name, method) => require(`./controllers/${ name }`)[method]
const multer = require('@koa/multer')
const AuthServer = require('domain/authentication/AuthServer')
const includes = require('./middleware/parseIncludes')
const upload = multer({ dest: '/tmp/' })
web.get('/login', ctx => {
const data = {}
if (ctx.query.login_state) {
data.login_state = ctx.query.login_state
}
return ctx.render('auth/login', data)
})
web.post('/login', controller('auth', 'login'))
web.get('/reset-password', controller('auth', 'resetPassword'))
web.post('/reset-password', controller('auth', 'handleResetPassword'))
web.get('/auth/authorize', AuthServer.authorize)
web.post('/auth/authorize', AuthServer.authorize)
function mount(api) {
api.use(require('./middleware/api/errors'))
api.use(includes)
api.post('/metrics', controller('api/content', 'postMetric'))
api.get('/metrics', controller('api/content', 'getWithin'))
api.get('/images', controller('api/storage', 'getFiles'))
api.post('/images', upload.single('featured_image'), controller('api/storage', 'saveFile'))
api.post('/images/:imageId/feature', controller('api/storage', 'featureImage'))
/** @deprecated */
api.post('/feature', upload.single('featured_image'), controller('api/storage', 'saveFile'))
api.get('/feed', controller('api/storage', 'feed'))
api.post('/feed/:fileId/like',controller('api/storage', 'like'))
api.post('/feed/:fileId/unlike', controller('api/storage', 'unlike'))
api.post('/register', controller('api/auth', 'register'))
api.post('/login', controller('api/auth', 'login'))
api.post('/auth/reset-token', controller('api/auth', 'triggerPasswordReset'))
api.post('/auth/reset-password', controller('api/auth', 'handlePasswordReset'))

Louis
committed
api.get('/self/bundles', controller('api/app', 'getBundles'))
api.put('/self/:property', controller('api/user', 'updateOne'))
api.post('/feedback', controller('api/feedback', 'send'))
}
const apiRouter = new Router({ prefix: '/api' })
const apiLegacy = new Router({ prefix: '/api/api' })
mount(apiRouter)
mount(apiLegacy)