@expo/entity 0.54.0 → 0.57.0
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/build/src/AuthorizationResultBasedEntityAssociationLoader.d.ts +1 -1
- package/build/src/AuthorizationResultBasedEntityAssociationLoader.js.map +1 -1
- package/build/src/AuthorizationResultBasedEntityLoader.d.ts +18 -24
- package/build/src/AuthorizationResultBasedEntityLoader.js +37 -56
- package/build/src/AuthorizationResultBasedEntityLoader.js.map +1 -1
- package/build/src/AuthorizationResultBasedEntityMutator.js +26 -19
- package/build/src/AuthorizationResultBasedEntityMutator.js.map +1 -1
- package/build/src/EnforcingEntityCreator.d.ts +1 -1
- package/build/src/EnforcingEntityCreator.js +1 -1
- package/build/src/EnforcingEntityLoader.d.ts +1 -58
- package/build/src/EnforcingEntityLoader.js +0 -65
- package/build/src/EnforcingEntityLoader.js.map +1 -1
- package/build/src/Entity.d.ts +6 -0
- package/build/src/Entity.js +6 -0
- package/build/src/Entity.js.map +1 -1
- package/build/src/EntityCompanion.d.ts +2 -2
- package/build/src/EntityCompanion.js.map +1 -1
- package/build/src/EntityCompanionProvider.d.ts +1 -1
- package/build/src/EntityCompanionProvider.js +4 -4
- package/build/src/EntityConfiguration.d.ts +1 -1
- package/build/src/EntityConfiguration.js +1 -2
- package/build/src/EntityConfiguration.js.map +1 -1
- package/build/src/{EntityLoaderUtils.d.ts → EntityConstructionUtils.d.ts} +15 -29
- package/build/src/EntityConstructionUtils.js +118 -0
- package/build/src/EntityConstructionUtils.js.map +1 -0
- package/build/src/EntityDatabaseAdapter.d.ts +10 -108
- package/build/src/EntityDatabaseAdapter.js +14 -76
- package/build/src/EntityDatabaseAdapter.js.map +1 -1
- package/build/src/EntityFieldDefinition.d.ts +1 -1
- package/build/src/EntityInvalidationUtils.d.ts +41 -0
- package/build/src/EntityInvalidationUtils.js +71 -0
- package/build/src/EntityInvalidationUtils.js.map +1 -0
- package/build/src/EntityLoader.d.ts +0 -6
- package/build/src/EntityLoader.js +0 -7
- package/build/src/EntityLoader.js.map +1 -1
- package/build/src/EntityLoaderFactory.d.ts +4 -0
- package/build/src/EntityLoaderFactory.js +10 -3
- package/build/src/EntityLoaderFactory.js.map +1 -1
- package/build/src/EntityPrivacyPolicy.d.ts +27 -0
- package/build/src/EntityPrivacyPolicy.js +22 -1
- package/build/src/EntityPrivacyPolicy.js.map +1 -1
- package/build/src/EntitySecondaryCacheLoader.d.ts +14 -3
- package/build/src/EntitySecondaryCacheLoader.js +21 -4
- package/build/src/EntitySecondaryCacheLoader.js.map +1 -1
- package/build/src/ReadonlyEntity.d.ts +4 -5
- package/build/src/ReadonlyEntity.js +7 -8
- package/build/src/ReadonlyEntity.js.map +1 -1
- package/build/src/ViewerContext.d.ts +6 -6
- package/build/src/ViewerContext.js +8 -8
- package/build/src/ViewerScopedEntityCompanion.d.ts +1 -1
- package/build/src/ViewerScopedEntityCompanion.js.map +1 -1
- package/build/src/ViewerScopedEntityLoaderFactory.d.ts +4 -0
- package/build/src/ViewerScopedEntityLoaderFactory.js +6 -0
- package/build/src/ViewerScopedEntityLoaderFactory.js.map +1 -1
- package/build/src/errors/EntityDatabaseAdapterError.d.ts +4 -0
- package/build/src/errors/EntityDatabaseAdapterError.js +13 -1
- package/build/src/errors/EntityDatabaseAdapterError.js.map +1 -1
- package/build/src/errors/EntityError.d.ts +2 -1
- package/build/src/errors/EntityError.js +1 -0
- package/build/src/errors/EntityError.js.map +1 -1
- package/build/src/index.d.ts +6 -1
- package/build/src/index.js +6 -1
- package/build/src/index.js.map +1 -1
- package/build/src/internal/EntityDataManager.d.ts +8 -16
- package/build/src/internal/EntityDataManager.js +8 -18
- package/build/src/internal/EntityDataManager.js.map +1 -1
- package/build/src/internal/EntityFieldTransformationUtils.js.map +1 -1
- package/build/src/internal/EntityLoadInterfaces.d.ts +2 -0
- package/build/src/internal/EntityLoadInterfaces.js +2 -0
- package/build/src/internal/EntityLoadInterfaces.js.map +1 -1
- package/build/src/internal/EntityTableDataCoordinator.d.ts +2 -0
- package/build/src/internal/EntityTableDataCoordinator.js +4 -0
- package/build/src/internal/EntityTableDataCoordinator.js.map +1 -1
- package/build/src/metrics/EntityMetricsUtils.d.ts +1 -0
- package/build/src/metrics/EntityMetricsUtils.js +15 -1
- package/build/src/metrics/EntityMetricsUtils.js.map +1 -1
- package/build/src/metrics/IEntityMetricsAdapter.d.ts +4 -1
- package/build/src/metrics/IEntityMetricsAdapter.js +3 -0
- package/build/src/metrics/IEntityMetricsAdapter.js.map +1 -1
- package/build/src/rules/AllowIfAllSubRulesAllowPrivacyPolicyRule.d.ts +10 -0
- package/build/src/rules/AllowIfAllSubRulesAllowPrivacyPolicyRule.js +19 -0
- package/build/src/rules/AllowIfAllSubRulesAllowPrivacyPolicyRule.js.map +1 -0
- package/build/src/rules/AllowIfAnySubRuleAllowsPrivacyPolicyRule.d.ts +10 -0
- package/build/src/rules/AllowIfAnySubRuleAllowsPrivacyPolicyRule.js +19 -0
- package/build/src/rules/AllowIfAnySubRuleAllowsPrivacyPolicyRule.js.map +1 -0
- package/build/src/rules/AllowIfInParentCascadeDeletionPrivacyPolicyRule.d.ts +66 -0
- package/build/src/rules/AllowIfInParentCascadeDeletionPrivacyPolicyRule.js +75 -0
- package/build/src/rules/AllowIfInParentCascadeDeletionPrivacyPolicyRule.js.map +1 -0
- package/build/src/rules/EvaluateIfEntityFieldPredicatePrivacyPolicyRule.d.ts +12 -0
- package/build/src/rules/EvaluateIfEntityFieldPredicatePrivacyPolicyRule.js +23 -0
- package/build/src/rules/EvaluateIfEntityFieldPredicatePrivacyPolicyRule.js.map +1 -0
- package/build/src/rules/PrivacyPolicyRule.d.ts +2 -2
- package/build/src/utils/EntityPrivacyUtils.js +11 -20
- package/build/src/utils/EntityPrivacyUtils.js.map +1 -1
- package/build/src/utils/collections/maps.d.ts +2 -2
- package/build/src/utils/collections/maps.js +2 -2
- package/package.json +5 -5
- package/src/AuthorizationResultBasedEntityAssociationLoader.ts +4 -7
- package/src/AuthorizationResultBasedEntityLoader.ts +58 -88
- package/src/AuthorizationResultBasedEntityMutator.ts +35 -20
- package/src/EnforcingEntityCreator.ts +1 -1
- package/src/EnforcingEntityLoader.ts +1 -95
- package/src/Entity.ts +6 -0
- package/src/EntityCompanion.ts +2 -2
- package/src/EntityCompanionProvider.ts +4 -4
- package/src/EntityConfiguration.ts +8 -5
- package/src/EntityConstructionUtils.ts +168 -0
- package/src/EntityDatabaseAdapter.ts +32 -222
- package/src/EntityFieldDefinition.ts +1 -1
- package/src/{EntityLoaderUtils.ts → EntityInvalidationUtils.ts} +5 -96
- package/src/EntityLoader.ts +0 -16
- package/src/EntityLoaderFactory.ts +50 -10
- package/src/EntityPrivacyPolicy.ts +44 -1
- package/src/EntitySecondaryCacheLoader.ts +54 -3
- package/src/ReadonlyEntity.ts +9 -11
- package/src/ViewerContext.ts +10 -10
- package/src/ViewerScopedEntityCompanion.ts +1 -1
- package/src/ViewerScopedEntityLoaderFactory.ts +37 -0
- package/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.ts +3 -5
- package/src/__tests__/AuthorizationResultBasedEntityLoader-test.ts +34 -419
- package/src/__tests__/ComposedCacheAdapter-test.ts +3 -3
- package/src/__tests__/EnforcingEntityLoader-test.ts +2 -134
- package/src/__tests__/EntityCompanion-test.ts +18 -0
- package/src/__tests__/EntityConfiguration-test.ts +4 -4
- package/src/__tests__/EntityDatabaseAdapter-test.ts +33 -68
- package/src/__tests__/EntityEdges-test.ts +10 -10
- package/src/__tests__/EntityLoader-test.ts +6 -4
- package/src/__tests__/EntityMutator-test.ts +27 -15
- package/src/__tests__/EntityPrivacyPolicy-test.ts +102 -0
- package/src/__tests__/EntityQueryContext-test.ts +11 -11
- package/src/__tests__/EntitySecondaryCacheLoader-test.ts +10 -5
- package/src/__tests__/EntitySelfReferentialEdges-test.ts +6 -6
- package/src/__tests__/GenericEntityCacheAdapter-test.ts +18 -15
- package/src/__tests__/GenericSecondaryEntityCache-test.ts +27 -5
- package/src/__tests__/ReadonlyEntity-test.ts +6 -4
- package/src/__tests__/ViewerContext-test.ts +4 -4
- package/src/__tests__/ViewerScopedEntityCompanion-test.ts +1 -0
- package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +0 -17
- package/src/errors/EntityDatabaseAdapterError.ts +14 -0
- package/src/errors/EntityError.ts +1 -0
- package/src/errors/__tests__/EntityDatabaseAdapterError-test.ts +9 -0
- package/src/errors/__tests__/EntityError-test.ts +13 -5
- package/src/index.ts +6 -1
- package/src/internal/EntityDataManager.ts +19 -54
- package/src/internal/EntityFieldTransformationUtils.ts +5 -5
- package/src/internal/EntityLoadInterfaces.ts +2 -0
- package/src/internal/EntityTableDataCoordinator.ts +2 -2
- package/src/internal/__tests__/CompositeFieldHolder-test.ts +8 -2
- package/src/internal/__tests__/EntityDataManager-test.ts +71 -202
- package/src/internal/__tests__/ReadThroughEntityCache-test.ts +39 -24
- package/src/metrics/EntityMetricsUtils.ts +23 -0
- package/src/metrics/IEntityMetricsAdapter.ts +3 -0
- package/src/metrics/__tests__/EntityMetricsUtils-test.ts +120 -0
- package/src/rules/AllowIfAllSubRulesAllowPrivacyPolicyRule.ts +47 -0
- package/src/rules/AllowIfAnySubRuleAllowsPrivacyPolicyRule.ts +47 -0
- package/src/rules/AllowIfInParentCascadeDeletionPrivacyPolicyRule.ts +177 -0
- package/src/rules/EvaluateIfEntityFieldPredicatePrivacyPolicyRule.ts +46 -0
- package/src/rules/PrivacyPolicyRule.ts +2 -2
- package/src/rules/__tests__/AllowIfAllSubRulesAllowPrivacyPolicyRule-test.ts +64 -0
- package/src/rules/__tests__/AllowIfAnySubRuleAllowsPrivacyPolicyRule-test.ts +64 -0
- package/src/rules/__tests__/AllowIfInParentCascadeDeletionPrivacyPolicyRule-test.ts +268 -0
- package/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.ts +2 -2
- package/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.ts +2 -2
- package/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.ts +2 -2
- package/src/rules/__tests__/EvaluateIfEntityFieldPredicatePrivacyPolicyRule-test.ts +47 -0
- package/src/utils/EntityPrivacyUtils.ts +18 -29
- package/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.ts +2 -2
- package/src/utils/__testfixtures__/StubDatabaseAdapter.ts +13 -101
- package/src/utils/__tests__/EntityCreationUtils-test.ts +6 -6
- package/src/utils/__tests__/EntityPrivacyUtils-test.ts +2 -2
- package/src/utils/collections/maps.ts +2 -2
- package/build/src/EntityLoaderUtils.js +0 -147
- package/build/src/EntityLoaderUtils.js.map +0 -1
|
@@ -9,7 +9,7 @@ import { ViewerContext } from './ViewerContext';
|
|
|
9
9
|
* associated with an entity. In relational databases, these entities are often referenced
|
|
10
10
|
* by foreign keys.
|
|
11
11
|
*/
|
|
12
|
-
export declare class AuthorizationResultBasedEntityAssociationLoader<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields> {
|
|
12
|
+
export declare class AuthorizationResultBasedEntityAssociationLoader<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> {
|
|
13
13
|
private readonly entity;
|
|
14
14
|
private readonly queryContext;
|
|
15
15
|
constructor(entity: TEntity, queryContext: EntityQueryContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationResultBasedEntityAssociationLoader.js","sourceRoot":"","sources":["../../src/AuthorizationResultBasedEntityAssociationLoader.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAQ/C;;;;GAIG;AACH,MAAa,+CAA+C;IAQvC;IACA;IAFnB,YACmB,MAAe,EACf,YAAgC;QADhC,WAAM,GAAN,MAAM,CAAS;QACf,iBAAY,GAAZ,YAAY,CAAoB;IAChD,CAAC;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,yBAAyB,CAqB7B,gCAAmD,EACnD,qBAOC;QAID,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QAClF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO,IAAA,gBAAM,EAAC,IAAI,CAEjB,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;aACvB,gBAAgB,EAAE;aAClB,sCAAsC,CAAC,qBAAqB,CAAC;aAC7D,gBAAgB,EAAE;aAClB,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAErD,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,+BAA+B,CAoBnC,qBAOC,EACD,qCAA+F;QAE/F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;aACvB,gBAAgB,EAAE;aAClB,sCAAsC,CAAC,qBAAqB,CAAC;aAC7D,gBAAgB,EAAE;aAClB,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,OAAO,MAAM,MAAM,CAAC,4BAA4B,
|
|
1
|
+
{"version":3,"file":"AuthorizationResultBasedEntityAssociationLoader.js","sourceRoot":"","sources":["../../src/AuthorizationResultBasedEntityAssociationLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { Result } from '@expo/results';
|
|
2
2
|
import { IEntityClass } from './Entity';
|
|
3
3
|
import { EntityCompositeField, EntityCompositeFieldValue, EntityConfiguration } from './EntityConfiguration';
|
|
4
|
-
import {
|
|
5
|
-
import { EntityLoaderUtils } from './EntityLoaderUtils';
|
|
4
|
+
import { EntityConstructionUtils } from './EntityConstructionUtils';
|
|
6
5
|
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
7
6
|
import { EntityQueryContext } from './EntityQueryContext';
|
|
8
7
|
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
9
8
|
import { ViewerContext } from './ViewerContext';
|
|
10
9
|
import { EntityDataManager } from './internal/EntityDataManager';
|
|
11
|
-
import { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter';
|
|
12
10
|
/**
|
|
13
11
|
* Authorization-result-based entity loader. All normal loads are batched,
|
|
14
12
|
* cached, and authorized against the entity's EntityPrivacyPolicy. All loads through this
|
|
@@ -20,9 +18,8 @@ export declare class AuthorizationResultBasedEntityLoader<TFields extends Record
|
|
|
20
18
|
private readonly entityConfiguration;
|
|
21
19
|
private readonly entityClass;
|
|
22
20
|
private readonly dataManager;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
constructor(queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, dataManager: EntityDataManager<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter, utils: EntityLoaderUtils<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>);
|
|
21
|
+
private readonly constructionUtils;
|
|
22
|
+
constructor(queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, dataManager: EntityDataManager<TFields, TIDField>, constructionUtils: EntityConstructionUtils<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>);
|
|
26
23
|
/**
|
|
27
24
|
* Authorization-result-based version of the EnforcingEntityLoader method by the same name.
|
|
28
25
|
* @returns map from fieldValue to entity results that match the query for that fieldValue,
|
|
@@ -40,6 +37,20 @@ export declare class AuthorizationResultBasedEntityLoader<TFields extends Record
|
|
|
40
37
|
* @returns array of entity results that match the query for fieldValue, where result error can be UnauthorizedError
|
|
41
38
|
*/
|
|
42
39
|
loadManyByFieldEqualingAsync<N extends keyof Pick<TFields, TSelectedFields>>(fieldName: N, fieldValue: NonNullable<TFields[N]>): Promise<readonly Result<TEntity>[]>;
|
|
40
|
+
/**
|
|
41
|
+
* Load one entity where fieldName equals fieldValue, or null if no entity exists matching the condition.
|
|
42
|
+
* Not cached or coalesced, and not guaranteed to be deterministic if multiple entities match the condition.
|
|
43
|
+
*
|
|
44
|
+
* Only used when evaluating EntityEdgeDeletionAuthorizationInferenceBehavior.ONE_IMPLIES_ALL.
|
|
45
|
+
*
|
|
46
|
+
* @param fieldName - entity field being queried
|
|
47
|
+
* @param fieldValue - fieldName field value being queried
|
|
48
|
+
* @returns entity result matching the query for fieldValue. Returns null if no entity matches the query.
|
|
49
|
+
* @throws EntityNotAuthorizedError when viewer is not authorized to view the returned entity
|
|
50
|
+
*
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
private loadOneByFieldEqualingAsync;
|
|
43
54
|
/**
|
|
44
55
|
* Authorization-result-based version of the EnforcingEntityLoader method by the same name.
|
|
45
56
|
* @returns array of entity results that match the query for compositeFieldValue, where result error can be UnauthorizedError
|
|
@@ -76,25 +87,8 @@ export declare class AuthorizationResultBasedEntityLoader<TFields extends Record
|
|
|
76
87
|
* @returns map from ID to nullable corresponding entity result, where result error can be UnauthorizedError.
|
|
77
88
|
*/
|
|
78
89
|
loadManyByIDsNullableAsync(ids: readonly TFields[TIDField][]): Promise<ReadonlyMap<TFields[TIDField], Result<TEntity> | null>>;
|
|
79
|
-
/**
|
|
80
|
-
* Authorization-result-based version of the EnforcingEntityLoader method by the same name.
|
|
81
|
-
* @returns the first entity results that matches the query, where result error can be
|
|
82
|
-
* UnauthorizedError
|
|
83
|
-
*/
|
|
84
|
-
loadFirstByFieldEqualityConjunctionAsync<N extends keyof Pick<TFields, TSelectedFields>>(fieldEqualityOperands: FieldEqualityCondition<TFields, N>[], querySelectionModifiers: Omit<QuerySelectionModifiers<TFields>, 'limit'> & Required<Pick<QuerySelectionModifiers<TFields>, 'orderBy'>>): Promise<Result<TEntity> | null>;
|
|
85
|
-
/**
|
|
86
|
-
* Authorization-result-based version of the EnforcingEntityLoader method by the same name.
|
|
87
|
-
* @returns array of entity results that match the query, where result error can be UnauthorizedError
|
|
88
|
-
*/
|
|
89
|
-
loadManyByFieldEqualityConjunctionAsync<N extends keyof Pick<TFields, TSelectedFields>>(fieldEqualityOperands: FieldEqualityCondition<TFields, N>[], querySelectionModifiers?: QuerySelectionModifiers<TFields>): Promise<readonly Result<TEntity>[]>;
|
|
90
|
-
/**
|
|
91
|
-
* Authorization-result-based version of the EnforcingEntityLoader method by the same name.
|
|
92
|
-
* @returns array of entity results that match the query, where result error can be UnauthorizedError
|
|
93
|
-
* @throws Error when rawWhereClause or bindings are invalid
|
|
94
|
-
*/
|
|
95
|
-
loadManyByRawWhereClauseAsync(rawWhereClause: string, bindings: any[] | object, querySelectionModifiers?: QuerySelectionModifiersWithOrderByRaw<TFields>): Promise<readonly Result<TEntity>[]>;
|
|
96
|
-
private validateFieldAndValues;
|
|
97
90
|
private validateFieldAndValuesAndConvertToHolders;
|
|
91
|
+
private validateFieldAndValueAndConvertToHolders;
|
|
98
92
|
private validateCompositeFieldAndValuesAndConvertToHolders;
|
|
99
93
|
private constructAndAuthorizeEntitiesFromCompositeFieldValueHolderMapAsync;
|
|
100
94
|
}
|
|
@@ -7,8 +7,6 @@ exports.AuthorizationResultBasedEntityLoader = void 0;
|
|
|
7
7
|
const results_1 = require("@expo/results");
|
|
8
8
|
const invariant_1 = __importDefault(require("invariant"));
|
|
9
9
|
const nullthrows_1 = __importDefault(require("nullthrows"));
|
|
10
|
-
const EntityDatabaseAdapter_1 = require("./EntityDatabaseAdapter");
|
|
11
|
-
const EntityInvalidFieldValueError_1 = require("./errors/EntityInvalidFieldValueError");
|
|
12
10
|
const EntityNotFoundError_1 = require("./errors/EntityNotFoundError");
|
|
13
11
|
const CompositeFieldHolder_1 = require("./internal/CompositeFieldHolder");
|
|
14
12
|
const CompositeFieldValueMap_1 = require("./internal/CompositeFieldValueMap");
|
|
@@ -26,15 +24,13 @@ class AuthorizationResultBasedEntityLoader {
|
|
|
26
24
|
entityConfiguration;
|
|
27
25
|
entityClass;
|
|
28
26
|
dataManager;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
constructor(queryContext, entityConfiguration, entityClass, dataManager, metricsAdapter, utils) {
|
|
27
|
+
constructionUtils;
|
|
28
|
+
constructor(queryContext, entityConfiguration, entityClass, dataManager, constructionUtils) {
|
|
32
29
|
this.queryContext = queryContext;
|
|
33
30
|
this.entityConfiguration = entityConfiguration;
|
|
34
31
|
this.entityClass = entityClass;
|
|
35
32
|
this.dataManager = dataManager;
|
|
36
|
-
this.
|
|
37
|
-
this.utils = utils;
|
|
33
|
+
this.constructionUtils = constructionUtils;
|
|
38
34
|
}
|
|
39
35
|
/**
|
|
40
36
|
* Authorization-result-based version of the EnforcingEntityLoader method by the same name.
|
|
@@ -45,7 +41,7 @@ class AuthorizationResultBasedEntityLoader {
|
|
|
45
41
|
const { loadKey, loadValues } = this.validateFieldAndValuesAndConvertToHolders(fieldName, fieldValues);
|
|
46
42
|
const loadValuesToFieldObjects = await this.dataManager.loadManyEqualingAsync(this.queryContext, loadKey, loadValues);
|
|
47
43
|
const fieldValuesToFieldObjects = (0, maps_1.mapKeys)(loadValuesToFieldObjects, (loadValue) => loadValue.fieldValue);
|
|
48
|
-
return await this.
|
|
44
|
+
return await this.constructionUtils.constructAndAuthorizeEntitiesAsync(fieldValuesToFieldObjects);
|
|
49
45
|
}
|
|
50
46
|
/**
|
|
51
47
|
* Authorization-result-based version of the EnforcingEntityLoader method by the same name.
|
|
@@ -67,6 +63,29 @@ class AuthorizationResultBasedEntityLoader {
|
|
|
67
63
|
(0, invariant_1.default)(entityResultsForFieldValue !== undefined, `${fieldValue} should be guaranteed to be present in returned map of entities`);
|
|
68
64
|
return entityResultsForFieldValue;
|
|
69
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Load one entity where fieldName equals fieldValue, or null if no entity exists matching the condition.
|
|
68
|
+
* Not cached or coalesced, and not guaranteed to be deterministic if multiple entities match the condition.
|
|
69
|
+
*
|
|
70
|
+
* Only used when evaluating EntityEdgeDeletionAuthorizationInferenceBehavior.ONE_IMPLIES_ALL.
|
|
71
|
+
*
|
|
72
|
+
* @param fieldName - entity field being queried
|
|
73
|
+
* @param fieldValue - fieldName field value being queried
|
|
74
|
+
* @returns entity result matching the query for fieldValue. Returns null if no entity matches the query.
|
|
75
|
+
* @throws EntityNotAuthorizedError when viewer is not authorized to view the returned entity
|
|
76
|
+
*
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
80
|
+
// @ts-ignore -- this method is used in EntityPrivacyUtils, but is not intended to be part of the public API of this class, so it is marked as private.
|
|
81
|
+
async loadOneByFieldEqualingAsync(fieldName, fieldValue) {
|
|
82
|
+
const { loadKey, loadValue } = this.validateFieldAndValueAndConvertToHolders(fieldName, fieldValue);
|
|
83
|
+
const result = await this.dataManager.loadOneEqualingAsync(this.queryContext, loadKey, loadValue);
|
|
84
|
+
if (!result) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
return await this.constructionUtils.constructAndAuthorizeEntityAsync(result);
|
|
88
|
+
}
|
|
70
89
|
/**
|
|
71
90
|
* Authorization-result-based version of the EnforcingEntityLoader method by the same name.
|
|
72
91
|
* @returns array of entity results that match the query for compositeFieldValue, where result error can be UnauthorizedError
|
|
@@ -140,58 +159,20 @@ class AuthorizationResultBasedEntityLoader {
|
|
|
140
159
|
return entityResultsForId[0] ?? null;
|
|
141
160
|
});
|
|
142
161
|
}
|
|
143
|
-
/**
|
|
144
|
-
* Authorization-result-based version of the EnforcingEntityLoader method by the same name.
|
|
145
|
-
* @returns the first entity results that matches the query, where result error can be
|
|
146
|
-
* UnauthorizedError
|
|
147
|
-
*/
|
|
148
|
-
async loadFirstByFieldEqualityConjunctionAsync(fieldEqualityOperands, querySelectionModifiers) {
|
|
149
|
-
const results = await this.loadManyByFieldEqualityConjunctionAsync(fieldEqualityOperands, {
|
|
150
|
-
...querySelectionModifiers,
|
|
151
|
-
limit: 1,
|
|
152
|
-
});
|
|
153
|
-
return results[0] ?? null;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Authorization-result-based version of the EnforcingEntityLoader method by the same name.
|
|
157
|
-
* @returns array of entity results that match the query, where result error can be UnauthorizedError
|
|
158
|
-
*/
|
|
159
|
-
async loadManyByFieldEqualityConjunctionAsync(fieldEqualityOperands, querySelectionModifiers = {}) {
|
|
160
|
-
for (const fieldEqualityOperand of fieldEqualityOperands) {
|
|
161
|
-
const fieldValues = (0, EntityDatabaseAdapter_1.isSingleValueFieldEqualityCondition)(fieldEqualityOperand)
|
|
162
|
-
? [fieldEqualityOperand.fieldValue]
|
|
163
|
-
: fieldEqualityOperand.fieldValues;
|
|
164
|
-
this.validateFieldAndValues(fieldEqualityOperand.fieldName, fieldValues);
|
|
165
|
-
}
|
|
166
|
-
const fieldObjects = await this.dataManager.loadManyByFieldEqualityConjunctionAsync(this.queryContext, fieldEqualityOperands, querySelectionModifiers);
|
|
167
|
-
return await this.utils.constructAndAuthorizeEntitiesArrayAsync(fieldObjects);
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Authorization-result-based version of the EnforcingEntityLoader method by the same name.
|
|
171
|
-
* @returns array of entity results that match the query, where result error can be UnauthorizedError
|
|
172
|
-
* @throws Error when rawWhereClause or bindings are invalid
|
|
173
|
-
*/
|
|
174
|
-
async loadManyByRawWhereClauseAsync(rawWhereClause, bindings, querySelectionModifiers = {}) {
|
|
175
|
-
const fieldObjects = await this.dataManager.loadManyByRawWhereClauseAsync(this.queryContext, rawWhereClause, bindings, querySelectionModifiers);
|
|
176
|
-
return await this.utils.constructAndAuthorizeEntitiesArrayAsync(fieldObjects);
|
|
177
|
-
}
|
|
178
|
-
validateFieldAndValues(fieldName, fieldValues) {
|
|
179
|
-
const fieldDefinition = this.entityConfiguration.schema.get(fieldName);
|
|
180
|
-
(0, invariant_1.default)(fieldDefinition, `must have field definition for field = ${String(fieldName)}`);
|
|
181
|
-
for (const fieldValue of fieldValues) {
|
|
182
|
-
const isInputValid = fieldDefinition.validateInputValue(fieldValue);
|
|
183
|
-
if (!isInputValid) {
|
|
184
|
-
throw new EntityInvalidFieldValueError_1.EntityInvalidFieldValueError(this.entityClass, fieldName, fieldValue);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
162
|
validateFieldAndValuesAndConvertToHolders(fieldName, fieldValues) {
|
|
189
|
-
this.validateFieldAndValues(fieldName, fieldValues);
|
|
163
|
+
this.constructionUtils.validateFieldAndValues(fieldName, fieldValues);
|
|
190
164
|
return {
|
|
191
165
|
loadKey: new SingleFieldHolder_1.SingleFieldHolder(fieldName),
|
|
192
166
|
loadValues: fieldValues.map((fieldValue) => new SingleFieldHolder_1.SingleFieldValueHolder(fieldValue)),
|
|
193
167
|
};
|
|
194
168
|
}
|
|
169
|
+
validateFieldAndValueAndConvertToHolders(fieldName, fieldValue) {
|
|
170
|
+
this.constructionUtils.validateFieldAndValues(fieldName, [fieldValue]);
|
|
171
|
+
return {
|
|
172
|
+
loadKey: new SingleFieldHolder_1.SingleFieldHolder(fieldName),
|
|
173
|
+
loadValue: new SingleFieldHolder_1.SingleFieldValueHolder(fieldValue),
|
|
174
|
+
};
|
|
175
|
+
}
|
|
195
176
|
validateCompositeFieldAndValuesAndConvertToHolders(compositeField, compositeFieldValues) {
|
|
196
177
|
// validate that the composite field input is defined in the entity configuration
|
|
197
178
|
const compositeFieldHolder = this.entityConfiguration.compositeFieldInfo.getCompositeFieldHolderForCompositeField(compositeField);
|
|
@@ -203,7 +184,7 @@ class AuthorizationResultBasedEntityLoader {
|
|
|
203
184
|
(0, invariant_1.default)((0, sets_1.areSetsEqual)(cacheableCompositeFieldFieldsSet, compositeFieldValueHolder.getFieldSet()), `composite field values must contain exactly the fields defined in the composite field definition: ${compositeField}`);
|
|
204
185
|
for (const field of compositeField) {
|
|
205
186
|
const fieldValue = compositeFieldValueHolder.compositeFieldValue[field];
|
|
206
|
-
this.validateFieldAndValues(field, [fieldValue]);
|
|
187
|
+
this.constructionUtils.validateFieldAndValues(field, [fieldValue]);
|
|
207
188
|
}
|
|
208
189
|
}
|
|
209
190
|
return {
|
|
@@ -215,7 +196,7 @@ class AuthorizationResultBasedEntityLoader {
|
|
|
215
196
|
return new CompositeFieldValueMap_1.CompositeFieldValueMap(await Promise.all(Array.from(map.entries()).map(async ([compositeFieldValueHolder, fieldObjects]) => {
|
|
216
197
|
return [
|
|
217
198
|
compositeFieldValueHolder,
|
|
218
|
-
await this.
|
|
199
|
+
await this.constructionUtils.constructAndAuthorizeEntitiesArrayAsync(fieldObjects),
|
|
219
200
|
];
|
|
220
201
|
})));
|
|
221
202
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationResultBasedEntityLoader.js","sourceRoot":"","sources":["../../src/AuthorizationResultBasedEntityLoader.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA+C;AAC/C,0DAAkC;AAClC,4DAAoC;
|
|
1
|
+
{"version":3,"file":"AuthorizationResultBasedEntityLoader.js","sourceRoot":"","sources":["../../src/AuthorizationResultBasedEntityLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -186,7 +186,12 @@ class AuthorizationResultBasedCreateMutator extends AuthorizationResultBasedBase
|
|
|
186
186
|
previousValue: null,
|
|
187
187
|
cascadingDeleteCause: null,
|
|
188
188
|
});
|
|
189
|
-
const
|
|
189
|
+
const invalidationUtils = this.entityLoaderFactory.invalidationUtils();
|
|
190
|
+
const constructionUtils = this.entityLoaderFactory.constructionUtils(this.viewerContext, queryContext, {
|
|
191
|
+
previousValue: null,
|
|
192
|
+
cascadingDeleteCause: null,
|
|
193
|
+
});
|
|
194
|
+
const temporaryEntityForPrivacyCheck = constructionUtils.constructEntity({
|
|
190
195
|
[this.entityConfiguration.idField]: '00000000-0000-0000-0000-000000000000', // zero UUID
|
|
191
196
|
...this.fieldsForEntity,
|
|
192
197
|
});
|
|
@@ -201,11 +206,11 @@ class AuthorizationResultBasedCreateMutator extends AuthorizationResultBasedBase
|
|
|
201
206
|
// Invalidate all caches for the new entity so that any previously-negatively-cached loads
|
|
202
207
|
// are removed from the caches.
|
|
203
208
|
queryContext.appendPostCommitInvalidationCallback(async () => {
|
|
204
|
-
|
|
205
|
-
await
|
|
209
|
+
invalidationUtils.invalidateFieldsForTransaction(queryContext, insertResult);
|
|
210
|
+
await invalidationUtils.invalidateFieldsAsync(insertResult);
|
|
206
211
|
});
|
|
207
|
-
|
|
208
|
-
const unauthorizedEntityAfterInsert =
|
|
212
|
+
invalidationUtils.invalidateFieldsForTransaction(queryContext, insertResult);
|
|
213
|
+
const unauthorizedEntityAfterInsert = constructionUtils.constructEntity(insertResult);
|
|
209
214
|
const newEntity = await (0, results_1.enforceAsyncResult)(entityLoader.loadByIDAsync(unauthorizedEntityAfterInsert.getID()));
|
|
210
215
|
await this.executeMutationTriggersAsync(this.mutationTriggers.afterCreate, queryContext, newEntity, { type: EntityMutationInfo_1.EntityMutationType.CREATE });
|
|
211
216
|
await this.executeMutationTriggersAsync(this.mutationTriggers.afterAll, queryContext, newEntity, { type: EntityMutationInfo_1.EntityMutationType.CREATE });
|
|
@@ -256,7 +261,12 @@ class AuthorizationResultBasedUpdateMutator extends AuthorizationResultBasedBase
|
|
|
256
261
|
previousValue: this.originalEntity,
|
|
257
262
|
cascadingDeleteCause: this.cascadingDeleteCause,
|
|
258
263
|
});
|
|
259
|
-
const
|
|
264
|
+
const invalidationUtils = this.entityLoaderFactory.invalidationUtils();
|
|
265
|
+
const constructionUtils = this.entityLoaderFactory.constructionUtils(this.viewerContext, queryContext, {
|
|
266
|
+
previousValue: this.originalEntity,
|
|
267
|
+
cascadingDeleteCause: this.cascadingDeleteCause,
|
|
268
|
+
});
|
|
269
|
+
const entityAboutToBeUpdated = constructionUtils.constructEntity(this.fieldsForEntity);
|
|
260
270
|
const authorizeUpdateResult = await (0, results_1.asyncResult)(this.privacyPolicy.authorizeUpdateAsync(this.viewerContext, queryContext, { previousValue: this.originalEntity, cascadingDeleteCause: this.cascadingDeleteCause }, entityAboutToBeUpdated, this.metricsAdapter));
|
|
261
271
|
if (!authorizeUpdateResult.ok) {
|
|
262
272
|
return authorizeUpdateResult;
|
|
@@ -288,15 +298,15 @@ class AuthorizationResultBasedUpdateMutator extends AuthorizationResultBasedBase
|
|
|
288
298
|
// To do this we simply invalidate all of the entity's caches for both the previous version of the entity and the upcoming
|
|
289
299
|
// version of the entity.
|
|
290
300
|
queryContext.appendPostCommitInvalidationCallback(async () => {
|
|
291
|
-
|
|
292
|
-
|
|
301
|
+
invalidationUtils.invalidateFieldsForTransaction(queryContext, this.originalEntity.getAllDatabaseFields());
|
|
302
|
+
invalidationUtils.invalidateFieldsForTransaction(queryContext, this.fieldsForEntity);
|
|
293
303
|
await Promise.all([
|
|
294
|
-
|
|
295
|
-
|
|
304
|
+
invalidationUtils.invalidateFieldsAsync(this.originalEntity.getAllDatabaseFields()),
|
|
305
|
+
invalidationUtils.invalidateFieldsAsync(this.fieldsForEntity),
|
|
296
306
|
]);
|
|
297
307
|
});
|
|
298
|
-
|
|
299
|
-
|
|
308
|
+
invalidationUtils.invalidateFieldsForTransaction(queryContext, this.originalEntity.getAllDatabaseFields());
|
|
309
|
+
invalidationUtils.invalidateFieldsForTransaction(queryContext, this.fieldsForEntity);
|
|
300
310
|
const updatedEntity = await (0, results_1.enforceAsyncResult)(entityLoader.loadByIDAsync(entityAboutToBeUpdated.getID())); // ID is guaranteed to be stable by ensureStableIDField
|
|
301
311
|
await this.executeMutationTriggersAsync(this.mutationTriggers.afterUpdate, queryContext, updatedEntity, {
|
|
302
312
|
type: EntityMutationInfo_1.EntityMutationType.UPDATE,
|
|
@@ -366,17 +376,14 @@ class AuthorizationResultBasedDeleteMutator extends AuthorizationResultBasedBase
|
|
|
366
376
|
if (!skipDatabaseDeletion) {
|
|
367
377
|
await this.databaseAdapter.deleteAsync(queryContext, this.entityConfiguration.idField, this.entity.getID());
|
|
368
378
|
}
|
|
369
|
-
const
|
|
370
|
-
previousValue: null,
|
|
371
|
-
cascadingDeleteCause: this.cascadingDeleteCause,
|
|
372
|
-
});
|
|
379
|
+
const invalidationUtils = this.entityLoaderFactory.invalidationUtils();
|
|
373
380
|
// Invalidate all caches for the entity so that any previously-cached loads
|
|
374
381
|
// are removed from the caches.
|
|
375
382
|
queryContext.appendPostCommitInvalidationCallback(async () => {
|
|
376
|
-
|
|
377
|
-
await
|
|
383
|
+
invalidationUtils.invalidateFieldsForTransaction(queryContext, this.entity.getAllDatabaseFields());
|
|
384
|
+
await invalidationUtils.invalidateFieldsAsync(this.entity.getAllDatabaseFields());
|
|
378
385
|
});
|
|
379
|
-
|
|
386
|
+
invalidationUtils.invalidateFieldsForTransaction(queryContext, this.entity.getAllDatabaseFields());
|
|
380
387
|
await this.executeMutationTriggersAsync(this.mutationTriggers.afterDelete, queryContext, this.entity, {
|
|
381
388
|
type: EntityMutationInfo_1.EntityMutationType.DELETE,
|
|
382
389
|
cascadingDeleteCause: this.cascadingDeleteCause,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationResultBasedEntityMutator.js","sourceRoot":"","sources":["../../src/AuthorizationResultBasedEntityMutator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AuthorizationResultBasedEntityMutator.js","sourceRoot":"","sources":["../../src/AuthorizationResultBasedEntityMutator.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAgF;AAChF,0DAAkC;AAMlC,mEAAqE;AAErE,6DAK8B;AAa9B,+CAAoD;AACpD,wFAAqF;AACrF,qEAA4E;AAC5E,2EAAmG;AACnG,mDAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACH,MAAsB,mCAAmC;IAelC;IACA;IACA;IACA;IACA;IAQA;IACA;IAOA;IAOA;IAQA;IACA;IArCrB,YACqB,iBAA0C,EAC1C,aAA6B,EAC7B,YAAgC,EAChC,mBAA2D,EAC3D,WAOlB,EACkB,aAA6B,EAC7B,kBAMlB,EACkB,gBAMlB,EACkB,mBAOlB,EACkB,eAAyD,EACzD,cAAqC;QApCrC,sBAAiB,GAAjB,iBAAiB,CAAyB;QAC1C,kBAAa,GAAb,aAAa,CAAgB;QAC7B,iBAAY,GAAZ,YAAY,CAAoB;QAChC,wBAAmB,GAAnB,mBAAmB,CAAwC;QAC3D,gBAAW,GAAX,WAAW,CAO7B;QACkB,kBAAa,GAAb,aAAa,CAAgB;QAC7B,uBAAkB,GAAlB,kBAAkB,CAMpC;QACkB,qBAAgB,GAAhB,gBAAgB,CAMlC;QACkB,wBAAmB,GAAnB,mBAAmB,CAOrC;QACkB,oBAAe,GAAf,eAAe,CAA0C;QACzD,mBAAc,GAAd,cAAc,CAAuB;IACvD,CAAC;IAEM,cAAc,CAAC,MAAwB;QAC/C,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvE,IAAA,mBAAS,EAAC,eAAe,EAAE,0CAA0C,SAAS,EAAE,CAAC,CAAC;YAClF,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,2DAA4B,CAQpC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAES,KAAK,CAAC,8BAA8B,CAC5C,UAEa,EACb,YAA6C,EAC7C,MAAe,EACf,YAMC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC3B,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAC/E,CACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,4BAA4B,CAC1C,QAEa,EACb,YAA6C,EAC7C,MAAe,EACf,YAMC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACvB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAC7E,CACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,4CAA4C,CAC1D,QAQa,EACb,MAAe,EACf,YAMC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAC1F,CAAC;IACJ,CAAC;CACF;AArJD,kFAqJC;AAED;;GAEG;AACH,MAAa,qCAaX,SAAQ,mCAOT;IACkB,eAAe,GAAqB,EAAE,CAAC;IAExD;;;;OAIG;IACH,QAAQ,CAAiD,SAAY,EAAE,KAAiB;QACtF,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,MAAM,IAAA,iDAA4B,EACvC,IAAI,CAAC,cAAc,EACnB,iDAAyB,CAAC,MAAM,EAChC,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,CAAC,YAAY,CAClB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,wBAAwB;QACpC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAC3F,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAC5C,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,YAA6C;QAE7C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE;YACtF,aAAa,EAAE,IAAI;YACnB,oBAAoB,EAAE,IAAI;SAC3B,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QACvE,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAClE,IAAI,CAAC,aAAa,EAClB,YAAY,EACZ;YACE,aAAa,EAAE,IAAI;YACnB,oBAAoB,EAAE,IAAI;SAC3B,CACF,CAAC;QAEF,MAAM,8BAA8B,GAAG,iBAAiB,CAAC,eAAe,CAAC;YACvE,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,sCAAsC,EAAE,YAAY;YACxF,GAAG,IAAI,CAAC,eAAe;SACF,CAAC,CAAC;QAEzB,MAAM,qBAAqB,GAAG,MAAM,IAAA,qBAAW,EAC7C,IAAI,CAAC,aAAa,CAAC,oBAAoB,CACrC,IAAI,CAAC,aAAa,EAClB,YAAY,EACZ,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EACnD,8BAA8B,EAC9B,IAAI,CAAC,cAAc,CACpB,CACF,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC;YAC9B,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QAED,MAAM,IAAI,CAAC,8BAA8B,CACvC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAC7C,YAAY,EACZ,8BAA8B,EAC9B,EAAE,IAAI,EAAE,uCAAkB,CAAC,MAAM,EAAE,CACpC,CAAC;QACF,MAAM,IAAI,CAAC,4BAA4B,CACrC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAC/B,YAAY,EACZ,8BAA8B,EAC9B,EAAE,IAAI,EAAE,uCAAkB,CAAC,MAAM,EAAE,CACpC,CAAC;QACF,MAAM,IAAI,CAAC,4BAA4B,CACrC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAClC,YAAY,EACZ,8BAA8B,EAC9B,EAAE,IAAI,EAAE,uCAAkB,CAAC,MAAM,EAAE,CACpC,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEhG,0FAA0F;QAC1F,+BAA+B;QAC/B,YAAY,CAAC,oCAAoC,CAAC,KAAK,IAAI,EAAE;YAC3D,iBAAiB,CAAC,8BAA8B,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAC7E,MAAM,iBAAiB,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,iBAAiB,CAAC,8BAA8B,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAE7E,MAAM,6BAA6B,GAAG,iBAAiB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAkB,EACxC,YAAY,CAAC,aAAa,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAC,CAClE,CAAC;QAEF,MAAM,IAAI,CAAC,4BAA4B,CACrC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EACjC,YAAY,EACZ,SAAS,EACT,EAAE,IAAI,EAAE,uCAAkB,CAAC,MAAM,EAAE,CACpC,CAAC;QACF,MAAM,IAAI,CAAC,4BAA4B,CACrC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAC9B,YAAY,EACZ,SAAS,EACT,EAAE,IAAI,EAAE,uCAAkB,CAAC,MAAM,EAAE,CACpC,CAAC;QAEF,YAAY,CAAC,wBAAwB,CACnC,IAAI,CAAC,4CAA4C,CAAC,IAAI,CACpD,IAAI,EACJ,IAAI,CAAC,gBAAgB,CAAC,WAAW,EACjC,SAAS,EACT,EAAE,IAAI,EAAE,uCAAkB,CAAC,MAAM,EAAE,CACpC,CACF,CAAC;QAEF,OAAO,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;CACF;AArJD,sFAqJC;AAED;;GAEG;AACH,MAAa,qCAaX,SAAQ,mCAOT;IA4CoB;IA3CF,cAAc,CAAU;IACxB,eAAe,CAAU;IACzB,aAAa,GAAqB,EAAE,CAAC;IAEtD,YACE,iBAA0C,EAC1C,aAA6B,EAC7B,YAAgC,EAChC,mBAA2D,EAC3D,WAOC,EACD,aAA6B,EAC7B,kBAMC,EACD,gBAMC,EACD,mBAOC,EACD,eAAyD,EACzD,cAAqC,EACrC,cAAuB,EACN,oBAAwD;QAEzE,KAAK,CACH,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,cAAc,CACf,CAAC;QAde,yBAAoB,GAApB,oBAAoB,CAAoC;QAezE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,cAAc,CAAC,oBAAoB,EAAE,EAAE,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAiD,SAAY,EAAE,KAAiB;QACtF,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,MAAM,IAAA,iDAA4B,EACvC,IAAI,CAAC,cAAc,EACnB,iDAAyB,CAAC,MAAM,EAChC,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,CAAC,YAAY,CAClB,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,kBAA2B;QAChE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAC3F,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAChE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,YAA6C,EAC7C,kBAA2B;QAE3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE7C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE;YACtF,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QACvE,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAClE,IAAI,CAAC,aAAa,EAClB,YAAY,EACZ;YACE,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CAAC;QAEF,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvF,MAAM,qBAAqB,GAAG,MAAM,IAAA,qBAAW,EAC7C,IAAI,CAAC,aAAa,CAAC,oBAAoB,CACrC,IAAI,CAAC,aAAa,EAClB,YAAY,EACZ,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE,EACvF,sBAAsB,EACtB,IAAI,CAAC,cAAc,CACpB,CACF,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC;YAC9B,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QAED,MAAM,IAAI,CAAC,8BAA8B,CACvC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAC7C,YAAY,EACZ,sBAAsB,EACtB;YACE,IAAI,EAAE,uCAAkB,CAAC,MAAM;YAC/B,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CAAC;QACF,MAAM,IAAI,CAAC,4BAA4B,CACrC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAC/B,YAAY,EACZ,sBAAsB,EACtB;YACE,IAAI,EAAE,uCAAkB,CAAC,MAAM;YAC/B,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CAAC;QACF,MAAM,IAAI,CAAC,4BAA4B,CACrC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAClC,YAAY,EACZ,sBAAsB,EACtB;YACE,IAAI,EAAE,uCAAkB,CAAC,MAAM;YAC/B,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CAAC;QAEF,0CAA0C;QAC1C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CACpC,YAAY,EACZ,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAChC,sBAAsB,CAAC,KAAK,EAAE,EAC9B,IAAI,CAAC,aAAa,CACnB,CAAC;QACJ,CAAC;QAED,yFAAyF;QACzF,8BAA8B;QAC9B,4HAA4H;QAC5H,wHAAwH;QACxH,yCAAyC;QACzC,0HAA0H;QAC1H,yBAAyB;QAEzB,YAAY,CAAC,oCAAoC,CAAC,KAAK,IAAI,EAAE;YAC3D,iBAAiB,CAAC,8BAA8B,CAC9C,YAAY,EACZ,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAC3C,CAAC;YACF,iBAAiB,CAAC,8BAA8B,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACrF,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC;gBACnF,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,iBAAiB,CAAC,8BAA8B,CAC9C,YAAY,EACZ,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAC3C,CAAC;QACF,iBAAiB,CAAC,8BAA8B,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAErF,MAAM,aAAa,GAAG,MAAM,IAAA,4BAAkB,EAC5C,YAAY,CAAC,aAAa,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAC3D,CAAC,CAAC,uDAAuD;QAE1D,MAAM,IAAI,CAAC,4BAA4B,CACrC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EACjC,YAAY,EACZ,aAAa,EACb;YACE,IAAI,EAAE,uCAAkB,CAAC,MAAM;YAC/B,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CAAC;QACF,MAAM,IAAI,CAAC,4BAA4B,CACrC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAC9B,YAAY,EACZ,aAAa,EACb;YACE,IAAI,EAAE,uCAAkB,CAAC,MAAM;YAC/B,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CAAC;QAEF,YAAY,CAAC,wBAAwB,CACnC,IAAI,CAAC,4CAA4C,CAAC,IAAI,CACpD,IAAI,EACJ,IAAI,CAAC,gBAAgB,CAAC,WAAW,EACjC,aAAa,EACb;YACE,IAAI,EAAE,uCAAkB,CAAC,MAAM;YAC/B,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CACF,CAAC;QAEF,OAAO,IAAA,gBAAM,EAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IAEO,mBAAmB,CAAC,aAA+B;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;QACjD,IAAI,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,UAAU,KAAK,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;CACF;AAxQD,sFAwQC;AAED;;GAEG;AACH,MAAa,qCAaX,SAAQ,mCAOT;IAuCoB;IACA;IAvCnB,YACE,iBAA0C,EAC1C,aAA6B,EAC7B,YAAgC,EAChC,mBAA2D,EAC3D,WAOC,EACD,aAA6B,EAC7B,kBAMC,EACD,gBAMC,EACD,mBAOC,EACD,eAAyD,EACzD,cAAqC,EACpB,MAAe,EACf,oBAAwD;QAEzE,KAAK,CACH,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,cAAc,CACf,CAAC;QAfe,WAAM,GAAN,MAAM,CAAS;QACf,yBAAoB,GAApB,oBAAoB,CAAoC;IAe3E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,MAAM,IAAA,iDAA4B,EACvC,IAAI,CAAC,cAAc,EACnB,iDAAyB,CAAC,MAAM,EAChC,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,CAAC,YAAY,CAClB,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,iDAA8D,EAC9D,oBAA6B;QAE7B,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAC3F,IAAI,CAAC,mBAAmB,CACtB,iBAAiB,EACjB,iDAAiD,EACjD,oBAAoB,CACrB,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,YAA6C,EAC7C,iDAA8D,EAC9D,oBAA6B;QAE7B,MAAM,qBAAqB,GAAG,MAAM,IAAA,qBAAW,EAC7C,IAAI,CAAC,aAAa,CAAC,oBAAoB,CACrC,IAAI,CAAC,aAAa,EAClB,YAAY,EACZ,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE,EACxE,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,cAAc,CACpB,CACF,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC;YAC9B,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QAED,MAAM,IAAI,CAAC,yCAAyC,CAClD,IAAI,CAAC,MAAM,EACX,YAAY,EACZ,iDAAiD,CAClD,CAAC;QAEF,MAAM,IAAI,CAAC,8BAA8B,CACvC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EACpC,YAAY,EACZ,IAAI,CAAC,MAAM,EACX;YACE,IAAI,EAAE,uCAAkB,CAAC,MAAM;YAC/B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CAAC;QACF,MAAM,IAAI,CAAC,4BAA4B,CACrC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAC/B,YAAY,EACZ,IAAI,CAAC,MAAM,EACX;YACE,IAAI,EAAE,uCAAkB,CAAC,MAAM;YAC/B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CAAC;QACF,MAAM,IAAI,CAAC,4BAA4B,CACrC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAClC,YAAY,EACZ,IAAI,CAAC,MAAM,EACX;YACE,IAAI,EAAE,uCAAkB,CAAC,MAAM;YAC/B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CAAC;QAEF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CACpC,YAAY,EACZ,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAChC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CACpB,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAEvE,2EAA2E;QAC3E,+BAA+B;QAC/B,YAAY,CAAC,oCAAoC,CAAC,KAAK,IAAI,EAAE;YAC3D,iBAAiB,CAAC,8BAA8B,CAC9C,YAAY,EACZ,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CACnC,CAAC;YACF,MAAM,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,iBAAiB,CAAC,8BAA8B,CAC9C,YAAY,EACZ,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CACnC,CAAC;QAEF,MAAM,IAAI,CAAC,4BAA4B,CACrC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EACjC,YAAY,EACZ,IAAI,CAAC,MAAM,EACX;YACE,IAAI,EAAE,uCAAkB,CAAC,MAAM;YAC/B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CAAC;QACF,MAAM,IAAI,CAAC,4BAA4B,CACrC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAC9B,YAAY,EACZ,IAAI,CAAC,MAAM,EACX;YACE,IAAI,EAAE,uCAAkB,CAAC,MAAM;YAC/B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CAAC;QAEF,YAAY,CAAC,wBAAwB,CACnC,IAAI,CAAC,4CAA4C,CAAC,IAAI,CACpD,IAAI,EACJ,IAAI,CAAC,gBAAgB,CAAC,WAAW,EACjC,IAAI,CAAC,MAAM,EACX;YACE,IAAI,EAAE,uCAAkB,CAAC,MAAM;YAC/B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CACF,CACF,CAAC;QAEF,OAAO,IAAA,gBAAM,GAAE,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,KAAK,CAAC,yCAAyC,CACrD,MAAe,EACf,YAA6C,EAC7C,0BAAuC;QAEvC,mFAAmF;QACnF,IAAI,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACjE,OAAO;QACT,CAAC;QACD,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE7D,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CACtE,MAAM,CAAC,WAON,CACF,CAAC,yBAAyB,CAAC;QAC5B,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,mBAAmB,CAAC;QACpE,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC;QAEtD,MAAM,uBAAuB,GAAG;YAC9B,MAAM;YACN,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACrC,MAAM,aAAa,GAAG,MAAM;iBACzB,gBAAgB,EAAE;iBAClB,sCAAsC,CAAC,WAAW,CAAC;iBACnD,gBAAgB,EAAE,CAAC;YACtB,MAAM,cAAc,GAAG,MAAM;iBAC1B,gBAAgB,EAAE;iBAClB,sCAAsC,CAAC,WAAW,CAAC;iBACnD,iBAAiB,EAAE,CAAC;YAEvB,OAAO,MAAM,IAAA,kBAAW,EACtB,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,yBAAyB;iBAChF,mBAAmB,CAAC,MAAM,EAC7B,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE;gBACnC,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;gBAChD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO;gBACT,CAAC;gBAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAC1E,WAAW,CAAC,qBAAqB,CAClC,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;gBAChD,IAAI,uBAAuB,KAAK,mBAAmB,EAAE,CAAC;oBACpD,OAAO;gBACT,CAAC;gBAED,MAAM,wBAAwB,GAAG,MAAM,IAAA,iCAAmB,EACxD,aAAa;qBACV,OAAO,CAAC,YAAY,EAAE;oBACrB,aAAa,EAAE,IAAI;oBACnB,oBAAoB,EAAE,uBAAuB;iBAC9C,CAAC;qBACD,4BAA4B,CAC3B,SAAS,EACT,WAAW,CAAC,6BAA6B;oBACvC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,6BAA6B,CAAC;oBAC5D,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CACnB,CACJ,CAAC;gBAEF,QAAQ,WAAW,CAAC,oBAAoB,EAAE,CAAC;oBACzC,KAAK,kDAA0B,CAAC,oCAAoC,CAAC,CAAC,CAAC;wBACrE,MAAM,OAAO,CAAC,GAAG,CACf,wBAAwB,CAAC,GAAG,CAAC,CAAC,sBAAsB,EAAE,EAAE,CACtD,IAAA,4BAAkB,EAChB,cAAc;6BACX,SAAS,CAAC,sBAAsB,EAAE,YAAY,EAAE,uBAAuB,CAAC;6BACxE,wBAAwB,CACvB,0BAA0B;wBAC1B,0BAA0B,CAAC,IAAI,CAChC,CACJ,CACF,CACF,CAAC;wBACF,MAAM;oBACR,CAAC;oBACD,KAAK,kDAA0B,CAAC,8BAA8B,CAAC,CAAC,CAAC;wBAC/D,MAAM,OAAO,CAAC,GAAG,CACf,wBAAwB,CAAC,GAAG,CAAC,CAAC,sBAAsB,EAAE,EAAE,CACtD,IAAA,4BAAkB,EAChB,cAAc;6BACX,SAAS,CAAC,sBAAsB,EAAE,YAAY,EAAE,uBAAuB,CAAC;6BACxE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CACzB,0BAA0B,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAC9D,CACF,CACF,CAAC;wBACF,MAAM;oBACR,CAAC;oBACD,KAAK,kDAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACzC,MAAM,OAAO,CAAC,GAAG,CACf,wBAAwB,CAAC,GAAG,CAAC,CAAC,sBAAsB,EAAE,EAAE,CACtD,IAAA,4BAAkB,EAChB,cAAc;6BACX,SAAS,CAAC,sBAAsB,EAAE,YAAY,EAAE,uBAAuB,CAAC;6BACxE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CACzB,0BAA0B,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAC/D,CACF,CACF,CAAC;wBACF,MAAM;oBACR,CAAC;oBACD,KAAK,kDAA0B,CAAC,cAAc,CAAC,CAAC,CAAC;wBAC/C,MAAM,OAAO,CAAC,GAAG,CACf,wBAAwB,CAAC,GAAG,CAAC,CAAC,sBAAsB,EAAE,EAAE,CACtD,IAAA,4BAAkB,EAChB,cAAc;6BACX,SAAS,CAAC,sBAAsB,EAAE,YAAY,EAAE,uBAAuB,CAAC;6BACxE,wBAAwB,CACvB,0BAA0B;wBAC1B,0BAA0B,CAAC,KAAK,CACjC,CACJ,CACF,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAvWD,sFAuWC"}
|
|
@@ -3,7 +3,7 @@ import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
|
3
3
|
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
4
4
|
import { ViewerContext } from './ViewerContext';
|
|
5
5
|
/**
|
|
6
|
-
* Enforcing entity creator. All
|
|
6
|
+
* Enforcing entity creator. All creates
|
|
7
7
|
* through this creator will throw if authorization is not successful.
|
|
8
8
|
*/
|
|
9
9
|
export declare class EnforcingEntityCreator<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EnforcingEntityCreator = void 0;
|
|
4
4
|
const results_1 = require("@expo/results");
|
|
5
5
|
/**
|
|
6
|
-
* Enforcing entity creator. All
|
|
6
|
+
* Enforcing entity creator. All creates
|
|
7
7
|
* through this creator will throw if authorization is not successful.
|
|
8
8
|
*/
|
|
9
9
|
class EnforcingEntityCreator {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AuthorizationResultBasedEntityLoader } from './AuthorizationResultBasedEntityLoader';
|
|
2
2
|
import { EntityCompositeField, EntityCompositeFieldValue } from './EntityConfiguration';
|
|
3
|
-
import { FieldEqualityCondition, QuerySelectionModifiers, QuerySelectionModifiersWithOrderByRaw } from './EntityDatabaseAdapter';
|
|
4
3
|
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
5
4
|
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
6
5
|
import { ViewerContext } from './ViewerContext';
|
|
@@ -9,7 +8,7 @@ import { ViewerContext } from './ViewerContext';
|
|
|
9
8
|
* cached, and authorized against the entity's EntityPrivacyPolicy. All loads
|
|
10
9
|
* through this loader will throw if the load is not successful.
|
|
11
10
|
*/
|
|
12
|
-
export declare class EnforcingEntityLoader<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
|
|
11
|
+
export declare class EnforcingEntityLoader<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> {
|
|
13
12
|
private readonly entityLoader;
|
|
14
13
|
constructor(entityLoader: AuthorizationResultBasedEntityLoader<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>);
|
|
15
14
|
/**
|
|
@@ -93,60 +92,4 @@ export declare class EnforcingEntityLoader<TFields extends Record<string, any>,
|
|
|
93
92
|
* @throws EntityNotAuthorizedError when viewer is not authorized to view one or more of the returned entities
|
|
94
93
|
*/
|
|
95
94
|
loadManyByIDsNullableAsync(ids: readonly TFields[TIDField][]): Promise<ReadonlyMap<TFields[TIDField], TEntity | null>>;
|
|
96
|
-
/**
|
|
97
|
-
* Loads the first entity matching the selection constructed from the conjunction of specified
|
|
98
|
-
* operands, or null if no matching entity exists. Entities loaded using this method are not
|
|
99
|
-
* batched or cached.
|
|
100
|
-
*
|
|
101
|
-
* This is a convenience method for {@link loadManyByFieldEqualityConjunctionAsync}. However, the
|
|
102
|
-
* `orderBy` option must be specified to define what "first" means. If ordering doesn't matter,
|
|
103
|
-
* explicitly pass in an empty array.
|
|
104
|
-
*
|
|
105
|
-
* @param fieldEqualityOperands - list of field equality selection operand specifications
|
|
106
|
-
* @param querySelectionModifiers - orderBy and optional offset for the query
|
|
107
|
-
* @returns the first entity that matches the query or null if no entity matches the query
|
|
108
|
-
* @throws EntityNotAuthorizedError when viewer is not authorized to view the returned entity
|
|
109
|
-
*/
|
|
110
|
-
loadFirstByFieldEqualityConjunctionAsync<N extends keyof Pick<TFields, TSelectedFields>>(fieldEqualityOperands: FieldEqualityCondition<TFields, N>[], querySelectionModifiers: Omit<QuerySelectionModifiers<TFields>, 'limit'> & Required<Pick<QuerySelectionModifiers<TFields>, 'orderBy'>>): Promise<TEntity | null>;
|
|
111
|
-
/**
|
|
112
|
-
* Loads many entities matching the selection constructed from the conjunction of specified operands.
|
|
113
|
-
* Entities loaded using this method are not batched or cached.
|
|
114
|
-
*
|
|
115
|
-
* @example
|
|
116
|
-
* fieldEqualityOperands:
|
|
117
|
-
* `[{fieldName: 'hello', fieldValue: 1}, {fieldName: 'world', fieldValues: [2, 3]}]`
|
|
118
|
-
* Entities returned with a SQL EntityDatabaseAdapter:
|
|
119
|
-
* `WHERE hello = 1 AND world = ANY({2, 3})`
|
|
120
|
-
*
|
|
121
|
-
* @param fieldEqualityOperands - list of field equality selection operand specifications
|
|
122
|
-
* @param querySelectionModifiers - limit, offset, and orderBy for the query
|
|
123
|
-
* @returns array of entities that match the query
|
|
124
|
-
* @throws EntityNotAuthorizedError when viewer is not authorized to view one or more of the returned entities
|
|
125
|
-
*/
|
|
126
|
-
loadManyByFieldEqualityConjunctionAsync<N extends keyof Pick<TFields, TSelectedFields>>(fieldEqualityOperands: FieldEqualityCondition<TFields, N>[], querySelectionModifiers?: QuerySelectionModifiers<TFields>): Promise<readonly TEntity[]>;
|
|
127
|
-
/**
|
|
128
|
-
* Loads many entities matching the raw WHERE clause. Corresponds to the knex `whereRaw` argument format.
|
|
129
|
-
*
|
|
130
|
-
* @remarks
|
|
131
|
-
* Important notes:
|
|
132
|
-
* - Fields in clause are database column names instead of transformed entity field names.
|
|
133
|
-
* - Entities loaded using this method are not batched or cached.
|
|
134
|
-
* - Not all database adapters implement the ability to execute this method of fetching entities.
|
|
135
|
-
*
|
|
136
|
-
* @example
|
|
137
|
-
* rawWhereClause: `id = ?`
|
|
138
|
-
* bindings: `[1]`
|
|
139
|
-
* Entites returned `WHERE id = 1`
|
|
140
|
-
*
|
|
141
|
-
* http://knexjs.org/#Builder-whereRaw
|
|
142
|
-
* http://knexjs.org/#Raw-Bindings
|
|
143
|
-
*
|
|
144
|
-
* @param rawWhereClause - parameterized SQL WHERE clause with positional binding placeholders or named binding placeholders
|
|
145
|
-
* @param bindings - array of positional bindings or object of named bindings
|
|
146
|
-
* @param querySelectionModifiers - limit, offset, orderBy, and orderByRaw for the query
|
|
147
|
-
* @returns array of entities that match the query
|
|
148
|
-
* @throws EntityNotAuthorizedError when viewer is not authorized to view one or more of the returned entities
|
|
149
|
-
* @throws Error when rawWhereClause or bindings are invalid
|
|
150
|
-
*/
|
|
151
|
-
loadManyByRawWhereClauseAsync(rawWhereClause: string, bindings: any[] | object, querySelectionModifiers?: QuerySelectionModifiersWithOrderByRaw<TFields>): Promise<readonly TEntity[]>;
|
|
152
95
|
}
|