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.`);
}
|