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';