@expo/entity 0.31.0 → 0.32.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/ComposedEntityCacheAdapter.d.ts +4 -6
- package/build/ComposedEntityCacheAdapter.js +3 -6
- package/build/ComposedEntityCacheAdapter.js.map +1 -1
- package/build/EnforcingEntityLoader.d.ts +6 -1
- package/build/EnforcingEntityLoader.js +8 -0
- package/build/EnforcingEntityLoader.js.map +1 -1
- package/build/Entity.d.ts +20 -10
- package/build/Entity.js +2 -2
- package/build/Entity.js.map +1 -1
- package/build/EntityAssociationLoader.d.ts +9 -9
- package/build/EntityCompanion.d.ts +6 -5
- package/build/EntityCompanion.js +6 -4
- package/build/EntityCompanion.js.map +1 -1
- package/build/EntityCompanionProvider.d.ts +28 -36
- package/build/EntityCompanionProvider.js +4 -19
- package/build/EntityCompanionProvider.js.map +1 -1
- package/build/EntityConfiguration.d.ts +3 -3
- package/build/EntityConfiguration.js +2 -2
- package/build/EntityConfiguration.js.map +1 -1
- package/build/EntityDatabaseAdapter.d.ts +1 -1
- package/build/EntityDatabaseAdapter.js +1 -1
- package/build/EntityDatabaseAdapter.js.map +1 -1
- package/build/EntityFieldDefinition.d.ts +2 -2
- package/build/EntityFieldDefinition.js +1 -1
- package/build/EntityFieldDefinition.js.map +1 -1
- package/build/EntityLoader.d.ts +19 -2
- package/build/EntityLoader.js +41 -5
- package/build/EntityLoader.js.map +1 -1
- package/build/EntityLoaderFactory.d.ts +4 -7
- package/build/EntityLoaderFactory.js +3 -5
- package/build/EntityLoaderFactory.js.map +1 -1
- package/build/EntityMutationInfo.d.ts +3 -3
- package/build/EntityMutationInfo.js +1 -1
- package/build/EntityMutationInfo.js.map +1 -1
- package/build/EntityMutationTriggerConfiguration.d.ts +3 -3
- package/build/EntityMutationValidator.d.ts +1 -1
- package/build/EntityMutator.d.ts +9 -7
- package/build/EntityMutator.js +21 -21
- package/build/EntityMutator.js.map +1 -1
- package/build/EntityMutatorFactory.d.ts +4 -2
- package/build/EntityMutatorFactory.js +5 -4
- package/build/EntityMutatorFactory.js.map +1 -1
- package/build/EntityPrivacyPolicy.d.ts +3 -3
- package/build/EntityPrivacyPolicy.js +2 -2
- package/build/EntityPrivacyPolicy.js.map +1 -1
- package/build/EntityQueryContext.d.ts +13 -5
- package/build/EntityQueryContext.js +11 -4
- package/build/EntityQueryContext.js.map +1 -1
- package/build/EntityQueryContextProvider.d.ts +3 -3
- package/build/EntityQueryContextProvider.js +2 -2
- package/build/EntityQueryContextProvider.js.map +1 -1
- package/build/EntitySecondaryCacheLoader.d.ts +1 -1
- package/build/EntitySecondaryCacheLoader.js +1 -1
- package/build/EntitySecondaryCacheLoader.js.map +1 -1
- package/build/GenericEntityCacheAdapter.d.ts +14 -0
- package/build/GenericEntityCacheAdapter.js +38 -0
- package/build/GenericEntityCacheAdapter.js.map +1 -0
- package/build/{EntityCacheAdapter.d.ts → IEntityCacheAdapter.d.ts} +5 -8
- package/build/IEntityCacheAdapter.js +3 -0
- package/build/IEntityCacheAdapter.js.map +1 -0
- package/build/IEntityCacheAdapterProvider.d.ts +2 -2
- package/build/IEntityGenericCacher.d.ts +31 -2
- package/build/ReadonlyEntity.d.ts +19 -7
- package/build/ReadonlyEntity.js +15 -13
- package/build/ReadonlyEntity.js.map +1 -1
- package/build/ViewerContext.d.ts +3 -3
- package/build/ViewerContext.js +3 -3
- package/build/ViewerContext.js.map +1 -1
- package/build/ViewerScopedEntityCompanion.d.ts +2 -2
- package/build/ViewerScopedEntityCompanion.js.map +1 -1
- package/build/ViewerScopedEntityCompanionProvider.d.ts +3 -3
- package/build/ViewerScopedEntityCompanionProvider.js +3 -3
- package/build/ViewerScopedEntityCompanionProvider.js.map +1 -1
- package/build/ViewerScopedEntityLoaderFactory.d.ts +1 -1
- package/build/ViewerScopedEntityMutatorFactory.d.ts +1 -1
- package/build/__tests__/ComposedCacheAdapter-test.js +4 -8
- package/build/__tests__/ComposedCacheAdapter-test.js.map +1 -1
- package/build/__tests__/EnforcingEntityLoader-test.js +26 -0
- package/build/__tests__/EnforcingEntityLoader-test.js.map +1 -1
- package/build/__tests__/Entity-test.js +42 -20
- package/build/__tests__/Entity-test.js.map +1 -1
- package/build/__tests__/EntityAssociationLoader-test.js +6 -6
- package/build/__tests__/EntityAssociationLoader-test.js.map +1 -1
- package/build/__tests__/EntityCommonUseCases-test.js +20 -22
- package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
- package/build/__tests__/EntityCompanion-test.js +2 -1
- package/build/__tests__/EntityCompanion-test.js.map +1 -1
- package/build/__tests__/EntityCompanionProvider-test.js +15 -40
- package/build/__tests__/EntityCompanionProvider-test.js.map +1 -1
- package/build/__tests__/EntityEdges-test.js +48 -54
- package/build/__tests__/EntityEdges-test.js.map +1 -1
- package/build/__tests__/EntityLoader-constructor-test.d.ts +9 -5
- package/build/__tests__/EntityLoader-constructor-test.js +13 -14
- package/build/__tests__/EntityLoader-constructor-test.js.map +1 -1
- package/build/__tests__/EntityLoader-test.js +80 -10
- package/build/__tests__/EntityLoader-test.js.map +1 -1
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +20 -22
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -1
- package/build/__tests__/EntityMutator-test.js +67 -14
- package/build/__tests__/EntityMutator-test.js.map +1 -1
- package/build/__tests__/EntityPrivacyPolicy-test.js +82 -29
- package/build/__tests__/EntityPrivacyPolicy-test.js.map +1 -1
- package/build/__tests__/EntityQueryContext-test.js +12 -0
- package/build/__tests__/EntityQueryContext-test.js.map +1 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.js +1 -2
- package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
- package/build/__tests__/EntitySelfReferentialEdges-test.js +16 -20
- package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
- package/build/__tests__/GenericEntityCacheAdapter-test.d.ts +1 -0
- package/build/__tests__/GenericEntityCacheAdapter-test.js +80 -0
- package/build/__tests__/GenericEntityCacheAdapter-test.js.map +1 -0
- package/build/__tests__/ReadonlyEntity-test.js +79 -13
- package/build/__tests__/ReadonlyEntity-test.js.map +1 -1
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js +2 -25
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +20 -23
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +17 -20
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -1
- package/build/errors/EntityError.js +2 -2
- package/build/errors/EntityError.js.map +1 -1
- package/build/errors/EntityInvalidFieldValueError.d.ts +2 -2
- package/build/errors/EntityInvalidFieldValueError.js.map +1 -1
- package/build/errors/EntityNotAuthorizedError.d.ts +2 -2
- package/build/errors/EntityNotAuthorizedError.js +1 -1
- package/build/errors/EntityNotAuthorizedError.js.map +1 -1
- package/build/errors/EntityNotFoundError.d.ts +2 -2
- package/build/errors/EntityNotFoundError.js.map +1 -1
- package/build/index.d.ts +2 -1
- package/build/index.js +3 -3
- package/build/index.js.map +1 -1
- package/build/internal/EntityDataManager.d.ts +1 -1
- package/build/internal/EntityDataManager.js +1 -1
- package/build/internal/EntityDataManager.js.map +1 -1
- package/build/internal/EntityFieldTransformationUtils.d.ts +1 -1
- package/build/internal/EntityFieldTransformationUtils.js +4 -4
- package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
- package/build/internal/EntityTableDataCoordinator.d.ts +3 -3
- package/build/internal/EntityTableDataCoordinator.js.map +1 -1
- package/build/internal/ReadThroughEntityCache.d.ts +3 -3
- package/build/internal/ReadThroughEntityCache.js +1 -1
- package/build/internal/ReadThroughEntityCache.js.map +1 -1
- package/build/internal/__tests__/EntityDataManager-test.js +1 -1
- package/build/internal/__tests__/EntityDataManager-test.js.map +1 -1
- package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +1 -1
- package/build/metrics/EntityMetricsUtils.js.map +1 -1
- package/build/metrics/IEntityMetricsAdapter.js +4 -4
- package/build/metrics/IEntityMetricsAdapter.js.map +1 -1
- package/build/rules/AlwaysAllowPrivacyPolicyRule.d.ts +2 -2
- package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -1
- package/build/rules/AlwaysDenyPrivacyPolicyRule.d.ts +2 -2
- package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -1
- package/build/rules/AlwaysSkipPrivacyPolicyRule.d.ts +2 -2
- package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -1
- package/build/rules/PrivacyPolicyRule.d.ts +1 -1
- package/build/rules/PrivacyPolicyRule.js +1 -1
- package/build/rules/PrivacyPolicyRule.js.map +1 -1
- package/build/testfixtures/DateIDTestEntity.d.ts +2 -3
- package/build/testfixtures/DateIDTestEntity.js +7 -9
- package/build/testfixtures/DateIDTestEntity.js.map +1 -1
- package/build/testfixtures/SimpleTestEntity.d.ts +3 -4
- package/build/testfixtures/SimpleTestEntity.js +7 -9
- package/build/testfixtures/SimpleTestEntity.js.map +1 -1
- package/build/testfixtures/TestEntity.d.ts +2 -3
- package/build/testfixtures/TestEntity.js +14 -10
- package/build/testfixtures/TestEntity.js.map +1 -1
- package/build/testfixtures/TestEntity2.d.ts +2 -3
- package/build/testfixtures/TestEntity2.js +7 -9
- package/build/testfixtures/TestEntity2.js.map +1 -1
- package/build/testfixtures/TestEntityNumberKey.d.ts +2 -3
- package/build/testfixtures/TestEntityNumberKey.js +7 -9
- package/build/testfixtures/TestEntityNumberKey.js.map +1 -1
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +4 -4
- package/build/utils/testing/StubCacheAdapter.d.ts +6 -5
- package/build/utils/testing/StubCacheAdapter.js +5 -6
- package/build/utils/testing/StubCacheAdapter.js.map +1 -1
- package/build/utils/testing/StubDatabaseAdapterProvider.js.map +1 -1
- package/build/utils/testing/StubQueryContextProvider.d.ts +2 -1
- package/build/utils/testing/StubQueryContextProvider.js +1 -1
- package/build/utils/testing/StubQueryContextProvider.js.map +1 -1
- package/build/utils/testing/createUnitTestEntityCompanionProvider.js +2 -2
- package/build/utils/testing/createUnitTestEntityCompanionProvider.js.map +1 -1
- package/package.json +3 -3
- package/src/ComposedEntityCacheAdapter.ts +4 -11
- package/src/EnforcingEntityLoader.ts +17 -1
- package/src/Entity.ts +23 -12
- package/src/EntityAssociationLoader.ts +12 -12
- package/src/EntityCompanion.ts +13 -32
- package/src/EntityCompanionProvider.ts +41 -80
- package/src/EntityConfiguration.ts +4 -5
- package/src/EntityFieldDefinition.ts +2 -2
- package/src/EntityLoader.ts +45 -2
- package/src/EntityLoaderFactory.ts +7 -9
- package/src/EntityMutationInfo.ts +2 -2
- package/src/EntityMutationTriggerConfiguration.ts +3 -3
- package/src/EntityMutationValidator.ts +1 -1
- package/src/EntityMutator.ts +38 -31
- package/src/EntityMutatorFactory.ts +6 -1
- package/src/EntityPrivacyPolicy.ts +2 -2
- package/src/EntityQueryContext.ts +24 -4
- package/src/EntityQueryContextProvider.ts +7 -5
- package/src/EntitySecondaryCacheLoader.ts +1 -1
- package/src/GenericEntityCacheAdapter.ts +65 -0
- package/src/{EntityCacheAdapter.ts → IEntityCacheAdapter.ts} +5 -8
- package/src/IEntityCacheAdapterProvider.ts +2 -2
- package/src/IEntityGenericCacher.ts +32 -2
- package/src/ReadonlyEntity.ts +32 -32
- package/src/ViewerContext.ts +10 -8
- package/src/ViewerScopedEntityCompanion.ts +2 -2
- package/src/ViewerScopedEntityCompanionProvider.ts +4 -12
- package/src/ViewerScopedEntityLoaderFactory.ts +1 -1
- package/src/ViewerScopedEntityMutatorFactory.ts +1 -1
- package/src/__tests__/ComposedCacheAdapter-test.ts +6 -11
- package/src/__tests__/EnforcingEntityLoader-test.ts +41 -0
- package/src/__tests__/Entity-test.ts +42 -21
- package/src/__tests__/EntityCommonUseCases-test.ts +20 -22
- package/src/__tests__/EntityCompanion-test.ts +6 -9
- package/src/__tests__/EntityCompanionProvider-test.ts +14 -26
- package/src/__tests__/EntityEdges-test.ts +43 -49
- package/src/__tests__/EntityLoader-constructor-test.ts +16 -12
- package/src/__tests__/EntityLoader-test.ts +105 -0
- package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +20 -22
- package/src/__tests__/EntityMutator-test.ts +119 -19
- package/src/__tests__/EntityPrivacyPolicy-test.ts +82 -29
- package/src/__tests__/EntityQueryContext-test.ts +23 -1
- package/src/__tests__/EntitySelfReferentialEdges-test.ts +8 -10
- package/src/__tests__/GenericEntityCacheAdapter-test.ts +102 -0
- package/src/__tests__/ReadonlyEntity-test.ts +79 -13
- package/src/__tests__/ViewerScopedEntityCompanionProvider-test.ts +2 -5
- package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +30 -24
- package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +14 -18
- package/src/errors/EntityInvalidFieldValueError.ts +2 -2
- package/src/errors/EntityNotAuthorizedError.ts +2 -2
- package/src/errors/EntityNotFoundError.ts +2 -2
- package/src/index.ts +2 -1
- package/src/internal/EntityDataManager.ts +1 -1
- package/src/internal/EntityTableDataCoordinator.ts +4 -4
- package/src/internal/ReadThroughEntityCache.ts +2 -2
- package/src/internal/__tests__/EntityDataManager-test.ts +2 -1
- package/src/internal/__tests__/ReadThroughEntityCache-test.ts +8 -8
- package/src/metrics/EntityMetricsUtils.ts +1 -1
- package/src/rules/AlwaysAllowPrivacyPolicyRule.ts +2 -2
- package/src/rules/AlwaysDenyPrivacyPolicyRule.ts +2 -2
- package/src/rules/AlwaysSkipPrivacyPolicyRule.ts +2 -2
- package/src/rules/PrivacyPolicyRule.ts +1 -1
- package/src/testfixtures/DateIDTestEntity.ts +6 -8
- package/src/testfixtures/SimpleTestEntity.ts +6 -8
- package/src/testfixtures/TestEntity.ts +19 -15
- package/src/testfixtures/TestEntity2.ts +6 -8
- package/src/testfixtures/TestEntityNumberKey.ts +6 -8
- package/src/utils/testing/PrivacyPolicyRuleTestUtils.ts +4 -4
- package/src/utils/testing/StubCacheAdapter.ts +9 -11
- package/src/utils/testing/StubDatabaseAdapterProvider.ts +1 -1
- package/src/utils/testing/StubQueryContextProvider.ts +4 -3
- package/src/utils/testing/createUnitTestEntityCompanionProvider.ts +3 -3
- package/build/EntityCacheAdapter.js +0 -13
- package/build/EntityCacheAdapter.js.map +0 -1
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const Entity_1 = __importDefault(require("../Entity"));
|
|
7
|
-
const EntityCompanionProvider_1 = require("../EntityCompanionProvider");
|
|
8
7
|
const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"));
|
|
9
8
|
const EntityFields_1 = require("../EntityFields");
|
|
10
9
|
const EntityMutator_1 = require("../EntityMutator");
|
|
@@ -29,7 +28,12 @@ describe(Entity_1.default, () => {
|
|
|
29
28
|
const data = {
|
|
30
29
|
id: 'what',
|
|
31
30
|
};
|
|
32
|
-
const testEntity = new SimpleTestEntity_1.default(
|
|
31
|
+
const testEntity = new SimpleTestEntity_1.default({
|
|
32
|
+
viewerContext,
|
|
33
|
+
id: 'what',
|
|
34
|
+
databaseFields: data,
|
|
35
|
+
selectedFields: data,
|
|
36
|
+
});
|
|
33
37
|
expect(SimpleTestEntity_1.default.updater(testEntity)).toBeInstanceOf(EntityMutator_1.UpdateMutator);
|
|
34
38
|
});
|
|
35
39
|
});
|
|
@@ -40,7 +44,12 @@ describe(Entity_1.default, () => {
|
|
|
40
44
|
const data = {
|
|
41
45
|
id: 'what',
|
|
42
46
|
};
|
|
43
|
-
const testEntity = new SimpleTestDenyDeleteEntity(
|
|
47
|
+
const testEntity = new SimpleTestDenyDeleteEntity({
|
|
48
|
+
viewerContext,
|
|
49
|
+
id: 'what',
|
|
50
|
+
databaseFields: data,
|
|
51
|
+
selectedFields: data,
|
|
52
|
+
});
|
|
44
53
|
const canViewerUpdate = await SimpleTestDenyDeleteEntity.canViewerUpdateAsync(testEntity);
|
|
45
54
|
expect(canViewerUpdate).toBe(true);
|
|
46
55
|
});
|
|
@@ -50,7 +59,12 @@ describe(Entity_1.default, () => {
|
|
|
50
59
|
const data = {
|
|
51
60
|
id: 'what',
|
|
52
61
|
};
|
|
53
|
-
const testEntity = new SimpleTestDenyUpdateEntity(
|
|
62
|
+
const testEntity = new SimpleTestDenyUpdateEntity({
|
|
63
|
+
viewerContext,
|
|
64
|
+
id: 'what',
|
|
65
|
+
databaseFields: data,
|
|
66
|
+
selectedFields: data,
|
|
67
|
+
});
|
|
54
68
|
const canViewerUpdate = await SimpleTestDenyUpdateEntity.canViewerUpdateAsync(testEntity);
|
|
55
69
|
expect(canViewerUpdate).toBe(false);
|
|
56
70
|
});
|
|
@@ -62,7 +76,12 @@ describe(Entity_1.default, () => {
|
|
|
62
76
|
const data = {
|
|
63
77
|
id: 'what',
|
|
64
78
|
};
|
|
65
|
-
const testEntity = new SimpleTestDenyUpdateEntity(
|
|
79
|
+
const testEntity = new SimpleTestDenyUpdateEntity({
|
|
80
|
+
viewerContext,
|
|
81
|
+
id: 'what',
|
|
82
|
+
databaseFields: data,
|
|
83
|
+
selectedFields: data,
|
|
84
|
+
});
|
|
66
85
|
const canViewerDelete = await SimpleTestDenyUpdateEntity.canViewerDeleteAsync(testEntity);
|
|
67
86
|
expect(canViewerDelete).toBe(true);
|
|
68
87
|
});
|
|
@@ -72,7 +91,12 @@ describe(Entity_1.default, () => {
|
|
|
72
91
|
const data = {
|
|
73
92
|
id: 'what',
|
|
74
93
|
};
|
|
75
|
-
const testEntity = new SimpleTestDenyDeleteEntity(
|
|
94
|
+
const testEntity = new SimpleTestDenyDeleteEntity({
|
|
95
|
+
viewerContext,
|
|
96
|
+
id: 'what',
|
|
97
|
+
databaseFields: data,
|
|
98
|
+
selectedFields: data,
|
|
99
|
+
});
|
|
76
100
|
const canViewerDelete = await SimpleTestDenyDeleteEntity.canViewerDeleteAsync(testEntity);
|
|
77
101
|
expect(canViewerDelete).toBe(false);
|
|
78
102
|
});
|
|
@@ -124,23 +148,21 @@ class SimpleTestDenyDeleteEntityPrivacyPolicy extends EntityPrivacyPolicy_1.defa
|
|
|
124
148
|
}
|
|
125
149
|
}
|
|
126
150
|
class SimpleTestDenyUpdateEntity extends Entity_1.default {
|
|
127
|
-
static
|
|
128
|
-
return
|
|
151
|
+
static defineCompanionDefinition() {
|
|
152
|
+
return {
|
|
153
|
+
entityClass: SimpleTestDenyUpdateEntity,
|
|
154
|
+
entityConfiguration: testEntityConfiguration,
|
|
155
|
+
privacyPolicyClass: SimpleTestDenyUpdateEntityPrivacyPolicy,
|
|
156
|
+
};
|
|
129
157
|
}
|
|
130
158
|
}
|
|
131
|
-
const simpleTestDenyUpdateEntityCompanion = new EntityCompanionProvider_1.EntityCompanionDefinition({
|
|
132
|
-
entityClass: SimpleTestDenyUpdateEntity,
|
|
133
|
-
entityConfiguration: testEntityConfiguration,
|
|
134
|
-
privacyPolicyClass: SimpleTestDenyUpdateEntityPrivacyPolicy,
|
|
135
|
-
});
|
|
136
159
|
class SimpleTestDenyDeleteEntity extends Entity_1.default {
|
|
137
|
-
static
|
|
138
|
-
return
|
|
160
|
+
static defineCompanionDefinition() {
|
|
161
|
+
return {
|
|
162
|
+
entityClass: SimpleTestDenyDeleteEntity,
|
|
163
|
+
entityConfiguration: testEntityConfiguration,
|
|
164
|
+
privacyPolicyClass: SimpleTestDenyDeleteEntityPrivacyPolicy,
|
|
165
|
+
};
|
|
139
166
|
}
|
|
140
167
|
}
|
|
141
|
-
const simpleTestDenyDeleteEntityCompanion = new EntityCompanionProvider_1.EntityCompanionDefinition({
|
|
142
|
-
entityClass: SimpleTestDenyDeleteEntity,
|
|
143
|
-
entityConfiguration: testEntityConfiguration,
|
|
144
|
-
privacyPolicyClass: SimpleTestDenyDeleteEntityPrivacyPolicy,
|
|
145
|
-
});
|
|
146
168
|
//# sourceMappingURL=Entity-test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity-test.js","sourceRoot":"","sources":["../../src/__tests__/Entity-test.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+B;
|
|
1
|
+
{"version":3,"file":"Entity-test.js","sourceRoot":"","sources":["../../src/__tests__/Entity-test.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+B;AAE/B,iFAAyD;AACzD,kDAA4C;AAC5C,oDAAgE;AAChE,iFAAyD;AACzD,qEAA6C;AAC7C,yGAAiF;AACjF,uGAA+E;AAC/E,wFAAgE;AAChE,kHAA+G;AAE/G,QAAQ,CAAC,gBAAM,EAAE,GAAG,EAAE;IACpB,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,CAAC,0BAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,6BAAa,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,MAAM;aACX,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,0BAAgB,CAAC;gBACtC,aAAa;gBACb,EAAE,EAAE,MAAM;gBACV,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,MAAM,CAAC,0BAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,6BAAa,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,MAAM;aACX,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,0BAA0B,CAAC;gBAChD,aAAa;gBACb,EAAE,EAAE,MAAM;gBACV,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,0BAA0B,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC1F,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,MAAM;aACX,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,0BAA0B,CAAC;gBAChD,aAAa;gBACb,EAAE,EAAE,MAAM;gBACV,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,0BAA0B,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC1F,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,MAAM;aACX,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,0BAA0B,CAAC;gBAChD,aAAa;gBACb,EAAE,EAAE,MAAM;gBACV,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,0BAA0B,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC1F,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,MAAM;aACX,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,0BAA0B,CAAC;gBAChD,aAAa;gBACb,EAAE,EAAE,MAAM;gBACV,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,0BAA0B,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC1F,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAMH,MAAM,uBAAuB,GAAG,IAAI,6BAAmB,CAAmB;IACxE,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE;QACN,EAAE,EAAE,IAAI,wBAAS,CAAC;YAChB,UAAU,EAAE,WAAW;SACxB,CAAC;KACH;IACD,qBAAqB,EAAE,UAAU;IACjC,kBAAkB,EAAE,OAAO;CAC5B,CAAC,CAAC;AAEH,MAAM,uCAAwC,SAAQ,6BAKrD;IALD;;QAM8B,cAAS,GAAG;YACtC,IAAI,sCAA4B,EAK7B;SACJ,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,sCAA4B,EAK7B;SACJ,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,qCAA2B,EAK5B;SACJ,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,sCAA4B,EAK7B;SACJ,CAAC;IACJ,CAAC;CAAA;AAED,MAAM,uCAAwC,SAAQ,6BAKrD;IALD;;QAM8B,cAAS,GAAG;YACtC,IAAI,sCAA4B,EAK7B;SACJ,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,sCAA4B,EAK7B;SACJ,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,sCAA4B,EAK7B;SACJ,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,qCAA2B,EAK5B;SACJ,CAAC;IACJ,CAAC;CAAA;AAED,MAAM,0BAA2B,SAAQ,gBAA+C;IACtF,MAAM,CAAC,yBAAyB;QAO9B,OAAO;YACL,WAAW,EAAE,0BAA0B;YACvC,mBAAmB,EAAE,uBAAuB;YAC5C,kBAAkB,EAAE,uCAAuC;SAC5D,CAAC;IACJ,CAAC;CACF;AAED,MAAM,0BAA2B,SAAQ,gBAA+C;IACtF,MAAM,CAAC,yBAAyB;QAO9B,OAAO;YACL,WAAW,EAAE,0BAA0B;YACvC,mBAAmB,EAAE,uBAAuB;YAC5C,kBAAkB,EAAE,uCAAuC;SAC5D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -50,7 +50,7 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
50
50
|
const loadedOtherResult = await testEntity
|
|
51
51
|
.associationLoader()
|
|
52
52
|
.loadAssociatedEntityByFieldEqualingAsync('stringField', TestEntity_1.default, 'customIdField');
|
|
53
|
-
expect(loadedOtherResult
|
|
53
|
+
expect(loadedOtherResult?.enforceValue().getID()).toEqual(testOtherEntity.getID());
|
|
54
54
|
});
|
|
55
55
|
it('returns null when loading associated entities by field equaling a non existent association', async () => {
|
|
56
56
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
@@ -111,7 +111,7 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
111
111
|
fieldIdentifyingAssociatedEntity: 'foreignKey',
|
|
112
112
|
},
|
|
113
113
|
]);
|
|
114
|
-
expect(loaded2Result
|
|
114
|
+
expect(loaded2Result?.enforceValue().getID()).toEqual(testEntity2.getID());
|
|
115
115
|
const loaded3Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
116
116
|
{
|
|
117
117
|
associatedEntityClass: TestEntity_1.default,
|
|
@@ -122,7 +122,7 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
122
122
|
fieldIdentifyingAssociatedEntity: 'testIndexedField',
|
|
123
123
|
},
|
|
124
124
|
]);
|
|
125
|
-
expect(loaded3Result
|
|
125
|
+
expect(loaded3Result?.enforceValue().getID()).toEqual(testEntity3.getID());
|
|
126
126
|
const loaded4Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
|
|
127
127
|
{
|
|
128
128
|
associatedEntityClass: TestEntity_1.default,
|
|
@@ -137,7 +137,7 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
137
137
|
fieldIdentifyingAssociatedEntity: 'foreignKey',
|
|
138
138
|
},
|
|
139
139
|
]);
|
|
140
|
-
expect(loaded4Result
|
|
140
|
+
expect(loaded4Result?.enforceValue().getID()).toEqual(testEntity4.getID());
|
|
141
141
|
});
|
|
142
142
|
it('fails when chain loading associated entity fails', async () => {
|
|
143
143
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
@@ -149,7 +149,7 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
149
149
|
fieldIdentifyingAssociatedEntity: 'foreignKey',
|
|
150
150
|
},
|
|
151
151
|
]);
|
|
152
|
-
expect(loadResult
|
|
152
|
+
expect(loadResult?.ok).toBe(false);
|
|
153
153
|
});
|
|
154
154
|
it('supports chain loading by field equality', async () => {
|
|
155
155
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
@@ -164,7 +164,7 @@ describe(EntityAssociationLoader_1.default, () => {
|
|
|
164
164
|
associatedEntityLookupByField: 'stringField',
|
|
165
165
|
},
|
|
166
166
|
]);
|
|
167
|
-
expect(loaded2Result
|
|
167
|
+
expect(loaded2Result?.enforceValue().getID()).toEqual(testEntity2.getID());
|
|
168
168
|
});
|
|
169
169
|
it('returns null when chain loading by field equality returns null', async () => {
|
|
170
170
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityAssociationLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityAssociationLoader-test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"EntityAssociationLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityAssociationLoader-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
const results_1 = require("@expo/results");
|
|
30
30
|
const uuid_1 = require("uuid");
|
|
31
31
|
const Entity_1 = __importDefault(require("../Entity"));
|
|
32
|
-
const EntityCompanionProvider_1 = require("../EntityCompanionProvider");
|
|
33
32
|
const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"));
|
|
34
33
|
const EntityFields_1 = require("../EntityFields");
|
|
35
34
|
const EntityPrivacyPolicy_1 = __importDefault(require("../EntityPrivacyPolicy"));
|
|
@@ -50,8 +49,26 @@ class TestUserViewerContext extends ViewerContext_1.default {
|
|
|
50
49
|
}
|
|
51
50
|
}
|
|
52
51
|
class BlahEntity extends Entity_1.default {
|
|
53
|
-
static
|
|
54
|
-
return
|
|
52
|
+
static defineCompanionDefinition() {
|
|
53
|
+
return {
|
|
54
|
+
entityClass: BlahEntity,
|
|
55
|
+
entityConfiguration: new EntityConfiguration_1.default({
|
|
56
|
+
idField: 'id',
|
|
57
|
+
tableName: 'blah_table',
|
|
58
|
+
schema: {
|
|
59
|
+
id: new EntityFields_1.UUIDField({
|
|
60
|
+
columnName: 'id',
|
|
61
|
+
cache: true,
|
|
62
|
+
}),
|
|
63
|
+
ownerID: new EntityFields_1.UUIDField({
|
|
64
|
+
columnName: 'owner_id',
|
|
65
|
+
}),
|
|
66
|
+
},
|
|
67
|
+
databaseAdapterFlavor: 'postgres',
|
|
68
|
+
cacheAdapterFlavor: 'redis',
|
|
69
|
+
}),
|
|
70
|
+
privacyPolicyClass: BlahEntityPrivacyPolicy,
|
|
71
|
+
};
|
|
55
72
|
}
|
|
56
73
|
}
|
|
57
74
|
class DenyIfNotOwnerPrivacyPolicyRule extends PrivacyPolicyRule_1.default {
|
|
@@ -82,25 +99,6 @@ class BlahEntityPrivacyPolicy extends EntityPrivacyPolicy_1.default {
|
|
|
82
99
|
];
|
|
83
100
|
}
|
|
84
101
|
}
|
|
85
|
-
const blahCompanion = new EntityCompanionProvider_1.EntityCompanionDefinition({
|
|
86
|
-
entityClass: BlahEntity,
|
|
87
|
-
entityConfiguration: new EntityConfiguration_1.default({
|
|
88
|
-
idField: 'id',
|
|
89
|
-
tableName: 'blah_table',
|
|
90
|
-
schema: {
|
|
91
|
-
id: new EntityFields_1.UUIDField({
|
|
92
|
-
columnName: 'id',
|
|
93
|
-
cache: true,
|
|
94
|
-
}),
|
|
95
|
-
ownerID: new EntityFields_1.UUIDField({
|
|
96
|
-
columnName: 'owner_id',
|
|
97
|
-
}),
|
|
98
|
-
},
|
|
99
|
-
databaseAdapterFlavor: 'postgres',
|
|
100
|
-
cacheAdapterFlavor: 'redis',
|
|
101
|
-
}),
|
|
102
|
-
privacyPolicyClass: BlahEntityPrivacyPolicy,
|
|
103
|
-
});
|
|
104
102
|
it('runs through a common workflow', async () => {
|
|
105
103
|
// will be one entity companion provider for each request, so
|
|
106
104
|
// share amongst all VCs created in that request
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCommonUseCases-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCommonUseCases-test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAmD;AACnD,+BAAoC;AAEpC,uDAA+B;
|
|
1
|
+
{"version":3,"file":"EntityCommonUseCases-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCommonUseCases-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,9 +33,10 @@ const EntityMutatorFactory_1 = __importDefault(require("../EntityMutatorFactory"
|
|
|
33
33
|
const TestEntity_1 = __importStar(require("../testfixtures/TestEntity"));
|
|
34
34
|
describe(EntityCompanion_1.default, () => {
|
|
35
35
|
it('correctly instantiates mutator and loader factories', () => {
|
|
36
|
+
const entityCompanionProvider = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
|
|
36
37
|
const tableDataCoordinatorMock = (0, ts_mockito_1.mock)();
|
|
37
38
|
(0, ts_mockito_1.when)(tableDataCoordinatorMock.entityConfiguration).thenReturn(TestEntity_1.testEntityConfiguration);
|
|
38
|
-
const companion = new EntityCompanion_1.default(TestEntity_1.default, (0, ts_mockito_1.instance)(tableDataCoordinatorMock),
|
|
39
|
+
const companion = new EntityCompanion_1.default(entityCompanionProvider, TestEntity_1.default.defineCompanionDefinition(), (0, ts_mockito_1.instance)(tableDataCoordinatorMock), (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)()));
|
|
39
40
|
expect(companion.getLoaderFactory()).toBeInstanceOf(EntityLoaderFactory_1.default);
|
|
40
41
|
expect(companion.getMutatorFactory()).toBeInstanceOf(EntityMutatorFactory_1.default);
|
|
41
42
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCompanion-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCompanion-test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkD;AAElD,yEAAiD;
|
|
1
|
+
{"version":3,"file":"EntityCompanion-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCompanion-test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkD;AAElD,yEAAiD;AAEjD,iFAAyD;AACzD,mFAA2D;AAG3D,yEAA6F;AAE7F,QAAQ,CAAC,yBAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,uBAAuB,GAAG,IAAA,qBAAQ,EAAC,IAAA,iBAAI,GAA2B,CAAC,CAAC;QAE1E,MAAM,wBAAwB,GAAG,IAAA,iBAAI,GAA0C,CAAC;QAChF,IAAA,iBAAI,EAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,oCAAuB,CAAC,CAAC;QAEvF,MAAM,SAAS,GAAG,IAAI,yBAAe,CACnC,uBAAuB,EACvB,oBAAU,CAAC,yBAAyB,EAAE,EACtC,IAAA,qBAAQ,EAAC,wBAAwB,CAAC,EAClC,IAAA,qBAAQ,EAAC,IAAA,iBAAI,GAAyB,CAAC,CACxC,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,cAAc,CAAC,6BAAmB,CAAC,CAAC;QACzE,MAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,cAAc,CAAC,8BAAoB,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,33 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
4
|
};
|
|
28
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
6
|
const Entity_1 = __importDefault(require("../Entity"));
|
|
30
|
-
const EntityCompanionProvider_1 =
|
|
7
|
+
const EntityCompanionProvider_1 = __importDefault(require("../EntityCompanionProvider"));
|
|
31
8
|
const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"));
|
|
32
9
|
const EntityFields_1 = require("../EntityFields");
|
|
33
10
|
const EntityPrivacyPolicy_1 = __importDefault(require("../EntityPrivacyPolicy"));
|
|
@@ -44,34 +21,32 @@ const blahConfiguration = new EntityConfiguration_1.default({
|
|
|
44
21
|
cacheAdapterFlavor: 'redis',
|
|
45
22
|
});
|
|
46
23
|
class Blah1Entity extends Entity_1.default {
|
|
47
|
-
static
|
|
48
|
-
return
|
|
24
|
+
static defineCompanionDefinition() {
|
|
25
|
+
return {
|
|
26
|
+
entityClass: Blah1Entity,
|
|
27
|
+
entityConfiguration: blahConfiguration,
|
|
28
|
+
privacyPolicyClass: NoOpTest1PrivacyPolicy,
|
|
29
|
+
};
|
|
49
30
|
}
|
|
50
31
|
}
|
|
51
32
|
class Blah2Entity extends Entity_1.default {
|
|
52
|
-
static
|
|
53
|
-
return
|
|
33
|
+
static defineCompanionDefinition() {
|
|
34
|
+
return {
|
|
35
|
+
entityClass: Blah2Entity,
|
|
36
|
+
entityConfiguration: blahConfiguration,
|
|
37
|
+
privacyPolicyClass: NoOpTest2PrivacyPolicy,
|
|
38
|
+
};
|
|
54
39
|
}
|
|
55
40
|
}
|
|
56
41
|
class NoOpTest1PrivacyPolicy extends EntityPrivacyPolicy_1.default {
|
|
57
42
|
}
|
|
58
43
|
class NoOpTest2PrivacyPolicy extends EntityPrivacyPolicy_1.default {
|
|
59
44
|
}
|
|
60
|
-
const blah1CompanionDefinition = new EntityCompanionProvider_1.EntityCompanionDefinition({
|
|
61
|
-
entityClass: Blah1Entity,
|
|
62
|
-
entityConfiguration: blahConfiguration,
|
|
63
|
-
privacyPolicyClass: NoOpTest1PrivacyPolicy,
|
|
64
|
-
});
|
|
65
|
-
const blah2CompanionDefinition = new EntityCompanionProvider_1.EntityCompanionDefinition({
|
|
66
|
-
entityClass: Blah2Entity,
|
|
67
|
-
entityConfiguration: blahConfiguration,
|
|
68
|
-
privacyPolicyClass: NoOpTest2PrivacyPolicy,
|
|
69
|
-
});
|
|
70
45
|
describe(EntityCompanionProvider_1.default, () => {
|
|
71
46
|
it('returns different instances for different entity types, but share table data coordinators', () => {
|
|
72
47
|
const entityCompanionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
73
|
-
const companion1 = entityCompanionProvider.getCompanionForEntity(Blah1Entity
|
|
74
|
-
const companion2 = entityCompanionProvider.getCompanionForEntity(Blah2Entity
|
|
48
|
+
const companion1 = entityCompanionProvider.getCompanionForEntity(Blah1Entity);
|
|
49
|
+
const companion2 = entityCompanionProvider.getCompanionForEntity(Blah2Entity);
|
|
75
50
|
expect(companion1).not.toEqual(companion2);
|
|
76
51
|
expect(companion1['tableDataCoordinator']).toEqual(companion2['tableDataCoordinator']);
|
|
77
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCompanionProvider-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCompanionProvider-test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntityCompanionProvider-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCompanionProvider-test.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+B;AAC/B,yFAAgG;AAChG,iFAAyD;AACzD,kDAA8C;AAC9C,iFAAyD;AAEzD,kHAA+G;AAM/G,MAAM,iBAAiB,GAAG,IAAI,6BAAmB,CAAa;IAC5D,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE;QACN,KAAK,EAAE,IAAI,0BAAW,CAAC;YACrB,UAAU,EAAE,OAAO;SACpB,CAAC;KACH;IACD,qBAAqB,EAAE,UAAU;IACjC,kBAAkB,EAAE,OAAO;CAC5B,CAAC,CAAC;AAEH,MAAM,WAAY,SAAQ,gBAAyC;IACjE,MAAM,CAAC,yBAAyB;QAO9B,OAAO;YACL,WAAW,EAAE,WAAW;YACxB,mBAAmB,EAAE,iBAAiB;YACtC,kBAAkB,EAAE,sBAAsB;SAC3C,CAAC;IACJ,CAAC;CACF;AAED,MAAM,WAAY,SAAQ,gBAAyC;IACjE,MAAM,CAAC,yBAAyB;QAO9B,OAAO;YACL,WAAW,EAAE,WAAW;YACxB,mBAAmB,EAAE,iBAAiB;YACtC,kBAAkB,EAAE,sBAAsB;SAC3C,CAAC;IACJ,CAAC;CACF;AAED,MAAM,sBAAuB,SAAQ,6BAKpC;CAAG;AACJ,MAAM,sBAAuB,SAAQ,6BAKpC;CAAG;AAEJ,QAAQ,CAAC,iCAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,2FAA2F,EAAE,GAAG,EAAE;QACnG,MAAM,uBAAuB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QACxE,MAAM,UAAU,GAAG,uBAAuB,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,uBAAuB,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC9E,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -28,7 +28,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const invariant_1 = __importDefault(require("invariant"));
|
|
30
30
|
const Entity_1 = __importDefault(require("../Entity"));
|
|
31
|
-
const EntityCompanionProvider_1 = require("../EntityCompanionProvider");
|
|
32
31
|
const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"));
|
|
33
32
|
const EntityFieldDefinition_1 = require("../EntityFieldDefinition");
|
|
34
33
|
const EntityFields_1 = require("../EntityFields");
|
|
@@ -202,24 +201,54 @@ const makeEntityClasses = (edgeDeletionBehavior) => {
|
|
|
202
201
|
}
|
|
203
202
|
}
|
|
204
203
|
class ParentEntity extends Entity_1.default {
|
|
205
|
-
static
|
|
206
|
-
return
|
|
204
|
+
static defineCompanionDefinition() {
|
|
205
|
+
return {
|
|
206
|
+
entityClass: ParentEntity,
|
|
207
|
+
entityConfiguration: parentEntityConfiguration,
|
|
208
|
+
privacyPolicyClass: TestEntityPrivacyPolicy,
|
|
209
|
+
mutationTriggers: {
|
|
210
|
+
beforeDelete: [new ParentCheckInfoDeletionTrigger()],
|
|
211
|
+
afterDelete: [new ParentCheckInfoDeletionTrigger()],
|
|
212
|
+
beforeUpdate: [new ParentCheckInfoUpdateTrigger()],
|
|
213
|
+
afterUpdate: [new ParentCheckInfoUpdateTrigger()],
|
|
214
|
+
},
|
|
215
|
+
};
|
|
207
216
|
}
|
|
208
217
|
}
|
|
209
218
|
class ChildEntity extends Entity_1.default {
|
|
210
|
-
static
|
|
211
|
-
return
|
|
219
|
+
static defineCompanionDefinition() {
|
|
220
|
+
return {
|
|
221
|
+
entityClass: ChildEntity,
|
|
222
|
+
entityConfiguration: childEntityConfiguration,
|
|
223
|
+
privacyPolicyClass: TestEntityPrivacyPolicy,
|
|
224
|
+
mutationTriggers: {
|
|
225
|
+
beforeDelete: [new ChildCheckInfoDeletionTrigger()],
|
|
226
|
+
afterDelete: [new ChildCheckInfoDeletionTrigger()],
|
|
227
|
+
beforeUpdate: [new ChildCheckInfoUpdateTrigger()],
|
|
228
|
+
afterUpdate: [new ChildCheckInfoUpdateTrigger()],
|
|
229
|
+
},
|
|
230
|
+
};
|
|
212
231
|
}
|
|
213
232
|
}
|
|
214
233
|
class GrandChildEntity extends Entity_1.default {
|
|
215
|
-
static
|
|
216
|
-
return
|
|
234
|
+
static defineCompanionDefinition() {
|
|
235
|
+
return {
|
|
236
|
+
entityClass: GrandChildEntity,
|
|
237
|
+
entityConfiguration: grandChildEntityConfiguration,
|
|
238
|
+
privacyPolicyClass: TestEntityPrivacyPolicy,
|
|
239
|
+
mutationTriggers: {
|
|
240
|
+
beforeDelete: [new GrandChildCheckInfoDeletionTrigger()],
|
|
241
|
+
afterDelete: [new GrandChildCheckInfoDeletionTrigger()],
|
|
242
|
+
beforeUpdate: [new GrandChildCheckInfoUpdateTrigger()],
|
|
243
|
+
afterUpdate: [new GrandChildCheckInfoUpdateTrigger()],
|
|
244
|
+
},
|
|
245
|
+
};
|
|
217
246
|
}
|
|
218
247
|
}
|
|
219
248
|
const parentEntityConfiguration = new EntityConfiguration_1.default({
|
|
220
249
|
idField: 'id',
|
|
221
250
|
tableName: 'parents',
|
|
222
|
-
|
|
251
|
+
inboundEdges: [ChildEntity],
|
|
223
252
|
schema: {
|
|
224
253
|
id: new EntityFields_1.UUIDField({
|
|
225
254
|
columnName: 'id',
|
|
@@ -232,7 +261,7 @@ const makeEntityClasses = (edgeDeletionBehavior) => {
|
|
|
232
261
|
const childEntityConfiguration = new EntityConfiguration_1.default({
|
|
233
262
|
idField: 'id',
|
|
234
263
|
tableName: 'children',
|
|
235
|
-
|
|
264
|
+
inboundEdges: [GrandChildEntity],
|
|
236
265
|
schema: {
|
|
237
266
|
id: new EntityFields_1.UUIDField({
|
|
238
267
|
columnName: 'id',
|
|
@@ -242,7 +271,7 @@ const makeEntityClasses = (edgeDeletionBehavior) => {
|
|
|
242
271
|
columnName: 'parent_id',
|
|
243
272
|
cache: true,
|
|
244
273
|
association: {
|
|
245
|
-
|
|
274
|
+
associatedEntityClass: ParentEntity,
|
|
246
275
|
edgeDeletionBehavior,
|
|
247
276
|
},
|
|
248
277
|
}),
|
|
@@ -262,7 +291,7 @@ const makeEntityClasses = (edgeDeletionBehavior) => {
|
|
|
262
291
|
columnName: 'parent_id',
|
|
263
292
|
cache: true,
|
|
264
293
|
association: {
|
|
265
|
-
|
|
294
|
+
associatedEntityClass: ChildEntity,
|
|
266
295
|
edgeDeletionBehavior,
|
|
267
296
|
},
|
|
268
297
|
}),
|
|
@@ -270,39 +299,6 @@ const makeEntityClasses = (edgeDeletionBehavior) => {
|
|
|
270
299
|
databaseAdapterFlavor: 'postgres',
|
|
271
300
|
cacheAdapterFlavor: 'redis',
|
|
272
301
|
});
|
|
273
|
-
const parentEntityCompanion = new EntityCompanionProvider_1.EntityCompanionDefinition({
|
|
274
|
-
entityClass: ParentEntity,
|
|
275
|
-
entityConfiguration: parentEntityConfiguration,
|
|
276
|
-
privacyPolicyClass: TestEntityPrivacyPolicy,
|
|
277
|
-
mutationTriggers: () => ({
|
|
278
|
-
beforeDelete: [new ParentCheckInfoDeletionTrigger()],
|
|
279
|
-
afterDelete: [new ParentCheckInfoDeletionTrigger()],
|
|
280
|
-
beforeUpdate: [new ParentCheckInfoUpdateTrigger()],
|
|
281
|
-
afterUpdate: [new ParentCheckInfoUpdateTrigger()],
|
|
282
|
-
}),
|
|
283
|
-
});
|
|
284
|
-
const childEntityCompanion = new EntityCompanionProvider_1.EntityCompanionDefinition({
|
|
285
|
-
entityClass: ChildEntity,
|
|
286
|
-
entityConfiguration: childEntityConfiguration,
|
|
287
|
-
privacyPolicyClass: TestEntityPrivacyPolicy,
|
|
288
|
-
mutationTriggers: () => ({
|
|
289
|
-
beforeDelete: [new ChildCheckInfoDeletionTrigger()],
|
|
290
|
-
afterDelete: [new ChildCheckInfoDeletionTrigger()],
|
|
291
|
-
beforeUpdate: [new ChildCheckInfoUpdateTrigger()],
|
|
292
|
-
afterUpdate: [new ChildCheckInfoUpdateTrigger()],
|
|
293
|
-
}),
|
|
294
|
-
});
|
|
295
|
-
const grandChildEntityCompanion = new EntityCompanionProvider_1.EntityCompanionDefinition({
|
|
296
|
-
entityClass: GrandChildEntity,
|
|
297
|
-
entityConfiguration: grandChildEntityConfiguration,
|
|
298
|
-
privacyPolicyClass: TestEntityPrivacyPolicy,
|
|
299
|
-
mutationTriggers: () => ({
|
|
300
|
-
beforeDelete: [new GrandChildCheckInfoDeletionTrigger()],
|
|
301
|
-
afterDelete: [new GrandChildCheckInfoDeletionTrigger()],
|
|
302
|
-
beforeUpdate: [new GrandChildCheckInfoUpdateTrigger()],
|
|
303
|
-
afterUpdate: [new GrandChildCheckInfoUpdateTrigger()],
|
|
304
|
-
}),
|
|
305
|
-
});
|
|
306
302
|
return {
|
|
307
303
|
ParentEntity,
|
|
308
304
|
ChildEntity,
|
|
@@ -490,7 +486,6 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
490
486
|
});
|
|
491
487
|
describe('EntityEdgeDeletionBehavior.SET_NULL_INVALIDATE_CACHE_ONLY', () => {
|
|
492
488
|
it('invalidates the cache', async () => {
|
|
493
|
-
var _a, _b, _c, _d;
|
|
494
489
|
const { ParentEntity, ChildEntity, GrandChildEntity, triggerExecutionCounts, privacyPolicyEvaluationRecords, } = makeEntityClasses(EntityFieldDefinition_1.EntityEdgeDeletionBehavior.SET_NULL_INVALIDATE_CACHE_ONLY);
|
|
495
490
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
496
491
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
@@ -512,21 +507,21 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
512
507
|
const childCachedBefore = await childCacheAdapter.loadManyAsync('parent_id', [
|
|
513
508
|
parent.getID(),
|
|
514
509
|
]);
|
|
515
|
-
expect(
|
|
510
|
+
expect(childCachedBefore.get(parent.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.HIT);
|
|
516
511
|
const grandChildCacheAdapter = viewerContext.getViewerScopedEntityCompanionForClass(GrandChildEntity)['entityCompanion']['tableDataCoordinator']['cacheAdapter'];
|
|
517
512
|
const grandChildCachedBefore = await grandChildCacheAdapter.loadManyAsync('parent_id', [
|
|
518
513
|
child.getID(),
|
|
519
514
|
]);
|
|
520
|
-
expect(
|
|
515
|
+
expect(grandChildCachedBefore.get(child.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.HIT);
|
|
521
516
|
privacyPolicyEvaluationRecords.shouldRecord = true;
|
|
522
517
|
await ParentEntity.enforceDeleteAsync(parent);
|
|
523
518
|
privacyPolicyEvaluationRecords.shouldRecord = false;
|
|
524
519
|
const childCachedAfter = await childCacheAdapter.loadManyAsync('parent_id', [parent.getID()]);
|
|
525
|
-
expect(
|
|
520
|
+
expect(childCachedAfter.get(parent.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.MISS);
|
|
526
521
|
const grandChildCachedAfter = await grandChildCacheAdapter.loadManyAsync('parent_id', [
|
|
527
522
|
child.getID(),
|
|
528
523
|
]);
|
|
529
|
-
expect(
|
|
524
|
+
expect(grandChildCachedAfter.get(child.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.HIT);
|
|
530
525
|
await expect(ParentEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(parent.getID())).resolves.toBeNull();
|
|
531
526
|
const loadedChild = await ChildEntity.loader(viewerContext)
|
|
532
527
|
.enforcing()
|
|
@@ -588,7 +583,6 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
588
583
|
});
|
|
589
584
|
describe('EntityEdgeDeletionBehavior.CASCADE_DELETE_INVALIDATE_CACHE_ONLY', () => {
|
|
590
585
|
it('invalidates the cache', async () => {
|
|
591
|
-
var _a, _b, _c, _d;
|
|
592
586
|
const { ParentEntity, ChildEntity, GrandChildEntity, triggerExecutionCounts, privacyPolicyEvaluationRecords, } = makeEntityClasses(EntityFieldDefinition_1.EntityEdgeDeletionBehavior.CASCADE_DELETE_INVALIDATE_CACHE_ONLY);
|
|
593
587
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
594
588
|
const viewerContext = new TestViewerContext_1.default(companionProvider);
|
|
@@ -610,21 +604,21 @@ describe('EntityMutator.processEntityDeletionForInboundEdgesAsync', () => {
|
|
|
610
604
|
const childCachedBefore = await childCacheAdapter.loadManyAsync('parent_id', [
|
|
611
605
|
parent.getID(),
|
|
612
606
|
]);
|
|
613
|
-
expect(
|
|
607
|
+
expect(childCachedBefore.get(parent.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.HIT);
|
|
614
608
|
const grandChildCacheAdapter = viewerContext.getViewerScopedEntityCompanionForClass(GrandChildEntity)['entityCompanion']['tableDataCoordinator']['cacheAdapter'];
|
|
615
609
|
const grandChildCachedBefore = await grandChildCacheAdapter.loadManyAsync('parent_id', [
|
|
616
610
|
child.getID(),
|
|
617
611
|
]);
|
|
618
|
-
expect(
|
|
612
|
+
expect(grandChildCachedBefore.get(child.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.HIT);
|
|
619
613
|
privacyPolicyEvaluationRecords.shouldRecord = true;
|
|
620
614
|
await ParentEntity.enforceDeleteAsync(parent);
|
|
621
615
|
privacyPolicyEvaluationRecords.shouldRecord = false;
|
|
622
616
|
const childCachedAfter = await childCacheAdapter.loadManyAsync('parent_id', [parent.getID()]);
|
|
623
|
-
expect(
|
|
617
|
+
expect(childCachedAfter.get(parent.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.MISS);
|
|
624
618
|
const grandChildCachedAfter = await grandChildCacheAdapter.loadManyAsync('parent_id', [
|
|
625
619
|
child.getID(),
|
|
626
620
|
]);
|
|
627
|
-
expect(
|
|
621
|
+
expect(grandChildCachedAfter.get(child.getID())?.status).toEqual(ReadThroughEntityCache_1.CacheStatus.MISS);
|
|
628
622
|
await expect(ParentEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(parent.getID())).resolves.toBeNull();
|
|
629
623
|
await expect(ChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(child.getID())).resolves.not.toBeNull();
|
|
630
624
|
await expect(GrandChildEntity.loader(viewerContext).enforcing().loadByIDNullableAsync(grandchild.getID())).resolves.not.toBeNull();
|