Skip to content

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

Using this module

Use the Manager policy module for applying policy and governance checks. It exports 6 functions, 1 type.

Import from the package entrypoint

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

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

Usage patterns

  • Use the 1 type/interface export as static contracts in application code, adapters, or tests. Import them with import type; they do not exist at runtime.
  • The module exposes 6 functions as direct operation entrypoints. Every overload, required/optional parameter, and return type is documented below.

Public exports

SymbolKindSignatureDescription
assertCreateAccessfunctionassertCreateAccess(access: ArtifactAccessRecord, principal: ExecutionPrincipal, workspaceId: string, tenantId?: string): voidAssert Create Access function with 1 public call signature; parameters and return types are listed below.
assertProfilePermissionfunctionassertProfilePermission(profile: ArtifactProfileSpec, principal: ExecutionPrincipal, permission: ArtifactPermission): voidAssert Profile Permission function with 1 public call signature; parameters and return types are listed below.
assertRecordPermissionfunctionassertRecordPermission(profile: ArtifactProfileSpec, record: ArtifactRecord, principal: ExecutionPrincipal, permission: ArtifactPermission): voidAssert Record Permission function with 1 public call signature; parameters and return types are listed below.
canAccessRecordfunctioncanAccessRecord(record: ArtifactRecord, principal: ExecutionPrincipal): booleanCan Access Record function with 1 public call signature; parameters and return types are listed below.
profileReferencefunctionprofileReference(profile: ArtifactProfileSpec): SpecRefProfile Reference function with 1 public call signature; parameters and return types are listed below.
resolveProfileReffunctionresolveProfileRef(profiles: ArtifactProfileSpec[], ref: SpecRef): ArtifactProfileSpec | nullResolve Profile Ref function with 1 public call signature; parameters and return types are listed below.
ArtifactPermissiontypetype ArtifactPermission = 'read' | 'write' | 'delete'Public type alias for Artifact Permission; the declaration contains its complete type expression.

assertCreateAccess

Assert Create Access function with 1 public call signature; parameters and return types are listed below.

Declaration

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

Call signature

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

Parameters

ParameterTypeRequiredDescription
accessArtifactAccessRecordYesRequired parameter; accepted values are defined by the type column.
principalExecutionPrincipalYesRequired parameter; accepted values are defined by the type column.
workspaceIdstringYesRequired parameter; accepted values are defined by the type column.
tenantIdstringNoOptional parameter; accepted values are defined by the type column.

Returns

  • Type: void
  • Description: Returns no value.

assertProfilePermission

Assert Profile Permission function with 1 public call signature; parameters and return types are listed below.

Declaration

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

Call signature

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

Parameters

ParameterTypeRequiredDescription
profileArtifactProfileSpecYesRequired parameter; accepted values are defined by the type column.
principalExecutionPrincipalYesRequired parameter; accepted values are defined by the type column.
permissionArtifactPermissionYesRequired parameter; accepted values are defined by the type column.

Returns

  • Type: void
  • Description: Returns no value.

assertRecordPermission

Assert Record Permission function with 1 public call signature; parameters and return types are listed below.

Declaration

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

Call signature

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

Parameters

ParameterTypeRequiredDescription
profileArtifactProfileSpecYesRequired parameter; accepted values are defined by the type column.
recordArtifactRecordYesRequired parameter; accepted values are defined by the type column.
principalExecutionPrincipalYesRequired parameter; accepted values are defined by the type column.
permissionArtifactPermissionYesRequired parameter; accepted values are defined by the type column.

Returns

  • Type: void
  • Description: Returns no value.

canAccessRecord

Can Access Record function with 1 public call signature; parameters and return types are listed below.

Declaration

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

Call signature

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

Parameters

ParameterTypeRequiredDescription
recordArtifactRecordYesRequired parameter; accepted values are defined by the type column.
principalExecutionPrincipalYesRequired parameter; accepted values are defined by the type column.

Returns

  • Type: boolean
  • Description: The return contract is defined by the type shown above.

profileReference

Profile Reference function with 1 public call signature; parameters and return types are listed below.

Declaration

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

Call signature

text
profileReference(profile: ArtifactProfileSpec): SpecRef

Parameters

ParameterTypeRequiredDescription
profileArtifactProfileSpecYesRequired parameter; accepted values are defined by the type column.

Returns

  • Type: SpecRef
  • Description: The return contract is defined by the type shown above.

resolveProfileRef

Resolve Profile Ref function with 1 public call signature; parameters and return types are listed below.

Declaration

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

Call signature

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

Parameters

ParameterTypeRequiredDescription
profilesArtifactProfileSpec[]YesRequired parameter; accepted values are defined by the type column.
refSpecRefYesRequired parameter; accepted values are defined by the type column.

Returns

  • Type: ArtifactProfileSpec
  • Description: The return contract is defined by the type shown above.

ArtifactPermission

Public type alias for Artifact Permission; the declaration contains its complete type expression.

Declaration

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