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
const access = new AccessService(new FlatAccessStrategy());
// "editor" ya NO hereda las capacidades de "author"
access.useCan({ id: 1, roles: ["editor"] }, "content:create"); // falseImplements
Constructors
Constructor
new FlatAccessStrategy(): FlatAccessStrategy;Defined in: src/core/services/access.service.ts:216
Returns
FlatAccessStrategy
Methods
useCan()
useCan(subject, capability): boolean;Defined in: src/core/services/access.service.ts:247
Whether the subject may perform a capability.
Parameters
| Parameter | Type |
|---|---|
subject | { [key: string]: unknown; id: string | number; roles: string[]; } |
subject.id | string | number |
subject.roles | string[] |
capability | string |
Returns
boolean
Implementation of
useCapabilitiesFor()
useCapabilitiesFor(role): string[];Defined in: src/core/services/access.service.ts:222
Effective capabilities of a role (own plus inherited).
Parameters
| Parameter | Type |
|---|---|
role | string |
Returns
string[]
Implementation of
IAccessStrategy.useCapabilitiesFor
useHasRole()
useHasRole(subject, role): boolean;Defined in: src/core/services/access.service.ts:243
Exact role membership - no hierarchy involved.
Parameters
| Parameter | Type |
|---|---|
subject | { [key: string]: unknown; id: string | number; roles: string[]; } |
subject.id | string | number |
subject.roles | string[] |
role | string |
Returns
boolean
Implementation of
useRegisterRole()
useRegisterRole(definition): void;Defined in: src/core/services/access.service.ts:227
Registers (or replaces) a role definition.
Parameters
| Parameter | Type |
|---|---|
definition | { capabilities: string[]; label: string; rank: number; slug: string; } |
definition.capabilities | string[] |
definition.label | string |
definition.rank | number |
definition.slug | string |
Returns
void
Implementation of
IAccessStrategy.useRegisterRole
useResetRoles()
useResetRoles(): void;Defined in: src/core/services/access.service.ts:232
Restores the built-in role registry.
Returns
void
Implementation of
useRoles()
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; }[]