@expo/entity 0.50.0 → 0.51.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/AuthorizationResultBasedEntityMutator.d.ts +6 -6
- package/build/src/AuthorizationResultBasedEntityMutator.js +9 -2
- package/build/src/AuthorizationResultBasedEntityMutator.js.map +1 -1
- package/build/src/EntityCompanion.js +1 -1
- package/build/src/EntityCompanionProvider.d.ts +4 -4
- package/build/src/EntityDatabaseAdapter.d.ts +17 -0
- package/build/src/EntityDatabaseAdapter.js +11 -0
- package/build/src/EntityDatabaseAdapter.js.map +1 -1
- package/build/src/EntityMutationInfo.d.ts +4 -8
- package/build/src/EntityMutationValidatorConfiguration.d.ts +26 -0
- package/build/src/EntityMutationValidatorConfiguration.js +11 -0
- package/build/src/EntityMutationValidatorConfiguration.js.map +1 -0
- package/build/src/EntityMutatorFactory.d.ts +2 -2
- package/build/src/EntityMutatorFactory.js.map +1 -1
- package/build/src/index.d.ts +1 -1
- package/build/src/index.js +1 -1
- package/build/src/index.js.map +1 -1
- package/package.json +5 -5
- package/src/AuthorizationResultBasedEntityMutator.ts +28 -16
- package/src/EntityCompanion.ts +1 -1
- package/src/EntityCompanionProvider.ts +5 -5
- package/src/EntityDatabaseAdapter.ts +19 -0
- package/src/EntityMutationInfo.ts +29 -17
- package/src/EntityMutationValidatorConfiguration.ts +64 -0
- package/src/EntityMutatorFactory.ts +3 -3
- package/src/__tests__/EntityMutator-test.ts +161 -54
- package/src/index.ts +1 -1
- package/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.ts +2 -2
- package/build/src/EntityMutationValidator.d.ts +0 -11
- package/build/src/EntityMutationValidator.js +0 -13
- package/build/src/EntityMutationValidator.js.map +0 -1
- package/src/EntityMutationValidator.ts +0 -33
|
@@ -6,7 +6,7 @@ import { EntityDatabaseAdapter } from './EntityDatabaseAdapter';
|
|
|
6
6
|
import { EntityLoaderFactory } from './EntityLoaderFactory';
|
|
7
7
|
import { EntityCascadingDeletionInfo, EntityTriggerMutationInfo, EntityValidatorMutationInfo } from './EntityMutationInfo';
|
|
8
8
|
import { EntityMutationTrigger, EntityMutationTriggerConfiguration, EntityNonTransactionalMutationTrigger } from './EntityMutationTriggerConfiguration';
|
|
9
|
-
import { EntityMutationValidator } from './
|
|
9
|
+
import { EntityMutationValidator, EntityMutationValidatorConfiguration } from './EntityMutationValidatorConfiguration';
|
|
10
10
|
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
11
11
|
import { EntityQueryContext, EntityTransactionalQueryContext } from './EntityQueryContext';
|
|
12
12
|
import { ViewerContext } from './ViewerContext';
|
|
@@ -104,14 +104,14 @@ export declare abstract class AuthorizationResultBasedBaseMutator<TFields extend
|
|
|
104
104
|
protected readonly entityConfiguration: EntityConfiguration<TFields, TIDField>;
|
|
105
105
|
protected readonly entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
|
|
106
106
|
protected readonly privacyPolicy: TPrivacyPolicy;
|
|
107
|
-
protected readonly mutationValidators:
|
|
107
|
+
protected readonly mutationValidators: EntityMutationValidatorConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
|
|
108
108
|
protected readonly mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
|
|
109
109
|
protected readonly entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
|
|
110
110
|
protected readonly databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>;
|
|
111
111
|
protected readonly metricsAdapter: IEntityMetricsAdapter;
|
|
112
|
-
constructor(companionProvider: EntityCompanionProvider, viewerContext: TViewerContext, queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators:
|
|
112
|
+
constructor(companionProvider: EntityCompanionProvider, viewerContext: TViewerContext, queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators: EntityMutationValidatorConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter);
|
|
113
113
|
protected validateFields(fields: Partial<TFields>): void;
|
|
114
|
-
protected executeMutationValidatorsAsync(validators: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[], queryContext: EntityTransactionalQueryContext, entity: TEntity, mutationInfo: EntityValidatorMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>): Promise<void>;
|
|
114
|
+
protected executeMutationValidatorsAsync(validators: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[] | undefined, queryContext: EntityTransactionalQueryContext, entity: TEntity, mutationInfo: EntityValidatorMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>): Promise<void>;
|
|
115
115
|
protected executeMutationTriggersAsync(triggers: EntityMutationTrigger<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[] | undefined, queryContext: EntityTransactionalQueryContext, entity: TEntity, mutationInfo: EntityTriggerMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>): Promise<void>;
|
|
116
116
|
protected executeNonTransactionalMutationTriggersAsync(triggers: EntityNonTransactionalMutationTrigger<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[] | undefined, entity: TEntity, mutationInfo: EntityTriggerMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>): Promise<void>;
|
|
117
117
|
}
|
|
@@ -143,7 +143,7 @@ export declare class AuthorizationResultBasedUpdateMutator<TFields extends Recor
|
|
|
143
143
|
private readonly originalEntity;
|
|
144
144
|
private readonly fieldsForEntity;
|
|
145
145
|
private readonly updatedFields;
|
|
146
|
-
constructor(companionProvider: EntityCompanionProvider, viewerContext: TViewerContext, queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators:
|
|
146
|
+
constructor(companionProvider: EntityCompanionProvider, viewerContext: TViewerContext, queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators: EntityMutationValidatorConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter, originalEntity: TEntity, cascadingDeleteCause: EntityCascadingDeletionInfo | null);
|
|
147
147
|
/**
|
|
148
148
|
* Set the value for entity field.
|
|
149
149
|
* @param fieldName - entity field being updated
|
|
@@ -166,7 +166,7 @@ export declare class AuthorizationResultBasedUpdateMutator<TFields extends Recor
|
|
|
166
166
|
export declare class AuthorizationResultBasedDeleteMutator<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> extends AuthorizationResultBasedBaseMutator<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields> {
|
|
167
167
|
private readonly entity;
|
|
168
168
|
private readonly cascadingDeleteCause;
|
|
169
|
-
constructor(companionProvider: EntityCompanionProvider, viewerContext: TViewerContext, queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators:
|
|
169
|
+
constructor(companionProvider: EntityCompanionProvider, viewerContext: TViewerContext, queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators: EntityMutationValidatorConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter, entity: TEntity, cascadingDeleteCause: EntityCascadingDeletionInfo | null);
|
|
170
170
|
/**
|
|
171
171
|
* Delete the entity after authorizing against delete privacy rules. The entity is invalidated in all caches.
|
|
172
172
|
* @returns void result, where result error can be UnauthorizedError
|
|
@@ -136,6 +136,9 @@ class AuthorizationResultBasedBaseMutator {
|
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
async executeMutationValidatorsAsync(validators, queryContext, entity, mutationInfo) {
|
|
139
|
+
if (!validators) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
139
142
|
await Promise.all(validators.map((validator) => validator.executeAsync(this.viewerContext, queryContext, entity, mutationInfo)));
|
|
140
143
|
}
|
|
141
144
|
async executeMutationTriggersAsync(triggers, queryContext, entity, mutationInfo) {
|
|
@@ -191,7 +194,7 @@ class AuthorizationResultBasedCreateMutator extends AuthorizationResultBasedBase
|
|
|
191
194
|
if (!authorizeCreateResult.ok) {
|
|
192
195
|
return authorizeCreateResult;
|
|
193
196
|
}
|
|
194
|
-
await this.executeMutationValidatorsAsync(this.mutationValidators, queryContext, temporaryEntityForPrivacyCheck, { type: EntityMutationInfo_1.EntityMutationType.CREATE });
|
|
197
|
+
await this.executeMutationValidatorsAsync(this.mutationValidators.beforeCreateAndUpdate, queryContext, temporaryEntityForPrivacyCheck, { type: EntityMutationInfo_1.EntityMutationType.CREATE });
|
|
195
198
|
await this.executeMutationTriggersAsync(this.mutationTriggers.beforeAll, queryContext, temporaryEntityForPrivacyCheck, { type: EntityMutationInfo_1.EntityMutationType.CREATE });
|
|
196
199
|
await this.executeMutationTriggersAsync(this.mutationTriggers.beforeCreate, queryContext, temporaryEntityForPrivacyCheck, { type: EntityMutationInfo_1.EntityMutationType.CREATE });
|
|
197
200
|
const insertResult = await this.databaseAdapter.insertAsync(queryContext, this.fieldsForEntity);
|
|
@@ -258,7 +261,7 @@ class AuthorizationResultBasedUpdateMutator extends AuthorizationResultBasedBase
|
|
|
258
261
|
if (!authorizeUpdateResult.ok) {
|
|
259
262
|
return authorizeUpdateResult;
|
|
260
263
|
}
|
|
261
|
-
await this.executeMutationValidatorsAsync(this.mutationValidators, queryContext, entityAboutToBeUpdated, {
|
|
264
|
+
await this.executeMutationValidatorsAsync(this.mutationValidators.beforeCreateAndUpdate, queryContext, entityAboutToBeUpdated, {
|
|
262
265
|
type: EntityMutationInfo_1.EntityMutationType.UPDATE,
|
|
263
266
|
previousValue: this.originalEntity,
|
|
264
267
|
cascadingDeleteCause: this.cascadingDeleteCause,
|
|
@@ -348,6 +351,10 @@ class AuthorizationResultBasedDeleteMutator extends AuthorizationResultBasedBase
|
|
|
348
351
|
return authorizeDeleteResult;
|
|
349
352
|
}
|
|
350
353
|
await this.processEntityDeletionForInboundEdgesAsync(this.entity, queryContext, processedEntityIdentifiersFromTransitiveDeletions);
|
|
354
|
+
await this.executeMutationValidatorsAsync(this.mutationValidators.beforeDelete, queryContext, this.entity, {
|
|
355
|
+
type: EntityMutationInfo_1.EntityMutationType.DELETE,
|
|
356
|
+
cascadingDeleteCause: this.cascadingDeleteCause,
|
|
357
|
+
});
|
|
351
358
|
await this.executeMutationTriggersAsync(this.mutationTriggers.beforeAll, queryContext, this.entity, {
|
|
352
359
|
type: EntityMutationInfo_1.EntityMutationType.DELETE,
|
|
353
360
|
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":"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"}
|
|
@@ -22,7 +22,7 @@ class EntityCompanion {
|
|
|
22
22
|
this.metricsAdapter = metricsAdapter;
|
|
23
23
|
this.privacyPolicy = new entityCompanionDefinition.privacyPolicyClass();
|
|
24
24
|
this.entityLoaderFactory = new EntityLoaderFactory_1.EntityLoaderFactory(this, tableDataCoordinator.dataManager, metricsAdapter);
|
|
25
|
-
this.entityMutatorFactory = new EntityMutatorFactory_1.EntityMutatorFactory(entityCompanionProvider, tableDataCoordinator.entityConfiguration, entityCompanionDefinition.entityClass, this.privacyPolicy, entityCompanionDefinition.mutationValidators ??
|
|
25
|
+
this.entityMutatorFactory = new EntityMutatorFactory_1.EntityMutatorFactory(entityCompanionProvider, tableDataCoordinator.entityConfiguration, entityCompanionDefinition.entityClass, this.privacyPolicy, entityCompanionDefinition.mutationValidators ?? {}, (0, mergeEntityMutationTriggerConfigurations_1.mergeEntityMutationTriggerConfigurations)(entityCompanionDefinition.mutationTriggers ?? {}, entityCompanionProvider.globalMutationTriggers ?? {}), this.entityLoaderFactory, tableDataCoordinator.databaseAdapter, metricsAdapter);
|
|
26
26
|
}
|
|
27
27
|
getLoaderFactory() {
|
|
28
28
|
return this.entityLoaderFactory;
|
|
@@ -2,7 +2,7 @@ import { IEntityClass } from './Entity';
|
|
|
2
2
|
import { EntityCompanion, IPrivacyPolicyClass } from './EntityCompanion';
|
|
3
3
|
import { EntityConfiguration } from './EntityConfiguration';
|
|
4
4
|
import { EntityMutationTriggerConfiguration } from './EntityMutationTriggerConfiguration';
|
|
5
|
-
import {
|
|
5
|
+
import { EntityMutationValidatorConfiguration } from './EntityMutationValidatorConfiguration';
|
|
6
6
|
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
7
7
|
import { EntityQueryContextProvider } from './EntityQueryContextProvider';
|
|
8
8
|
import { IEntityCacheAdapterProvider } from './IEntityCacheAdapterProvider';
|
|
@@ -54,11 +54,11 @@ export interface EntityCompanionDefinition<TFields extends Record<string, any>,
|
|
|
54
54
|
*/
|
|
55
55
|
readonly privacyPolicyClass: IPrivacyPolicyClass<TPrivacyPolicy>;
|
|
56
56
|
/**
|
|
57
|
-
* An optional
|
|
57
|
+
* An optional EntityMutationValidatorConfiguration for this entity.
|
|
58
58
|
*/
|
|
59
|
-
readonly mutationValidators?:
|
|
59
|
+
readonly mutationValidators?: EntityMutationValidatorConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
|
|
60
60
|
/**
|
|
61
|
-
* An optional
|
|
61
|
+
* An optional EntityMutationTriggerConfiguration for this entity.
|
|
62
62
|
*/
|
|
63
63
|
readonly mutationTriggers?: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
|
|
64
64
|
/**
|
|
@@ -30,8 +30,19 @@ export interface TableFieldMultiValueEqualityCondition {
|
|
|
30
30
|
tableField: string;
|
|
31
31
|
tableValues: readonly any[];
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Ordering options for `orderBy` clauses.
|
|
35
|
+
*/
|
|
33
36
|
export declare enum OrderByOrdering {
|
|
37
|
+
/**
|
|
38
|
+
* Ascending order (lowest to highest).
|
|
39
|
+
* Ascending order puts smaller values first, where "smaller" is defined in terms of the %3C operator.
|
|
40
|
+
*/
|
|
34
41
|
ASCENDING = "asc",
|
|
42
|
+
/**
|
|
43
|
+
* Descending order (highest to lowest).
|
|
44
|
+
* Descending order puts larger values first, where "larger" is defined in terms of the %3E operator.
|
|
45
|
+
*/
|
|
35
46
|
DESCENDING = "desc"
|
|
36
47
|
}
|
|
37
48
|
/**
|
|
@@ -42,7 +53,13 @@ export interface QuerySelectionModifiers<TFields extends Record<string, any>> {
|
|
|
42
53
|
* Order the entities by specified columns and orders.
|
|
43
54
|
*/
|
|
44
55
|
orderBy?: {
|
|
56
|
+
/**
|
|
57
|
+
* The field name to order by.
|
|
58
|
+
*/
|
|
45
59
|
fieldName: keyof TFields;
|
|
60
|
+
/**
|
|
61
|
+
* The OrderByOrdering to order by.
|
|
62
|
+
*/
|
|
46
63
|
order: OrderByOrdering;
|
|
47
64
|
}[];
|
|
48
65
|
/**
|
|
@@ -11,9 +11,20 @@ const EntityFieldTransformationUtils_1 = require("./internal/EntityFieldTransfor
|
|
|
11
11
|
function isSingleValueFieldEqualityCondition(condition) {
|
|
12
12
|
return condition.fieldValue !== undefined;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Ordering options for `orderBy` clauses.
|
|
16
|
+
*/
|
|
14
17
|
var OrderByOrdering;
|
|
15
18
|
(function (OrderByOrdering) {
|
|
19
|
+
/**
|
|
20
|
+
* Ascending order (lowest to highest).
|
|
21
|
+
* Ascending order puts smaller values first, where "smaller" is defined in terms of the %3C operator.
|
|
22
|
+
*/
|
|
16
23
|
OrderByOrdering["ASCENDING"] = "asc";
|
|
24
|
+
/**
|
|
25
|
+
* Descending order (highest to lowest).
|
|
26
|
+
* Descending order puts larger values first, where "larger" is defined in terms of the %3E operator.
|
|
27
|
+
*/
|
|
17
28
|
OrderByOrdering["DESCENDING"] = "desc";
|
|
18
29
|
})(OrderByOrdering || (exports.OrderByOrdering = OrderByOrdering = {}));
|
|
19
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityDatabaseAdapter.js","sourceRoot":"","sources":["../../src/EntityDatabaseAdapter.ts"],"names":[],"mappings":";;;;;;AAkDA,kFAOC;AAzDD,0DAAkC;AAIlC,oFAM6C;AAC7C,8FAKmD;AAkCnD,SAAgB,mCAAmC,CAIjD,SAA6C;IAE7C,OAAQ,SAA2D,CAAC,UAAU,KAAK,SAAS,CAAC;AAC/F,CAAC;AAYD,IAAY,
|
|
1
|
+
{"version":3,"file":"EntityDatabaseAdapter.js","sourceRoot":"","sources":["../../src/EntityDatabaseAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,6 @@ export declare enum EntityMutationType {
|
|
|
5
5
|
UPDATE = 1,
|
|
6
6
|
DELETE = 2
|
|
7
7
|
}
|
|
8
|
-
export type EntityValidatorMutationInfo<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> = {
|
|
9
|
-
type: EntityMutationType.CREATE;
|
|
10
|
-
} | {
|
|
11
|
-
type: EntityMutationType.UPDATE;
|
|
12
|
-
previousValue: TEntity;
|
|
13
|
-
cascadingDeleteCause: EntityCascadingDeletionInfo | null;
|
|
14
|
-
};
|
|
15
8
|
/**
|
|
16
9
|
* Information about a cascading deletion.
|
|
17
10
|
*/
|
|
@@ -25,7 +18,7 @@ export type EntityCascadingDeletionInfo = {
|
|
|
25
18
|
*/
|
|
26
19
|
cascadingDeleteCause: EntityCascadingDeletionInfo | null;
|
|
27
20
|
};
|
|
28
|
-
|
|
21
|
+
type EntityTriggerOrValidatorMutationInfo<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> = {
|
|
29
22
|
type: EntityMutationType.CREATE;
|
|
30
23
|
} | {
|
|
31
24
|
type: EntityMutationType.UPDATE;
|
|
@@ -35,3 +28,6 @@ export type EntityTriggerMutationInfo<TFields extends Record<string, any>, TIDFi
|
|
|
35
28
|
type: EntityMutationType.DELETE;
|
|
36
29
|
cascadingDeleteCause: EntityCascadingDeletionInfo | null;
|
|
37
30
|
};
|
|
31
|
+
export type EntityValidatorMutationInfo<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> = EntityTriggerOrValidatorMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
|
|
32
|
+
export type EntityTriggerMutationInfo<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> = EntityTriggerOrValidatorMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { EntityValidatorMutationInfo } from './EntityMutationInfo';
|
|
2
|
+
import { EntityTransactionalQueryContext } from './EntityQueryContext';
|
|
3
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
4
|
+
import { ViewerContext } from './ViewerContext';
|
|
5
|
+
/**
|
|
6
|
+
* Interface to define validator behavior for entities.
|
|
7
|
+
*/
|
|
8
|
+
export interface EntityMutationValidatorConfiguration<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> {
|
|
9
|
+
/**
|
|
10
|
+
* Validator set that runs within the transaction but before the entity is created.
|
|
11
|
+
*/
|
|
12
|
+
beforeCreateAndUpdate?: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[];
|
|
13
|
+
/**
|
|
14
|
+
* Validator set that runs within the transaction but before the entity is deleted. This can be used
|
|
15
|
+
* to maintain constraints not expressable via other means, like checking that this entity is not referenced
|
|
16
|
+
* by other entities (in a non-foreign-key-manner) before proceeding with deletion.
|
|
17
|
+
*/
|
|
18
|
+
beforeDelete?: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A validator is a way to specify side-effect-free entity mutation validation that runs within the
|
|
22
|
+
* same transaction as the mutation itself.
|
|
23
|
+
*/
|
|
24
|
+
export declare abstract class EntityMutationValidator<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> {
|
|
25
|
+
abstract executeAsync(viewerContext: TViewerContext, queryContext: EntityTransactionalQueryContext, entity: TEntity, mutationInfo: EntityValidatorMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>): Promise<void>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EntityMutationValidator = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A validator is a way to specify side-effect-free entity mutation validation that runs within the
|
|
6
|
+
* same transaction as the mutation itself.
|
|
7
|
+
*/
|
|
8
|
+
class EntityMutationValidator {
|
|
9
|
+
}
|
|
10
|
+
exports.EntityMutationValidator = EntityMutationValidator;
|
|
11
|
+
//# sourceMappingURL=EntityMutationValidatorConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityMutationValidatorConfiguration.js","sourceRoot":"","sources":["../../src/EntityMutationValidatorConfiguration.ts"],"names":[],"mappings":";;;AAwCA;;;GAGG;AACH,MAAsB,uBAAuB;CAmB5C;AAnBD,0DAmBC"}
|
|
@@ -6,7 +6,7 @@ import { EntityDatabaseAdapter } from './EntityDatabaseAdapter';
|
|
|
6
6
|
import { EntityLoaderFactory } from './EntityLoaderFactory';
|
|
7
7
|
import { EntityCascadingDeletionInfo } from './EntityMutationInfo';
|
|
8
8
|
import { EntityMutationTriggerConfiguration } from './EntityMutationTriggerConfiguration';
|
|
9
|
-
import {
|
|
9
|
+
import { EntityMutationValidatorConfiguration } from './EntityMutationValidatorConfiguration';
|
|
10
10
|
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
11
11
|
import { EntityQueryContext } from './EntityQueryContext';
|
|
12
12
|
import { ViewerContext } from './ViewerContext';
|
|
@@ -24,7 +24,7 @@ export declare class EntityMutatorFactory<TFields extends Record<string, any>, T
|
|
|
24
24
|
private readonly entityLoaderFactory;
|
|
25
25
|
private readonly databaseAdapter;
|
|
26
26
|
private readonly metricsAdapter;
|
|
27
|
-
constructor(entityCompanionProvider: EntityCompanionProvider, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators:
|
|
27
|
+
constructor(entityCompanionProvider: EntityCompanionProvider, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators: EntityMutationValidatorConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter);
|
|
28
28
|
/**
|
|
29
29
|
* Vend mutator for creating a new entity in given query context.
|
|
30
30
|
* @param viewerContext - viewer context of creating user
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityMutatorFactory.js","sourceRoot":"","sources":["../../src/EntityMutatorFactory.ts"],"names":[],"mappings":";;;AAAA,mGAIiD;AAcjD;;GAEG;AACH,MAAa,oBAAoB;IAeZ;IACA;IACA;IAQA;IACA;IAOA;IAOA;IAQA;IACA;IAnCnB,YACmB,uBAAgD,EAChD,mBAA2D,EAC3D,WAOhB,EACgB,aAA6B,EAC7B,
|
|
1
|
+
{"version":3,"file":"EntityMutatorFactory.js","sourceRoot":"","sources":["../../src/EntityMutatorFactory.ts"],"names":[],"mappings":";;;AAAA,mGAIiD;AAcjD;;GAEG;AACH,MAAa,oBAAoB;IAeZ;IACA;IACA;IAQA;IACA;IAOA;IAOA;IAQA;IACA;IAnCnB,YACmB,uBAAgD,EAChD,mBAA2D,EAC3D,WAOhB,EACgB,aAA6B,EAC7B,kBAMhB,EACgB,gBAMhB,EACgB,mBAOhB,EACgB,eAAyD,EACzD,cAAqC;QAlCrC,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,wBAAmB,GAAnB,mBAAmB,CAAwC;QAC3D,gBAAW,GAAX,WAAW,CAO3B;QACgB,kBAAa,GAAb,aAAa,CAAgB;QAC7B,uBAAkB,GAAlB,kBAAkB,CAMlC;QACgB,qBAAgB,GAAhB,gBAAgB,CAMhC;QACgB,wBAAmB,GAAnB,mBAAmB,CAOnC;QACgB,oBAAe,GAAf,eAAe,CAA0C;QACzD,mBAAc,GAAd,cAAc,CAAuB;IACrD,CAAC;IAEJ;;;;;OAKG;IACH,SAAS,CACP,aAA6B,EAC7B,YAAgC;QAShC,OAAO,IAAI,6EAAqC,CAC9C,IAAI,CAAC,uBAAuB,EAC5B,aAAa,EACb,YAAY,EACZ,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,CACpB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,SAAS,CACP,cAAuB,EACvB,YAAgC,EAChC,oBAAwD;QASxD,OAAO,IAAI,6EAAqC,CAC9C,IAAI,CAAC,uBAAuB,EAC5B,cAAc,CAAC,gBAAgB,EAAE,EACjC,YAAY,EACZ,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,EACnB,cAAc,EACd,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,SAAS,CACP,cAAuB,EACvB,YAAgC,EAChC,oBAAwD;QASxD,OAAO,IAAI,6EAAqC,CAC9C,IAAI,CAAC,uBAAuB,EAC5B,cAAc,CAAC,gBAAgB,EAAE,EACjC,YAAY,EACZ,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,EACnB,cAAc,EACd,oBAAoB,CACrB,CAAC;IACJ,CAAC;CACF;AAxJD,oDAwJC"}
|
package/build/src/index.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export * from './EntityLoaderFactory';
|
|
|
27
27
|
export * from './EntityLoaderUtils';
|
|
28
28
|
export * from './EntityMutationInfo';
|
|
29
29
|
export * from './EntityMutationTriggerConfiguration';
|
|
30
|
-
export * from './
|
|
30
|
+
export * from './EntityMutationValidatorConfiguration';
|
|
31
31
|
export * from './EntityMutatorFactory';
|
|
32
32
|
export * from './EntityPrivacyPolicy';
|
|
33
33
|
export * from './EntityQueryContext';
|
package/build/src/index.js
CHANGED
|
@@ -44,7 +44,7 @@ __exportStar(require("./EntityLoaderFactory"), exports);
|
|
|
44
44
|
__exportStar(require("./EntityLoaderUtils"), exports);
|
|
45
45
|
__exportStar(require("./EntityMutationInfo"), exports);
|
|
46
46
|
__exportStar(require("./EntityMutationTriggerConfiguration"), exports);
|
|
47
|
-
__exportStar(require("./
|
|
47
|
+
__exportStar(require("./EntityMutationValidatorConfiguration"), exports);
|
|
48
48
|
__exportStar(require("./EntityMutatorFactory"), exports);
|
|
49
49
|
__exportStar(require("./EntityPrivacyPolicy"), exports);
|
|
50
50
|
__exportStar(require("./EntityQueryContext"), exports);
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC;;;GAGG;;;;;;;;;;;;;;;;AAEH,oFAAkE;AAClE,yEAAuD;AACvD,0EAAwD;AACxD,+DAA6C;AAC7C,iEAA+C;AAC/C,qEAAmD;AACnD,2DAAyC;AACzC,2DAAyC;AACzC,0DAAwC;AACxC,2DAAyC;AACzC,2CAAyB;AACzB,4DAA0C;AAC1C,oDAAkC;AAClC,4DAA0C;AAC1C,wDAAsC;AACtC,kDAAgC;AAChC,0DAAwC;AACxC,kDAAgC;AAChC,0DAAwC;AACxC,iDAA+B;AAC/B,iDAA+B;AAC/B,wDAAsC;AACtC,sDAAoC;AACpC,uDAAqC;AACrC,uEAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC;;;GAGG;;;;;;;;;;;;;;;;AAEH,oFAAkE;AAClE,yEAAuD;AACvD,0EAAwD;AACxD,+DAA6C;AAC7C,iEAA+C;AAC/C,qEAAmD;AACnD,2DAAyC;AACzC,2DAAyC;AACzC,0DAAwC;AACxC,2DAAyC;AACzC,2CAAyB;AACzB,4DAA0C;AAC1C,oDAAkC;AAClC,4DAA0C;AAC1C,wDAAsC;AACtC,kDAAgC;AAChC,0DAAwC;AACxC,kDAAgC;AAChC,0DAAwC;AACxC,iDAA+B;AAC/B,iDAA+B;AAC/B,wDAAsC;AACtC,sDAAoC;AACpC,uDAAqC;AACrC,uEAAqD;AACrD,yEAAuD;AACvD,yDAAuC;AACvC,wDAAsC;AACtC,uDAAqC;AACrC,+DAA6C;AAC7C,+DAA6C;AAC7C,kDAAgC;AAChC,gDAA8B;AAC9B,8DAA4C;AAC5C,gEAA8C;AAC9C,wDAAsC;AACtC,gEAA8C;AAC9C,mEAAiD;AACjD,yDAAuC;AACvC,mDAAiC;AACjC,kDAAgC;AAChC,gEAA8C;AAC9C,wEAAsD;AACtD,oEAAkD;AAClD,qEAAmD;AACnD,mEAAiD;AACjD,sEAAoD;AACpD,uDAAqC;AACrC,wEAAsD;AACtD,oEAAkD;AAClD,+DAA6C;AAC7C,kEAAgD;AAChD,oEAAkD;AAClD,+DAA6C;AAC7C,4EAA0D;AAC1D,kEAAgD;AAChD,wEAAsD;AACtD,oEAAkD;AAClD,+DAA6C;AAC7C,+DAA6C;AAC7C,kEAAgD;AAChD,qEAAmD;AACnD,uEAAqD;AACrD,sEAAoD;AACpD,sEAAoD;AACpD,4DAA0C;AAC1C,8DAA4C;AAC5C,6DAA2C;AAC3C,mFAAiE;AACjE,2DAAyC;AACzC,yEAAuD;AACvD,2DAAyC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/entity",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.51.0",
|
|
4
4
|
"description": "A privacy-first data model",
|
|
5
5
|
"files": [
|
|
6
6
|
"build",
|
|
@@ -33,16 +33,16 @@
|
|
|
33
33
|
"invariant": "^2.2.4"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@jest/globals": "^30.0
|
|
36
|
+
"@jest/globals": "^30.2.0",
|
|
37
37
|
"@types/invariant": "^2.2.37",
|
|
38
|
-
"@types/lodash": "^4.17.
|
|
38
|
+
"@types/lodash": "^4.17.20",
|
|
39
39
|
"@types/node": "^20.19.1",
|
|
40
40
|
"@types/uuid": "^8.3.0",
|
|
41
41
|
"lodash": "^4.17.21",
|
|
42
42
|
"ts-mockito": "^2.6.1",
|
|
43
|
-
"typescript": "^5.
|
|
43
|
+
"typescript": "^5.9.3",
|
|
44
44
|
"uuid": "^8.3.0",
|
|
45
45
|
"uuidv7": "^1.0.0"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "9140938e1cd20bab7e89224b9e5670e963d735d9"
|
|
48
48
|
}
|
|
@@ -18,7 +18,10 @@ import {
|
|
|
18
18
|
EntityMutationTriggerConfiguration,
|
|
19
19
|
EntityNonTransactionalMutationTrigger,
|
|
20
20
|
} from './EntityMutationTriggerConfiguration';
|
|
21
|
-
import {
|
|
21
|
+
import {
|
|
22
|
+
EntityMutationValidator,
|
|
23
|
+
EntityMutationValidatorConfiguration,
|
|
24
|
+
} from './EntityMutationValidatorConfiguration';
|
|
22
25
|
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
23
26
|
import { EntityQueryContext, EntityTransactionalQueryContext } from './EntityQueryContext';
|
|
24
27
|
import { ViewerContext } from './ViewerContext';
|
|
@@ -142,13 +145,13 @@ export abstract class AuthorizationResultBasedBaseMutator<
|
|
|
142
145
|
TSelectedFields
|
|
143
146
|
>,
|
|
144
147
|
protected readonly privacyPolicy: TPrivacyPolicy,
|
|
145
|
-
protected readonly mutationValidators:
|
|
148
|
+
protected readonly mutationValidators: EntityMutationValidatorConfiguration<
|
|
146
149
|
TFields,
|
|
147
150
|
TIDField,
|
|
148
151
|
TViewerContext,
|
|
149
152
|
TEntity,
|
|
150
153
|
TSelectedFields
|
|
151
|
-
|
|
154
|
+
>,
|
|
152
155
|
protected readonly mutationTriggers: EntityMutationTriggerConfiguration<
|
|
153
156
|
TFields,
|
|
154
157
|
TIDField,
|
|
@@ -189,13 +192,9 @@ export abstract class AuthorizationResultBasedBaseMutator<
|
|
|
189
192
|
}
|
|
190
193
|
|
|
191
194
|
protected async executeMutationValidatorsAsync(
|
|
192
|
-
validators:
|
|
193
|
-
TFields,
|
|
194
|
-
|
|
195
|
-
TViewerContext,
|
|
196
|
-
TEntity,
|
|
197
|
-
TSelectedFields
|
|
198
|
-
>[],
|
|
195
|
+
validators:
|
|
196
|
+
| EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[]
|
|
197
|
+
| undefined,
|
|
199
198
|
queryContext: EntityTransactionalQueryContext,
|
|
200
199
|
entity: TEntity,
|
|
201
200
|
mutationInfo: EntityValidatorMutationInfo<
|
|
@@ -206,6 +205,10 @@ export abstract class AuthorizationResultBasedBaseMutator<
|
|
|
206
205
|
TSelectedFields
|
|
207
206
|
>,
|
|
208
207
|
): Promise<void> {
|
|
208
|
+
if (!validators) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
|
|
209
212
|
await Promise.all(
|
|
210
213
|
validators.map((validator) =>
|
|
211
214
|
validator.executeAsync(this.viewerContext, queryContext, entity, mutationInfo),
|
|
@@ -350,7 +353,7 @@ export class AuthorizationResultBasedCreateMutator<
|
|
|
350
353
|
}
|
|
351
354
|
|
|
352
355
|
await this.executeMutationValidatorsAsync(
|
|
353
|
-
this.mutationValidators,
|
|
356
|
+
this.mutationValidators.beforeCreateAndUpdate,
|
|
354
357
|
queryContext,
|
|
355
358
|
temporaryEntityForPrivacyCheck,
|
|
356
359
|
{ type: EntityMutationType.CREATE },
|
|
@@ -452,13 +455,13 @@ export class AuthorizationResultBasedUpdateMutator<
|
|
|
452
455
|
TSelectedFields
|
|
453
456
|
>,
|
|
454
457
|
privacyPolicy: TPrivacyPolicy,
|
|
455
|
-
mutationValidators:
|
|
458
|
+
mutationValidators: EntityMutationValidatorConfiguration<
|
|
456
459
|
TFields,
|
|
457
460
|
TIDField,
|
|
458
461
|
TViewerContext,
|
|
459
462
|
TEntity,
|
|
460
463
|
TSelectedFields
|
|
461
|
-
|
|
464
|
+
>,
|
|
462
465
|
mutationTriggers: EntityMutationTriggerConfiguration<
|
|
463
466
|
TFields,
|
|
464
467
|
TIDField,
|
|
@@ -554,7 +557,7 @@ export class AuthorizationResultBasedUpdateMutator<
|
|
|
554
557
|
}
|
|
555
558
|
|
|
556
559
|
await this.executeMutationValidatorsAsync(
|
|
557
|
-
this.mutationValidators,
|
|
560
|
+
this.mutationValidators.beforeCreateAndUpdate,
|
|
558
561
|
queryContext,
|
|
559
562
|
entityAboutToBeUpdated,
|
|
560
563
|
{
|
|
@@ -708,13 +711,13 @@ export class AuthorizationResultBasedDeleteMutator<
|
|
|
708
711
|
TSelectedFields
|
|
709
712
|
>,
|
|
710
713
|
privacyPolicy: TPrivacyPolicy,
|
|
711
|
-
mutationValidators:
|
|
714
|
+
mutationValidators: EntityMutationValidatorConfiguration<
|
|
712
715
|
TFields,
|
|
713
716
|
TIDField,
|
|
714
717
|
TViewerContext,
|
|
715
718
|
TEntity,
|
|
716
719
|
TSelectedFields
|
|
717
|
-
|
|
720
|
+
>,
|
|
718
721
|
mutationTriggers: EntityMutationTriggerConfiguration<
|
|
719
722
|
TFields,
|
|
720
723
|
TIDField,
|
|
@@ -800,6 +803,15 @@ export class AuthorizationResultBasedDeleteMutator<
|
|
|
800
803
|
processedEntityIdentifiersFromTransitiveDeletions,
|
|
801
804
|
);
|
|
802
805
|
|
|
806
|
+
await this.executeMutationValidatorsAsync(
|
|
807
|
+
this.mutationValidators.beforeDelete,
|
|
808
|
+
queryContext,
|
|
809
|
+
this.entity,
|
|
810
|
+
{
|
|
811
|
+
type: EntityMutationType.DELETE,
|
|
812
|
+
cascadingDeleteCause: this.cascadingDeleteCause,
|
|
813
|
+
},
|
|
814
|
+
);
|
|
803
815
|
await this.executeMutationTriggersAsync(
|
|
804
816
|
this.mutationTriggers.beforeAll,
|
|
805
817
|
queryContext,
|
package/src/EntityCompanion.ts
CHANGED
|
@@ -76,7 +76,7 @@ export class EntityCompanion<
|
|
|
76
76
|
tableDataCoordinator.entityConfiguration,
|
|
77
77
|
entityCompanionDefinition.entityClass,
|
|
78
78
|
this.privacyPolicy,
|
|
79
|
-
entityCompanionDefinition.mutationValidators ??
|
|
79
|
+
entityCompanionDefinition.mutationValidators ?? {},
|
|
80
80
|
mergeEntityMutationTriggerConfigurations(
|
|
81
81
|
entityCompanionDefinition.mutationTriggers ?? {},
|
|
82
82
|
entityCompanionProvider.globalMutationTriggers ?? {},
|
|
@@ -4,7 +4,7 @@ import { IEntityClass } from './Entity';
|
|
|
4
4
|
import { EntityCompanion, IPrivacyPolicyClass } from './EntityCompanion';
|
|
5
5
|
import { EntityConfiguration } from './EntityConfiguration';
|
|
6
6
|
import { EntityMutationTriggerConfiguration } from './EntityMutationTriggerConfiguration';
|
|
7
|
-
import {
|
|
7
|
+
import { EntityMutationValidatorConfiguration } from './EntityMutationValidatorConfiguration';
|
|
8
8
|
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
9
9
|
import { EntityQueryContextProvider } from './EntityQueryContextProvider';
|
|
10
10
|
import { IEntityCacheAdapterProvider } from './IEntityCacheAdapterProvider';
|
|
@@ -86,18 +86,18 @@ export interface EntityCompanionDefinition<
|
|
|
86
86
|
readonly privacyPolicyClass: IPrivacyPolicyClass<TPrivacyPolicy>;
|
|
87
87
|
|
|
88
88
|
/**
|
|
89
|
-
* An optional
|
|
89
|
+
* An optional EntityMutationValidatorConfiguration for this entity.
|
|
90
90
|
*/
|
|
91
|
-
readonly mutationValidators?:
|
|
91
|
+
readonly mutationValidators?: EntityMutationValidatorConfiguration<
|
|
92
92
|
TFields,
|
|
93
93
|
TIDField,
|
|
94
94
|
TViewerContext,
|
|
95
95
|
TEntity,
|
|
96
96
|
TSelectedFields
|
|
97
|
-
|
|
97
|
+
>;
|
|
98
98
|
|
|
99
99
|
/**
|
|
100
|
-
* An optional
|
|
100
|
+
* An optional EntityMutationTriggerConfiguration for this entity.
|
|
101
101
|
*/
|
|
102
102
|
readonly mutationTriggers?: EntityMutationTriggerConfiguration<
|
|
103
103
|
TFields,
|