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

export const PERMISSION_KEY = 'permissions';

/**
 * 声明接口所需权限。
 * 多个参数之间为 OR 关系（用户拥有其中任一权限即可通过）。
 * 不支持 AND 语义：多次调用装饰器会被全局 PermissionGuard 合并为扁平数组，效果等同于单次多参数调用。
 */
export const RequirePermission = (...permissions: string[]) =>
  SetMetadata(PERMISSION_KEY, permissions);
