Skip to main content

Interface: IPermissionEnforcer

Defined in: src/types/interfaces/plugin.interface.ts:754

Permission enforcer interface.

Remarks​

Enforces plugin permissions at runtime using ES6 Proxy wrappers. All service access goes through permission checks.

Since​

0.1.0

Methods​

checkPermission()​

checkPermission(plugin, permission): boolean

Defined in: src/types/interfaces/plugin.interface.ts:762

Checks if a plugin has a specific permission.

Parameters​

plugin​

IChivePlugin

Plugin to check

permission​

string

Permission string (e.g., 'network:api.github.com')

Returns​

boolean

True if permission is granted


createPermissionProxy()​

createPermissionProxy<T>(service, requiredPermission, plugin): T

Defined in: src/types/interfaces/plugin.interface.ts:772

Creates a permission-checking proxy for a service.

Type Parameters​

• T extends object

Parameters​

service​

T

Service to wrap

requiredPermission​

string

Permission required to access service

plugin​

IChivePlugin

Plugin requesting access

Returns​

T

Proxied service that checks permissions on each call


enforceHookAccess()​

enforceHookAccess(plugin, hookName): void

Defined in: src/types/interfaces/plugin.interface.ts:803

Enforces hook access permission.

Parameters​

plugin​

IChivePlugin

Plugin requesting hook access

hookName​

string

Hook being accessed

Returns​

void

Throws​

If hook not allowed


enforceNetworkAccess()​

enforceNetworkAccess(plugin, domain): void

Defined in: src/types/interfaces/plugin.interface.ts:785

Enforces network access permission.

Parameters​

plugin​

IChivePlugin

Plugin requesting access

domain​

string

Domain being accessed

Returns​

void

Throws​

If access denied


enforceStorageLimit()​

enforceStorageLimit(plugin, sizeBytes): void

Defined in: src/types/interfaces/plugin.interface.ts:794

Enforces storage limit.

Parameters​

plugin​

IChivePlugin

Plugin requesting storage

sizeBytes​

number

Size of data being stored

Returns​

void

Throws​

If quota exceeded


resetStorageUsage()​

resetStorageUsage(pluginId): void

Defined in: src/types/interfaces/plugin.interface.ts:810

Resets storage usage tracking for a plugin.

Parameters​

pluginId​

string

ID of plugin to reset

Returns​

void