/*import { checkTabContext, checkUser } from "@/contexts/auth/infraestructure";
import {
  buildLoginController,
  buildLogoutController,
  buildRefreshTokenController,
  buildRegisterController,
} from "@/contexts/auth/presentation/controllers";
import {
  LoginUserSchema,
  RefreshTokenSchema,
  RegisterUserSchema,
} from "@/contexts/auth/presentation/dto";
import { validateAndParseBody } from "@/core/common/presentation";
import { NextFunction, Request, Response, Router } from "express";

export const authRouter = (appRouter: Router) => {
  const routes: Router = Router({ mergeParams: true });
  */
/**
 * @api {post} /api/auth/register Register a new user
 * @apiName RegisterUser
 * @apiGroup Authentication
 * @apiVersion 1.0.0
 *
 * @apiBody {String} username User's unique username.
 * @apiBody {String} email User's email address.
 * @apiBody {String} password User's password (minimum 8 characters).
 *
 * @apiSuccess (201) {String} userId The unique ID of the created user.
 *
 * @apiError (400) {String} message Error message.
 */
/*   routes.post("/register", validateAndParseBody(RegisterUserSchema), (req, res, next) => {
    buildRegisterController().execute(req, res, next);
  }); */

/**
 * @api {post} /api/auth/login Authenticate a user
 * @apiName LoginUser
 * @apiGroup Authentication
 * @apiVersion 1.0.0
 *
 * @apiHeader {String} Tab ID (x-tab-id)
 * @apiBody {String} email User's email address.
 * @apiBody {String} password User's password.
 *
 * @apiSuccess (200) {String} token JWT authentication token.
 * @apiSuccess (200) {String} userId The unique ID of the authenticated user.
 *
 * @apiError (401) {String} message Invalid email or password.
 */
/*   routes.post(
    "/login",
    validateAndParseBody(LoginUserSchema),
    checkTabContext,
    (req: Request, res: Response, next: NextFunction) => {
      buildLoginController().execute(req, res, next);
    }
  ); */

/**
 * @api {post} /api/auth/logout Logout user
 * @apiName LogoutUser
 * @apiGroup Authentication
 * @apiVersion 1.0.0
 *
 * @apiHeader {String} Tab ID (x-tab-id)
 * @apiHeader {String} Authorization Bearer token.
 *
 * @apiSuccess (200) {String} message Success message.
 */
/*
  routes.post(
    "/logout",
    checkTabContext,
    checkUser,
    (req: Request, res: Response, next: NextFunction) => {
      buildLogoutController().execute(req, res, next);
    }
  );

  routes.post(
    "/refresh",
    validateAndParseBody(RefreshTokenSchema),
    checkTabContext,
    (req: Request, res: Response, next: NextFunction) => {
      buildRefreshTokenController().execute(req, res, next);
    }
  );

  appRouter.use("/auth", routes);
};
*/
