Skip to content
Snippets Groups Projects
Verified Commit acdf11eb authored by Louis's avatar Louis :fire:
Browse files

Set up v2 router

parent b6fcc46b
No related branches found
No related tags found
No related merge requests found
const context = require('http/middleware/ThreadContextWrapper')
const errors = require('http/middleware/ErrorHandler')
const includes = require('http/middleware/ParseIncludes')
const profiling = require('http/middleware/Profiler')
const loaders = require('http/middleware/MountLoaders')
const device = require('http/middleware/DeviceProperties').extractDevice
exports.apiMiddlewareGroup = [
context,
profiling,
errors,
includes,
loaders,
device,
]
const Router = require('@koa/router')
const { apiMiddlewareGroup } = require('../middleware/groups')
const router = new Router()
const controller = (path, handler) => require(`../controllers/${path}`)[handler]
const param = name => require(`../params/${name}`)
apiMiddlewareGroup.forEach(middleware => router.use(middleware))
router.post('/auth/login')
router.post('/auth/register')
router.post('/auth/password-reset')
router.get('/self')
router.get('/self/bundles')
router.get('/self/:property')
router.get('/metrics')
router.post('/metrics')
router.get('/images')
router.post('/images')
router.post('/images/:imageId/share')
router.post('/an/ev', controller('api/analytics', 'track'))
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'))
api.param('oauthClientId', param('oauth_client'))
api.get('/oauth/clients', controller('api/oauth', 'listClients'))
api.post('/oauth/clients', controller('api/oauth', 'createClient'))
api.post(
'/oauth/clients/:oauthClientId/redirects',
controller('api/oauth', 'addClientRedirect'),
)
api.delete(
'/oauth/clients/:oauthClientId/redirects',
controller('api/oauth', 'removeClientRedirect'),
)
api.get('/self', controller('api/user', 'self'))
api.get('/self/bundles', controller('api/app', 'getBundles'))
api.put('/self/:property', controller('api/user', 'updateOne'))
api.post('/an/id', async ctx => {})
api.post('/an/ev', controller('api/analytics', 'track'))
api.post('/feedback', controller('api/feedback', 'send'))
module.exports = router
const Sentry = require('@sentry/node') const Sentry = require('@sentry/node')
const Tracing = require('@sentry/tracing') const Tracing = require('@sentry/tracing')
const blockedPaths = new Set(['/api/.secure/jwks', '/api']) const blockedPaths = new Set(['/api/.secure/jwks', '/api', '/api/an/ev'])
exports.configure = function () { exports.configure = function () {
const pkg = require('../../package.json') const pkg = require('../../package.json')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment