import { SetMetadata } from '@nestjs/common';

export const REQUIRE_MODULE_KEY = 'require_module';

/**
 * Decorator que marca un endpoint como requeridor de un módulo activo en la suscripción.
 * Se verifica que la empresa del usuario tenga una suscripción activa que incluya el módulo.
 *
 * @example
 * @RequireModule('PRODUCTOS')
 * @Get()
 * findAll() { ... }
 */
export const RequireModule = (moduloCodigo: string) =>
  SetMetadata(REQUIRE_MODULE_KEY, moduloCodigo);
