summary refs log tree commit diff
path: root/src/api/routes.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/routes.js')
-rw-r--r--src/api/routes.js73
1 files changed, 22 insertions, 51 deletions
diff --git a/src/api/routes.js b/src/api/routes.js

index 5151187..ade440e 100644 --- a/src/api/routes.js +++ b/src/api/routes.js
@@ -15,60 +15,31 @@ function logHttpEntry(method, route, exampleBody) { export function registerRoutes(app) { // http file header: console.log('%', ''); - - // app.get("/status", routes.statusRoute); let routeCount = 0; - Object.values(routes).forEach(route => { - console.log('Registering route:', route); - if (!route.route) - throw new Error( - "Route definition is missing 'route' property: " + - JSON.stringify(route) - ); - - if (route.onGet) { - if (route.onGetValidation) - app.get(route.route, route.onGetValidation, route.onGet); - else app.get(route.route, route.onGet); - routeCount++; - logHttpEntry('GET', route.route, route.exampleGetBody); - } - - if (route.onPost) { - if (route.onPostValidation) - app.post(route.route, route.onPostValidation, route.onPost); - else app.post(route.route, route.onPost); - routeCount++; - logHttpEntry('POST', route.route, route.examplePostBody); - } - if (route.onPut) { - if (route.onPutValidation) - app.put(route.route, route.onPutValidation, route.onPut); - else app.put(route.route, route.onPut); + Object.keys(routes).forEach(routeName => { + /** + * @type {RouteDescription} + */ + const route = routes[routeName]; + console.log( + `Registering ${routeName} (${route.path})`, + routes[routeName] + ); + + Object.keys(route.methods).forEach(routeMethodName => { + /** + * @type {RouteMethod} + */ + const routeMethod = route.methods[routeMethodName]; + console.log(routeMethodName, routeMethod); + app[routeMethodName](route.path, [ + ...routeMethod.middlewares, + routeMethod.method + ]); routeCount++; - logHttpEntry('PUT', route.route, route.examplePutBody); - } - - if (route.onDelete) { - if (route.onDeleteValidation) - app.delete( - route.route, - route.onDeleteValidation, - route.onDelete - ); - else app.delete(route.route, route.onDelete); - routeCount++; - logHttpEntry('DELETE', route.route, route.exampleDeleteBody); - } - - if (route.onPatch) { - if (route.onPatchValidation) - app.patch(route.route, route.onPatchValidation, route.onPatch); - else app.patch(route.route, route.onPatch); - routeCount++; - logHttpEntry('PATCH', route.route, route.examplePatchBody); - } + }); }); + console.log(`Registered ${routeCount} routes.`); }