Skip to content

@codesoul-co/hypha-core / modules/artifact/manager-policy

模块用法

用于实施 Policy 与治理检查。Manager policy 模块公开 6 函数、1 类型。

从包入口导入

ts
import {
  assertCreateAccess,
  assertProfilePermission,
  assertRecordPermission,
  canAccessRecord,
  profileReference,
  resolveProfileRef,
} from '@codesoul-co/hypha-core';

import type {
  ArtifactPermission,
} from '@codesoul-co/hypha-core';

使用要点

  • 1 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用 import type,运行时不应依赖它们。
  • 6 个函数是该模块的直接操作入口;每个 overload 的必需/可选参数与返回类型均在下方列出。

公共导出

Symbol种类签名说明
assertCreateAccess函数assertCreateAccess(access: ArtifactAccessRecord, principal: ExecutionPrincipal, workspaceId: string, tenantId?: string): voidAssert Create Access 函数,提供 1 个公开调用签名;参数与返回类型见下表。
assertProfilePermission函数assertProfilePermission(profile: ArtifactProfileSpec, principal: ExecutionPrincipal, permission: ArtifactPermission): voidAssert Profile Permission 函数,提供 1 个公开调用签名;参数与返回类型见下表。
assertRecordPermission函数assertRecordPermission(profile: ArtifactProfileSpec, record: ArtifactRecord, principal: ExecutionPrincipal, permission: ArtifactPermission): voidAssert Record Permission 函数,提供 1 个公开调用签名;参数与返回类型见下表。
canAccessRecord函数canAccessRecord(record: ArtifactRecord, principal: ExecutionPrincipal): booleanCan Access Record 函数,提供 1 个公开调用签名;参数与返回类型见下表。
profileReference函数profileReference(profile: ArtifactProfileSpec): SpecRefProfile Reference 函数,提供 1 个公开调用签名;参数与返回类型见下表。
resolveProfileRef函数resolveProfileRef(profiles: ArtifactProfileSpec[], ref: SpecRef): ArtifactProfileSpec | nullResolve Profile Ref 函数,提供 1 个公开调用签名;参数与返回类型见下表。
ArtifactPermission类型type ArtifactPermission = 'read' | 'write' | 'delete'Artifact Permission 公共类型别名;完整类型表达式见声明。

assertCreateAccess

Assert Create Access 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function assertCreateAccess(access: ArtifactAccessRecord, principal: ExecutionPrincipal, workspaceId: string, tenantId?: string): void;

调用签名

text
assertCreateAccess(access: ArtifactAccessRecord, principal: ExecutionPrincipal, workspaceId: string, tenantId?: string): void

参数

参数类型必需说明
accessArtifactAccessRecord必需参数;接受的值由类型列定义。
principalExecutionPrincipal必需参数;接受的值由类型列定义。
workspaceIdstring必需参数;接受的值由类型列定义。
tenantIdstring可选参数;接受的值由类型列定义。

返回值

  • 类型: void
  • 说明: 不返回值。

assertProfilePermission

Assert Profile Permission 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function assertProfilePermission(profile: ArtifactProfileSpec, principal: ExecutionPrincipal, permission: ArtifactPermission): void;

调用签名

text
assertProfilePermission(profile: ArtifactProfileSpec, principal: ExecutionPrincipal, permission: ArtifactPermission): void

参数

参数类型必需说明
profileArtifactProfileSpec必需参数;接受的值由类型列定义。
principalExecutionPrincipal必需参数;接受的值由类型列定义。
permissionArtifactPermission必需参数;接受的值由类型列定义。

返回值

  • 类型: void
  • 说明: 不返回值。

assertRecordPermission

Assert Record Permission 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function assertRecordPermission(profile: ArtifactProfileSpec, record: ArtifactRecord, principal: ExecutionPrincipal, permission: ArtifactPermission): void;

调用签名

text
assertRecordPermission(profile: ArtifactProfileSpec, record: ArtifactRecord, principal: ExecutionPrincipal, permission: ArtifactPermission): void

参数

参数类型必需说明
profileArtifactProfileSpec必需参数;接受的值由类型列定义。
recordArtifactRecord必需参数;接受的值由类型列定义。
principalExecutionPrincipal必需参数;接受的值由类型列定义。
permissionArtifactPermission必需参数;接受的值由类型列定义。

返回值

  • 类型: void
  • 说明: 不返回值。

canAccessRecord

Can Access Record 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function canAccessRecord(record: ArtifactRecord, principal: ExecutionPrincipal): boolean;

调用签名

text
canAccessRecord(record: ArtifactRecord, principal: ExecutionPrincipal): boolean

参数

参数类型必需说明
recordArtifactRecord必需参数;接受的值由类型列定义。
principalExecutionPrincipal必需参数;接受的值由类型列定义。

返回值

  • 类型: boolean
  • 说明: 返回值契约由上述类型定义。

profileReference

Profile Reference 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function profileReference(profile: ArtifactProfileSpec): SpecRef;

调用签名

text
profileReference(profile: ArtifactProfileSpec): SpecRef

参数

参数类型必需说明
profileArtifactProfileSpec必需参数;接受的值由类型列定义。

返回值

  • 类型: SpecRef
  • 说明: 返回值契约由上述类型定义。

resolveProfileRef

Resolve Profile Ref 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function resolveProfileRef(profiles: ArtifactProfileSpec[], ref: SpecRef): ArtifactProfileSpec | null;

调用签名

text
resolveProfileRef(profiles: ArtifactProfileSpec[], ref: SpecRef): ArtifactProfileSpec | null

参数

参数类型必需说明
profilesArtifactProfileSpec[]必需参数;接受的值由类型列定义。
refSpecRef必需参数;接受的值由类型列定义。

返回值

  • 类型: ArtifactProfileSpec
  • 说明: 返回值契约由上述类型定义。

ArtifactPermission

Artifact Permission 公共类型别名;完整类型表达式见声明。

声明

text
export type ArtifactPermission = 'read' | 'write' | 'delete';