27 lines
811 B
TypeScript
27 lines
811 B
TypeScript
|
|
import { validateRequestDTO } from "@common/presentation";
|
||
|
|
import { createAuthProvider } from "@contexts/auth/infraestructure";
|
||
|
|
import {
|
||
|
|
listUsersController,
|
||
|
|
ListUsersSchema,
|
||
|
|
validateTabContextHeader,
|
||
|
|
} from "@contexts/auth/presentation";
|
||
|
|
import { NextFunction, Request, Response, Router } from "express";
|
||
|
|
|
||
|
|
export const userRouter = (appRouter: Router) => {
|
||
|
|
const authRoutes: Router = Router({ mergeParams: true });
|
||
|
|
const authProvider = createAuthProvider();
|
||
|
|
|
||
|
|
authRoutes.get(
|
||
|
|
"/",
|
||
|
|
validateRequestDTO(ListUsersSchema),
|
||
|
|
validateTabContextHeader,
|
||
|
|
authProvider.authenticateJWT(),
|
||
|
|
//authProvider.checkIsAdmin(),
|
||
|
|
async (req: Request, res: Response, next: NextFunction) => {
|
||
|
|
listUsersController().execute(req, res, next);
|
||
|
|
}
|
||
|
|
);
|
||
|
|
|
||
|
|
appRouter.use("/users", authRoutes);
|
||
|
|
};
|