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

export const PERMISSIONS_KEY = 'permissions';

/**
 * 权限装饰器（Layer 3 功能权限）
 *
 * 只声明权限码，不携带 scope。数据范围由 Layer 4 DataScope 统一处理。
 * 详见 docs/standards/09-iam-security.md §4.6。
 *
 * @example @RequirePermissions('user:create', 'user:update')
 */
export const RequirePermissions = (...permissions: string[]) =>
  SetMetadata(PERMISSIONS_KEY, permissions);
