@aooth/arbac-moost 0.1.73 → 0.1.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as AoothArbacClaims, t as ArbacUserProvider } from "../user.provider-
|
|
1
|
+
import { r as AoothArbacClaims, t as ArbacUserProvider } from "../user.provider-D0ySI_-A.mjs";
|
|
2
2
|
import { TAtscriptAnnotatedType, TAtscriptTypeObject, TMetadataMap, TValidatorOptions, Validator } from "@atscript/typescript/utils";
|
|
3
3
|
import { AoothUserCredentials } from "@aooth/user/atscript-db/model.as";
|
|
4
4
|
//#region src/atscript/auto-provider.d.ts
|
package/dist/index.d.mts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { _ as ProjectionOf, a as conjoinArbacDbScopes, b as TArbacMeta, c as ArbacDbScope, d as extractUsedControlValues, f as applyAllowedFieldsAndSet, g as OwnFieldKey, h as NavTarget, i as ConjoinArbacDbScopesOptions, l as AsArbacDbController, m as NavRelationKey, n as ArbacUserProviderToken, o as RefForeignKey, p as ControlsOf, r as AoothArbacClaims, s as RefTableSource, t as ArbacUserProvider, u as enforceControlsPolicy, v as ARBAC_DELEGATED_AUTH, x as getArbacMate, y as ArbacDelegatedAuth } from "./user.provider-
|
|
1
|
+
import { _ as ProjectionOf, a as conjoinArbacDbScopes, b as TArbacMeta, c as ArbacDbScope, d as extractUsedControlValues, f as applyAllowedFieldsAndSet, g as OwnFieldKey, h as NavTarget, i as ConjoinArbacDbScopesOptions, l as AsArbacDbController, m as NavRelationKey, n as ArbacUserProviderToken, o as RefForeignKey, p as ControlsOf, r as AoothArbacClaims, s as RefTableSource, t as ArbacUserProvider, u as enforceControlsPolicy, v as ARBAC_DELEGATED_AUTH, x as getArbacMate, y as ArbacDelegatedAuth } from "./user.provider-D0ySI_-A.mjs";
|
|
2
2
|
import { Arbac, Arbac as Arbac$1, TArbacCompiledRule, TArbacEvalResult, TArbacEvalResult as TArbacEvalResult$1, TArbacRole, TArbacRoleForResource, TArbacRule, arbacPatternToRegex } from "@aooth/arbac-core";
|
|
3
|
+
import { ControlGate, TProjection, TScopeFieldRules, TScopeFilter, conjoinScopeFilters } from "@aooth/arbac";
|
|
3
4
|
import { TAuthGuardDef } from "@moostjs/event-http";
|
|
4
5
|
import { EventContext } from "@wooksjs/event-core";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { TAtscriptAnnotatedType, TAtscriptDataType } from "@atscript/typescript/utils";
|
|
6
|
+
import { FilterExpr, TDbRemoveGuardContext, TDbWriteCheckContext, TDbWriteGuardContext, TDeleteOptions, TMetaResponse, TRowResolveOptions, TWriteOptions, UniqueryControls } from "@atscript/db";
|
|
7
|
+
import { AsDbReadableController, AsJsonValueHelpController, AsValueHelpController, TDbActionScopeContext, TDbControlsType, TDbIndexFieldPaths, TDbRequestContext, ValueHelpSelect } from "@atscript/moost-db";
|
|
8
|
+
import { TAtscriptAnnotatedType, TAtscriptDataType, TSerializedAnnotatedType } from "@atscript/typescript/utils";
|
|
9
9
|
//#region src/db/visibility.d.ts
|
|
10
10
|
/**
|
|
11
11
|
* The slice of an atscript-db readable (table / view) the visibility walk
|
|
@@ -54,8 +54,6 @@ interface VisibilityTableSource {
|
|
|
54
54
|
* @since 0.1.72
|
|
55
55
|
*/
|
|
56
56
|
jsonParents?: ReadonlySet<string>;
|
|
57
|
-
/** Whether the adapter searches natively (`/meta` search-surface pruning). @since 0.1.72 */
|
|
58
|
-
isSearchable?(): boolean;
|
|
59
57
|
}
|
|
60
58
|
/** Relation name → the visibility its joined rows obey, or `null` when hidden. */
|
|
61
59
|
type ArbacRelationResolution = ReadonlyMap<string, MetaVisibility | null>;
|
|
@@ -291,6 +289,7 @@ declare const ArbacResource: (name: string) => MethodDecorator & ClassDecorator
|
|
|
291
289
|
declare const ArbacAction: (name: string) => MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
|
|
292
290
|
//#endregion
|
|
293
291
|
//#region src/db/as-arbac-db-readable-controller.d.ts
|
|
292
|
+
type TSelect = UniqueryControls["$select"];
|
|
294
293
|
/**
|
|
295
294
|
* Read-only mirror of {@link AsArbacDbController} for view-style controllers
|
|
296
295
|
* built on top of `@atscript/moost-db`'s {@link AsDbReadableController}.
|
|
@@ -303,17 +302,25 @@ declare class AsArbacDbReadableController<T extends TAtscriptAnnotatedType = TAt
|
|
|
303
302
|
/** Same contract as {@link AsArbacDbController.prepareRequest}. */
|
|
304
303
|
protected prepareRequest(ctx: TDbRequestContext): Promise<void>;
|
|
305
304
|
/** Same contract as {@link AsArbacDbController.transformFilter}. */
|
|
306
|
-
protected transformFilter(filter: Record<string, unknown> | undefined):
|
|
305
|
+
protected transformFilter(filter: Record<string, unknown> | undefined): FilterExpr | Promise<FilterExpr>;
|
|
306
|
+
/** Same contract as {@link AsArbacDbController.transformRelationFilter}. Since 0.1.74. */
|
|
307
|
+
protected transformRelationFilter(path: string, filter: FilterExpr): FilterExpr | Promise<FilterExpr>;
|
|
307
308
|
/** Same contract as {@link AsArbacDbController.transformProjection}. */
|
|
308
|
-
protected transformProjection(projection?:
|
|
309
|
+
protected transformProjection(projection?: TSelect): TSelect | undefined | Promise<TSelect | undefined>;
|
|
309
310
|
/** Same contract as {@link AsArbacDbController.validateControls}. */
|
|
310
311
|
protected validateControls(controls: Record<string, unknown>, type: TDbControlsType): string | undefined;
|
|
311
312
|
/** Same contract as {@link AsArbacDbController.applyMetaOverlay}. */
|
|
312
313
|
protected applyMetaOverlay(meta: TMetaResponse): Promise<TMetaResponse>;
|
|
314
|
+
/**
|
|
315
|
+
* `GET /meta/form/:name` under the `/meta` overlay's pointer rule: a form
|
|
316
|
+
* prop's `ref` / `ui.valueHelp` binding to a table the caller cannot read
|
|
317
|
+
* (or whose named fields they cannot see) is stripped.
|
|
318
|
+
*/
|
|
319
|
+
metaForm(name: string): Promise<TSerializedAnnotatedType>;
|
|
313
320
|
/** Same contract as {@link AsArbacDbController.authorizeForm}. */
|
|
314
321
|
protected authorizeForm(_name: string, actionNames: readonly string[]): Promise<boolean>;
|
|
315
322
|
/** Same contract as {@link AsArbacDbController.actionRowScope}. */
|
|
316
|
-
protected actionRowScope(name: string): Promise<Record<string, unknown> | undefined>;
|
|
323
|
+
protected actionRowScope(name: string, _ctx?: TDbActionScopeContext): Promise<Record<string, unknown> | undefined>;
|
|
317
324
|
/** Same contract as {@link AsArbacDbController.allowedActions}. */
|
|
318
325
|
protected allowedActions(names: readonly string[]): Promise<string[]>;
|
|
319
326
|
/** Same contract as {@link AsArbacDbController.[ARBAC_DELEGATED_AUTH]}. */
|
|
@@ -358,23 +365,20 @@ declare class AsArbacDbReadableController<T extends TAtscriptAnnotatedType = TAt
|
|
|
358
365
|
*/
|
|
359
366
|
declare abstract class AsArbacValueHelpController<T extends TAtscriptAnnotatedType = TAtscriptAnnotatedType, DataType = TAtscriptDataType<T>> extends AsValueHelpController<T, DataType> {
|
|
360
367
|
private _arbacHost?;
|
|
368
|
+
/** Makes this controller the binding / `ref` policy source for its bound type's ARBAC resource. */
|
|
369
|
+
protected readonly _arbacValueHelpTarget: true;
|
|
361
370
|
private get arbacHost();
|
|
362
371
|
protected prepareRequest(_ctx: TDbRequestContext): Promise<void>;
|
|
363
|
-
|
|
364
|
-
protected
|
|
372
|
+
/** Same contract as {@link AsArbacDbController.transformFilter}. */
|
|
373
|
+
protected transformFilter(filter: FilterExpr): FilterExpr | Promise<FilterExpr>;
|
|
374
|
+
protected transformProjection(select: ValueHelpSelect<DataType> | undefined): ValueHelpSelect<DataType> | undefined | Promise<ValueHelpSelect<DataType> | undefined>;
|
|
365
375
|
protected hasField(path: string): boolean;
|
|
366
376
|
protected validateControls(controls: Record<string, unknown>, type: TDbControlsType): string | undefined;
|
|
367
377
|
protected applyMetaOverlay(meta: TMetaResponse): Promise<TMetaResponse>;
|
|
368
|
-
runQuery(url: string):
|
|
369
|
-
runPages(url: string):
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
itemsPerPage: number;
|
|
373
|
-
pages: number;
|
|
374
|
-
count: number;
|
|
375
|
-
}>;
|
|
376
|
-
runGetOne(id: string): Promise<DataType | import("@wooksjs/event-http").HttpError<import("@wooksjs/event-http").TWooksErrorBody>>;
|
|
377
|
-
runGetOneComposite(query: Record<string, string>): Promise<DataType | import("@wooksjs/event-http").HttpError<import("@wooksjs/event-http").TWooksErrorBody>>;
|
|
378
|
+
runQuery(url: string): ReturnType<AsValueHelpController<T, DataType>["runQuery"]>;
|
|
379
|
+
runPages(url: string): ReturnType<AsValueHelpController<T, DataType>["runPages"]>;
|
|
380
|
+
runGetOne(id: string): ReturnType<AsValueHelpController<T, DataType>["runGetOne"]>;
|
|
381
|
+
runGetOneComposite(query: Record<string, string>): ReturnType<AsValueHelpController<T, DataType>["runGetOneComposite"]>;
|
|
378
382
|
}
|
|
379
383
|
/**
|
|
380
384
|
* ARBAC-scoped mirror of `@atscript/moost-db`'s
|
|
@@ -396,23 +400,20 @@ declare abstract class AsArbacValueHelpController<T extends TAtscriptAnnotatedTy
|
|
|
396
400
|
*/
|
|
397
401
|
declare class AsArbacJsonValueHelpController<T extends TAtscriptAnnotatedType = TAtscriptAnnotatedType, DataType = TAtscriptDataType<T>> extends AsJsonValueHelpController<T, DataType> {
|
|
398
402
|
private _arbacHost?;
|
|
403
|
+
/** Makes this controller the binding / `ref` policy source for its bound type's ARBAC resource. */
|
|
404
|
+
protected readonly _arbacValueHelpTarget: true;
|
|
399
405
|
private get arbacHost();
|
|
400
406
|
protected prepareRequest(_ctx: TDbRequestContext): Promise<void>;
|
|
401
|
-
|
|
402
|
-
protected
|
|
407
|
+
/** Same contract as {@link AsArbacDbController.transformFilter}. */
|
|
408
|
+
protected transformFilter(filter: FilterExpr): FilterExpr | Promise<FilterExpr>;
|
|
409
|
+
protected transformProjection(select: ValueHelpSelect<DataType> | undefined): ValueHelpSelect<DataType> | undefined | Promise<ValueHelpSelect<DataType> | undefined>;
|
|
403
410
|
protected hasField(path: string): boolean;
|
|
404
411
|
protected validateControls(controls: Record<string, unknown>, type: TDbControlsType): string | undefined;
|
|
405
412
|
protected applyMetaOverlay(meta: TMetaResponse): Promise<TMetaResponse>;
|
|
406
|
-
runQuery(url: string):
|
|
407
|
-
runPages(url: string):
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
itemsPerPage: number;
|
|
411
|
-
pages: number;
|
|
412
|
-
count: number;
|
|
413
|
-
}>;
|
|
414
|
-
runGetOne(id: string): Promise<import("@wooksjs/event-http").HttpError<import("@wooksjs/event-http").TWooksErrorBody> | DataType>;
|
|
415
|
-
runGetOneComposite(query: Record<string, string>): Promise<import("@wooksjs/event-http").HttpError<import("@wooksjs/event-http").TWooksErrorBody> | DataType>;
|
|
413
|
+
runQuery(url: string): ReturnType<AsJsonValueHelpController<T, DataType>["runQuery"]>;
|
|
414
|
+
runPages(url: string): ReturnType<AsJsonValueHelpController<T, DataType>["runPages"]>;
|
|
415
|
+
runGetOne(id: string): ReturnType<AsJsonValueHelpController<T, DataType>["runGetOne"]>;
|
|
416
|
+
runGetOneComposite(query: Record<string, string>): ReturnType<AsJsonValueHelpController<T, DataType>["runGetOneComposite"]>;
|
|
416
417
|
}
|
|
417
418
|
//#endregion
|
|
418
419
|
//#region src/db/relation-policy.d.ts
|
|
@@ -488,18 +489,17 @@ declare function pruneMetaByVisibility(meta: TMetaResponse, vis: MetaVisibility,
|
|
|
488
489
|
* `crud` already advertises no read surface, and write-only principals
|
|
489
490
|
* still need `type` for their insert/update forms. PK + `preferredId` are
|
|
490
491
|
* never pruned.
|
|
491
|
-
*
|
|
492
|
-
*
|
|
493
|
-
*
|
|
494
|
-
*
|
|
492
|
+
*
|
|
493
|
+
* The search surface (`searchIndexes`, `searchable`, `vectorSearchable`,
|
|
494
|
+
* `geoSearchable`) is narrowed by moost-db itself (≥ 0.1.147, under the
|
|
495
|
+
* overridden `hasField`), after this overlay.
|
|
495
496
|
*
|
|
496
497
|
* @param source - the controller's `this.readable` (identifiers, relations
|
|
497
498
|
* and schema rules are derived from it); an identifier set (the 0.1.67
|
|
498
499
|
* signature) still works, without them
|
|
499
|
-
* @param
|
|
500
|
-
* it on the current controller when it has one
|
|
500
|
+
* @param _indexes - @deprecated ignored since 0.1.74 (moost-db prunes the search surface)
|
|
501
501
|
*/
|
|
502
|
-
declare function applyArbacMetaOverlay(meta: TMetaResponse, source: VisibilityTableSource | ReadonlySet<string>,
|
|
502
|
+
declare function applyArbacMetaOverlay(meta: TMetaResponse, source: VisibilityTableSource | ReadonlySet<string>, _indexes?: readonly TDbIndexFieldPaths[]): Promise<TMetaResponse>;
|
|
503
503
|
/**
|
|
504
504
|
* Test-friendly internal helper — exported for unit tests and helper
|
|
505
505
|
* composition; regular consumers should not call this directly.
|
|
@@ -566,7 +566,18 @@ declare function isScopedFieldVisible(scopes: ArbacDbScope[], path: string, sour
|
|
|
566
566
|
* action id / row is read): resolve the request's scopes
|
|
567
567
|
* ({@link resolveRequestScopes} — 403 on denial, `arbacPublic` does not
|
|
568
568
|
* bypass) and, on read endpoints, the `$with` relation policy for the
|
|
569
|
-
* requested relations.
|
|
569
|
+
* requested relations — the `$with` entries and, since 0.1.74, the
|
|
570
|
+
* relations the client filter's relational predicates name (`ctx.filter`):
|
|
571
|
+
* a predicate on a relation is allowed exactly when `$with` of it is (same
|
|
572
|
+
* visibility, same `controls.$with` gates).
|
|
573
|
+
*
|
|
574
|
+
* Delegated endpoints (no grant of their own): `"availableActions"`
|
|
575
|
+
* (`GET /meta/actions…`) — some row-level action grant (or, on a
|
|
576
|
+
* `@DbActionsFrom` controller, none: its own part lists nothing);
|
|
577
|
+
* `"delegatedAction"` (`POST /delegated-actions/:name`, since 0.1.74) — the
|
|
578
|
+
* controller's READ grant, since the route only resolves which of the
|
|
579
|
+
* caller's readable rows match the query; the action itself is authorized
|
|
580
|
+
* by its source controller on every batch.
|
|
570
581
|
*
|
|
571
582
|
* @since 0.1.72
|
|
572
583
|
*/
|
|
@@ -593,12 +604,17 @@ declare function arbacAllowedActions(names: readonly string[]): Promise<string[]
|
|
|
593
604
|
* `@DbAction` `name` may run on — the filter of the caller's grant on the
|
|
594
605
|
* action ({@link actionArbacIds}: every handler method of the action, or a
|
|
595
606
|
* class-level entry's fallback ids), including custom-field row filters and
|
|
596
|
-
* credential attenuation.
|
|
597
|
-
*
|
|
598
|
-
*
|
|
607
|
+
* credential attenuation. Several grants union (`$or`); attenuation is
|
|
608
|
+
* already intersected into each. No grant → a match-nothing filter (fail
|
|
609
|
+
* closed); an unrestricted grant → `undefined`. When the current request IS
|
|
610
|
+
* that action (its resolved scopes are the same evaluation), the row overlay
|
|
599
611
|
* already applies it → `undefined`. Equal filters are returned as ONE
|
|
600
612
|
* object per request.
|
|
601
613
|
*
|
|
614
|
+
* Candidate-free on purpose (evaluated once per action per event) — see
|
|
615
|
+
* `AsArbacDbController.actionRowScope` to bound an action by its candidate
|
|
616
|
+
* rows.
|
|
617
|
+
*
|
|
602
618
|
* @since 0.1.72
|
|
603
619
|
*/
|
|
604
620
|
declare function arbacActionRowScope(name: string): Promise<Record<string, unknown> | undefined>;
|
|
@@ -610,6 +626,20 @@ declare function arbacActionRowScope(name: string): Promise<Record<string, unkno
|
|
|
610
626
|
* @since 0.1.72
|
|
611
627
|
*/
|
|
612
628
|
declare function arbacRowFilter(filter: Record<string, unknown> | undefined): Record<string, unknown>;
|
|
629
|
+
/**
|
|
630
|
+
* Body of the ARBAC DB controllers' `transformRelationFilter` (since 0.1.74):
|
|
631
|
+
* the operand of a CLIENT relational predicate at `path` (`ticket`,
|
|
632
|
+
* `ticket.team`, `tickets.issues` inside `$with=tickets(…)`) CONJOINED
|
|
633
|
+
* with the row filter of the related rows the caller may see there — the
|
|
634
|
+
* same policy `$with` of that relation applies: a declared `with.<rel>`
|
|
635
|
+
* sub-scope, else the caller's own read grant on the related table. So
|
|
636
|
+
* `$some` matches, and `$none` excludes, only on rows the caller could
|
|
637
|
+
* load. A relation the request did not resolve answers like an unknown
|
|
638
|
+
* field (400 — the request gate rejects it first).
|
|
639
|
+
*
|
|
640
|
+
* @since 0.1.74
|
|
641
|
+
*/
|
|
642
|
+
declare function arbacRelationFilter(path: string, filter: FilterExpr, readable: VisibilityTableSource): FilterExpr;
|
|
613
643
|
//#endregion
|
|
614
644
|
//#region src/db/shared-read-helpers.d.ts
|
|
615
645
|
/**
|
|
@@ -683,9 +713,14 @@ interface ArbacWriteTable {
|
|
|
683
713
|
* - `checkRefs` — every enforced FK the write sets must reference rows the
|
|
684
714
|
* caller can read on the target table (→ 403);
|
|
685
715
|
* - WITH CHECK when the adapter cannot roll back — validated here, before
|
|
686
|
-
* the write (see {@link checkArbacWrite} for the transactional path)
|
|
716
|
+
* the write (see {@link checkArbacWrite} for the transactional path);
|
|
717
|
+
* - WITH CHECK of an insert, even on a transactional adapter, evaluated on
|
|
718
|
+
* the submitted rows before the write when the in-memory evaluator can
|
|
719
|
+
* model it (a forbidden row → 403, never a duplicate-key 409; since
|
|
720
|
+
* 0.1.75) — and, with `ignoreConflicts` (`?$onConflict=ignore`), refused
|
|
721
|
+
* whenever it cannot, since the post-write check never sees skipped rows.
|
|
687
722
|
*/
|
|
688
|
-
declare function guardArbacWrite(ctx: TDbWriteGuardContext, scopes: readonly ArbacDbScope[], table: ArbacWriteTable, refs: RefTableSource): Promise<void>;
|
|
723
|
+
declare function guardArbacWrite(ctx: TDbWriteGuardContext, scopes: readonly ArbacDbScope[], table: ArbacWriteTable, refs: RefTableSource, ignoreConflicts?: boolean): Promise<void>;
|
|
689
724
|
/**
|
|
690
725
|
* WITH CHECK after the write, inside its transaction: every written row must
|
|
691
726
|
* match the scopes' `check` (default `filter`) — else 403 and the write rolls
|
|
@@ -753,11 +788,16 @@ interface ArbacDbScopeHelpers<T = unknown> {
|
|
|
753
788
|
* enforcement the ARBAC DB controllers' CRUD writes get — nested writes
|
|
754
789
|
* (`nestedWrites`, 403), USING (pre-image in scope, 404), `checkRefs` (403)
|
|
755
790
|
* and WITH CHECK (403, rolled back). `allowedFields` / `set` are not applied
|
|
756
|
-
* — overlay {@link set} yourself.
|
|
791
|
+
* — overlay {@link set} yourself. For `insertMany(rows, { onConflict: "ignore" })`
|
|
792
|
+
* pass the same `{ onConflict: "ignore" }`: conflicting rows are skipped, so
|
|
793
|
+
* a check that cannot be evaluated before the write refuses the batch
|
|
794
|
+
* (since 0.1.75).
|
|
757
795
|
*
|
|
758
796
|
* @since 0.1.72
|
|
759
797
|
*/
|
|
760
|
-
writeOptions<Row extends object = Record<string, unknown>>(table: ArbacGuardedTable
|
|
798
|
+
writeOptions<Row extends object = Record<string, unknown>>(table: ArbacGuardedTable, opts?: {
|
|
799
|
+
onConflict?: "ignore";
|
|
800
|
+
}): TWriteOptions<Row>;
|
|
761
801
|
/**
|
|
762
802
|
* `TDeleteOptions` for `table.deleteOne` in a handler: the id is pinned
|
|
763
803
|
* among in-scope rows and the row must match the scope filter (else 404) —
|
|
@@ -848,4 +888,4 @@ declare class MoostArbac<TUserAttrs extends object, TScope extends object> exten
|
|
|
848
888
|
getScopeFields(): TScopeFieldRules<TScope>;
|
|
849
889
|
}
|
|
850
890
|
//#endregion
|
|
851
|
-
export { ARBAC_DELEGATED_AUTH, type AoothArbacClaims, Arbac, ArbacAction, ArbacAuthorize, ArbacDbScope, type ArbacDbScopeHelpers, ArbacDelegatedAuth, ArbacEvaluateOptions, type ArbacGuardedTable, type ArbacRelationResolution, ArbacResource, type ArbacScopedTable, ArbacUserProvider, ArbacUserProviderToken, type ArbacWriteTable, AsArbacDbController, AsArbacDbReadableController, AsArbacJsonValueHelpController, AsArbacValueHelpController, type ConjoinArbacDbScopesOptions, type ControlGate, type ControlsOf, type MetaVisibility, MoostArbac, type NavRelationKey, type NavTarget, type OwnFieldKey, type ProjectionOf, type RefForeignKey, type RefTableSource, type ScopeVisibilityOptions, type TArbacCompiledRule, type TArbacEvalResult, TArbacMeta, type TArbacRole, type TArbacRoleForResource, type TArbacRule, type VisibilityTableSource, applyAllowedFieldsAndSet, applyArbacControls, applyArbacMetaOverlay, applyArbacProjection, applyArbacRelationScopes, arbacActionRowScope, arbacAllowedActions, arbacAuthorizeInterceptor, arbacPatternToRegex, arbacRowFilter, authorizeArbacForm, buildScopeVisibility, cachedRequestScopes, checkArbacWrite, collectMethodNames, collectWithGrantNames, collectWritableFields, conjoinArbacDbScopes, enforceControlsPolicy, extractUsedControlValues, getArbacMate, getArbacScopes, guardArbacRemove, guardArbacWrite, isMetaFieldVisible, isScopedFieldVisible, metaAlwaysVisibleFields, prepareArbacRequest, pruneMetaByVisibility, registerArbacDbTarget, requestFieldVisible, requireRequestScopes, resolveHandlerArbacIds, resolveRequestScopes, unionScopeProjection, useArbac, useArbacDbScope };
|
|
891
|
+
export { ARBAC_DELEGATED_AUTH, type AoothArbacClaims, Arbac, ArbacAction, ArbacAuthorize, ArbacDbScope, type ArbacDbScopeHelpers, ArbacDelegatedAuth, ArbacEvaluateOptions, type ArbacGuardedTable, type ArbacRelationResolution, ArbacResource, type ArbacScopedTable, ArbacUserProvider, ArbacUserProviderToken, type ArbacWriteTable, AsArbacDbController, AsArbacDbReadableController, AsArbacJsonValueHelpController, AsArbacValueHelpController, type ConjoinArbacDbScopesOptions, type ControlGate, type ControlsOf, type MetaVisibility, MoostArbac, type NavRelationKey, type NavTarget, type OwnFieldKey, type ProjectionOf, type RefForeignKey, type RefTableSource, type ScopeVisibilityOptions, type TArbacCompiledRule, type TArbacEvalResult, TArbacMeta, type TArbacRole, type TArbacRoleForResource, type TArbacRule, type VisibilityTableSource, applyAllowedFieldsAndSet, applyArbacControls, applyArbacMetaOverlay, applyArbacProjection, applyArbacRelationScopes, arbacActionRowScope, arbacAllowedActions, arbacAuthorizeInterceptor, arbacPatternToRegex, arbacRelationFilter, arbacRowFilter, authorizeArbacForm, buildScopeVisibility, cachedRequestScopes, checkArbacWrite, collectMethodNames, collectWithGrantNames, collectWritableFields, conjoinArbacDbScopes, conjoinScopeFilters, enforceControlsPolicy, extractUsedControlValues, getArbacMate, getArbacScopes, guardArbacRemove, guardArbacWrite, isMetaFieldVisible, isScopedFieldVisible, metaAlwaysVisibleFields, prepareArbacRequest, pruneMetaByVisibility, registerArbacDbTarget, requestFieldVisible, requireRequestScopes, resolveHandlerArbacIds, resolveRequestScopes, unionScopeProjection, useArbac, useArbacDbScope };
|