@expo/entity 0.38.0 → 0.40.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 (206) hide show
  1. package/build/AuthorizationResultBasedEntityAssociationLoader.d.ts +99 -0
  2. package/build/AuthorizationResultBasedEntityAssociationLoader.js +124 -0
  3. package/build/AuthorizationResultBasedEntityAssociationLoader.js.map +1 -0
  4. package/build/AuthorizationResultBasedEntityLoader.d.ts +1 -1
  5. package/build/AuthorizationResultBasedEntityLoader.js.map +1 -1
  6. package/build/{EntityMutator.d.ts → AuthorizationResultBasedEntityMutator.d.ts} +5 -17
  7. package/build/{EntityMutator.js → AuthorizationResultBasedEntityMutator.js} +22 -48
  8. package/build/AuthorizationResultBasedEntityMutator.js.map +1 -0
  9. package/build/EnforcingEntityAssociationLoader.d.ts +79 -0
  10. package/build/EnforcingEntityAssociationLoader.js +62 -0
  11. package/build/EnforcingEntityAssociationLoader.js.map +1 -0
  12. package/build/EnforcingEntityCreator.d.ts +24 -0
  13. package/build/EnforcingEntityCreator.js +32 -0
  14. package/build/EnforcingEntityCreator.js.map +1 -0
  15. package/build/EnforcingEntityDeleter.d.ts +17 -0
  16. package/build/EnforcingEntityDeleter.js +22 -0
  17. package/build/EnforcingEntityDeleter.js.map +1 -0
  18. package/build/EnforcingEntityUpdater.d.ts +24 -0
  19. package/build/EnforcingEntityUpdater.js +32 -0
  20. package/build/EnforcingEntityUpdater.js.map +1 -0
  21. package/build/Entity.d.ts +8 -12
  22. package/build/Entity.js +9 -34
  23. package/build/Entity.js.map +1 -1
  24. package/build/EntityAssociationLoader.d.ts +12 -91
  25. package/build/EntityAssociationLoader.js +20 -126
  26. package/build/EntityAssociationLoader.js.map +1 -1
  27. package/build/EntityCompanionProvider.d.ts +2 -2
  28. package/build/EntityCompanionProvider.js.map +1 -1
  29. package/build/EntityCreator.d.ts +27 -0
  30. package/build/EntityCreator.js +39 -0
  31. package/build/EntityCreator.js.map +1 -0
  32. package/build/EntityDatabaseAdapter.js +2 -2
  33. package/build/EntityDatabaseAdapter.js.map +1 -1
  34. package/build/EntityDeleter.d.ts +27 -0
  35. package/build/EntityDeleter.js +40 -0
  36. package/build/EntityDeleter.js.map +1 -0
  37. package/build/EntityLoader.d.ts +4 -14
  38. package/build/EntityLoader.js +7 -20
  39. package/build/EntityLoader.js.map +1 -1
  40. package/build/EntityLoaderFactory.d.ts +2 -2
  41. package/build/EntityLoaderFactory.js +4 -2
  42. package/build/EntityLoaderFactory.js.map +1 -1
  43. package/build/EntityMutatorFactory.d.ts +4 -4
  44. package/build/EntityMutatorFactory.js +4 -4
  45. package/build/EntityMutatorFactory.js.map +1 -1
  46. package/build/EntitySecondaryCacheLoader.d.ts +3 -3
  47. package/build/EntitySecondaryCacheLoader.js +1 -3
  48. package/build/EntitySecondaryCacheLoader.js.map +1 -1
  49. package/build/EntityUpdater.d.ts +27 -0
  50. package/build/EntityUpdater.js +40 -0
  51. package/build/EntityUpdater.js.map +1 -0
  52. package/build/ReadonlyEntity.d.ts +2 -2
  53. package/build/ReadonlyEntity.js +4 -6
  54. package/build/ReadonlyEntity.js.map +1 -1
  55. package/build/ViewerScopedEntityLoaderFactory.d.ts +2 -2
  56. package/build/ViewerScopedEntityLoaderFactory.js.map +1 -1
  57. package/build/ViewerScopedEntityMutatorFactory.d.ts +4 -4
  58. package/build/ViewerScopedEntityMutatorFactory.js.map +1 -1
  59. package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.d.ts +1 -0
  60. package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js +273 -0
  61. package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js.map +1 -0
  62. package/build/__tests__/{EntityLoader-constructor-test.js → AuthorizationResultBasedEntityLoader-constructor-test.js} +11 -11
  63. package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js.map +1 -0
  64. package/build/__tests__/AuthorizationResultBasedEntityLoader-test.d.ts +1 -0
  65. package/build/__tests__/AuthorizationResultBasedEntityLoader-test.js +401 -0
  66. package/build/__tests__/AuthorizationResultBasedEntityLoader-test.js.map +1 -0
  67. package/build/__tests__/EnforcingEntityAssociationLoader-test.d.ts +1 -0
  68. package/build/__tests__/EnforcingEntityAssociationLoader-test.js +115 -0
  69. package/build/__tests__/EnforcingEntityAssociationLoader-test.js.map +1 -0
  70. package/build/__tests__/Entity-test.js +23 -5
  71. package/build/__tests__/Entity-test.js.map +1 -1
  72. package/build/__tests__/EntityAssociationLoader-test.js +14 -184
  73. package/build/__tests__/EntityAssociationLoader-test.js.map +1 -1
  74. package/build/__tests__/EntityCommonUseCases-test.js +34 -12
  75. package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
  76. package/build/__tests__/EntityCompanion-test.js +17 -7
  77. package/build/__tests__/EntityCompanion-test.js.map +1 -1
  78. package/build/__tests__/EntityDatabaseAdapter-test.js.map +1 -1
  79. package/build/__tests__/EntityEdges-test.js +41 -23
  80. package/build/__tests__/EntityEdges-test.js.map +1 -1
  81. package/build/__tests__/EntityLoader-test.js +22 -386
  82. package/build/__tests__/EntityLoader-test.js.map +1 -1
  83. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +4 -3
  84. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -1
  85. package/build/__tests__/EntityMutator-test.js +67 -70
  86. package/build/__tests__/EntityMutator-test.js.map +1 -1
  87. package/build/__tests__/EntityPrivacyPolicy-test.js +17 -7
  88. package/build/__tests__/EntityPrivacyPolicy-test.js.map +1 -1
  89. package/build/__tests__/EntitySecondaryCacheLoader-test.js +7 -7
  90. package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
  91. package/build/__tests__/EntitySelfReferentialEdges-test.js +36 -24
  92. package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
  93. package/build/__tests__/ReadonlyEntity-test.js +1 -1
  94. package/build/__tests__/ReadonlyEntity-test.js.map +1 -1
  95. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +4 -2
  96. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -1
  97. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +7 -4
  98. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -1
  99. package/build/__tests__/entityUtils-test.js +8 -0
  100. package/build/__tests__/entityUtils-test.js.map +1 -1
  101. package/build/entityUtils.d.ts +7 -0
  102. package/build/entityUtils.js +20 -10
  103. package/build/entityUtils.js.map +1 -1
  104. package/build/errors/EntityCacheAdapterError.js +17 -7
  105. package/build/errors/EntityCacheAdapterError.js.map +1 -1
  106. package/build/errors/EntityDatabaseAdapterError.js +17 -7
  107. package/build/errors/EntityDatabaseAdapterError.js.map +1 -1
  108. package/build/errors/EntityInvalidFieldValueError.js +17 -7
  109. package/build/errors/EntityInvalidFieldValueError.js.map +1 -1
  110. package/build/errors/EntityNotAuthorizedError.js +17 -7
  111. package/build/errors/EntityNotAuthorizedError.js.map +1 -1
  112. package/build/errors/EntityNotFoundError.js +17 -7
  113. package/build/errors/EntityNotFoundError.js.map +1 -1
  114. package/build/index.d.ts +19 -11
  115. package/build/index.js +24 -7
  116. package/build/index.js.map +1 -1
  117. package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
  118. package/build/internal/__tests__/EntityDataManager-test.js +42 -32
  119. package/build/internal/__tests__/EntityDataManager-test.js.map +1 -1
  120. package/build/internal/__tests__/ReadThroughEntityCache-test.js +17 -7
  121. package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +1 -1
  122. package/build/rules/AlwaysAllowPrivacyPolicyRule.js +17 -7
  123. package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -1
  124. package/build/rules/AlwaysDenyPrivacyPolicyRule.js +17 -7
  125. package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -1
  126. package/build/rules/AlwaysSkipPrivacyPolicyRule.js +17 -7
  127. package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -1
  128. package/build/utils/EntityPrivacyUtils.d.ts +32 -4
  129. package/build/utils/EntityPrivacyUtils.js +68 -24
  130. package/build/utils/EntityPrivacyUtils.js.map +1 -1
  131. package/build/utils/__tests__/EntityPrivacyUtils-test.js +148 -23
  132. package/build/utils/__tests__/EntityPrivacyUtils-test.js.map +1 -1
  133. package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js +8 -5
  134. package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map +1 -1
  135. package/build/utils/collections/__tests__/maps-test.js +1 -1
  136. package/build/utils/collections/__tests__/maps-test.js.map +1 -1
  137. package/build/utils/collections/maps.js +2 -2
  138. package/build/utils/collections/maps.js.map +1 -1
  139. package/build/utils/mergeEntityMutationTriggerConfigurations.js +1 -2
  140. package/build/utils/mergeEntityMutationTriggerConfigurations.js.map +1 -1
  141. package/build/utils/testing/PrivacyPolicyRuleTestUtils.js +1 -1
  142. package/build/utils/testing/PrivacyPolicyRuleTestUtils.js.map +1 -1
  143. package/build/utils/testing/StubDatabaseAdapter.js +17 -7
  144. package/build/utils/testing/StubDatabaseAdapter.js.map +1 -1
  145. package/build/utils/testing/StubQueryContextProvider.d.ts +1 -3
  146. package/build/utils/testing/StubQueryContextProvider.js +1 -3
  147. package/build/utils/testing/StubQueryContextProvider.js.map +1 -1
  148. package/build/utils/testing/createUnitTestEntityCompanionProvider.js +2 -1
  149. package/build/utils/testing/createUnitTestEntityCompanionProvider.js.map +1 -1
  150. package/build/utils/testing/describeFieldTestCase.js +1 -1
  151. package/build/utils/testing/describeFieldTestCase.js.map +1 -1
  152. package/package.json +19 -3
  153. package/src/AuthorizationResultBasedEntityAssociationLoader.ts +492 -0
  154. package/src/AuthorizationResultBasedEntityLoader.ts +2 -2
  155. package/src/{EntityMutator.ts → AuthorizationResultBasedEntityMutator.ts} +62 -58
  156. package/src/EnforcingEntityAssociationLoader.ts +390 -0
  157. package/src/EnforcingEntityCreator.ts +55 -0
  158. package/src/EnforcingEntityDeleter.ts +44 -0
  159. package/src/EnforcingEntityUpdater.ts +55 -0
  160. package/src/Entity.ts +20 -65
  161. package/src/EntityAssociationLoader.ts +38 -495
  162. package/src/EntityCompanionProvider.ts +5 -2
  163. package/src/EntityCreator.ts +73 -0
  164. package/src/EntityDeleter.ts +73 -0
  165. package/src/EntityLoader.ts +10 -49
  166. package/src/EntityLoaderFactory.ts +20 -3
  167. package/src/EntityMutatorFactory.ts +32 -7
  168. package/src/EntitySecondaryCacheLoader.ts +5 -7
  169. package/src/EntityUpdater.ts +73 -0
  170. package/src/ReadonlyEntity.ts +14 -13
  171. package/src/ViewerScopedEntityLoaderFactory.ts +9 -2
  172. package/src/ViewerScopedEntityMutatorFactory.ts +29 -4
  173. package/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.ts +354 -0
  174. package/src/__tests__/{EntityLoader-constructor-test.ts → AuthorizationResultBasedEntityLoader-constructor-test.ts} +17 -10
  175. package/src/__tests__/AuthorizationResultBasedEntityLoader-test.ts +730 -0
  176. package/src/__tests__/EnforcingEntityAssociationLoader-test.ts +253 -0
  177. package/src/__tests__/Entity-test.ts +24 -5
  178. package/src/__tests__/EntityAssociationLoader-test.ts +16 -259
  179. package/src/__tests__/EntityCommonUseCases-test.ts +20 -8
  180. package/src/__tests__/EntityCompanion-test.ts +1 -1
  181. package/src/__tests__/EntityDatabaseAdapter-test.ts +6 -6
  182. package/src/__tests__/EntityEdges-test.ts +24 -16
  183. package/src/__tests__/EntityLoader-test.ts +25 -675
  184. package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +4 -3
  185. package/src/__tests__/EntityMutator-test.ts +116 -103
  186. package/src/__tests__/EntitySecondaryCacheLoader-test.ts +7 -7
  187. package/src/__tests__/EntitySelfReferentialEdges-test.ts +36 -24
  188. package/src/__tests__/ReadonlyEntity-test.ts +1 -1
  189. package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +4 -2
  190. package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +7 -4
  191. package/src/__tests__/entityUtils-test.ts +12 -0
  192. package/src/entityUtils.ts +24 -9
  193. package/src/index.ts +19 -11
  194. package/src/internal/EntityFieldTransformationUtils.ts +2 -2
  195. package/src/internal/__tests__/EntityDataManager-test.ts +29 -29
  196. package/src/utils/EntityPrivacyUtils.ts +188 -107
  197. package/src/utils/__tests__/EntityPrivacyUtils-test.ts +169 -29
  198. package/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts +8 -5
  199. package/src/utils/collections/__tests__/maps-test.ts +1 -1
  200. package/src/utils/testing/PrivacyPolicyRuleTestUtils.ts +1 -1
  201. package/src/utils/testing/StubDatabaseAdapter.ts +1 -1
  202. package/src/utils/testing/StubQueryContextProvider.ts +1 -3
  203. package/src/utils/testing/createUnitTestEntityCompanionProvider.ts +3 -1
  204. package/build/EntityMutator.js.map +0 -1
  205. package/build/__tests__/EntityLoader-constructor-test.js.map +0 -1
  206. /package/build/__tests__/{EntityLoader-constructor-test.d.ts → AuthorizationResultBasedEntityLoader-constructor-test.d.ts} +0 -0
@@ -1,6 +1,10 @@
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
- const results_1 = require("@expo/results");
6
+ const AuthorizationResultBasedEntityAssociationLoader_1 = __importDefault(require("./AuthorizationResultBasedEntityAssociationLoader"));
7
+ const EnforcingEntityAssociationLoader_1 = __importDefault(require("./EnforcingEntityAssociationLoader"));
4
8
  /**
5
9
  * An association loader is a set of convenience methods for loading entities
6
10
  * associated with an entity. In relational databases, these entities are often referenced
@@ -8,140 +12,30 @@ const results_1 = require("@expo/results");
8
12
  */
9
13
  class EntityAssociationLoader {
10
14
  entity;
11
- constructor(entity) {
12
- this.entity = entity;
13
- }
14
- /**
15
- * Load an associated entity identified by a field value of this entity. In a relational database,
16
- * the field in this entity is a foreign key to the ID of the associated entity.
17
- * @param fieldIdentifyingAssociatedEntity - field of this entity containing the ID of the associated entity
18
- * @param associatedEntityClass - class of the associated entity
19
- * @param queryContext - query context in which to perform the load
20
- */
21
- async loadAssociatedEntityAsync(fieldIdentifyingAssociatedEntity, associatedEntityClass, queryContext = this.entity
22
- .getViewerContext()
23
- .getViewerScopedEntityCompanionForClass(associatedEntityClass)
24
- .getQueryContextProvider()
25
- .getQueryContext()) {
26
- const associatedEntityID = this.entity.getField(fieldIdentifyingAssociatedEntity);
27
- if (!associatedEntityID) {
28
- return (0, results_1.result)(null);
29
- }
30
- const loader = this.entity
31
- .getViewerContext()
32
- .getViewerScopedEntityCompanionForClass(associatedEntityClass)
33
- .getLoaderFactory()
34
- .forLoad(queryContext, { previousValue: null, cascadingDeleteCause: null });
35
- return (await loader
36
- .withAuthorizationResults()
37
- .loadByIDAsync(associatedEntityID));
38
- }
39
- /**
40
- * Load many entities associated with this entity, often referred to as entites belonging
41
- * to this entity. In a relational database, the field in the foreign entity is a
42
- * foreign key to the ID of this entity. Also commonly referred to as a has many relationship,
43
- * where this entity has many associated entities.
44
- * @param associatedEntityClass - class of the associated entities
45
- * @param associatedEntityFieldContainingThisID - field of associated entity which contains the ID of this entity
46
- * @param queryContext - query context in which to perform the load
47
- */
48
- async loadManyAssociatedEntitiesAsync(associatedEntityClass, associatedEntityFieldContainingThisID, queryContext = this.entity
15
+ queryContext;
16
+ constructor(entity, queryContext = entity
49
17
  .getViewerContext()
50
- .getViewerScopedEntityCompanionForClass(associatedEntityClass)
18
+ .getViewerScopedEntityCompanionForClass(entity.constructor)
51
19
  .getQueryContextProvider()
52
20
  .getQueryContext()) {
53
- const thisID = this.entity.getID();
54
- const loader = this.entity
55
- .getViewerContext()
56
- .getViewerScopedEntityCompanionForClass(associatedEntityClass)
57
- .getLoaderFactory()
58
- .forLoad(queryContext, { previousValue: null, cascadingDeleteCause: null });
59
- return await loader
60
- .withAuthorizationResults()
61
- .loadManyByFieldEqualingAsync(associatedEntityFieldContainingThisID, thisID);
21
+ this.entity = entity;
22
+ this.queryContext = queryContext;
62
23
  }
63
24
  /**
64
- * Load an associated entity identified by a field value of this entity. In a relational database,
65
- * the field in this entity is a foreign key to a unique field of the associated entity.
66
- * @param fieldIdentifyingAssociatedEntity - field of this entity containing the value with which to look up associated entity
67
- * @param associatedEntityClass - class of the associated entity
68
- * @param associatedEntityLookupByField - field of associated entity with which to look up the associated entity
69
- * @param queryContext - query context in which to perform the load
25
+ * Enforcing entity association loader. All loads through this loader are
26
+ * guaranteed to be the values of successful results (or null for some loader methods),
27
+ * and will throw otherwise.
70
28
  */
71
- async loadAssociatedEntityByFieldEqualingAsync(fieldIdentifyingAssociatedEntity, associatedEntityClass, associatedEntityLookupByField, queryContext = this.entity
72
- .getViewerContext()
73
- .getViewerScopedEntityCompanionForClass(associatedEntityClass)
74
- .getQueryContextProvider()
75
- .getQueryContext()) {
76
- const associatedFieldValue = this.entity.getField(fieldIdentifyingAssociatedEntity);
77
- if (!associatedFieldValue) {
78
- return null;
79
- }
80
- const loader = this.entity
81
- .getViewerContext()
82
- .getViewerScopedEntityCompanionForClass(associatedEntityClass)
83
- .getLoaderFactory()
84
- .forLoad(queryContext, { previousValue: null, cascadingDeleteCause: null });
85
- return await loader
86
- .withAuthorizationResults()
87
- .loadByFieldEqualingAsync(associatedEntityLookupByField, associatedFieldValue);
29
+ enforcing() {
30
+ return new EnforcingEntityAssociationLoader_1.default(this.withAuthorizationResults());
88
31
  }
89
32
  /**
90
- * Load many associated entities identified by a field value of this entity. In a relational database,
91
- * the field in this entity refers to a field of the associated entity.
92
- * @param fieldIdentifyingAssociatedEntity - field of this entity containing the value with which to look up associated entities
93
- * @param associatedEntityClass - class of the associated entities
94
- * @param associatedEntityLookupByField - field of associated entities with which to look up the associated entities
95
- * @param queryContext - query context in which to perform the load
33
+ * Authorization-result-based entity loader. All loads through this
34
+ * loader are results, where an unsuccessful result
35
+ * means an authorization error or entity construction error occurred. Other errors are thrown.
96
36
  */
97
- async loadManyAssociatedEntitiesByFieldEqualingAsync(fieldIdentifyingAssociatedEntity, associatedEntityClass, associatedEntityLookupByField, queryContext = this.entity
98
- .getViewerContext()
99
- .getViewerScopedEntityCompanionForClass(associatedEntityClass)
100
- .getQueryContextProvider()
101
- .getQueryContext()) {
102
- const associatedFieldValue = this.entity.getField(fieldIdentifyingAssociatedEntity);
103
- if (!associatedFieldValue) {
104
- return [];
105
- }
106
- const loader = this.entity
107
- .getViewerContext()
108
- .getViewerScopedEntityCompanionForClass(associatedEntityClass)
109
- .getLoaderFactory()
110
- .forLoad(queryContext, { previousValue: null, cascadingDeleteCause: null });
111
- return await loader
112
- .withAuthorizationResults()
113
- .loadManyByFieldEqualingAsync(associatedEntityLookupByField, associatedFieldValue);
114
- }
115
- async loadAssociatedEntityThroughAsync(loadDirectives, queryContext) {
116
- let currentEntity = this.entity;
117
- for (const loadDirective of loadDirectives) {
118
- const { associatedEntityClass, fieldIdentifyingAssociatedEntity, associatedEntityLookupByField, } = loadDirective;
119
- let associatedEntityResult;
120
- if (associatedEntityLookupByField) {
121
- associatedEntityResult = await currentEntity
122
- .associationLoader()
123
- .loadAssociatedEntityByFieldEqualingAsync(fieldIdentifyingAssociatedEntity, associatedEntityClass, associatedEntityLookupByField, queryContext);
124
- }
125
- else {
126
- const associatedEntityResultLocal = await currentEntity
127
- .associationLoader()
128
- .loadAssociatedEntityAsync(fieldIdentifyingAssociatedEntity, associatedEntityClass, queryContext);
129
- if (associatedEntityResultLocal.ok && associatedEntityResultLocal.value === null) {
130
- associatedEntityResult = null;
131
- }
132
- else {
133
- associatedEntityResult = associatedEntityResultLocal;
134
- }
135
- }
136
- if (!associatedEntityResult) {
137
- return null;
138
- }
139
- if (!associatedEntityResult.ok) {
140
- return (0, results_1.result)(associatedEntityResult.reason);
141
- }
142
- currentEntity = associatedEntityResult.value;
143
- }
144
- return (0, results_1.result)(currentEntity);
37
+ withAuthorizationResults() {
38
+ return new AuthorizationResultBasedEntityAssociationLoader_1.default(this.entity, this.queryContext);
145
39
  }
146
40
  }
147
41
  exports.default = EntityAssociationLoader;
@@ -1 +1 @@
1
- {"version":3,"file":"EntityAssociationLoader.js","sourceRoot":"","sources":["../src/EntityAssociationLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityAssociationLoader.js","sourceRoot":"","sources":["../src/EntityAssociationLoader.ts"],"names":[],"mappings":";;;;;AAAA,wIAAgH;AAChH,0GAAkF;AAMlF;;;;GAIG;AACH,MAAqB,uBAAuB;IAQvB;IACA;IAFnB,YACmB,MAAe,EACf,eAAmC,MAAM;SACvD,gBAAgB,EAAE;SAClB,sCAAsC,CACrC,MAAM,CAAC,WAON,CACF;SACA,uBAAuB,EAAE;SACzB,eAAe,EAAE;QAdH,WAAM,GAAN,MAAM,CAAS;QACf,iBAAY,GAAZ,YAAY,CAaT;IACnB,CAAC;IAEJ;;;;OAIG;IACH,SAAS;QAOP,OAAO,IAAI,0CAAgC,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED;;;;OAIG;IACH,wBAAwB;QAOtB,OAAO,IAAI,yDAA+C,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7F,CAAC;CACF;AAtDD,0CAsDC"}
@@ -79,8 +79,8 @@ export interface EntityCompanionDefinition<TFields extends object, TID extends N
79
79
  */
80
80
  export default class EntityCompanionProvider {
81
81
  readonly metricsAdapter: IEntityMetricsAdapter;
82
- private databaseAdapterFlavors;
83
- private cacheAdapterFlavors;
82
+ private readonly databaseAdapterFlavors;
83
+ private readonly cacheAdapterFlavors;
84
84
  readonly globalMutationTriggers: EntityMutationTriggerConfiguration<any, any, any, any, any>;
85
85
  private readonly companionDefinitionMap;
86
86
  private readonly companionMap;
@@ -1 +1 @@
1
- {"version":3,"file":"EntityCompanionProvider.js","sourceRoot":"","sources":["../src/EntityCompanionProvider.ts"],"names":[],"mappings":";;;;;AAAA,0DAAkC;AAGlC,wEAAyE;AAUzE,uGAA+E;AAE/E,mDAA2D;AAsG3D;;;;;;;;GAQG;AACH,MAAqB,uBAAuB;IAkBxB;IACR;IAIA;IACC;IAvBM,sBAAsB,GAGnC,IAAI,GAAG,EAAE,CAAC;IACG,YAAY,GAC3B,IAAI,GAAG,EAAE,CAAC;IACK,uBAAuB,GACtC,IAAI,GAAG,EAAE,CAAC;IAEZ;;;;;;OAMG;IACH,YACkB,cAAqC,EAC7C,sBAGP,EACO,mBAAkF,EACjF,yBAML,EAAE;QAZU,mBAAc,GAAd,cAAc,CAAuB;QAC7C,2BAAsB,GAAtB,sBAAsB,CAG7B;QACO,wBAAmB,GAAnB,mBAAmB,CAA+D;QACjF,2BAAsB,GAAtB,sBAAsB,CAMzB;IACL,CAAC;IAEJ;;;;;OAKG;IACH,qBAAqB,CAcnB,WAOC;QAED,MAAM,yBAAyB,GAAG,IAAA,sBAAe,EAC/C,IAAI,CAAC,sBAAsB,EAC3B,WAAW,CAAC,IAAI,EAChB,GAAG,EAAE,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAC9C,CAAC;QACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,gCAAgC,CAChE,yBAAyB,CAAC,mBAAmB,EAC7C,WAAW,CAAC,IAAI,CACjB,CAAC;QACF,OAAO,IAAA,sBAAe,EAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE;YAC/D,OAAO,IAAI,yBAAe,CACxB,IAAI,EACJ,yBAAyB,EACzB,oBAAoB,EACpB,IAAI,CAAC,cAAc,CACpB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C,CAC7C,qBAA4C;QAE5C,MAAM,2BAA2B,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC3F,IAAA,mBAAS,EACP,2BAA2B,EAC3B,uDAAuD,qBAAqB,EAAE,CAC/E,CAAC;QAEF,OAAO,2BAA2B,CAAC,oBAAoB,CAAC;IAC1D,CAAC;IAEO,gCAAgC,CACtC,mBAAiD,EACjD,eAAuB;QAEvB,OAAO,IAAA,sBAAe,EAAC,IAAI,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,SAAS,EAAE,GAAG,EAAE;YACvF,MAAM,2BAA2B,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CACjE,mBAAmB,CAAC,qBAAqB,CAC1C,CAAC;YACF,IAAA,mBAAS,EACP,2BAA2B,EAC3B,uDAAuD,mBAAmB,CAAC,qBAAqB,EAAE,CACnG,CAAC;YAEF,MAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC3D,mBAAmB,CAAC,kBAAkB,CACvC,CAAC;YACF,IAAA,mBAAS,EACP,wBAAwB,EACxB,oDAAoD,mBAAmB,CAAC,kBAAkB,EAAE,CAC7F,CAAC;YAEF,OAAO,IAAI,oCAA0B,CACnC,mBAAmB,EACnB,2BAA2B,CAAC,eAAe,EAC3C,wBAAwB,CAAC,oBAAoB,EAC7C,2BAA2B,CAAC,oBAAoB,EAChD,IAAI,CAAC,cAAc,EACnB,eAAe,CAChB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA5HD,0CA4HC"}
1
+ {"version":3,"file":"EntityCompanionProvider.js","sourceRoot":"","sources":["../src/EntityCompanionProvider.ts"],"names":[],"mappings":";;;;;AAAA,0DAAkC;AAGlC,wEAAyE;AAUzE,uGAA+E;AAE/E,mDAA2D;AAsG3D;;;;;;;;GAQG;AACH,MAAqB,uBAAuB;IAkBxB;IACC;IAIA;IAIR;IA1BM,sBAAsB,GAGnC,IAAI,GAAG,EAAE,CAAC;IACG,YAAY,GAC3B,IAAI,GAAG,EAAE,CAAC;IACK,uBAAuB,GACtC,IAAI,GAAG,EAAE,CAAC;IAEZ;;;;;;OAMG;IACH,YACkB,cAAqC,EACpC,sBAGhB,EACgB,mBAGhB,EACQ,yBAML,EAAE;QAfU,mBAAc,GAAd,cAAc,CAAuB;QACpC,2BAAsB,GAAtB,sBAAsB,CAGtC;QACgB,wBAAmB,GAAnB,mBAAmB,CAGnC;QACQ,2BAAsB,GAAtB,sBAAsB,CAMzB;IACL,CAAC;IAEJ;;;;;OAKG;IACH,qBAAqB,CAcnB,WAOC;QAED,MAAM,yBAAyB,GAAG,IAAA,sBAAe,EAC/C,IAAI,CAAC,sBAAsB,EAC3B,WAAW,CAAC,IAAI,EAChB,GAAG,EAAE,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAC9C,CAAC;QACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,gCAAgC,CAChE,yBAAyB,CAAC,mBAAmB,EAC7C,WAAW,CAAC,IAAI,CACjB,CAAC;QACF,OAAO,IAAA,sBAAe,EAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE;YAC/D,OAAO,IAAI,yBAAe,CACxB,IAAI,EACJ,yBAAyB,EACzB,oBAAoB,EACpB,IAAI,CAAC,cAAc,CACpB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C,CAC7C,qBAA4C;QAE5C,MAAM,2BAA2B,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC3F,IAAA,mBAAS,EACP,2BAA2B,EAC3B,uDAAuD,qBAAqB,EAAE,CAC/E,CAAC;QAEF,OAAO,2BAA2B,CAAC,oBAAoB,CAAC;IAC1D,CAAC;IAEO,gCAAgC,CACtC,mBAAiD,EACjD,eAAuB;QAEvB,OAAO,IAAA,sBAAe,EAAC,IAAI,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,SAAS,EAAE,GAAG,EAAE;YACvF,MAAM,2BAA2B,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CACjE,mBAAmB,CAAC,qBAAqB,CAC1C,CAAC;YACF,IAAA,mBAAS,EACP,2BAA2B,EAC3B,uDAAuD,mBAAmB,CAAC,qBAAqB,EAAE,CACnG,CAAC;YAEF,MAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC3D,mBAAmB,CAAC,kBAAkB,CACvC,CAAC;YACF,IAAA,mBAAS,EACP,wBAAwB,EACxB,oDAAoD,mBAAmB,CAAC,kBAAkB,EAAE,CAC7F,CAAC;YAEF,OAAO,IAAI,oCAA0B,CACnC,mBAAmB,EACnB,2BAA2B,CAAC,eAAe,EAC3C,wBAAwB,CAAC,oBAAoB,EAC7C,2BAA2B,CAAC,oBAAoB,EAChD,IAAI,CAAC,cAAc,EACnB,eAAe,CAChB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA/HD,0CA+HC"}
@@ -0,0 +1,27 @@
1
+ import { AuthorizationResultBasedCreateMutator } from './AuthorizationResultBasedEntityMutator';
2
+ import EnforcingEntityCreator from './EnforcingEntityCreator';
3
+ import { IEntityClass } from './Entity';
4
+ import EntityPrivacyPolicy from './EntityPrivacyPolicy';
5
+ import { EntityQueryContext } from './EntityQueryContext';
6
+ import ReadonlyEntity from './ReadonlyEntity';
7
+ import ViewerContext from './ViewerContext';
8
+ /**
9
+ * The primary interface for creating entities.
10
+ */
11
+ export default class EntityCreator<TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TViewerContext2 extends TViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
12
+ private readonly viewerContext;
13
+ private readonly queryContext;
14
+ private readonly entityClass;
15
+ constructor(viewerContext: TViewerContext2, queryContext: EntityQueryContext, entityClass: IEntityClass<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>);
16
+ /**
17
+ * Enforcing entity creator. All creates through this creator are
18
+ * guaranteed to be successful and will throw otherwise.
19
+ */
20
+ enforcing(): EnforcingEntityCreator<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
21
+ /**
22
+ * Authorization-result-based entity creator. All creates through this
23
+ * creator are results, where an unsuccessful result means an authorization
24
+ * error or entity construction error occurred. Other errors are thrown.
25
+ */
26
+ withAuthorizationResults(): AuthorizationResultBasedCreateMutator<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
27
+ }
@@ -0,0 +1,39 @@
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
+ const EnforcingEntityCreator_1 = __importDefault(require("./EnforcingEntityCreator"));
7
+ /**
8
+ * The primary interface for creating entities.
9
+ */
10
+ class EntityCreator {
11
+ viewerContext;
12
+ queryContext;
13
+ entityClass;
14
+ constructor(viewerContext, queryContext, entityClass) {
15
+ this.viewerContext = viewerContext;
16
+ this.queryContext = queryContext;
17
+ this.entityClass = entityClass;
18
+ }
19
+ /**
20
+ * Enforcing entity creator. All creates through this creator are
21
+ * guaranteed to be successful and will throw otherwise.
22
+ */
23
+ enforcing() {
24
+ return new EnforcingEntityCreator_1.default(this.withAuthorizationResults());
25
+ }
26
+ /**
27
+ * Authorization-result-based entity creator. All creates through this
28
+ * creator are results, where an unsuccessful result means an authorization
29
+ * error or entity construction error occurred. Other errors are thrown.
30
+ */
31
+ withAuthorizationResults() {
32
+ return this.viewerContext
33
+ .getViewerScopedEntityCompanionForClass(this.entityClass)
34
+ .getMutatorFactory()
35
+ .forCreate(this.queryContext);
36
+ }
37
+ }
38
+ exports.default = EntityCreator;
39
+ //# sourceMappingURL=EntityCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityCreator.js","sourceRoot":"","sources":["../src/EntityCreator.ts"],"names":[],"mappings":";;;;;AACA,sFAA8D;AAO9D;;GAEG;AACH,MAAqB,aAAa;IAgBb;IACA;IACA;IAHnB,YACmB,aAA8B,EAC9B,YAAgC,EAChC,WAOhB;QATgB,kBAAa,GAAb,aAAa,CAAiB;QAC9B,iBAAY,GAAZ,YAAY,CAAoB;QAChC,gBAAW,GAAX,WAAW,CAO3B;IACA,CAAC;IAEJ;;;OAGG;IACH,SAAS;QAQP,OAAO,IAAI,gCAAsB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,wBAAwB;QAQtB,OAAO,IAAI,CAAC,aAAa;aACtB,sCAAsC,CAAC,IAAI,CAAC,WAAW,CAAC;aACxD,iBAAiB,EAAE;aACnB,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;CACF;AA7DD,gCA6DC"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OrderByOrdering = exports.isSingleValueFieldEqualityCondition = void 0;
3
+ exports.OrderByOrdering = void 0;
4
+ exports.isSingleValueFieldEqualityCondition = isSingleValueFieldEqualityCondition;
4
5
  const EntityFieldTransformationUtils_1 = require("./internal/EntityFieldTransformationUtils");
5
6
  function isSingleValueFieldEqualityCondition(condition) {
6
7
  return condition.fieldValue !== undefined;
7
8
  }
8
- exports.isSingleValueFieldEqualityCondition = isSingleValueFieldEqualityCondition;
9
9
  var OrderByOrdering;
10
10
  (function (OrderByOrdering) {
11
11
  OrderByOrdering["ASCENDING"] = "asc";
@@ -1 +1 @@
1
- {"version":3,"file":"EntityDatabaseAdapter.js","sourceRoot":"","sources":["../src/EntityDatabaseAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityDatabaseAdapter.js","sourceRoot":"","sources":["../src/EntityDatabaseAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { AuthorizationResultBasedDeleteMutator } from './AuthorizationResultBasedEntityMutator';
2
+ import EnforcingEntityDeleter from './EnforcingEntityDeleter';
3
+ import { IEntityClass } from './Entity';
4
+ import EntityPrivacyPolicy from './EntityPrivacyPolicy';
5
+ import { EntityQueryContext } from './EntityQueryContext';
6
+ import ReadonlyEntity from './ReadonlyEntity';
7
+ import ViewerContext from './ViewerContext';
8
+ /**
9
+ * The primary interface for deleting entities.
10
+ */
11
+ export default class EntityDeleter<TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
12
+ private readonly existingEntity;
13
+ private readonly queryContext;
14
+ private readonly entityClass;
15
+ constructor(existingEntity: TEntity, queryContext: EntityQueryContext, entityClass: IEntityClass<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>);
16
+ /**
17
+ * Enforcing entity deleter. All deletes through this deleter are
18
+ * guaranteed to be successful and will throw otherwise.
19
+ */
20
+ enforcing(): EnforcingEntityDeleter<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
21
+ /**
22
+ * Authorization-result-based entity deleter. All deletes through this
23
+ * deleter are results, where an unsuccessful result means an authorization
24
+ * error or entity construction error occurred. Other errors are thrown.
25
+ */
26
+ withAuthorizationResults(): AuthorizationResultBasedDeleteMutator<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
27
+ }
@@ -0,0 +1,40 @@
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
+ const EnforcingEntityDeleter_1 = __importDefault(require("./EnforcingEntityDeleter"));
7
+ /**
8
+ * The primary interface for deleting entities.
9
+ */
10
+ class EntityDeleter {
11
+ existingEntity;
12
+ queryContext;
13
+ entityClass;
14
+ constructor(existingEntity, queryContext, entityClass) {
15
+ this.existingEntity = existingEntity;
16
+ this.queryContext = queryContext;
17
+ this.entityClass = entityClass;
18
+ }
19
+ /**
20
+ * Enforcing entity deleter. All deletes through this deleter are
21
+ * guaranteed to be successful and will throw otherwise.
22
+ */
23
+ enforcing() {
24
+ return new EnforcingEntityDeleter_1.default(this.withAuthorizationResults());
25
+ }
26
+ /**
27
+ * Authorization-result-based entity deleter. All deletes through this
28
+ * deleter are results, where an unsuccessful result means an authorization
29
+ * error or entity construction error occurred. Other errors are thrown.
30
+ */
31
+ withAuthorizationResults() {
32
+ return this.existingEntity
33
+ .getViewerContext()
34
+ .getViewerScopedEntityCompanionForClass(this.entityClass)
35
+ .getMutatorFactory()
36
+ .forDelete(this.existingEntity, this.queryContext);
37
+ }
38
+ }
39
+ exports.default = EntityDeleter;
40
+ //# sourceMappingURL=EntityDeleter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityDeleter.js","sourceRoot":"","sources":["../src/EntityDeleter.ts"],"names":[],"mappings":";;;;;AACA,sFAA8D;AAO9D;;GAEG;AACH,MAAqB,aAAa;IAeb;IACA;IACA;IAHnB,YACmB,cAAuB,EACvB,YAAgC,EAChC,WAOhB;QATgB,mBAAc,GAAd,cAAc,CAAS;QACvB,iBAAY,GAAZ,YAAY,CAAoB;QAChC,gBAAW,GAAX,WAAW,CAO3B;IACA,CAAC;IAEJ;;;OAGG;IACH,SAAS;QAQP,OAAO,IAAI,gCAAsB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,wBAAwB;QAQtB,OAAO,IAAI,CAAC,cAAc;aACvB,gBAAgB,EAAE;aAClB,sCAAsC,CAAC,IAAI,CAAC,WAAW,CAAC;aACxD,iBAAiB,EAAE;aACnB,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;CACF;AA7DD,gCA6DC"}
@@ -1,30 +1,20 @@
1
1
  import AuthorizationResultBasedEntityLoader from './AuthorizationResultBasedEntityLoader';
2
2
  import EnforcingEntityLoader from './EnforcingEntityLoader';
3
3
  import { IEntityClass } from './Entity';
4
- import EntityConfiguration from './EntityConfiguration';
5
4
  import EntityLoaderUtils from './EntityLoaderUtils';
6
- import EntityPrivacyPolicy, { EntityPrivacyPolicyEvaluationContext } from './EntityPrivacyPolicy';
5
+ import EntityPrivacyPolicy from './EntityPrivacyPolicy';
7
6
  import { EntityQueryContext } from './EntityQueryContext';
8
7
  import ReadonlyEntity from './ReadonlyEntity';
9
8
  import ViewerContext from './ViewerContext';
10
- import EntityDataManager from './internal/EntityDataManager';
11
- import IEntityMetricsAdapter from './metrics/IEntityMetricsAdapter';
12
9
  /**
13
10
  * The primary interface for loading entities. All normal loads are batched,
14
11
  * cached, and authorized against the entity's EntityPrivacyPolicy.
15
12
  */
16
- export default class EntityLoader<TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
13
+ export default class EntityLoader<TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TViewerContext2 extends TViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
17
14
  private readonly viewerContext;
18
15
  private readonly queryContext;
19
- private readonly privacyPolicyEvaluationContext;
20
- private readonly entityConfiguration;
21
16
  private readonly entityClass;
22
- private readonly entitySelectedFields;
23
- private readonly privacyPolicy;
24
- private readonly dataManager;
25
- protected readonly metricsAdapter: IEntityMetricsAdapter;
26
- private readonly utilsPrivate;
27
- constructor(viewerContext: TViewerContext, queryContext: EntityQueryContext, privacyPolicyEvaluationContext: EntityPrivacyPolicyEvaluationContext<TFields, TID, TViewerContext, TEntity, TSelectedFields>, entityConfiguration: EntityConfiguration<TFields>, entityClass: IEntityClass<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, entitySelectedFields: TSelectedFields[] | undefined, privacyPolicy: TPrivacyPolicy, dataManager: EntityDataManager<TFields>, metricsAdapter: IEntityMetricsAdapter);
17
+ constructor(viewerContext: TViewerContext2, queryContext: EntityQueryContext, entityClass: IEntityClass<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>);
28
18
  /**
29
19
  * Enforcing entity loader. All loads through this loader are
30
20
  * guaranteed to be the values of successful results (or null for some loader methods),
@@ -33,7 +23,7 @@ export default class EntityLoader<TFields extends object, TID extends NonNullabl
33
23
  enforcing(): EnforcingEntityLoader<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
34
24
  /**
35
25
  * Authorization-result-based entity loader. All loads through this
36
- * loader are are results (or null for some loader methods), where an unsuccessful result
26
+ * loader are results (or null for some loader methods), where an unsuccessful result
37
27
  * means an authorization error or entity construction error occurred. Other errors are thrown.
38
28
  */
39
29
  withAuthorizationResults(): AuthorizationResultBasedEntityLoader<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
@@ -3,9 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const AuthorizationResultBasedEntityLoader_1 = __importDefault(require("./AuthorizationResultBasedEntityLoader"));
7
6
  const EnforcingEntityLoader_1 = __importDefault(require("./EnforcingEntityLoader"));
8
- const EntityLoaderUtils_1 = __importDefault(require("./EntityLoaderUtils"));
9
7
  /**
10
8
  * The primary interface for loading entities. All normal loads are batched,
11
9
  * cached, and authorized against the entity's EntityPrivacyPolicy.
@@ -13,25 +11,11 @@ const EntityLoaderUtils_1 = __importDefault(require("./EntityLoaderUtils"));
13
11
  class EntityLoader {
14
12
  viewerContext;
15
13
  queryContext;
16
- privacyPolicyEvaluationContext;
17
- entityConfiguration;
18
14
  entityClass;
19
- entitySelectedFields;
20
- privacyPolicy;
21
- dataManager;
22
- metricsAdapter;
23
- utilsPrivate;
24
- constructor(viewerContext, queryContext, privacyPolicyEvaluationContext, entityConfiguration, entityClass, entitySelectedFields, privacyPolicy, dataManager, metricsAdapter) {
15
+ constructor(viewerContext, queryContext, entityClass) {
25
16
  this.viewerContext = viewerContext;
26
17
  this.queryContext = queryContext;
27
- this.privacyPolicyEvaluationContext = privacyPolicyEvaluationContext;
28
- this.entityConfiguration = entityConfiguration;
29
18
  this.entityClass = entityClass;
30
- this.entitySelectedFields = entitySelectedFields;
31
- this.privacyPolicy = privacyPolicy;
32
- this.dataManager = dataManager;
33
- this.metricsAdapter = metricsAdapter;
34
- this.utilsPrivate = new EntityLoaderUtils_1.default(this.viewerContext, this.queryContext, this.privacyPolicyEvaluationContext, this.entityConfiguration, this.entityClass, this.entitySelectedFields, this.privacyPolicy, this.dataManager, this.metricsAdapter);
35
19
  }
36
20
  /**
37
21
  * Enforcing entity loader. All loads through this loader are
@@ -43,18 +27,21 @@ class EntityLoader {
43
27
  }
44
28
  /**
45
29
  * Authorization-result-based entity loader. All loads through this
46
- * loader are are results (or null for some loader methods), where an unsuccessful result
30
+ * loader are results (or null for some loader methods), where an unsuccessful result
47
31
  * means an authorization error or entity construction error occurred. Other errors are thrown.
48
32
  */
49
33
  withAuthorizationResults() {
50
- return new AuthorizationResultBasedEntityLoader_1.default(this.queryContext, this.entityConfiguration, this.entityClass, this.dataManager, this.metricsAdapter, this.utilsPrivate);
34
+ return this.viewerContext
35
+ .getViewerScopedEntityCompanionForClass(this.entityClass)
36
+ .getLoaderFactory()
37
+ .forLoad(this.queryContext, { previousValue: null, cascadingDeleteCause: null });
51
38
  }
52
39
  /**
53
40
  * Entity loader utilities for things like cache invalidation, entity construction, and authorization.
54
41
  * Calling into these should only be necessary in rare cases.
55
42
  */
56
43
  utils() {
57
- return this.utilsPrivate;
44
+ return this.withAuthorizationResults().utils;
58
45
  }
59
46
  }
60
47
  exports.default = EntityLoader;
@@ -1 +1 @@
1
- {"version":3,"file":"EntityLoader.js","sourceRoot":"","sources":["../src/EntityLoader.ts"],"names":[],"mappings":";;;;;AAAA,kHAA0F;AAC1F,oFAA4D;AAG5D,4EAAoD;AAQpD;;;GAGG;AACH,MAAqB,YAAY;IAwBZ;IACA;IACA;IAOA;IACA;IAQA;IACA;IACA;IACE;IA/BJ,YAAY,CAO3B;IAEF,YACmB,aAA6B,EAC7B,YAAgC,EAChC,8BAMhB,EACgB,mBAAiD,EACjD,WAOhB,EACgB,oBAAmD,EACnD,aAA6B,EAC7B,WAAuC,EACrC,cAAqC;QArBvC,kBAAa,GAAb,aAAa,CAAgB;QAC7B,iBAAY,GAAZ,YAAY,CAAoB;QAChC,mCAA8B,GAA9B,8BAA8B,CAM9C;QACgB,wBAAmB,GAAnB,mBAAmB,CAA8B;QACjD,gBAAW,GAAX,WAAW,CAO3B;QACgB,yBAAoB,GAApB,oBAAoB,CAA+B;QACnD,kBAAa,GAAb,aAAa,CAAgB;QAC7B,gBAAW,GAAX,WAAW,CAA4B;QACrC,mBAAc,GAAd,cAAc,CAAuB;QAExD,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAiB,CACvC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,8BAA8B,EACnC,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,CACpB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,SAAS;QAQP,OAAO,IAAI,+BAAqB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,wBAAwB;QAQtB,OAAO,IAAI,8CAAoC,CAC7C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,YAAY,CAClB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,KAAK;QAQV,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AAjHD,+BAiHC"}
1
+ {"version":3,"file":"EntityLoader.js","sourceRoot":"","sources":["../src/EntityLoader.ts"],"names":[],"mappings":";;;;;AACA,oFAA4D;AAQ5D;;;GAGG;AACH,MAAqB,YAAY;IAgBZ;IACA;IACA;IAHnB,YACmB,aAA8B,EAC9B,YAAgC,EAChC,WAOhB;QATgB,kBAAa,GAAb,aAAa,CAAiB;QAC9B,iBAAY,GAAZ,YAAY,CAAoB;QAChC,gBAAW,GAAX,WAAW,CAO3B;IACA,CAAC;IAEJ;;;;OAIG;IACH,SAAS;QAQP,OAAO,IAAI,+BAAqB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,wBAAwB;QAQtB,OAAO,IAAI,CAAC,aAAa;aACtB,sCAAsC,CAAC,IAAI,CAAC,WAAW,CAAC;aACxD,gBAAgB,EAAE;aAClB,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IAED;;;OAGG;IACI,KAAK;QAQV,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC,KAAK,CAAC;IAC/C,CAAC;CACF;AA7ED,+BA6EC"}
@@ -1,5 +1,5 @@
1
+ import AuthorizationResultBasedEntityLoader from './AuthorizationResultBasedEntityLoader';
1
2
  import EntityCompanion from './EntityCompanion';
2
- import EntityLoader from './EntityLoader';
3
3
  import EntityPrivacyPolicy, { EntityPrivacyPolicyEvaluationContext } from './EntityPrivacyPolicy';
4
4
  import { EntityQueryContext } from './EntityQueryContext';
5
5
  import ReadonlyEntity from './ReadonlyEntity';
@@ -19,5 +19,5 @@ export default class EntityLoaderFactory<TFields extends object, TID extends Non
19
19
  * @param viewerContext - viewer context of loading user
20
20
  * @param queryContext - query context in which to perform the load
21
21
  */
22
- forLoad(viewerContext: TViewerContext, queryContext: EntityQueryContext, privacyPolicyEvaluationContext: EntityPrivacyPolicyEvaluationContext<TFields, TID, TViewerContext, TEntity, TSelectedFields>): EntityLoader<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
22
+ forLoad(viewerContext: TViewerContext, queryContext: EntityQueryContext, privacyPolicyEvaluationContext: EntityPrivacyPolicyEvaluationContext<TFields, TID, TViewerContext, TEntity, TSelectedFields>): AuthorizationResultBasedEntityLoader<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
23
23
  }
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const EntityLoader_1 = __importDefault(require("./EntityLoader"));
6
+ const AuthorizationResultBasedEntityLoader_1 = __importDefault(require("./AuthorizationResultBasedEntityLoader"));
7
+ const EntityLoaderUtils_1 = __importDefault(require("./EntityLoaderUtils"));
7
8
  /**
8
9
  * The primary entry point for loading entities.
9
10
  */
@@ -22,7 +23,8 @@ class EntityLoaderFactory {
22
23
  * @param queryContext - query context in which to perform the load
23
24
  */
24
25
  forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext) {
25
- return new EntityLoader_1.default(viewerContext, queryContext, privacyPolicyEvaluationContext, this.entityCompanion.entityCompanionDefinition.entityConfiguration, this.entityCompanion.entityCompanionDefinition.entityClass, this.entityCompanion.entityCompanionDefinition.entitySelectedFields, this.entityCompanion.privacyPolicy, this.dataManager, this.metricsAdapter);
26
+ const utils = new EntityLoaderUtils_1.default(viewerContext, queryContext, privacyPolicyEvaluationContext, this.entityCompanion.entityCompanionDefinition.entityConfiguration, this.entityCompanion.entityCompanionDefinition.entityClass, this.entityCompanion.entityCompanionDefinition.entitySelectedFields, this.entityCompanion.privacyPolicy, this.dataManager, this.metricsAdapter);
27
+ return new AuthorizationResultBasedEntityLoader_1.default(queryContext, this.entityCompanion.entityCompanionDefinition.entityConfiguration, this.entityCompanion.entityCompanionDefinition.entityClass, this.dataManager, this.metricsAdapter, utils);
26
28
  }
27
29
  }
28
30
  exports.default = EntityLoaderFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"EntityLoaderFactory.js","sourceRoot":"","sources":["../src/EntityLoaderFactory.ts"],"names":[],"mappings":";;;;;AACA,kEAA0C;AAQ1C;;GAEG;AACH,MAAqB,mBAAmB;IAenB;IAQA;IACE;IAVrB,YACmB,eAOhB,EACgB,WAAuC,EACrC,cAAqC;QATvC,oBAAe,GAAf,eAAe,CAO/B;QACgB,gBAAW,GAAX,WAAW,CAA4B;QACrC,mBAAc,GAAd,cAAc,CAAuB;IACvD,CAAC;IAEJ;;;;OAIG;IACH,OAAO,CACL,aAA6B,EAC7B,YAAgC,EAChC,8BAMC;QAED,OAAO,IAAI,sBAAY,CACrB,aAAa,EACb,YAAY,EACZ,8BAA8B,EAC9B,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,mBAAmB,EAClE,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,WAAW,EAC1D,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,oBAAoB,EACnE,IAAI,CAAC,eAAe,CAAC,aAAa,EAClC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,CACpB,CAAC;IACJ,CAAC;CACF;AAvDD,sCAuDC"}
1
+ {"version":3,"file":"EntityLoaderFactory.js","sourceRoot":"","sources":["../src/EntityLoaderFactory.ts"],"names":[],"mappings":";;;;;AAAA,kHAA0F;AAE1F,4EAAoD;AAQpD;;GAEG;AACH,MAAqB,mBAAmB;IAenB;IAQA;IACE;IAVrB,YACmB,eAOhB,EACgB,WAAuC,EACrC,cAAqC;QATvC,oBAAe,GAAf,eAAe,CAO/B;QACgB,gBAAW,GAAX,WAAW,CAA4B;QACrC,mBAAc,GAAd,cAAc,CAAuB;IACvD,CAAC;IAEJ;;;;OAIG;IACH,OAAO,CACL,aAA6B,EAC7B,YAAgC,EAChC,8BAMC;QASD,MAAM,KAAK,GAAG,IAAI,2BAAiB,CACjC,aAAa,EACb,YAAY,EACZ,8BAA8B,EAC9B,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,mBAAmB,EAClE,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,WAAW,EAC1D,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,oBAAoB,EACnE,IAAI,CAAC,eAAe,CAAC,aAAa,EAClC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,CACpB,CAAC;QAEF,OAAO,IAAI,8CAAoC,CAC7C,YAAY,EACZ,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,mBAAmB,EAClE,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,WAAW,EAC1D,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,EACnB,KAAK,CACN,CAAC;IACJ,CAAC;CACF;AAvED,sCAuEC"}
@@ -1,3 +1,4 @@
1
+ import { AuthorizationResultBasedCreateMutator, AuthorizationResultBasedUpdateMutator, AuthorizationResultBasedDeleteMutator } from './AuthorizationResultBasedEntityMutator';
1
2
  import Entity, { IEntityClass } from './Entity';
2
3
  import EntityCompanionProvider from './EntityCompanionProvider';
3
4
  import EntityConfiguration from './EntityConfiguration';
@@ -5,7 +6,6 @@ import EntityDatabaseAdapter from './EntityDatabaseAdapter';
5
6
  import EntityLoaderFactory from './EntityLoaderFactory';
6
7
  import EntityMutationTriggerConfiguration from './EntityMutationTriggerConfiguration';
7
8
  import EntityMutationValidator from './EntityMutationValidator';
8
- import { CreateMutator, UpdateMutator, DeleteMutator } from './EntityMutator';
9
9
  import EntityPrivacyPolicy from './EntityPrivacyPolicy';
10
10
  import { EntityQueryContext } from './EntityQueryContext';
11
11
  import ViewerContext from './ViewerContext';
@@ -30,18 +30,18 @@ export default class EntityMutatorFactory<TFields extends object, TID extends No
30
30
  * @param queryContext - query context in which to perform the create
31
31
  * @returns mutator for creating an entity
32
32
  */
33
- forCreate(viewerContext: TViewerContext, queryContext: EntityQueryContext): CreateMutator<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
33
+ forCreate(viewerContext: TViewerContext, queryContext: EntityQueryContext): AuthorizationResultBasedCreateMutator<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
34
34
  /**
35
35
  * Vend mutator for updating an existing entity in given query context.
36
36
  * @param existingEntity - entity to update
37
37
  * @param queryContext - query context in which to perform the update
38
38
  * @returns mutator for updating existingEntity
39
39
  */
40
- forUpdate(existingEntity: TEntity, queryContext: EntityQueryContext): UpdateMutator<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
40
+ forUpdate(existingEntity: TEntity, queryContext: EntityQueryContext): AuthorizationResultBasedUpdateMutator<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
41
41
  /**
42
42
  * Delete an existing entity in given query context.
43
43
  * @param existingEntity - entity to delete
44
44
  * @param queryContext - query context in which to perform the delete
45
45
  */
46
- forDelete(existingEntity: TEntity, queryContext: EntityQueryContext): DeleteMutator<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
46
+ forDelete(existingEntity: TEntity, queryContext: EntityQueryContext): AuthorizationResultBasedDeleteMutator<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
47
47
  }