@expo/entity 0.33.0 → 0.34.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.
Files changed (94) hide show
  1. package/build/Entity.d.ts +6 -6
  2. package/build/Entity.js +6 -29
  3. package/build/Entity.js.map +1 -1
  4. package/build/EntityAssociationLoader.d.ts +8 -8
  5. package/build/EntityAssociationLoader.js +4 -20
  6. package/build/EntityAssociationLoader.js.map +1 -1
  7. package/build/EntityFields.js +3 -2
  8. package/build/EntityFields.js.map +1 -1
  9. package/build/EntityMutationTriggerConfiguration.d.ts +5 -7
  10. package/build/EntityMutationTriggerConfiguration.js +3 -4
  11. package/build/EntityMutationTriggerConfiguration.js.map +1 -1
  12. package/build/EntityQueryContextProvider.d.ts +1 -1
  13. package/build/EntityQueryContextProvider.js +1 -1
  14. package/build/EntityQueryContextProvider.js.map +1 -1
  15. package/build/IEntityCacheAdapterProvider.d.ts +1 -1
  16. package/build/ReadonlyEntity.d.ts +1 -1
  17. package/build/ReadonlyEntity.js +1 -4
  18. package/build/ReadonlyEntity.js.map +1 -1
  19. package/build/ViewerContext.d.ts +2 -2
  20. package/build/ViewerContext.js +3 -3
  21. package/build/ViewerContext.js.map +1 -1
  22. package/build/__tests__/Entity-test.js +13 -13
  23. package/build/__tests__/Entity-test.js.map +1 -1
  24. package/build/__tests__/EntityAssociationLoader-test.js +69 -37
  25. package/build/__tests__/EntityAssociationLoader-test.js.map +1 -1
  26. package/build/__tests__/EntityCommonUseCases-test.js +19 -11
  27. package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
  28. package/build/__tests__/EntityEdges-test.js +72 -40
  29. package/build/__tests__/EntityEdges-test.js.map +1 -1
  30. package/build/__tests__/EntityFields-test.js +7 -1
  31. package/build/__tests__/EntityFields-test.js.map +1 -1
  32. package/build/__tests__/EntityLoader-constructor-test.js +1 -1
  33. package/build/__tests__/EntityLoader-constructor-test.js.map +1 -1
  34. package/build/__tests__/EntityLoader-test.js +19 -19
  35. package/build/__tests__/EntityLoader-test.js.map +1 -1
  36. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +6 -6
  37. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -1
  38. package/build/__tests__/EntityMutator-test.js +20 -20
  39. package/build/__tests__/EntityMutator-test.js.map +1 -1
  40. package/build/__tests__/EntitySecondaryCacheLoader-test.js +10 -10
  41. package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
  42. package/build/__tests__/EntitySelfReferentialEdges-test.js +79 -47
  43. package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
  44. package/build/__tests__/ReadonlyEntity-test.js +13 -13
  45. package/build/__tests__/ReadonlyEntity-test.js.map +1 -1
  46. package/build/__tests__/ViewerContext-test.js +2 -2
  47. package/build/__tests__/ViewerContext-test.js.map +1 -1
  48. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +12 -8
  49. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -1
  50. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +15 -13
  51. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -1
  52. package/build/internal/EntityDataManager.js +1 -1
  53. package/build/internal/EntityDataManager.js.map +1 -1
  54. package/build/internal/__tests__/EntityDataManager-test.js +11 -11
  55. package/build/internal/__tests__/EntityDataManager-test.js.map +1 -1
  56. package/build/testfixtures/SimpleTestEntity.d.ts +8 -8
  57. package/build/testfixtures/SimpleTestEntity.js.map +1 -1
  58. package/build/testfixtures/TestEntity.d.ts +12 -12
  59. package/build/testfixtures/TestEntity.js.map +1 -1
  60. package/build/testfixtures/TestEntity2.d.ts +8 -8
  61. package/build/testfixtures/TestEntity2.js.map +1 -1
  62. package/build/testfixtures/TestViewerContext.d.ts +3 -0
  63. package/build/testfixtures/TestViewerContext.js +6 -0
  64. package/build/testfixtures/TestViewerContext.js.map +1 -1
  65. package/package.json +2 -2
  66. package/src/Entity.ts +6 -29
  67. package/src/EntityAssociationLoader.ts +9 -25
  68. package/src/EntityFields.ts +5 -3
  69. package/src/EntityMutationTriggerConfiguration.ts +5 -7
  70. package/src/EntityQueryContextProvider.ts +1 -1
  71. package/src/IEntityCacheAdapterProvider.ts +1 -1
  72. package/src/ReadonlyEntity.ts +1 -4
  73. package/src/ViewerContext.ts +5 -5
  74. package/src/__tests__/Entity-test.ts +43 -27
  75. package/src/__tests__/EntityAssociationLoader-test.ts +168 -86
  76. package/src/__tests__/EntityCommonUseCases-test.ts +36 -18
  77. package/src/__tests__/EntityEdges-test.ts +102 -40
  78. package/src/__tests__/EntityFields-test.ts +7 -1
  79. package/src/__tests__/EntityLoader-constructor-test.ts +1 -1
  80. package/src/__tests__/EntityLoader-test.ts +19 -19
  81. package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +19 -16
  82. package/src/__tests__/EntityMutator-test.ts +67 -61
  83. package/src/__tests__/EntitySecondaryCacheLoader-test.ts +20 -11
  84. package/src/__tests__/EntitySelfReferentialEdges-test.ts +115 -47
  85. package/src/__tests__/ReadonlyEntity-test.ts +15 -13
  86. package/src/__tests__/ViewerContext-test.ts +3 -2
  87. package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +33 -22
  88. package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +30 -22
  89. package/src/internal/EntityDataManager.ts +1 -1
  90. package/src/internal/__tests__/EntityDataManager-test.ts +11 -11
  91. package/src/testfixtures/SimpleTestEntity.ts +8 -8
  92. package/src/testfixtures/TestEntity.ts +15 -12
  93. package/src/testfixtures/TestEntity2.ts +8 -8
  94. package/src/testfixtures/TestViewerContext.ts +12 -1
@@ -8,23 +8,23 @@ const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"))
8
8
  const EntityFields_1 = require("../EntityFields");
9
9
  const EntityMutator_1 = require("../EntityMutator");
10
10
  const EntityPrivacyPolicy_1 = __importDefault(require("../EntityPrivacyPolicy"));
11
- const ViewerContext_1 = __importDefault(require("../ViewerContext"));
12
11
  const AlwaysAllowPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysAllowPrivacyPolicyRule"));
13
12
  const AlwaysDenyPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysDenyPrivacyPolicyRule"));
14
13
  const SimpleTestEntity_1 = __importDefault(require("../testfixtures/SimpleTestEntity"));
14
+ const TestViewerContext_1 = __importDefault(require("../testfixtures/TestViewerContext"));
15
15
  const createUnitTestEntityCompanionProvider_1 = require("../utils/testing/createUnitTestEntityCompanionProvider");
16
16
  describe(Entity_1.default, () => {
17
17
  describe('creator', () => {
18
18
  it('creates a new CreateMutator', () => {
19
19
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
20
- const viewerContext = new ViewerContext_1.default(companionProvider);
21
- expect(SimpleTestEntity_1.default.creator(viewerContext)).toBeInstanceOf(EntityMutator_1.CreateMutator);
20
+ const viewerContext = new TestViewerContext_1.default(companionProvider);
21
+ expect(SimpleTestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())).toBeInstanceOf(EntityMutator_1.CreateMutator);
22
22
  });
23
23
  });
24
24
  describe('updater', () => {
25
25
  it('creates a new UpdateMutator', () => {
26
26
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
27
- const viewerContext = new ViewerContext_1.default(companionProvider);
27
+ const viewerContext = new TestViewerContext_1.default(companionProvider);
28
28
  const data = {
29
29
  id: 'what',
30
30
  };
@@ -34,13 +34,13 @@ describe(Entity_1.default, () => {
34
34
  databaseFields: data,
35
35
  selectedFields: data,
36
36
  });
37
- expect(SimpleTestEntity_1.default.updater(testEntity)).toBeInstanceOf(EntityMutator_1.UpdateMutator);
37
+ expect(SimpleTestEntity_1.default.updater(testEntity, viewerContext.getQueryContext())).toBeInstanceOf(EntityMutator_1.UpdateMutator);
38
38
  });
39
39
  });
40
40
  describe('canViewerUpdateAsync', () => {
41
41
  it('appropriately executes update privacy policy', async () => {
42
42
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
43
- const viewerContext = new ViewerContext_1.default(companionProvider);
43
+ const viewerContext = new TestViewerContext_1.default(companionProvider);
44
44
  const data = {
45
45
  id: 'what',
46
46
  };
@@ -50,12 +50,12 @@ describe(Entity_1.default, () => {
50
50
  databaseFields: data,
51
51
  selectedFields: data,
52
52
  });
53
- const canViewerUpdate = await SimpleTestDenyDeleteEntity.canViewerUpdateAsync(testEntity);
53
+ const canViewerUpdate = await SimpleTestDenyDeleteEntity.canViewerUpdateAsync(testEntity, viewerContext.getQueryContext());
54
54
  expect(canViewerUpdate).toBe(true);
55
55
  });
56
56
  it('denies when policy denies', async () => {
57
57
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
58
- const viewerContext = new ViewerContext_1.default(companionProvider);
58
+ const viewerContext = new TestViewerContext_1.default(companionProvider);
59
59
  const data = {
60
60
  id: 'what',
61
61
  };
@@ -65,14 +65,14 @@ describe(Entity_1.default, () => {
65
65
  databaseFields: data,
66
66
  selectedFields: data,
67
67
  });
68
- const canViewerUpdate = await SimpleTestDenyUpdateEntity.canViewerUpdateAsync(testEntity);
68
+ const canViewerUpdate = await SimpleTestDenyUpdateEntity.canViewerUpdateAsync(testEntity, viewerContext.getQueryContext());
69
69
  expect(canViewerUpdate).toBe(false);
70
70
  });
71
71
  });
72
72
  describe('canViewerDeleteAsync', () => {
73
73
  it('appropriately executes update privacy policy', async () => {
74
74
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
75
- const viewerContext = new ViewerContext_1.default(companionProvider);
75
+ const viewerContext = new TestViewerContext_1.default(companionProvider);
76
76
  const data = {
77
77
  id: 'what',
78
78
  };
@@ -82,12 +82,12 @@ describe(Entity_1.default, () => {
82
82
  databaseFields: data,
83
83
  selectedFields: data,
84
84
  });
85
- const canViewerDelete = await SimpleTestDenyUpdateEntity.canViewerDeleteAsync(testEntity);
85
+ const canViewerDelete = await SimpleTestDenyUpdateEntity.canViewerDeleteAsync(testEntity, viewerContext.getQueryContext());
86
86
  expect(canViewerDelete).toBe(true);
87
87
  });
88
88
  it('denies when policy denies', async () => {
89
89
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
90
- const viewerContext = new ViewerContext_1.default(companionProvider);
90
+ const viewerContext = new TestViewerContext_1.default(companionProvider);
91
91
  const data = {
92
92
  id: 'what',
93
93
  };
@@ -97,7 +97,7 @@ describe(Entity_1.default, () => {
97
97
  databaseFields: data,
98
98
  selectedFields: data,
99
99
  });
100
- const canViewerDelete = await SimpleTestDenyDeleteEntity.canViewerDeleteAsync(testEntity);
100
+ const canViewerDelete = await SimpleTestDenyDeleteEntity.canViewerDeleteAsync(testEntity, viewerContext.getQueryContext());
101
101
  expect(canViewerDelete).toBe(false);
102
102
  });
103
103
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Entity-test.js","sourceRoot":"","sources":["../../src/__tests__/Entity-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Entity-test.js","sourceRoot":"","sources":["../../src/__tests__/Entity-test.ts"],"names":[],"mappings":"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"}
@@ -16,13 +16,17 @@ describe(EntityAssociationLoader_1.default, () => {
16
16
  it('loads associated entities by ID and correctly handles a null value', async () => {
17
17
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
18
18
  const viewerContext = new TestViewerContext_1.default(companionProvider);
19
- const testOtherEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
20
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext)
19
+ const testOtherEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext()).createAsync());
20
+ const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
21
21
  .setField('stringField', testOtherEntity.getID())
22
22
  .createAsync());
23
- const loadedOther = await (0, results_1.enforceAsyncResult)(testEntity.associationLoader().loadAssociatedEntityAsync('stringField', TestEntity_1.default));
23
+ const loadedOther = await (0, results_1.enforceAsyncResult)(testEntity
24
+ .associationLoader()
25
+ .loadAssociatedEntityAsync('stringField', TestEntity_1.default, viewerContext.getQueryContext()));
24
26
  expect(loadedOther.getID()).toEqual(testOtherEntity.getID());
25
- const loadedOther2 = await (0, results_1.enforceAsyncResult)(testEntity.associationLoader().loadAssociatedEntityAsync('nullableField', TestEntity_1.default));
27
+ const loadedOther2 = await (0, results_1.enforceAsyncResult)(testEntity
28
+ .associationLoader()
29
+ .loadAssociatedEntityAsync('nullableField', TestEntity_1.default, viewerContext.getQueryContext()));
26
30
  expect(loadedOther2).toBeNull();
27
31
  });
28
32
  });
@@ -30,10 +34,16 @@ describe(EntityAssociationLoader_1.default, () => {
30
34
  it('loads many associated entities referencing this entity', async () => {
31
35
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
32
36
  const viewerContext = new TestViewerContext_1.default(companionProvider);
33
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
34
- const testOtherEntity1 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
35
- const testOtherEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
36
- const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity.associationLoader().loadManyAssociatedEntitiesAsync(TestEntity_1.default, 'stringField'));
37
+ const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext()).createAsync());
38
+ const testOtherEntity1 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
39
+ .setField('stringField', testEntity.getID())
40
+ .createAsync());
41
+ const testOtherEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
42
+ .setField('stringField', testEntity.getID())
43
+ .createAsync());
44
+ const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity
45
+ .associationLoader()
46
+ .loadManyAssociatedEntitiesAsync(TestEntity_1.default, 'stringField', viewerContext.getQueryContext()));
37
47
  expect(loaded).toHaveLength(2);
38
48
  expect(loaded.find((e) => e.getID() === testOtherEntity1.getID())).not.toBeUndefined();
39
49
  expect(loaded.find((e) => e.getID() === testOtherEntity2.getID())).not.toBeUndefined();
@@ -43,31 +53,35 @@ describe(EntityAssociationLoader_1.default, () => {
43
53
  it('loads associated entity by field equaling', async () => {
44
54
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
45
55
  const viewerContext = new TestViewerContext_1.default(companionProvider);
46
- const testOtherEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
47
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext)
56
+ const testOtherEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext()).createAsync());
57
+ const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
48
58
  .setField('stringField', testOtherEntity.getID())
49
59
  .createAsync());
50
60
  const loadedOtherResult = await testEntity
51
61
  .associationLoader()
52
- .loadAssociatedEntityByFieldEqualingAsync('stringField', TestEntity_1.default, 'customIdField');
62
+ .loadAssociatedEntityByFieldEqualingAsync('stringField', TestEntity_1.default, 'customIdField', viewerContext.getQueryContext());
53
63
  expect(loadedOtherResult?.enforceValue().getID()).toEqual(testOtherEntity.getID());
54
64
  });
55
65
  it('returns null when loading associated entities by field equaling a non existent association', async () => {
56
66
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
57
67
  const viewerContext = new TestViewerContext_1.default(companionProvider);
58
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', (0, uuid_1.v4)()).createAsync());
68
+ const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
69
+ .setField('stringField', (0, uuid_1.v4)())
70
+ .createAsync());
59
71
  const loadedOtherResult = await testEntity
60
72
  .associationLoader()
61
- .loadAssociatedEntityByFieldEqualingAsync('stringField', TestEntity_1.default, 'customIdField');
73
+ .loadAssociatedEntityByFieldEqualingAsync('stringField', TestEntity_1.default, 'customIdField', viewerContext.getQueryContext());
62
74
  expect(loadedOtherResult).toBeNull();
63
75
  });
64
76
  it('returns null when load-by field is null', async () => {
65
77
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
66
78
  const viewerContext = new TestViewerContext_1.default(companionProvider);
67
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', 'blah').createAsync());
79
+ const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
80
+ .setField('stringField', 'blah')
81
+ .createAsync());
68
82
  const loadedOtherResult = await testEntity
69
83
  .associationLoader()
70
- .loadAssociatedEntityByFieldEqualingAsync('nullableField', TestEntity_1.default, 'customIdField');
84
+ .loadAssociatedEntityByFieldEqualingAsync('nullableField', TestEntity_1.default, 'customIdField', viewerContext.getQueryContext());
71
85
  expect(loadedOtherResult).toBeNull();
72
86
  });
73
87
  });
@@ -75,12 +89,16 @@ describe(EntityAssociationLoader_1.default, () => {
75
89
  it('loads many associated entities by field equaling', async () => {
76
90
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
77
91
  const viewerContext = new TestViewerContext_1.default(companionProvider);
78
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
79
- const testOtherEntity1 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
80
- const testOtherEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', testEntity.getID()).createAsync());
92
+ const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext()).createAsync());
93
+ const testOtherEntity1 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
94
+ .setField('stringField', testEntity.getID())
95
+ .createAsync());
96
+ const testOtherEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
97
+ .setField('stringField', testEntity.getID())
98
+ .createAsync());
81
99
  const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity
82
100
  .associationLoader()
83
- .loadManyAssociatedEntitiesByFieldEqualingAsync('customIdField', TestEntity_1.default, 'stringField'));
101
+ .loadManyAssociatedEntitiesByFieldEqualingAsync('customIdField', TestEntity_1.default, 'stringField', viewerContext.getQueryContext()));
84
102
  expect(loaded).toHaveLength(2);
85
103
  expect(loaded.find((e) => e.getID() === testOtherEntity1.getID())).not.toBeUndefined();
86
104
  expect(loaded.find((e) => e.getID() === testOtherEntity2.getID())).not.toBeUndefined();
@@ -88,10 +106,10 @@ describe(EntityAssociationLoader_1.default, () => {
88
106
  it('returns empty results when field being queried by is null', async () => {
89
107
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
90
108
  const viewerContext = new TestViewerContext_1.default(companionProvider);
91
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
109
+ const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext()).createAsync());
92
110
  const loaded = await (0, entityUtils_1.enforceResultsAsync)(testEntity
93
111
  .associationLoader()
94
- .loadManyAssociatedEntitiesByFieldEqualingAsync('nullableField', TestEntity_1.default, 'stringField'));
112
+ .loadManyAssociatedEntitiesByFieldEqualingAsync('nullableField', TestEntity_1.default, 'stringField', viewerContext.getQueryContext()));
95
113
  expect(loaded).toHaveLength(0);
96
114
  });
97
115
  });
@@ -99,18 +117,22 @@ describe(EntityAssociationLoader_1.default, () => {
99
117
  it('chain loads associated entities', async () => {
100
118
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
101
119
  const viewerContext = new TestViewerContext_1.default(companionProvider);
102
- const testEntity4 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).createAsync());
103
- const testEntity3 = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', testEntity4.getID()).createAsync());
104
- const testEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext)
120
+ const testEntity4 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext()).createAsync());
121
+ const testEntity3 = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext, viewerContext.getQueryContext())
122
+ .setField('foreignKey', testEntity4.getID())
123
+ .createAsync());
124
+ const testEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
105
125
  .setField('testIndexedField', testEntity3.getID())
106
126
  .createAsync());
107
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', testEntity2.getID()).createAsync());
127
+ const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext, viewerContext.getQueryContext())
128
+ .setField('foreignKey', testEntity2.getID())
129
+ .createAsync());
108
130
  const loaded2Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
109
131
  {
110
132
  associatedEntityClass: TestEntity_1.default,
111
133
  fieldIdentifyingAssociatedEntity: 'foreignKey',
112
134
  },
113
- ]);
135
+ ], viewerContext.getQueryContext());
114
136
  expect(loaded2Result?.enforceValue().getID()).toEqual(testEntity2.getID());
115
137
  const loaded3Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
116
138
  {
@@ -121,7 +143,7 @@ describe(EntityAssociationLoader_1.default, () => {
121
143
  associatedEntityClass: TestEntity2_1.default,
122
144
  fieldIdentifyingAssociatedEntity: 'testIndexedField',
123
145
  },
124
- ]);
146
+ ], viewerContext.getQueryContext());
125
147
  expect(loaded3Result?.enforceValue().getID()).toEqual(testEntity3.getID());
126
148
  const loaded4Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
127
149
  {
@@ -136,59 +158,69 @@ describe(EntityAssociationLoader_1.default, () => {
136
158
  associatedEntityClass: TestEntity_1.default,
137
159
  fieldIdentifyingAssociatedEntity: 'foreignKey',
138
160
  },
139
- ]);
161
+ ], viewerContext.getQueryContext());
140
162
  expect(loaded4Result?.enforceValue().getID()).toEqual(testEntity4.getID());
141
163
  });
142
164
  it('fails when chain loading associated entity fails', async () => {
143
165
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
144
166
  const viewerContext = new TestViewerContext_1.default(companionProvider);
145
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', (0, uuid_1.v4)()).createAsync());
167
+ const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext, viewerContext.getQueryContext())
168
+ .setField('foreignKey', (0, uuid_1.v4)())
169
+ .createAsync());
146
170
  const loadResult = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
147
171
  {
148
172
  associatedEntityClass: TestEntity_1.default,
149
173
  fieldIdentifyingAssociatedEntity: 'foreignKey',
150
174
  },
151
- ]);
175
+ ], viewerContext.getQueryContext());
152
176
  expect(loadResult?.ok).toBe(false);
153
177
  });
154
178
  it('supports chain loading by field equality', async () => {
155
179
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
156
180
  const viewerContext = new TestViewerContext_1.default(companionProvider);
157
181
  const fieldValue = (0, uuid_1.v4)();
158
- const testEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('stringField', fieldValue).createAsync());
159
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', fieldValue).createAsync());
182
+ const testEntity2 = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
183
+ .setField('stringField', fieldValue)
184
+ .createAsync());
185
+ const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext, viewerContext.getQueryContext())
186
+ .setField('foreignKey', fieldValue)
187
+ .createAsync());
160
188
  const loaded2Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
161
189
  {
162
190
  associatedEntityClass: TestEntity_1.default,
163
191
  fieldIdentifyingAssociatedEntity: 'foreignKey',
164
192
  associatedEntityLookupByField: 'stringField',
165
193
  },
166
- ]);
194
+ ], viewerContext.getQueryContext());
167
195
  expect(loaded2Result?.enforceValue().getID()).toEqual(testEntity2.getID());
168
196
  });
169
197
  it('returns null when chain loading by field equality returns null', async () => {
170
198
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
171
199
  const viewerContext = new TestViewerContext_1.default(companionProvider);
172
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext).setField('foreignKey', (0, uuid_1.v4)()).createAsync());
200
+ const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity2_1.default.creator(viewerContext, viewerContext.getQueryContext())
201
+ .setField('foreignKey', (0, uuid_1.v4)())
202
+ .createAsync());
173
203
  const loaded2Result = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
174
204
  {
175
205
  associatedEntityClass: TestEntity_1.default,
176
206
  fieldIdentifyingAssociatedEntity: 'foreignKey',
177
207
  associatedEntityLookupByField: 'stringField',
178
208
  },
179
- ]);
209
+ ], viewerContext.getQueryContext());
180
210
  expect(loaded2Result).toBeNull();
181
211
  });
182
212
  it('returns null when chain loading by field is null', async () => {
183
213
  const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
184
214
  const viewerContext = new TestViewerContext_1.default(companionProvider);
185
- const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext).setField('nullableField', null).createAsync());
215
+ const testEntity = await (0, results_1.enforceAsyncResult)(TestEntity_1.default.creator(viewerContext, viewerContext.getQueryContext())
216
+ .setField('nullableField', null)
217
+ .createAsync());
186
218
  const loadedResult = await testEntity.associationLoader().loadAssociatedEntityThroughAsync([
187
219
  {
188
220
  associatedEntityClass: TestEntity_1.default,
189
221
  fieldIdentifyingAssociatedEntity: 'nullableField',
190
222
  },
191
- ]);
223
+ ], viewerContext.getQueryContext());
192
224
  expect(loadedResult).toBeNull();
193
225
  });
194
226
  });
@@ -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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"}
@@ -32,14 +32,14 @@ const Entity_1 = __importDefault(require("../Entity"));
32
32
  const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"));
33
33
  const EntityFields_1 = require("../EntityFields");
34
34
  const EntityPrivacyPolicy_1 = __importDefault(require("../EntityPrivacyPolicy"));
35
- const ViewerContext_1 = __importDefault(require("../ViewerContext"));
36
35
  const entityUtils_1 = require("../entityUtils");
37
36
  const EntityNotAuthorizedError_1 = __importDefault(require("../errors/EntityNotAuthorizedError"));
38
37
  const AlwaysAllowPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysAllowPrivacyPolicyRule"));
39
38
  const AlwaysDenyPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysDenyPrivacyPolicyRule"));
40
39
  const PrivacyPolicyRule_1 = __importStar(require("../rules/PrivacyPolicyRule"));
40
+ const TestViewerContext_1 = __importDefault(require("../testfixtures/TestViewerContext"));
41
41
  const createUnitTestEntityCompanionProvider_1 = require("../utils/testing/createUnitTestEntityCompanionProvider");
42
- class TestUserViewerContext extends ViewerContext_1.default {
42
+ class TestUserViewerContext extends TestViewerContext_1.default {
43
43
  constructor(entityCompanionProvider, userID) {
44
44
  super(entityCompanionProvider);
45
45
  this.userID = userID;
@@ -105,26 +105,34 @@ it('runs through a common workflow', async () => {
105
105
  const entityCompanionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
106
106
  const vc1 = new TestUserViewerContext(entityCompanionProvider, (0, uuid_1.v4)());
107
107
  const vc2 = new TestUserViewerContext(entityCompanionProvider, (0, uuid_1.v4)());
108
- const blahOwner1 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1).setField('ownerID', vc1.getUserID()).createAsync());
109
- await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1).setField('ownerID', vc1.getUserID()).createAsync());
110
- const blahOwner2 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2).setField('ownerID', vc2.getUserID()).createAsync());
108
+ const blahOwner1 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1, vc1.getQueryContext())
109
+ .setField('ownerID', vc1.getUserID())
110
+ .createAsync());
111
+ await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1, vc1.getQueryContext())
112
+ .setField('ownerID', vc1.getUserID())
113
+ .createAsync());
114
+ const blahOwner2 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2, vc2.getQueryContext())
115
+ .setField('ownerID', vc2.getUserID())
116
+ .createAsync());
111
117
  // sanity check created objects
112
118
  expect(blahOwner1.getField('ownerID')).toEqual(vc1.getUserID());
113
119
  expect(blahOwner2.getField('ownerID')).toEqual(vc2.getUserID());
114
120
  // check that two people can't read each others data
115
- await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc1).loadByIDAsync(blahOwner2.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
116
- await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc2).loadByIDAsync(blahOwner1.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
121
+ await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc1, vc1.getQueryContext()).loadByIDAsync(blahOwner2.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
122
+ await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc2, vc2.getQueryContext()).loadByIDAsync(blahOwner1.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
117
123
  // check that all of owner 1's objects can be loaded
118
- const results = await (0, entityUtils_1.enforceResultsAsync)(BlahEntity.loader(vc1).loadManyByFieldEqualingAsync('ownerID', vc1.getUserID()));
124
+ const results = await (0, entityUtils_1.enforceResultsAsync)(BlahEntity.loader(vc1, vc1.getQueryContext()).loadManyByFieldEqualingAsync('ownerID', vc1.getUserID()));
119
125
  expect(results).toHaveLength(2);
120
126
  // check that two people can't create objects owned by others
121
- await expect((0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2).setField('ownerID', blahOwner1.getID()).createAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
127
+ await expect((0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2, vc2.getQueryContext())
128
+ .setField('ownerID', blahOwner1.getID())
129
+ .createAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
122
130
  // check that empty load many returns nothing
123
- const results2 = await BlahEntity.loader(vc1).loadManyByFieldEqualingManyAsync('ownerID', []);
131
+ const results2 = await BlahEntity.loader(vc1, vc1.getQueryContext()).loadManyByFieldEqualingManyAsync('ownerID', []);
124
132
  for (const value in results2.values) {
125
133
  expect(value).toHaveLength(0);
126
134
  }
127
135
  // check that the user can't delete their own data (as specified by privacy rules)
128
- await expect((0, results_1.enforceAsyncResult)(BlahEntity.deleteAsync(blahOwner2))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
136
+ await expect((0, results_1.enforceAsyncResult)(BlahEntity.deleteAsync(blahOwner2, vc1.getQueryContext()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
129
137
  });
130
138
  //# sourceMappingURL=EntityCommonUseCases-test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityCommonUseCases-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCommonUseCases-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityCommonUseCases-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCommonUseCases-test.ts"],"names":[],"mappings":"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"}