adminizer 5.0.0-build.8 → 5.1.0-build.24
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.
- package/assets/abnfDiagram-VCTEODGH-DFY3Pztx.js +1 -0
- package/assets/add-31tS-g4V.js +1 -0
- package/assets/add-group-Cf3zT7WE.js +1 -0
- package/assets/add-user-C62wOna-.js +1 -0
- package/assets/ai-assistant/agent.es.js +28464 -0
- package/assets/app-DPmI-MvN.css +1 -0
- package/assets/app-vdHbjOQX.js +138 -0
- package/assets/arc-DP4o1zz3.js +1 -0
- package/assets/architectureDiagram-5GKGNRK7-BjXW5Zu0.js +36 -0
- package/assets/asmcrypto-DZeQH0LC.js +1 -0
- package/assets/blockDiagram-I7D4REHJ-BUPnDwN0.js +129 -0
- package/assets/c4Diagram-7LVT6UL2-Cmb_dAhd.js +38 -0
- package/assets/{catalog-BEvJZYJP.js → catalog-C-y5rMaG.js} +3 -3
- package/assets/channel-CkJRUsq_.js +1 -0
- package/assets/chunk-2Q5K7J3B-CmS-dWwQ.js +1 -0
- package/assets/chunk-5VM5RSS4-Cqs2Ow64.js +15 -0
- package/assets/chunk-F27PBJKO-BoMCpJA1.js +1 -0
- package/assets/chunk-IMKFNOWR-DlDcPk1x.js +231 -0
- package/assets/chunk-JWPE2WC7-DzL_SU8s.js +1 -0
- package/assets/chunk-POPQ4Y6H-Cwq2-Vb8.js +1 -0
- package/assets/chunk-SVP7TREG-BfRHY5FU.js +88 -0
- package/assets/chunk-TICWLB2K-CRP7rHkW.js +206 -0
- package/assets/chunk-XXDRQBXY-Bg2jg-98.js +1 -0
- package/assets/classDiagram-ZZMXUADV-D4EF3HGj.js +1 -0
- package/assets/classDiagram-v2-VYDZK3BY-D4EF3HGj.js +1 -0
- package/assets/controls/ckeditor.es.js +9382 -9320
- package/assets/controls/handsontable.es.js +11971 -11938
- package/assets/controls/jsoneditor.es.js +10442 -10233
- package/assets/controls/toast-ui.es.js +1308 -1279
- package/assets/cose-bilkent-JH36ORCC-CCJ0SGyO.js +1 -0
- package/assets/cynefin-OW5HDTMX-B2Jx5fw3.js +166 -0
- package/assets/cynefinDiagram-5FMLGOSQ-DuK0Lb62.js +62 -0
- package/assets/cytoscape.esm-DzSz-X2X.js +321 -0
- package/assets/dagre-GXQ25YYZ-DnOYexET.js +4 -0
- package/assets/dashboard-X8k4X6Sw.js +3 -0
- package/assets/debounce-B3mXI_sx.js +1 -0
- package/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/assets/diagram-S7CK7UJ4-DDgPBHsK.js +30 -0
- package/assets/diagram-UQ7AKVKN-qlL0GZs8.js +41 -0
- package/assets/diagram-VSXAHHWV-CQbiU1_c.js +3 -0
- package/assets/diagram-VX7I27RA-DFDI9_au.js +24 -0
- package/assets/diagram-Z3DM3KII-B5C9dtmJ.js +24 -0
- package/assets/docs-BiZOD7PP.js +1 -0
- package/assets/ebnfDiagram-PWID7BFC-CLMUsXEI.js +1 -0
- package/assets/erDiagram-RLTQ6QDP-ax9Xol5-.js +99 -0
- package/assets/flowDiagram-HODETNUW-CvaH7l3S.js +168 -0
- package/assets/ganttDiagram-EL5Y4UJY-Cga5U19j.js +292 -0
- package/assets/gitGraphDiagram-WWUBYQGX-B6o1T3-d.js +106 -0
- package/assets/history-CVBJUNSQ.js +1 -0
- package/assets/infoDiagram-27XIBGKW-BpWxgBCE.js +2 -0
- package/assets/init-Gi6I4Gst.js +1 -0
- package/assets/init-user-xSvnFTF0.js +1 -0
- package/assets/isObject-DL-BuaBl.js +1 -0
- package/assets/ishikawaDiagram-5VMMS53U-zE83db4H.js +70 -0
- package/assets/journeyDiagram-3NMN7TZE-DZNVFqrX.js +139 -0
- package/assets/kanban-definition-UXKFOSKX-CqxNgk27.js +89 -0
- package/assets/katex-HP8lGamR.js +257 -0
- package/assets/layout-CN3kt_jt.js +1 -0
- package/assets/linear-nvkaQ6BA.js +1 -0
- package/assets/{list-DhK0McVn.js → list-CrIU2eZz.js} +2 -2
- package/assets/login-CX9xVjCn.js +1 -0
- package/assets/manifest.json +834 -58
- package/assets/media-manager-BfYftLIH.js +6 -0
- package/assets/mermaid.core-C0V1NaVJ.js +310 -0
- package/assets/mindmap-definition-YA3MSWOX-Bh7_d9f1.js +96 -0
- package/assets/module-DPEvnad3.js +1 -0
- package/assets/notification-Dqpt5AIZ.js +20 -0
- package/assets/ordinal-Cboi1Yqb.js +1 -0
- package/assets/pegDiagram-XKGWAZYB-DMnjm6Z1.js +1 -0
- package/assets/pieDiagram-E7YTZNPT-D-RWCgYb.js +39 -0
- package/assets/quadrantDiagram-AXDQQJYC-BNBGP7RM.js +7 -0
- package/assets/railroadDiagram-O6MQD6OU-BIjVPT01.js +1 -0
- package/assets/register-CF4KQ97e.js +1 -0
- package/assets/requirementDiagram-BXWQKSXE-VPrtGdjM.js +84 -0
- package/assets/ru-CFJ4fysR.js +1 -0
- package/assets/sankeyDiagram-P5KCCOFB-ct9mLF3U.js +40 -0
- package/assets/sequenceDiagram-WJ2MYXX4-TC06Mbmw.js +162 -0
- package/assets/sizeCapture-INFHLROL-BMMwriCf.js +1 -0
- package/assets/stateDiagram-D77RDMKH-DtwYRPCX.js +1 -0
- package/assets/stateDiagram-v2-MP3YSRHH-C1yB0O5U.js +1 -0
- package/assets/swimlanes-42K2YHIH-DE3hRbbr.js +1 -0
- package/assets/swimlanesDiagram-VR7AAH4N-Ce4l1sQD.js +8 -0
- package/assets/timeline-definition-24CTP7MA-N7s_hfjj.js +120 -0
- package/assets/toNumber-DZb-r9sy.js +1 -0
- package/assets/use-appearance-DYTIKpT2.js +1 -0
- package/assets/user-filters-list-fR0YNJ3l.js +1 -0
- package/assets/vennDiagram-4TSXK5OY-Dj5bFQkR.js +34 -0
- package/assets/wardleyDiagram-VM6X3IG4-83ax25Z6.js +78 -0
- package/assets/welcome-v11MTsRK.js +1 -0
- package/assets/with-app-layout-CH6RIib1.js +31 -0
- package/assets/xychartDiagram-S5SC5T6Z-CW9Br5Xp.js +7 -0
- package/controllers/access-rights/permissionOptions.d.ts +2 -0
- package/controllers/access-rights/permissionOptions.js +23 -0
- package/controllers/add.js +2 -2
- package/controllers/addGroup.js +15 -6
- package/controllers/ai/AiAgentController.d.ts +66 -0
- package/controllers/ai/AiAgentController.js +435 -0
- package/controllers/ai/AiAssistantController.d.ts +0 -4
- package/controllers/ai/AiAssistantController.js +4 -78
- package/controllers/catalog/FrontendCatalogAdapter.js +7 -8
- package/controllers/docs/index.d.ts +22 -0
- package/controllers/docs/index.js +126 -0
- package/controllers/edit.js +2 -2
- package/controllers/editGroup.js +15 -6
- package/controllers/filter-fields/savedFilters.js +1 -1
- package/controllers/history-actions/HistoryController.js +7 -7
- package/controllers/inlineUpdate.js +10 -3
- package/controllers/list.js +1 -1
- package/controllers/login.js +1 -1
- package/controllers/notifications/NotificationController.js +14 -8
- package/controllers/view.js +3 -3
- package/controllers/widgets/filterInfo.js +1 -1
- package/helpers/accessRightsHelper.d.ts +30 -3
- package/helpers/accessRightsHelper.js +140 -12
- package/helpers/assetVersionHelper.d.ts +14 -0
- package/helpers/assetVersionHelper.js +42 -0
- package/helpers/configHelper.js +19 -18
- package/helpers/controllerHelper.d.ts +1 -0
- package/helpers/controllerHelper.js +25 -15
- package/helpers/fieldsHelper.d.ts +2 -1
- package/helpers/fieldsHelper.js +11 -5
- package/helpers/inertiaActionsHelper.d.ts +1 -1
- package/helpers/inertiaActionsHelper.js +4 -5
- package/helpers/inertiaAddHelper.d.ts +1 -1
- package/helpers/inertiaAddHelper.js +7 -6
- package/helpers/inertiaGroupHelper.js +10 -2
- package/helpers/inertiaListHelper.d.ts +1 -1
- package/helpers/inertiaListHelper.js +7 -8
- package/helpers/inertiaMenuHelper.d.ts +7 -2
- package/helpers/inertiaMenuHelper.js +12 -27
- package/helpers/menuHelper.d.ts +11 -1
- package/helpers/menuHelper.js +12 -0
- package/helpers/modelResourceHelper.d.ts +9 -0
- package/helpers/modelResourceHelper.js +43 -0
- package/helpers/navigationAccessHelper.d.ts +13 -0
- package/helpers/navigationAccessHelper.js +45 -0
- package/index.d.ts +11 -0
- package/index.js +11 -0
- package/interfaces/adminpanelConfig.d.ts +160 -2
- package/interfaces/queryCriteria.d.ts +13 -0
- package/interfaces/types.d.ts +169 -0
- package/lib/Adminizer.d.ts +8 -0
- package/lib/Adminizer.js +29 -2
- package/lib/DataAccessor.d.ts +100 -3
- package/lib/DataAccessor.js +454 -245
- package/lib/access-graph/AccessGraphResolver.d.ts +136 -0
- package/lib/access-graph/AccessGraphResolver.js +605 -0
- package/lib/access-graph/RecordAccessCache.d.ts +23 -0
- package/lib/access-graph/RecordAccessCache.js +30 -0
- package/lib/access-graph/RecordAccessResolver.d.ts +83 -0
- package/lib/access-graph/RecordAccessResolver.js +295 -0
- package/lib/access-graph/shared.d.ts +60 -0
- package/lib/access-graph/shared.js +121 -0
- package/lib/admin-links/AdminLinkHandler.d.ts +72 -0
- package/lib/admin-links/AdminLinkHandler.js +183 -0
- package/lib/ai-assistant/AbstractAiConversationHistoryService.d.ts +39 -0
- package/lib/ai-assistant/AbstractAiConversationHistoryService.js +98 -0
- package/lib/ai-assistant/AbstractAiModelService.d.ts +139 -2
- package/lib/ai-assistant/AbstractAiModelService.js +154 -1
- package/lib/ai-assistant/AiAgentRunManager.d.ts +35 -0
- package/lib/ai-assistant/AiAgentRunManager.js +109 -0
- package/lib/ai-assistant/AiAssistantAgentSkillHandler.d.ts +61 -0
- package/lib/ai-assistant/AiAssistantAgentSkillHandler.js +90 -0
- package/lib/ai-assistant/AiAssistantHandler.d.ts +1 -0
- package/lib/ai-assistant/AiAssistantHandler.js +4 -0
- package/lib/ai-assistant/AiAssistantUiMethodHandler.d.ts +60 -0
- package/lib/ai-assistant/AiAssistantUiMethodHandler.js +144 -0
- package/lib/ai-assistant/builtinAgentSkills.d.ts +9 -0
- package/lib/ai-assistant/builtinAgentSkills.js +259 -0
- package/lib/ai-assistant/jsonSafe.d.ts +13 -0
- package/lib/ai-assistant/jsonSafe.js +81 -0
- package/lib/app-manager/AdminizerApp.d.ts +31 -2
- package/lib/app-manager/AppManager.js +43 -42
- package/lib/app-manager/ConfigLayerHandler.js +4 -0
- package/lib/docs/AbstractDocumentation.d.ts +100 -0
- package/lib/docs/AbstractDocumentation.js +108 -0
- package/lib/docs/DocumentationHandler.d.ts +100 -0
- package/lib/docs/DocumentationHandler.js +198 -0
- package/lib/docs/FileDocumentation.d.ts +47 -0
- package/lib/docs/FileDocumentation.js +189 -0
- package/lib/docs/docsAgentSkills.d.ts +10 -0
- package/lib/docs/docsAgentSkills.js +93 -0
- package/lib/filters/FilterService.js +4 -3
- package/lib/history-actions/AbstractHistoryAdapter.d.ts +26 -1
- package/lib/history-actions/AbstractHistoryAdapter.js +155 -25
- package/lib/media-manager/helpers/MediaManagerHelper.js +9 -7
- package/lib/model/AbstractModel.d.ts +48 -0
- package/lib/model/AbstractModel.js +14 -4
- package/lib/model/ModelHandler.d.ts +50 -2
- package/lib/model/ModelHandler.js +117 -8
- package/lib/model/adapter/sequelize.d.ts +43 -3
- package/lib/model/adapter/sequelize.js +317 -138
- package/lib/model/adapter/typeorm.d.ts +16 -0
- package/lib/model/adapter/typeorm.js +136 -9
- package/lib/notifications/GeneralNotificationService.js +6 -5
- package/lib/notifications/SystemNotificationService.js +1 -1
- package/lib/ui-i18n/uiTranslationKeys.d.ts +2 -1
- package/lib/ui-i18n/uiTranslationKeys.js +42 -1
- package/lib/widgets/widgetHandler.js +10 -6
- package/models/Group.d.ts +2 -1
- package/package.json +35 -23
- package/policies/authPolicies.js +6 -6
- package/policies/permissionResolvers.d.ts +1 -0
- package/policies/permissionResolvers.js +3 -0
- package/system/Router.js +21 -3
- package/system/bindAccessRights.js +13 -3
- package/system/bindDocs.d.ts +13 -0
- package/system/bindDocs.js +77 -0
- package/system/bindInertia.js +30 -7
- package/system/buildInternalModelAccess.d.ts +8 -0
- package/system/buildInternalModelAccess.js +36 -4
- package/system/defaults.js +7 -1
- package/system/validateSystemModels.js +29 -9
- package/assets/add-DED_wpga.js +0 -1
- package/assets/add-group-CL80RdYb.js +0 -1
- package/assets/add-user-BRmwvQB8.js +0 -1
- package/assets/app-DNXiApCk.css +0 -1
- package/assets/app-layout-86yxiZOy.js +0 -1
- package/assets/app.js +0 -138
- package/assets/dashboard-ZP6K2s_8.js +0 -3
- package/assets/debounce-BMmXVQ06.js +0 -1
- package/assets/history-M61Bcv02.js +0 -1
- package/assets/init-user-8aUohVDq.js +0 -1
- package/assets/login-CO4laf6m.js +0 -1
- package/assets/media-manager-BDbpSSjH.js +0 -6
- package/assets/module-DfBneaUl.js +0 -1
- package/assets/notification-CVnQf3ef.js +0 -20
- package/assets/register-DBYIMXGQ.js +0 -1
- package/assets/ru-rYKdQbWF.js +0 -1
- package/assets/use-appearance-_EbbjHTh.js +0 -1
- package/assets/user-filters-list-DXhGLFTn.js +0 -1
- package/assets/welcome-CLxvXkcg.js +0 -1
package/lib/DataAccessor.d.ts
CHANGED
|
@@ -6,7 +6,8 @@ import { ActionType } from "../interfaces/adminpanelConfig.js";
|
|
|
6
6
|
import { Fields } from "../helpers/fieldsHelper.js";
|
|
7
7
|
import { Adminizer } from "./Adminizer.js";
|
|
8
8
|
import { User } from "../models/User.js";
|
|
9
|
-
import { QueryCriteria } from "../interfaces/queryCriteria.js";
|
|
9
|
+
import { CriteriaWhere, QueryCriteria } from "../interfaces/queryCriteria.js";
|
|
10
|
+
import { RecordAccessCache } from "./access-graph/RecordAccessCache.js";
|
|
10
11
|
export declare class DataAccessor {
|
|
11
12
|
readonly adminizer: Adminizer;
|
|
12
13
|
user: User;
|
|
@@ -14,10 +15,23 @@ export declare class DataAccessor {
|
|
|
14
15
|
action: ActionType;
|
|
15
16
|
private fields;
|
|
16
17
|
private actionVerb;
|
|
17
|
-
|
|
18
|
+
private associatedPrimaryKeyCache;
|
|
19
|
+
private recordAccessAssociationFieldsCache?;
|
|
20
|
+
/** Set on the internal accessors used to verify associations — see disablePopulateAccess(). */
|
|
21
|
+
private populateAccessDisabled;
|
|
22
|
+
/** Accessors of associated models, so their access lookups are resolved once per model. */
|
|
23
|
+
private associatedAccessorCache;
|
|
24
|
+
/** Per-request record-access resolver; its memoized id lists live as long as this accessor. */
|
|
25
|
+
private recordAccessResolver?;
|
|
26
|
+
/**
|
|
27
|
+
* Memoization shared with the other accessors of the same request; pass one when
|
|
28
|
+
* building several accessors for one page so the membership lookups run once.
|
|
29
|
+
*/
|
|
30
|
+
readonly recordAccessCache: RecordAccessCache;
|
|
31
|
+
constructor(adminizer: Adminizer, user: User, modelResource: ModelResource, action: ActionType, recordAccessCache?: RecordAccessCache);
|
|
18
32
|
private getModelConfig;
|
|
19
|
-
private accessRelationModel;
|
|
20
33
|
private resolveRelationTarget;
|
|
34
|
+
private getRelationModel;
|
|
21
35
|
/**
|
|
22
36
|
* Retrieves the fields for the given ModelResource based on action type,
|
|
23
37
|
* taking into account access rights and configuration settings.
|
|
@@ -26,10 +40,23 @@ export declare class DataAccessor {
|
|
|
26
40
|
getFieldsConfig(): Fields;
|
|
27
41
|
private orderFieldsByConfig;
|
|
28
42
|
private getAssociatedFieldsConfig;
|
|
43
|
+
/**
|
|
44
|
+
* Base config for a field: the normalized declared config merged over `{key, title}`,
|
|
45
|
+
* or `undefined` when the config is invalid or field access is denied.
|
|
46
|
+
*/
|
|
47
|
+
private buildBaseFieldConfig;
|
|
29
48
|
private checkFieldAccess;
|
|
30
49
|
private getSelectedFields;
|
|
31
50
|
private getPopulateCriteria;
|
|
51
|
+
/** Administrators, and every user when authorization is switched off entirely. */
|
|
52
|
+
private hasUnrestrictedAccess;
|
|
32
53
|
private canUseSelectedFieldFallback;
|
|
54
|
+
/**
|
|
55
|
+
* Primary key of a field's associated model, for the PK-always-visible rule on
|
|
56
|
+
* populated records. Cached per field config: `process()` asks once per associated
|
|
57
|
+
* item of every record, and the answer cannot change within an accessor's lifetime.
|
|
58
|
+
*/
|
|
59
|
+
private associatedPrimaryKey;
|
|
33
60
|
/**
|
|
34
61
|
* Returns filtered record applying config from this.fields on this record
|
|
35
62
|
* @data - record from a specific model */
|
|
@@ -38,6 +65,76 @@ export declare class DataAccessor {
|
|
|
38
65
|
private filterAssociatedRecord;
|
|
39
66
|
/** Process for an array of records */
|
|
40
67
|
processMany<T>(records: T[], criteria?: QueryCriteria): Partial<T>[];
|
|
68
|
+
/**
|
|
69
|
+
* {@link processMany} plus record-level access on populated associations.
|
|
70
|
+
*
|
|
71
|
+
* `sanitizeUserRelationAccess` confines the queried model only, while adapters
|
|
72
|
+
* populate associations regardless of record access — so a record the user may not reach can
|
|
73
|
+
* still be read through a relation of one they may. Records the target model's own rules
|
|
74
|
+
* keep out of reach are reduced to their primary key here, which costs one batched query
|
|
75
|
+
* per associated restricted model (memoized for the accessor's lifetime) — except the
|
|
76
|
+
* associations whose confinement {@link pushDownPopulateAccess} already compiled into
|
|
77
|
+
* the populate JOIN itself: those arrive pre-reduced and are skipped.
|
|
78
|
+
*
|
|
79
|
+
* Read paths only: write paths hand back the record the user just supplied.
|
|
80
|
+
*/
|
|
81
|
+
processManyWithAccess<T>(records: T[], criteria?: QueryCriteria): Promise<Partial<T>[]>;
|
|
82
|
+
/**
|
|
83
|
+
* Compiles the record-access confinement of single populated associations into the
|
|
84
|
+
* criteria (`populateOn`), so the adapter ANDs it into the populate JOIN's ON clause
|
|
85
|
+
* and {@link processManyWithAccess} skips the post-read query for those fields — the
|
|
86
|
+
* closed records arrive as bare foreign keys straight from the database. Only the
|
|
87
|
+
* associations the adapter declares pushdown-capable and whose access filter has an
|
|
88
|
+
* adapter-portable shape are compiled; the rest keep the post-read verification.
|
|
89
|
+
*
|
|
90
|
+
* Single associations only: a filtered-out belongsTo row still carries its foreign
|
|
91
|
+
* key, while a record dropped from a populated collection would lose its id — and an
|
|
92
|
+
* edit form saving that truncated collection would silently sever the links.
|
|
93
|
+
*
|
|
94
|
+
* Any incoming `populateOn` is discarded — this method is its sole author, because
|
|
95
|
+
* the verification skip above trusts the key.
|
|
96
|
+
*/
|
|
97
|
+
pushDownPopulateAccess(criteria?: QueryCriteria): Promise<QueryCriteria>;
|
|
98
|
+
/**
|
|
99
|
+
* Turns the association verification of {@link processManyWithAccess} off for this accessor.
|
|
100
|
+
* Used for the accessors that perform that verification themselves: they only read ids,
|
|
101
|
+
* and two restricted models referencing each other sideways would otherwise recurse.
|
|
102
|
+
*/
|
|
103
|
+
disablePopulateAccess(): this;
|
|
104
|
+
/**
|
|
105
|
+
* Association fields whose target model is access-restricted and whose content therefore
|
|
106
|
+
* needs verifying — except the edge pointing at this model's own graph parent, where
|
|
107
|
+
* the target is reachable by construction (a visible child hangs off a visible parent).
|
|
108
|
+
*/
|
|
109
|
+
private recordAccessAssociationFields;
|
|
110
|
+
/** True when the model confines its records to the user, by its own relation or the graph. */
|
|
111
|
+
private hasRecordAccessRules;
|
|
112
|
+
private associatedResourceName;
|
|
113
|
+
/** Primary keys of the populated records referenced by a field, keyed by their string form. */
|
|
114
|
+
private collectAssociatedIds;
|
|
115
|
+
/** Replaces populated records the user may not reach with their bare primary key. */
|
|
116
|
+
private reduceInvisibleAssociations;
|
|
117
|
+
/**
|
|
118
|
+
* The associated model's own view accessor, shared between the pushdown and the
|
|
119
|
+
* post-read verification so its access lookups resolve once per model.
|
|
120
|
+
*/
|
|
121
|
+
private associatedAccessor;
|
|
122
|
+
/**
|
|
123
|
+
* Subset of `ids` the user may reach in the associated model, or `undefined` when that
|
|
124
|
+
* model has no record access rules. The target's own accessor is reused across calls, so its
|
|
125
|
+
* membership lookups are resolved once.
|
|
126
|
+
*/
|
|
127
|
+
private visibleAssociatedIds;
|
|
41
128
|
sanitizeUserRelationAccess(criteria?: QueryCriteria): Promise<QueryCriteria>;
|
|
42
129
|
setUserRelationAccess<T>(record: T): Promise<Partial<T>>;
|
|
130
|
+
/**
|
|
131
|
+
* Where-fragment confining this model to the records the user may reach
|
|
132
|
+
* (`userAccessRelation` or accessGraph); `{}` means no record-level constraint.
|
|
133
|
+
*
|
|
134
|
+
* For surfaces that reference records without reading them through the model API —
|
|
135
|
+
* the change history, for one — and therefore cannot rely on
|
|
136
|
+
* {@link sanitizeUserRelationAccess} doing it for them.
|
|
137
|
+
*/
|
|
138
|
+
getRecordAccessWhere(): Promise<CriteriaWhere>;
|
|
139
|
+
private getRecordAccessResolver;
|
|
43
140
|
}
|