import { createParamDecorator, ExecutionContext } from '@nestjs/common';
import { Request } from 'express';

/**
 * @CurrentUser() — extracts the authenticated user's ID from the request.
 * Set by JwtAuthGuard after token verification.
 */
export const CurrentUser = createParamDecorator(
  (_data: unknown, ctx: ExecutionContext): string => {
    const request = ctx.switchToHttp().getRequest<Request & { user: { userId: string } }>();
    return request.user.userId;
  },
);
