Skip to content
0

katanakit-js / FlatAccessStrategy

Class: FlatAccessStrategy ​

Defined in: src/core/services/access.service.ts:213

Estrategia estricta: sólo verifica capacidades declaradas explícitamente en el rol del sujeto, sin her jerarquía. Útil cuando cada rol debe declarar todo lo que puede hacer.

Example ​

ts
const access = new AccessService(new FlatAccessStrategy());
// "editor" ya NO hereda las capacidades de "author"
access.useCan({ id: 1, roles: ["editor"] }, "content:create"); // false

Implements ​

Constructors ​

Constructor ​

ts
new FlatAccessStrategy(): FlatAccessStrategy;

Defined in: src/core/services/access.service.ts:216

Returns ​

FlatAccessStrategy

Methods ​

useCan() ​

ts
useCan(subject, capability): boolean;

Defined in: src/core/services/access.service.ts:247

Whether the subject may perform a capability.

Parameters ​

ParameterType
subject{ [key: string]: unknown; id: string | number; roles: string[]; }
subject.idstring | number
subject.rolesstring[]
capabilitystring

Returns ​

boolean

Implementation of ​

IAccessStrategy.useCan


useCapabilitiesFor() ​

ts
useCapabilitiesFor(role): string[];

Defined in: src/core/services/access.service.ts:222

Effective capabilities of a role (own plus inherited).

Parameters ​

ParameterType
rolestring

Returns ​

string[]

Implementation of ​

IAccessStrategy.useCapabilitiesFor


useHasRole() ​

ts
useHasRole(subject, role): boolean;

Defined in: src/core/services/access.service.ts:243

Exact role membership - no hierarchy involved.

Parameters ​

ParameterType
subject{ [key: string]: unknown; id: string | number; roles: string[]; }
subject.idstring | number
subject.rolesstring[]
rolestring

Returns ​

boolean

Implementation of ​

IAccessStrategy.useHasRole


useRegisterRole() ​

ts
useRegisterRole(definition): void;

Defined in: src/core/services/access.service.ts:227

Registers (or replaces) a role definition.

Parameters ​

ParameterType
definition{ capabilities: string[]; label: string; rank: number; slug: string; }
definition.capabilitiesstring[]
definition.labelstring
definition.ranknumber
definition.slugstring

Returns ​

void

Implementation of ​

IAccessStrategy.useRegisterRole


useResetRoles() ​

ts
useResetRoles(): void;

Defined in: src/core/services/access.service.ts:232

Restores the built-in role registry.

Returns ​

void

Implementation of ​

IAccessStrategy.useResetRoles


useRoles() ​

ts
useRoles(): {
  capabilities: string[];
  label: string;
  rank: number;
  slug: string;
}[];

Defined in: src/core/services/access.service.ts:239

Lists every registered role definition.

Returns ​

{ capabilities: string[]; label: string; rank: number; slug: string; }[]

Implementation of ​

IAccessStrategy.useRoles

Released under the MIT License.