@expo/entity 0.16.0 → 0.20.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/EnforcingEntityLoader.js +2 -2
- package/build/EnforcingEntityLoader.js.map +1 -1
- package/build/Entity.js +8 -2
- package/build/Entity.js.map +1 -1
- package/build/EntityAssociationLoader.js +3 -3
- package/build/EntityAssociationLoader.js.map +1 -1
- package/build/EntityCompanion.d.ts +5 -0
- package/build/EntityCompanion.js +8 -1
- package/build/EntityCompanion.js.map +1 -1
- package/build/EntityCompanionProvider.d.ts +1 -1
- package/build/EntityCompanionProvider.js +5 -5
- package/build/EntityCompanionProvider.js.map +1 -1
- package/build/EntityConfiguration.d.ts +1 -1
- package/build/EntityConfiguration.js +3 -3
- package/build/EntityConfiguration.js.map +1 -1
- package/build/EntityDatabaseAdapter.d.ts +4 -4
- package/build/EntityDatabaseAdapter.js +13 -13
- package/build/EntityDatabaseAdapter.js.map +1 -1
- package/build/EntityFieldDefinition.d.ts +77 -0
- package/build/EntityFieldDefinition.js +53 -0
- package/build/EntityFieldDefinition.js.map +1 -0
- package/build/EntityFields.d.ts +5 -78
- package/build/EntityFields.js +19 -61
- package/build/EntityFields.js.map +1 -1
- package/build/EntityLoader.d.ts +3 -1
- package/build/EntityLoader.js +19 -15
- package/build/EntityLoader.js.map +1 -1
- package/build/EntityLoaderFactory.d.ts +3 -1
- package/build/EntityLoaderFactory.js +3 -2
- package/build/EntityLoaderFactory.js.map +1 -1
- package/build/EntityMutationInfo.d.ts +26 -0
- package/build/EntityMutationInfo.js +10 -0
- package/build/EntityMutationInfo.js.map +1 -0
- package/build/EntityMutationTriggerConfiguration.d.ts +4 -4
- package/build/EntityMutationValidator.d.ts +3 -3
- package/build/EntityMutationValidator.js.map +1 -1
- package/build/EntityMutator.d.ts +5 -16
- package/build/EntityMutator.js +62 -58
- package/build/EntityMutator.js.map +1 -1
- package/build/EntityPrivacyPolicy.d.ts +5 -4
- package/build/EntityPrivacyPolicy.js +60 -12
- package/build/EntityPrivacyPolicy.js.map +1 -1
- package/build/EntityQueryContext.d.ts +13 -0
- package/build/EntityQueryContext.js +18 -0
- package/build/EntityQueryContext.js.map +1 -1
- package/build/EntitySecondaryCacheLoader.js +2 -2
- package/build/EntitySecondaryCacheLoader.js.map +1 -1
- package/build/ReadonlyEntity.js +3 -4
- package/build/ReadonlyEntity.js.map +1 -1
- package/build/ViewerScopedEntityCompanion.d.ts +5 -0
- package/build/ViewerScopedEntityCompanion.js +6 -0
- package/build/ViewerScopedEntityCompanion.js.map +1 -1
- package/build/__tests__/EnforcingEntityLoader-test.js +82 -82
- package/build/__tests__/EnforcingEntityLoader-test.js.map +1 -1
- package/build/__tests__/Entity-test.js +6 -6
- package/build/__tests__/Entity-test.js.map +1 -1
- package/build/__tests__/EntityAssociationLoader-test.js +40 -40
- package/build/__tests__/EntityAssociationLoader-test.js.map +1 -1
- package/build/__tests__/EntityCommonUseCases-test.js +11 -11
- package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
- package/build/__tests__/EntityCompanion-test.js +3 -3
- package/build/__tests__/EntityCompanion-test.js.map +1 -1
- package/build/__tests__/EntityCompanionProvider-test.js +1 -1
- package/build/__tests__/EntityCompanionProvider-test.js.map +1 -1
- package/build/__tests__/EntityDatabaseAdapter-test.js +12 -12
- package/build/__tests__/EntityDatabaseAdapter-test.js.map +1 -1
- package/build/__tests__/EntityEdges-test.js +103 -6
- package/build/__tests__/EntityEdges-test.js.map +1 -1
- package/build/__tests__/EntityFields-test.js +18 -26
- package/build/__tests__/EntityFields-test.js.map +1 -1
- package/build/__tests__/EntityLoader-constructor-test.d.ts +22 -0
- package/build/__tests__/EntityLoader-constructor-test.js +111 -0
- package/build/__tests__/EntityLoader-constructor-test.js.map +1 -0
- package/build/__tests__/EntityLoader-test.js +81 -73
- package/build/__tests__/EntityLoader-test.js.map +1 -1
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +1 -0
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +81 -0
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -0
- package/build/__tests__/EntityMutator-test.js +138 -136
- package/build/__tests__/EntityMutator-test.js.map +1 -1
- package/build/__tests__/EntityPrivacyPolicy-test.js +143 -67
- package/build/__tests__/EntityPrivacyPolicy-test.js.map +1 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.js +15 -15
- package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
- package/build/__tests__/EntitySelfReferentialEdges-test.js +13 -12
- package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
- package/build/__tests__/ReadonlyEntity-test.js +12 -12
- package/build/__tests__/ReadonlyEntity-test.js.map +1 -1
- package/build/__tests__/ViewerContext-test.js +2 -2
- package/build/__tests__/ViewerContext-test.js.map +1 -1
- package/build/__tests__/ViewerScopedEntityCompanion-test.js +2 -2
- package/build/__tests__/ViewerScopedEntityCompanion-test.js.map +1 -1
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js +2 -2
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +1 -1
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js +5 -5
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +1 -1
- package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js +5 -5
- package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +5 -5
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +2 -2
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -1
- package/build/__tests__/entityUtils-test.js +21 -21
- package/build/__tests__/entityUtils-test.js.map +1 -1
- package/build/index.d.ts +3 -0
- package/build/index.js +5 -1
- package/build/index.js.map +1 -1
- package/build/internal/EntityDataManager.js +8 -7
- package/build/internal/EntityDataManager.js.map +1 -1
- package/build/internal/EntityFieldTransformationUtils.js +2 -2
- package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
- package/build/internal/ReadThroughEntityCache.js +4 -4
- package/build/internal/ReadThroughEntityCache.js.map +1 -1
- package/build/internal/__tests__/EntityDataManager-test.js +21 -21
- package/build/internal/__tests__/EntityDataManager-test.js.map +1 -1
- package/build/internal/__tests__/EntityFieldTransformationUtils-test.js +8 -8
- package/build/internal/__tests__/EntityFieldTransformationUtils-test.js.map +1 -1
- package/build/internal/__tests__/ReadThroughEntityCache-test.js +48 -48
- package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +1 -1
- package/build/metrics/EntityMetricsUtils.js +1 -1
- package/build/metrics/EntityMetricsUtils.js.map +1 -1
- package/build/metrics/IEntityMetricsAdapter.d.ts +16 -0
- package/build/metrics/IEntityMetricsAdapter.js +6 -1
- package/build/metrics/IEntityMetricsAdapter.js.map +1 -1
- package/build/metrics/NoOpEntityMetricsAdapter.d.ts +2 -1
- package/build/metrics/NoOpEntityMetricsAdapter.js +1 -0
- package/build/metrics/NoOpEntityMetricsAdapter.js.map +1 -1
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +4 -4
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +1 -1
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +4 -4
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +1 -1
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +4 -4
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +1 -1
- package/build/testfixtures/DateIDTestEntity.js.map +1 -1
- package/build/testfixtures/SimpleTestEntity.js.map +1 -1
- package/build/testfixtures/TestEntity.d.ts +6 -6
- package/build/testfixtures/TestEntity.js +4 -4
- package/build/testfixtures/TestEntity.js.map +1 -1
- package/build/testfixtures/TestEntity2.d.ts +5 -5
- package/build/testfixtures/TestEntity2.js.map +1 -1
- package/build/testfixtures/TestEntityNumberKey.js +1 -1
- package/build/testfixtures/TestEntityNumberKey.js.map +1 -1
- package/build/utils/collections/__tests__/maps-test.js +13 -13
- package/build/utils/collections/__tests__/maps-test.js.map +1 -1
- package/build/utils/collections/maps.js +1 -1
- package/build/utils/collections/maps.js.map +1 -1
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +6 -6
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.js +1 -1
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.js.map +1 -1
- package/build/utils/testing/StubCacheAdapter.js +1 -1
- package/build/utils/testing/StubCacheAdapter.js.map +1 -1
- package/build/utils/testing/StubDatabaseAdapter.js +7 -7
- package/build/utils/testing/StubDatabaseAdapter.js.map +1 -1
- package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js +26 -26
- package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js.map +1 -1
- package/build/utils/testing/describeFieldTestCase.d.ts +2 -0
- package/build/utils/testing/describeFieldTestCase.js +18 -0
- package/build/utils/testing/describeFieldTestCase.js.map +1 -0
- package/package.json +2 -1
- package/src/Entity.ts +10 -2
- package/src/EntityAssociationLoader.ts +1 -1
- package/src/EntityCompanion.ts +10 -2
- package/src/EntityCompanionProvider.ts +5 -9
- package/src/EntityConfiguration.ts +1 -1
- package/src/EntityDatabaseAdapter.ts +10 -8
- package/src/EntityFieldDefinition.ts +124 -0
- package/src/EntityFields.ts +11 -126
- package/src/EntityLoader.ts +12 -4
- package/src/EntityLoaderFactory.ts +5 -2
- package/src/EntityMutationInfo.ts +47 -0
- package/src/EntityMutationTriggerConfiguration.ts +5 -5
- package/src/EntityMutationValidator.ts +10 -4
- package/src/EntityMutator.ts +98 -76
- package/src/EntityPrivacyPolicy.ts +77 -19
- package/src/EntityQueryContext.ts +20 -0
- package/src/ReadonlyEntity.ts +3 -2
- package/src/ViewerScopedEntityCompanion.ts +8 -0
- package/src/__tests__/Entity-test.ts +8 -8
- package/src/__tests__/EntityCommonUseCases-test.ts +4 -4
- package/src/__tests__/EntityEdges-test.ts +169 -14
- package/src/__tests__/EntityFields-test.ts +6 -23
- package/src/__tests__/EntityLoader-constructor-test.ts +177 -0
- package/src/__tests__/EntityLoader-test.ts +48 -20
- package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +105 -0
- package/src/__tests__/EntityMutator-test.ts +153 -146
- package/src/__tests__/EntityPrivacyPolicy-test.ts +215 -78
- package/src/__tests__/EntitySecondaryCacheLoader-test.ts +7 -9
- package/src/__tests__/EntitySelfReferentialEdges-test.ts +6 -5
- package/src/__tests__/ReadonlyEntity-test.ts +1 -1
- package/src/__tests__/ViewerContext-test.ts +7 -6
- package/src/__tests__/ViewerScopedEntityCompanion-test.ts +11 -10
- package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +4 -3
- package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +6 -6
- package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +4 -4
- package/src/index.ts +3 -0
- package/src/internal/EntityDataManager.ts +2 -1
- package/src/internal/__tests__/EntityDataManager-test.ts +6 -6
- package/src/internal/__tests__/ReadThroughEntityCache-test.ts +15 -13
- package/src/metrics/EntityMetricsUtils.ts +56 -50
- package/src/metrics/IEntityMetricsAdapter.ts +23 -0
- package/src/metrics/NoOpEntityMetricsAdapter.ts +2 -0
- package/src/testfixtures/DateIDTestEntity.ts +4 -4
- package/src/testfixtures/SimpleTestEntity.ts +4 -4
- package/src/testfixtures/TestEntity.ts +8 -8
- package/src/testfixtures/TestEntity2.ts +4 -4
- package/src/testfixtures/TestEntityNumberKey.ts +6 -6
- package/src/utils/testing/StubDatabaseAdapter.ts +4 -4
- package/src/utils/testing/__tests__/StubDatabaseAdapter-test.ts +18 -18
- package/src/utils/testing/describeFieldTestCase.ts +21 -0
- package/CHANGELOG.md +0 -241
|
@@ -6,7 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const Entity_1 = __importDefault(require("../Entity"));
|
|
7
7
|
const EntityCompanionProvider_1 = require("../EntityCompanionProvider");
|
|
8
8
|
const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"));
|
|
9
|
+
const EntityFieldDefinition_1 = require("../EntityFieldDefinition");
|
|
9
10
|
const EntityFields_1 = require("../EntityFields");
|
|
11
|
+
const EntityMutationInfo_1 = require("../EntityMutationInfo");
|
|
12
|
+
const EntityMutationTriggerConfiguration_1 = require("../EntityMutationTriggerConfiguration");
|
|
10
13
|
const EntityPrivacyPolicy_1 = __importDefault(require("../EntityPrivacyPolicy"));
|
|
11
14
|
const ReadThroughEntityCache_1 = require("../internal/ReadThroughEntityCache");
|
|
12
15
|
const AlwaysAllowPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysAllowPrivacyPolicyRule"));
|
|
@@ -31,6 +34,68 @@ class TestEntityPrivacyPolicy extends EntityPrivacyPolicy_1.default {
|
|
|
31
34
|
}
|
|
32
35
|
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
33
36
|
const makeEntityClasses = (edgeDeletionBehavior) => {
|
|
37
|
+
const triggerExecutionCounts = {
|
|
38
|
+
parent: 0,
|
|
39
|
+
child: 0,
|
|
40
|
+
grandchild: 0,
|
|
41
|
+
};
|
|
42
|
+
class ParentCheckInfoTrigger extends EntityMutationTriggerConfiguration_1.EntityMutationTrigger {
|
|
43
|
+
async executeAsync(_viewerContext, _queryContext, _entity, mutationInfo) {
|
|
44
|
+
if (mutationInfo.type !== EntityMutationInfo_1.EntityMutationType.DELETE) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (mutationInfo.cascadingDeleteCause !== null) {
|
|
48
|
+
throw new Error('Parent entity should not have casade delete cause');
|
|
49
|
+
}
|
|
50
|
+
triggerExecutionCounts.parent++;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
class ChildCheckInfoTrigger extends EntityMutationTriggerConfiguration_1.EntityMutationTrigger {
|
|
54
|
+
async executeAsync(_viewerContext, _queryContext, _entity, mutationInfo) {
|
|
55
|
+
if (mutationInfo.type !== EntityMutationInfo_1.EntityMutationType.DELETE) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (mutationInfo.cascadingDeleteCause === null) {
|
|
59
|
+
throw new Error('Child entity should have casade delete cause');
|
|
60
|
+
}
|
|
61
|
+
const cascadingDeleteCauseEntity = mutationInfo.cascadingDeleteCause.entity;
|
|
62
|
+
if (!(cascadingDeleteCauseEntity instanceof ParentEntity)) {
|
|
63
|
+
throw new Error('Child entity should have casade delete cause entity of type ParentEntity');
|
|
64
|
+
}
|
|
65
|
+
const secondLevelCascadingDeleteCause = mutationInfo.cascadingDeleteCause.cascadingDeleteCause;
|
|
66
|
+
if (secondLevelCascadingDeleteCause) {
|
|
67
|
+
throw new Error('Child entity should not have two-level casade delete cause');
|
|
68
|
+
}
|
|
69
|
+
triggerExecutionCounts.child++;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
class GrandChildCheckInfoTrigger extends EntityMutationTriggerConfiguration_1.EntityMutationTrigger {
|
|
73
|
+
async executeAsync(_viewerContext, _queryContext, _entity, mutationInfo) {
|
|
74
|
+
if (mutationInfo.type !== EntityMutationInfo_1.EntityMutationType.DELETE) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (mutationInfo.cascadingDeleteCause === null) {
|
|
78
|
+
throw new Error('GrandChild entity should have cascade delete cause');
|
|
79
|
+
}
|
|
80
|
+
const cascadingDeleteCauseEntity = mutationInfo.cascadingDeleteCause.entity;
|
|
81
|
+
if (!(cascadingDeleteCauseEntity instanceof ChildEntity)) {
|
|
82
|
+
throw new Error('GrandChild entity should have cascade delete cause entity of type ChildEntity');
|
|
83
|
+
}
|
|
84
|
+
const secondLevelCascadingDeleteCause = mutationInfo.cascadingDeleteCause.cascadingDeleteCause;
|
|
85
|
+
if (!secondLevelCascadingDeleteCause) {
|
|
86
|
+
throw new Error('GrandChild entity should have two-level casade delete cause');
|
|
87
|
+
}
|
|
88
|
+
const secondLevelCascadingDeleteCauseEntity = secondLevelCascadingDeleteCause.entity;
|
|
89
|
+
if (!(secondLevelCascadingDeleteCauseEntity instanceof ParentEntity)) {
|
|
90
|
+
throw new Error('GrandChild entity should have second level casade delete cause entity of type ParentEntity');
|
|
91
|
+
}
|
|
92
|
+
const thirdLevelCascadingDeleteCause = secondLevelCascadingDeleteCause.cascadingDeleteCause;
|
|
93
|
+
if (thirdLevelCascadingDeleteCause) {
|
|
94
|
+
throw new Error('GrandChild entity should not have three-level casade delete cause');
|
|
95
|
+
}
|
|
96
|
+
triggerExecutionCounts.grandchild++;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
34
99
|
class ParentEntity extends Entity_1.default {
|
|
35
100
|
static getCompanionDefinition() {
|
|
36
101
|
return parentEntityCompanion;
|
|
@@ -104,28 +169,41 @@ const makeEntityClasses = (edgeDeletionBehavior) => {
|
|
|
104
169
|
entityClass: ParentEntity,
|
|
105
170
|
entityConfiguration: parentEntityConfiguration,
|
|
106
171
|
privacyPolicyClass: TestEntityPrivacyPolicy,
|
|
172
|
+
mutationTriggers: () => ({
|
|
173
|
+
beforeDelete: [new ParentCheckInfoTrigger()],
|
|
174
|
+
afterDelete: [new ParentCheckInfoTrigger()],
|
|
175
|
+
}),
|
|
107
176
|
});
|
|
108
177
|
const childEntityCompanion = new EntityCompanionProvider_1.EntityCompanionDefinition({
|
|
109
178
|
entityClass: ChildEntity,
|
|
110
179
|
entityConfiguration: childEntityConfiguration,
|
|
111
180
|
privacyPolicyClass: TestEntityPrivacyPolicy,
|
|
181
|
+
mutationTriggers: () => ({
|
|
182
|
+
beforeDelete: [new ChildCheckInfoTrigger()],
|
|
183
|
+
afterDelete: [new ChildCheckInfoTrigger()],
|
|
184
|
+
}),
|
|
112
185
|
});
|
|
113
186
|
const grandChildEntityCompanion = new EntityCompanionProvider_1.EntityCompanionDefinition({
|
|
114
187
|
entityClass: GrandChildEntity,
|
|
115
188
|
entityConfiguration: grandChildEntityConfiguration,
|
|
116
189
|
privacyPolicyClass: TestEntityPrivacyPolicy,
|
|
190
|
+
mutationTriggers: () => ({
|
|
191
|
+
beforeDelete: [new GrandChildCheckInfoTrigger()],
|
|
192
|
+
afterDelete: [new GrandChildCheckInfoTrigger()],
|
|
193
|
+
}),
|
|
117
194
|
});
|
|
118
195
|
return {
|
|
119
196
|
ParentEntity,
|
|
120
197
|
ChildEntity,
|
|
121
198
|
GrandChildEntity,
|
|
199
|
+
triggerExecutionCounts,
|
|
122
200
|
};
|
|
123
201
|
};
|
|
124
202
|
describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
125
203
|
describe('EntityEdgeDeletionBehavior.CASCADE_DELETE', () => {
|
|
126
204
|
it('deletes', async () => {
|
|
127
|
-
const { ParentEntity, ChildEntity, GrandChildEntity } = makeEntityClasses(
|
|
128
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
205
|
+
const { ParentEntity, ChildEntity, GrandChildEntity, triggerExecutionCounts } = makeEntityClasses(EntityFieldDefinition_1.EntityEdgeDeletionBehavior.CASCADE_DELETE);
|
|
206
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
129
207
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
130
208
|
const parent = await ParentEntity.creator(viewerContext).enforceCreateAsync();
|
|
131
209
|
const child = await ChildEntity.creator(viewerContext)
|
|
@@ -141,12 +219,18 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
141
219
|
await expect(ParentEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(parent.getID())).resolves.toBeNull();
|
|
142
220
|
await expect(ChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(child.getID())).resolves.toBeNull();
|
|
143
221
|
await expect(GrandChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(grandchild.getID())).resolves.toBeNull();
|
|
222
|
+
// two calls for each trigger, one beforeDelete, one afterDelete
|
|
223
|
+
expect(triggerExecutionCounts).toMatchObject({
|
|
224
|
+
parent: 2,
|
|
225
|
+
child: 2,
|
|
226
|
+
grandchild: 2,
|
|
227
|
+
});
|
|
144
228
|
});
|
|
145
229
|
});
|
|
146
230
|
describe('EntityEdgeDeletionBehavior.SET_NULL', () => {
|
|
147
231
|
it('sets null', async () => {
|
|
148
|
-
const { ParentEntity, ChildEntity, GrandChildEntity } = makeEntityClasses(
|
|
149
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
232
|
+
const { ParentEntity, ChildEntity, GrandChildEntity, triggerExecutionCounts } = makeEntityClasses(EntityFieldDefinition_1.EntityEdgeDeletionBehavior.SET_NULL);
|
|
233
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
150
234
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
151
235
|
const parent = await ParentEntity.creator(viewerContext).enforceCreateAsync();
|
|
152
236
|
const child = await ChildEntity.creator(viewerContext)
|
|
@@ -168,13 +252,20 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
168
252
|
.enforcing()
|
|
169
253
|
.loadByIDAsync(grandchild.getID());
|
|
170
254
|
expect(loadedGrandchild.getField('parent_id')).toEqual(loadedChild.getID());
|
|
255
|
+
// two calls for only parent trigger, one beforeDelete, one afterDelete
|
|
256
|
+
// when using set null the descendants aren't deleted
|
|
257
|
+
expect(triggerExecutionCounts).toMatchObject({
|
|
258
|
+
parent: 2,
|
|
259
|
+
child: 0,
|
|
260
|
+
grandchild: 0,
|
|
261
|
+
});
|
|
171
262
|
});
|
|
172
263
|
});
|
|
173
264
|
describe('EntityEdgeDeletionBehavior.CASCADE_DELETE_INVALIDATE_CACHE', () => {
|
|
174
265
|
it('invalidates the cache', async () => {
|
|
175
266
|
var _a, _b, _c, _d;
|
|
176
|
-
const { ParentEntity, ChildEntity, GrandChildEntity } = makeEntityClasses(
|
|
177
|
-
const companionProvider = createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider();
|
|
267
|
+
const { ParentEntity, ChildEntity, GrandChildEntity, triggerExecutionCounts } = makeEntityClasses(EntityFieldDefinition_1.EntityEdgeDeletionBehavior.CASCADE_DELETE_INVALIDATE_CACHE);
|
|
268
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
178
269
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
179
270
|
const parent = await ParentEntity.creator(viewerContext).enforceCreateAsync();
|
|
180
271
|
const child = await ChildEntity.creator(viewerContext)
|
|
@@ -210,6 +301,12 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
210
301
|
await expect(ParentEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(parent.getID())).resolves.toBeNull();
|
|
211
302
|
await expect(ChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(child.getID())).resolves.not.toBeNull();
|
|
212
303
|
await expect(GrandChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(grandchild.getID())).resolves.not.toBeNull();
|
|
304
|
+
// two calls for each trigger, one beforeDelete, one afterDelete
|
|
305
|
+
expect(triggerExecutionCounts).toMatchObject({
|
|
306
|
+
parent: 2,
|
|
307
|
+
child: 2,
|
|
308
|
+
grandchild: 2,
|
|
309
|
+
});
|
|
213
310
|
});
|
|
214
311
|
});
|
|
215
312
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityEdges-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityEdges-test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EntityEdges-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityEdges-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
const uuid_1 = require("uuid");
|
|
7
|
+
const EntityFieldDefinition_1 = require("../EntityFieldDefinition");
|
|
4
8
|
const EntityFields_1 = require("../EntityFields");
|
|
5
|
-
|
|
9
|
+
const describeFieldTestCase_1 = __importDefault(require("../utils/testing/describeFieldTestCase"));
|
|
10
|
+
class TestFieldDefinition extends EntityFieldDefinition_1.EntityFieldDefinition {
|
|
6
11
|
validateInputValueInternal(value) {
|
|
7
12
|
return value === 'helloworld';
|
|
8
13
|
}
|
|
9
14
|
}
|
|
10
|
-
describe(
|
|
15
|
+
describe(EntityFieldDefinition_1.EntityFieldDefinition, () => {
|
|
11
16
|
it('returns correct column name and defaults cache to false', () => {
|
|
12
17
|
const fieldDefinition1 = new TestFieldDefinition({ columnName: 'wat' });
|
|
13
18
|
expect(fieldDefinition1.columnName).toEqual('wat');
|
|
@@ -33,31 +38,18 @@ describe(EntityFields_1.EntityFieldDefinition, () => {
|
|
|
33
38
|
expect(fieldDefinition.validateInputValue('helloworld')).toBe(true);
|
|
34
39
|
});
|
|
35
40
|
});
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (invalidValues.length > 0) {
|
|
44
|
-
test.each(invalidValues)(`${fieldDefinition.constructor.name}.invalid %p`, (value) => {
|
|
45
|
-
expect(fieldDefinition.validateInputValue(value)).toBe(false);
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
describeFieldTestCase(new EntityFields_1.StringField({ columnName: 'wat' }), ['hello', ''], [1, true, {}, [[]]]);
|
|
51
|
-
describeFieldTestCase(new EntityFields_1.UUIDField({ columnName: 'wat' }), [uuid_1.v1(), uuid_1.v3('wat', uuid_1.v3.DNS), uuid_1.v4(), uuid_1.v5('wat', uuid_1.v5.DNS)], [uuid_1.v4().replace('-', ''), '', 'hello']);
|
|
52
|
-
describeFieldTestCase(new EntityFields_1.DateField({ columnName: 'wat' }), [new Date()], [Date.now()]);
|
|
53
|
-
describeFieldTestCase(new EntityFields_1.BooleanField({ columnName: 'wat' }), [true, false], [0, 1, '']);
|
|
54
|
-
describeFieldTestCase(new EntityFields_1.NumberField({ columnName: 'wat' }), [1, 0.5, -0.5], ['1']);
|
|
55
|
-
describeFieldTestCase(new EntityFields_1.StringArrayField({ columnName: 'wat' }), [[['what']], [[]]], // jest test cases need extra wrapping array
|
|
41
|
+
(0, describeFieldTestCase_1.default)(new EntityFields_1.StringField({ columnName: 'wat' }), ['hello', ''], [1, true, {}, [[]]]);
|
|
42
|
+
(0, describeFieldTestCase_1.default)(new EntityFields_1.UUIDField({ columnName: 'wat' }), [(0, uuid_1.v1)(), (0, uuid_1.v3)('wat', uuid_1.v3.DNS), (0, uuid_1.v4)(), (0, uuid_1.v5)('wat', uuid_1.v5.DNS)], [(0, uuid_1.v4)().replace('-', ''), '', 'hello']);
|
|
43
|
+
(0, describeFieldTestCase_1.default)(new EntityFields_1.DateField({ columnName: 'wat' }), [new Date()], [Date.now()]);
|
|
44
|
+
(0, describeFieldTestCase_1.default)(new EntityFields_1.BooleanField({ columnName: 'wat' }), [true, false], [0, 1, '']);
|
|
45
|
+
(0, describeFieldTestCase_1.default)(new EntityFields_1.IntField({ columnName: 'wat' }), [1], ['1', 0.5, true]);
|
|
46
|
+
(0, describeFieldTestCase_1.default)(new EntityFields_1.FloatField({ columnName: 'wat' }), [1, 0.5, -0.5], ['1']);
|
|
47
|
+
(0, describeFieldTestCase_1.default)(new EntityFields_1.StringArrayField({ columnName: 'wat' }), [[['what']], [[]]], // jest test cases need extra wrapping array
|
|
56
48
|
['hello']);
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
49
|
+
(0, describeFieldTestCase_1.default)(new EntityFields_1.JSONObjectField({ columnName: 'wat' }), [{}], [true, 'hello']);
|
|
50
|
+
(0, describeFieldTestCase_1.default)(new EntityFields_1.EnumField({ columnName: 'wat' }), ['hello', 1], [true]);
|
|
51
|
+
(0, describeFieldTestCase_1.default)(new EntityFields_1.JSONArrayField({ columnName: 'wat' }), [[[1, 2]], [['hello']]], // jest test cases need extra wrapping array
|
|
60
52
|
[1, 'hello']);
|
|
61
|
-
|
|
53
|
+
(0, describeFieldTestCase_1.default)(new EntityFields_1.MaybeJSONArrayField({ columnName: 'wat' }), [1, 'hello', [['hello']]], // jest test cases need extra wrapping array
|
|
62
54
|
[]);
|
|
63
55
|
//# sourceMappingURL=EntityFields-test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityFields-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityFields-test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntityFields-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityFields-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import Entity from '../Entity';
|
|
2
|
+
import { EntityCompanionDefinition } from '../EntityCompanionProvider';
|
|
3
|
+
import EntityConfiguration from '../EntityConfiguration';
|
|
4
|
+
import EntityPrivacyPolicy from '../EntityPrivacyPolicy';
|
|
5
|
+
import ViewerContext from '../ViewerContext';
|
|
6
|
+
import AlwaysAllowPrivacyPolicyRule from '../rules/AlwaysAllowPrivacyPolicyRule';
|
|
7
|
+
export declare type TestFields = {
|
|
8
|
+
id: string;
|
|
9
|
+
};
|
|
10
|
+
export declare type TestFieldSelection = keyof TestFields;
|
|
11
|
+
export declare const testEntityConfiguration: EntityConfiguration<TestFields>;
|
|
12
|
+
export declare class TestEntityPrivacyPolicy extends EntityPrivacyPolicy<TestFields, string, ViewerContext, TestEntity, TestFieldSelection> {
|
|
13
|
+
protected readonly readRules: AlwaysAllowPrivacyPolicyRule<TestFields, string, ViewerContext, TestEntity, "id">[];
|
|
14
|
+
protected readonly createRules: AlwaysAllowPrivacyPolicyRule<TestFields, string, ViewerContext, TestEntity, "id">[];
|
|
15
|
+
protected readonly updateRules: AlwaysAllowPrivacyPolicyRule<TestFields, string, ViewerContext, TestEntity, "id">[];
|
|
16
|
+
protected readonly deleteRules: AlwaysAllowPrivacyPolicyRule<TestFields, string, ViewerContext, TestEntity, "id">[];
|
|
17
|
+
}
|
|
18
|
+
export default class TestEntity extends Entity<TestFields, string, ViewerContext, TestFieldSelection> {
|
|
19
|
+
constructor(viewerContext: ViewerContext, rawFields: Readonly<TestFields>);
|
|
20
|
+
static getCompanionDefinition(): EntityCompanionDefinition<TestFields, string, ViewerContext, TestEntity, TestEntityPrivacyPolicy, TestFieldSelection>;
|
|
21
|
+
}
|
|
22
|
+
export declare const testEntityCompanion: EntityCompanionDefinition<TestFields, string, ViewerContext, TestEntity, TestEntityPrivacyPolicy, "id">;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.testEntityCompanion = exports.TestEntityPrivacyPolicy = exports.testEntityConfiguration = void 0;
|
|
7
|
+
const ts_mockito_1 = require("ts-mockito");
|
|
8
|
+
const Entity_1 = __importDefault(require("../Entity"));
|
|
9
|
+
const EntityCompanionProvider_1 = require("../EntityCompanionProvider");
|
|
10
|
+
const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"));
|
|
11
|
+
const EntityFields_1 = require("../EntityFields");
|
|
12
|
+
const EntityLoader_1 = __importDefault(require("../EntityLoader"));
|
|
13
|
+
const EntityPrivacyPolicy_1 = __importDefault(require("../EntityPrivacyPolicy"));
|
|
14
|
+
const ViewerContext_1 = __importDefault(require("../ViewerContext"));
|
|
15
|
+
const EntityDataManager_1 = __importDefault(require("../internal/EntityDataManager"));
|
|
16
|
+
const ReadThroughEntityCache_1 = __importDefault(require("../internal/ReadThroughEntityCache"));
|
|
17
|
+
const AlwaysAllowPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysAllowPrivacyPolicyRule"));
|
|
18
|
+
const StubCacheAdapter_1 = require("../utils/testing/StubCacheAdapter");
|
|
19
|
+
const StubDatabaseAdapter_1 = __importDefault(require("../utils/testing/StubDatabaseAdapter"));
|
|
20
|
+
const StubQueryContextProvider_1 = __importDefault(require("../utils/testing/StubQueryContextProvider"));
|
|
21
|
+
exports.testEntityConfiguration = new EntityConfiguration_1.default({
|
|
22
|
+
idField: 'id',
|
|
23
|
+
tableName: 'test_entity_should_not_write_to_db',
|
|
24
|
+
schema: {
|
|
25
|
+
id: new EntityFields_1.StringField({
|
|
26
|
+
columnName: 'id',
|
|
27
|
+
}),
|
|
28
|
+
},
|
|
29
|
+
databaseAdapterFlavor: 'postgres',
|
|
30
|
+
cacheAdapterFlavor: 'redis',
|
|
31
|
+
});
|
|
32
|
+
class TestEntityPrivacyPolicy extends EntityPrivacyPolicy_1.default {
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
this.readRules = [
|
|
36
|
+
new AlwaysAllowPrivacyPolicyRule_1.default(),
|
|
37
|
+
];
|
|
38
|
+
this.createRules = [
|
|
39
|
+
new AlwaysAllowPrivacyPolicyRule_1.default(),
|
|
40
|
+
];
|
|
41
|
+
this.updateRules = [
|
|
42
|
+
new AlwaysAllowPrivacyPolicyRule_1.default(),
|
|
43
|
+
];
|
|
44
|
+
this.deleteRules = [
|
|
45
|
+
new AlwaysAllowPrivacyPolicyRule_1.default(),
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.TestEntityPrivacyPolicy = TestEntityPrivacyPolicy;
|
|
50
|
+
const ID_SENTINEL_THROW_LITERAL = 'throw_literal';
|
|
51
|
+
const ID_SENTINEL_THROW_ERROR = 'throw_error';
|
|
52
|
+
class TestEntity extends Entity_1.default {
|
|
53
|
+
constructor(viewerContext, rawFields) {
|
|
54
|
+
if (rawFields.id === ID_SENTINEL_THROW_LITERAL) {
|
|
55
|
+
// eslint-disable-next-line no-throw-literal,@typescript-eslint/no-throw-literal
|
|
56
|
+
throw 'hello';
|
|
57
|
+
}
|
|
58
|
+
else if (rawFields.id === ID_SENTINEL_THROW_ERROR) {
|
|
59
|
+
throw new Error('world');
|
|
60
|
+
}
|
|
61
|
+
super(viewerContext, rawFields);
|
|
62
|
+
}
|
|
63
|
+
static getCompanionDefinition() {
|
|
64
|
+
return exports.testEntityCompanion;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.default = TestEntity;
|
|
68
|
+
exports.testEntityCompanion = new EntityCompanionProvider_1.EntityCompanionDefinition({
|
|
69
|
+
entityClass: TestEntity,
|
|
70
|
+
entityConfiguration: exports.testEntityConfiguration,
|
|
71
|
+
privacyPolicyClass: TestEntityPrivacyPolicy,
|
|
72
|
+
});
|
|
73
|
+
describe(EntityLoader_1.default, () => {
|
|
74
|
+
it('handles thrown errors and literals from constructor', async () => {
|
|
75
|
+
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
76
|
+
const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
77
|
+
const queryContext = StubQueryContextProvider_1.default.getQueryContext();
|
|
78
|
+
const databaseAdapter = new StubDatabaseAdapter_1.default(exports.testEntityConfiguration, StubDatabaseAdapter_1.default.convertFieldObjectsToDataStore(exports.testEntityConfiguration, new Map([
|
|
79
|
+
[
|
|
80
|
+
exports.testEntityConfiguration.tableName,
|
|
81
|
+
[
|
|
82
|
+
{
|
|
83
|
+
id: ID_SENTINEL_THROW_LITERAL,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
id: ID_SENTINEL_THROW_ERROR,
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
],
|
|
90
|
+
])));
|
|
91
|
+
const privacyPolicy = new TestEntityPrivacyPolicy();
|
|
92
|
+
const cacheAdapterProvider = new StubCacheAdapter_1.NoCacheStubCacheAdapterProvider();
|
|
93
|
+
const cacheAdapter = cacheAdapterProvider.getCacheAdapter(exports.testEntityConfiguration);
|
|
94
|
+
const entityCache = new ReadThroughEntityCache_1.default(exports.testEntityConfiguration, cacheAdapter);
|
|
95
|
+
const dataManager = new EntityDataManager_1.default(databaseAdapter, entityCache, StubQueryContextProvider_1.default, metricsAdapter, TestEntity.name);
|
|
96
|
+
const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, exports.testEntityConfiguration, TestEntity, privacyPolicy, dataManager, metricsAdapter);
|
|
97
|
+
let capturedThrownThing1;
|
|
98
|
+
try {
|
|
99
|
+
await entityLoader.loadByIDAsync(ID_SENTINEL_THROW_LITERAL);
|
|
100
|
+
}
|
|
101
|
+
catch (e) {
|
|
102
|
+
capturedThrownThing1 = e;
|
|
103
|
+
}
|
|
104
|
+
expect(capturedThrownThing1).not.toBeInstanceOf(Error);
|
|
105
|
+
expect(capturedThrownThing1).toEqual('hello');
|
|
106
|
+
const result = await entityLoader.loadByIDAsync(ID_SENTINEL_THROW_ERROR);
|
|
107
|
+
expect(result.ok).toBe(false);
|
|
108
|
+
expect(result.enforceError().message).toEqual('world');
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=EntityLoader-constructor-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityLoader-constructor-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityLoader-constructor-test.ts"],"names":[],"mappings":"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"}
|