UNPKG

@lanaqi/rsr

Version:
102 lines (101 loc) 2.3 kB
import { type AccessPermissions, type AccessResource, type ResourceLabels, type ResourcePatterns } from '../access'; import type { AccessBuilder } from './builder'; /** * 访问资源配置 */ export type AccessResourceConfig = { /** * 模式集合 */ readonly patterns: ResourcePatterns; /** * 权限集合 */ readonly permissions: AccessPermissions; /** * 标签集合 */ readonly labels?: ResourceLabels; /** * 基础路径 */ readonly basename?: string; }; /** * 访问资源配置集合 */ export type AccessResourceConfigs = AccessResourceConfig[]; /** * 访问资源构建器 */ export declare class AccessResourceBuilder implements AccessBuilder<AccessResource> { /** * 模式集合 * @private */ private readonly _patterns; /** * 权限集合 * @private */ private readonly _permissions; /** * 标签集合 * @private */ private readonly _labels; /** * 基础路径 * @private */ private _basename?; /** * 添加模式集合 * @param patterns 模式集合 */ patterns(...patterns: ResourcePatterns): AccessResourceBuilder; /** * 添加权限集合 * @param permissions 权限集合 */ permissions(...permissions: AccessPermissions): AccessResourceBuilder; /** * 添加标签集合 * @param labels 标签集合 */ labels(...labels: ResourceLabels): AccessResourceBuilder; /** * 标记匿名的权限 */ anonymous(): AccessResourceBuilder; /** * 标记已认证权限 */ authenticated(): AccessResourceBuilder; /** * 标记已授权权限 */ authorized(): AccessResourceBuilder; /** * 标记已签名标签 */ signatured(): AccessResourceBuilder; /** * 标记始终签名标签 */ alwaysSignature(): AccessResourceBuilder; /** * 设置基础路径 * @param basename 基础路径 */ basename(basename: string): AccessResourceBuilder; /** * 通过配置添加相关 * @param config 资源配置 */ config(config: AccessResourceConfig): AccessResourceBuilder; /** * 构建 */ build(): AccessResource; }