diff --git a/src/api/middlewares/authMiddleware.js b/src/api/middlewares/authMiddleware.js
index 19de4d8..3a71e45 100644
--- a/src/api/middlewares/authMiddleware.js
+++ b/src/api/middlewares/authMiddleware.js
@@ -30,9 +30,13 @@ export function validateAuth(options) {
};
}
-export const requireUser = validateAuth({ roles: [UserType.USER] });
-export const requireMonitor = validateAuth({ roles: [UserType.MONITOR] });
+export const requireAuth = validateAuth({});
export const requireAdmin = validateAuth({ roles: [UserType.ADMIN] });
+export const requireMonitor = validateAuth({ roles: [UserType.MONITOR] });
+export const requireUser = validateAuth({ roles: [UserType.USER] });
+export const requireUserOrMonitor = validateAuth({
+ roles: [UserType.USER, UserType.MONITOR]
+});
class AuthValidationOptions {
roles;
diff --git a/src/api/routes.js b/src/api/routes.js
index ade440e..e808d50 100644
--- a/src/api/routes.js
+++ b/src/api/routes.js
@@ -1,11 +1,13 @@
import * as routes from './routes/index.js';
-function logHttpEntry(method, route, exampleBody) {
+function logHttpEntry(method, route, exampleBody, description) {
+ if (description) console.log('%', '#', description);
+
console.log('%', method, '{{baseUrl}}' + route, 'HTTP/1.1');
if (exampleBody) {
console.log('%', 'Content-Type: application/json');
console.log('% ');
- console.log('%', exampleBody);
+ console.log('%', JSON.stringify(exampleBody, null, 4));
console.log('% ');
}
console.log('% ');
@@ -22,17 +24,22 @@ export function registerRoutes(app) {
* @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);
+ console.log(
+ 'Registering',
+ routeMethodName.toUpperCase(),
+ route.path
+ );
+ logHttpEntry(
+ routeMethodName.toUpperCase(),
+ route.path,
+ routeMethod.exampleBody
+ );
app[routeMethodName](route.path, [
...routeMethod.middlewares,
routeMethod.method
diff --git a/src/api/routes/auth/deviceRoutes.js b/src/api/routes/auth/deviceRoutes.js
index ac4514f..849a48c 100644
--- a/src/api/routes/auth/deviceRoutes.js
+++ b/src/api/routes/auth/deviceRoutes.js
@@ -1,5 +1,5 @@
-import { deleteUser, loginUser, registerUser } from '#db/index.js';
-import { AuthDto, RegisterDto } from '#dto/index.js';
+import { registerUser } from '#db/index.js';
+import { RegisterDto } from '#dto/index.js';
import { validateAuth } from '#api/middlewares/index.js';
import { RouteDescription, RouteMethod } from '#api/RouteDescription.js';
diff --git a/src/api/routes/budgetRoutes.js b/src/api/routes/budgetRoutes.js
index 1cebffe..a808f58 100644
--- a/src/api/routes/budgetRoutes.js
+++ b/src/api/routes/budgetRoutes.js
@@ -5,6 +5,7 @@ import {
} from '#api/middlewares/index.js';
import { UserType } from '#db/schemas/index.js';
import { RouteDescription, RouteMethod } from '#api/RouteDescription.js';
+import {getUserById} from "#db/dbAccess/index.js";
/**
* @type {RouteDescription}
@@ -14,7 +15,10 @@ export const getBudgetByUserRoute = {
methods: {
get: new RouteMethod({
middlewares: [requireMonitor],
- async method(req, res) {}
+ async method(req, res) {
+ if (!req.)
+ const user = await getUserById(req.);
+ }
})
}
};
|