@expo/entity 0.40.0 → 0.42.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 (433) hide show
  1. package/build/AuthorizationResultBasedEntityAssociationLoader.d.ts +16 -16
  2. package/build/AuthorizationResultBasedEntityAssociationLoader.js +2 -4
  3. package/build/AuthorizationResultBasedEntityAssociationLoader.js.map +1 -1
  4. package/build/AuthorizationResultBasedEntityLoader.d.ts +39 -67
  5. package/build/AuthorizationResultBasedEntityLoader.js +85 -62
  6. package/build/AuthorizationResultBasedEntityLoader.js.map +1 -1
  7. package/build/AuthorizationResultBasedEntityMutator.d.ts +16 -16
  8. package/build/AuthorizationResultBasedEntityMutator.js.map +1 -1
  9. package/build/ComposedEntityCacheAdapter.d.ts +7 -6
  10. package/build/ComposedEntityCacheAdapter.js +28 -28
  11. package/build/ComposedEntityCacheAdapter.js.map +1 -1
  12. package/build/ComposedSecondaryEntityCache.d.ts +1 -1
  13. package/build/ComposedSecondaryEntityCache.js.map +1 -1
  14. package/build/EnforcingEntityAssociationLoader.d.ts +15 -15
  15. package/build/EnforcingEntityAssociationLoader.js.map +1 -1
  16. package/build/EnforcingEntityCreator.d.ts +2 -2
  17. package/build/EnforcingEntityDeleter.d.ts +2 -2
  18. package/build/EnforcingEntityLoader.d.ts +104 -18
  19. package/build/EnforcingEntityLoader.js +113 -12
  20. package/build/EnforcingEntityLoader.js.map +1 -1
  21. package/build/EnforcingEntityUpdater.d.ts +2 -2
  22. package/build/Entity.d.ts +32 -10
  23. package/build/Entity.js +41 -3
  24. package/build/Entity.js.map +1 -1
  25. package/build/EntityAssociationLoader.d.ts +3 -3
  26. package/build/EntityCompanion.d.ts +5 -5
  27. package/build/EntityCompanion.js.map +1 -1
  28. package/build/EntityCompanionProvider.d.ts +6 -6
  29. package/build/EntityCompanionProvider.js.map +1 -1
  30. package/build/EntityConfiguration.d.ts +46 -5
  31. package/build/EntityConfiguration.js +39 -1
  32. package/build/EntityConfiguration.js.map +1 -1
  33. package/build/EntityCreator.d.ts +4 -4
  34. package/build/EntityDatabaseAdapter.d.ts +15 -14
  35. package/build/EntityDatabaseAdapter.js +20 -12
  36. package/build/EntityDatabaseAdapter.js.map +1 -1
  37. package/build/EntityDeleter.d.ts +4 -4
  38. package/build/EntityFieldDefinition.d.ts +20 -10
  39. package/build/EntityFieldDefinition.js +3 -1
  40. package/build/EntityFieldDefinition.js.map +1 -1
  41. package/build/EntityFields.d.ts +14 -12
  42. package/build/EntityFields.js.map +1 -1
  43. package/build/EntityLoader.d.ts +5 -5
  44. package/build/EntityLoaderFactory.d.ts +3 -3
  45. package/build/EntityLoaderFactory.js.map +1 -1
  46. package/build/EntityLoaderUtils.d.ts +2 -2
  47. package/build/EntityLoaderUtils.js +27 -1
  48. package/build/EntityLoaderUtils.js.map +1 -1
  49. package/build/EntityMutationInfo.d.ts +2 -2
  50. package/build/EntityMutationTriggerConfiguration.d.ts +14 -14
  51. package/build/EntityMutationTriggerConfiguration.js.map +1 -1
  52. package/build/EntityMutationValidator.d.ts +2 -2
  53. package/build/EntityMutatorFactory.d.ts +5 -5
  54. package/build/EntityMutatorFactory.js.map +1 -1
  55. package/build/EntityPrivacyPolicy.d.ts +14 -14
  56. package/build/EntityPrivacyPolicy.js.map +1 -1
  57. package/build/EntitySecondaryCacheLoader.d.ts +4 -4
  58. package/build/EntityUpdater.d.ts +4 -4
  59. package/build/GenericEntityCacheAdapter.d.ts +7 -6
  60. package/build/GenericEntityCacheAdapter.js +13 -14
  61. package/build/GenericEntityCacheAdapter.js.map +1 -1
  62. package/build/GenericSecondaryEntityCache.d.ts +3 -3
  63. package/build/GenericSecondaryEntityCache.js.map +1 -1
  64. package/build/IEntityCacheAdapter.d.ts +17 -16
  65. package/build/IEntityCacheAdapterProvider.d.ts +1 -1
  66. package/build/IEntityDatabaseAdapterProvider.d.ts +1 -1
  67. package/build/IEntityGenericCacher.d.ts +15 -5
  68. package/build/ReadonlyEntity.d.ts +27 -8
  69. package/build/ReadonlyEntity.js +31 -3
  70. package/build/ReadonlyEntity.js.map +1 -1
  71. package/build/ViewerContext.d.ts +1 -1
  72. package/build/ViewerScopedEntityCompanion.d.ts +5 -5
  73. package/build/ViewerScopedEntityCompanionProvider.d.ts +1 -1
  74. package/build/ViewerScopedEntityLoaderFactory.d.ts +3 -3
  75. package/build/ViewerScopedEntityMutatorFactory.d.ts +5 -5
  76. package/build/entityUtils.d.ts +1 -1
  77. package/build/entityUtils.js.map +1 -1
  78. package/build/errors/EntityInvalidFieldValueError.d.ts +2 -2
  79. package/build/errors/EntityNotAuthorizedError.d.ts +1 -1
  80. package/build/errors/EntityNotFoundError.d.ts +2 -2
  81. package/build/index.d.ts +7 -7
  82. package/build/index.js +8 -13
  83. package/build/index.js.map +1 -1
  84. package/build/internal/CompositeFieldHolder.d.ts +48 -0
  85. package/build/internal/CompositeFieldHolder.js +116 -0
  86. package/build/internal/CompositeFieldHolder.js.map +1 -0
  87. package/build/internal/CompositeFieldValueMap.d.ts +15 -0
  88. package/build/internal/CompositeFieldValueMap.js +51 -0
  89. package/build/internal/CompositeFieldValueMap.js.map +1 -0
  90. package/build/internal/EntityDataManager.d.ts +16 -16
  91. package/build/internal/EntityDataManager.js +42 -45
  92. package/build/internal/EntityDataManager.js.map +1 -1
  93. package/build/internal/EntityFieldTransformationUtils.d.ts +5 -5
  94. package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
  95. package/build/internal/EntityLoadInterfaces.d.ts +104 -0
  96. package/build/internal/EntityLoadInterfaces.js +25 -0
  97. package/build/internal/EntityLoadInterfaces.js.map +1 -0
  98. package/build/internal/EntityTableDataCoordinator.d.ts +6 -6
  99. package/build/internal/EntityTableDataCoordinator.js.map +1 -1
  100. package/build/internal/ReadThroughEntityCache.d.ts +17 -16
  101. package/build/internal/ReadThroughEntityCache.js +36 -36
  102. package/build/internal/ReadThroughEntityCache.js.map +1 -1
  103. package/build/internal/SingleFieldHolder.d.ts +34 -0
  104. package/build/internal/SingleFieldHolder.js +90 -0
  105. package/build/internal/SingleFieldHolder.js.map +1 -0
  106. package/build/metrics/EntityMetricsUtils.d.ts +2 -1
  107. package/build/metrics/EntityMetricsUtils.js.map +1 -1
  108. package/build/metrics/IEntityMetricsAdapter.d.ts +5 -0
  109. package/build/metrics/IEntityMetricsAdapter.js.map +1 -1
  110. package/build/rules/AlwaysAllowPrivacyPolicyRule.d.ts +2 -2
  111. package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -1
  112. package/build/rules/AlwaysDenyPrivacyPolicyRule.d.ts +2 -2
  113. package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -1
  114. package/build/rules/AlwaysSkipPrivacyPolicyRule.d.ts +2 -2
  115. package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -1
  116. package/build/rules/PrivacyPolicyRule.d.ts +2 -2
  117. package/build/tsconfig.build.tsbuildinfo +1 -0
  118. package/build/utils/EntityPrivacyUtils.d.ts +4 -4
  119. package/build/utils/EntityPrivacyUtils.js.map +1 -1
  120. package/build/utils/collections/SerializableKeyMap.d.ts +27 -0
  121. package/build/utils/collections/SerializableKeyMap.js +60 -0
  122. package/build/utils/collections/SerializableKeyMap.js.map +1 -0
  123. package/build/utils/collections/maps.js +1 -2
  124. package/build/utils/collections/maps.js.map +1 -1
  125. package/build/utils/collections/sets.d.ts +1 -0
  126. package/build/utils/collections/sets.js +7 -0
  127. package/build/utils/collections/sets.js.map +1 -0
  128. package/build/utils/mergeEntityMutationTriggerConfigurations.d.ts +1 -1
  129. package/package.json +8 -5
  130. package/src/AuthorizationResultBasedEntityAssociationLoader.ts +58 -53
  131. package/src/AuthorizationResultBasedEntityLoader.ts +194 -81
  132. package/src/AuthorizationResultBasedEntityMutator.ts +71 -45
  133. package/src/ComposedEntityCacheAdapter.ts +55 -46
  134. package/src/ComposedSecondaryEntityCache.ts +5 -2
  135. package/src/EnforcingEntityAssociationLoader.ts +52 -44
  136. package/src/EnforcingEntityCreator.ts +5 -5
  137. package/src/EnforcingEntityDeleter.ts +5 -5
  138. package/src/EnforcingEntityLoader.ts +158 -21
  139. package/src/EnforcingEntityUpdater.ts +5 -5
  140. package/src/Entity.ts +185 -29
  141. package/src/EntityAssociationLoader.ts +6 -6
  142. package/src/EntityCompanion.ts +11 -11
  143. package/src/EntityCompanionProvider.ts +21 -18
  144. package/src/EntityConfiguration.ts +123 -9
  145. package/src/EntityCreator.ts +7 -7
  146. package/src/EntityDatabaseAdapter.ts +51 -28
  147. package/src/EntityDeleter.ts +7 -7
  148. package/src/EntityFieldDefinition.ts +32 -12
  149. package/src/EntityFields.ts +49 -12
  150. package/src/EntityLoader.ts +8 -8
  151. package/src/EntityLoaderFactory.ts +8 -8
  152. package/src/EntityLoaderUtils.ts +39 -10
  153. package/src/EntityMutationInfo.ts +6 -6
  154. package/src/EntityMutationTriggerConfiguration.ts +68 -20
  155. package/src/EntityMutationValidator.ts +4 -4
  156. package/src/EntityMutatorFactory.ts +13 -13
  157. package/src/EntityPrivacyPolicy.ts +50 -26
  158. package/src/EntitySecondaryCacheLoader.ts +6 -6
  159. package/src/EntityUpdater.ts +7 -7
  160. package/src/GenericEntityCacheAdapter.ts +39 -28
  161. package/src/GenericSecondaryEntityCache.ts +6 -3
  162. package/src/IEntityCacheAdapter.ts +45 -25
  163. package/src/IEntityCacheAdapterProvider.ts +3 -3
  164. package/src/IEntityDatabaseAdapterProvider.ts +3 -3
  165. package/src/IEntityGenericCacher.ts +33 -5
  166. package/src/ReadonlyEntity.ts +129 -16
  167. package/src/ViewerContext.ts +5 -5
  168. package/src/ViewerScopedEntityCompanion.ts +7 -7
  169. package/src/ViewerScopedEntityCompanionProvider.ts +6 -6
  170. package/src/ViewerScopedEntityLoaderFactory.ts +7 -7
  171. package/src/ViewerScopedEntityMutatorFactory.ts +8 -8
  172. package/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.ts +41 -72
  173. package/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.ts +14 -13
  174. package/src/__tests__/AuthorizationResultBasedEntityLoader-test.ts +367 -69
  175. package/src/__tests__/ComposedCacheAdapter-test.ts +235 -117
  176. package/src/__tests__/EnforcingEntityLoader-test.ts +135 -1
  177. package/src/__tests__/Entity-test.ts +64 -11
  178. package/src/__tests__/EntityAssociationLoader-test.ts +6 -8
  179. package/src/__tests__/EntityCommonUseCases-test.ts +25 -28
  180. package/src/__tests__/EntityCompanion-test.ts +4 -4
  181. package/src/__tests__/EntityCompanionProvider-test.ts +9 -8
  182. package/src/__tests__/EntityConfiguration-test.ts +85 -6
  183. package/src/__tests__/EntityDatabaseAdapter-test.ts +113 -17
  184. package/src/__tests__/EntityEdges-test.ts +135 -138
  185. package/src/__tests__/EntityFields-test.ts +2 -2
  186. package/src/__tests__/EntityLoader-test.ts +5 -7
  187. package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +17 -19
  188. package/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.ts +73 -0
  189. package/src/__tests__/EntityMutator-test.ts +74 -46
  190. package/src/__tests__/EntityPrivacyPolicy-test.ts +51 -74
  191. package/src/__tests__/EntityQueryContext-test.ts +1 -1
  192. package/src/__tests__/EntitySecondaryCacheLoader-test.ts +9 -9
  193. package/src/__tests__/EntitySelfReferentialEdges-test.ts +119 -122
  194. package/src/__tests__/GenericEntityCacheAdapter-test.ts +83 -28
  195. package/src/__tests__/ReadonlyEntity-test.ts +49 -9
  196. package/src/__tests__/ViewerContext-test.ts +1 -1
  197. package/src/__tests__/ViewerScopedEntityCompanion-test.ts +5 -2
  198. package/src/__tests__/ViewerScopedEntityCompanionProvider-test.ts +1 -1
  199. package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +12 -3
  200. package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +25 -27
  201. package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +28 -34
  202. package/src/entityUtils.ts +4 -1
  203. package/src/errors/EntityInvalidFieldValueError.ts +5 -5
  204. package/src/errors/EntityNotAuthorizedError.ts +3 -3
  205. package/src/errors/EntityNotFoundError.ts +5 -5
  206. package/src/index.ts +7 -7
  207. package/src/internal/CompositeFieldHolder.ts +218 -0
  208. package/src/internal/CompositeFieldValueMap.ts +78 -0
  209. package/src/internal/EntityDataManager.ts +107 -96
  210. package/src/internal/EntityFieldTransformationUtils.ts +33 -14
  211. package/src/internal/EntityLoadInterfaces.ts +143 -0
  212. package/src/internal/EntityTableDataCoordinator.ts +8 -5
  213. package/src/internal/ReadThroughEntityCache.ts +63 -50
  214. package/src/internal/SingleFieldHolder.ts +131 -0
  215. package/src/internal/__tests__/CompositeFieldHolder-test.ts +25 -0
  216. package/src/internal/__tests__/CompositeFieldValueMap-test.ts +43 -0
  217. package/src/internal/__tests__/EntityDataManager-test.ts +308 -91
  218. package/src/internal/__tests__/EntityFieldTransformationUtils-test.ts +3 -2
  219. package/src/internal/__tests__/ReadThroughEntityCache-test.ts +315 -107
  220. package/src/metrics/EntityMetricsUtils.ts +7 -2
  221. package/src/metrics/IEntityMetricsAdapter.ts +6 -0
  222. package/src/rules/AlwaysAllowPrivacyPolicyRule.ts +5 -5
  223. package/src/rules/AlwaysDenyPrivacyPolicyRule.ts +5 -5
  224. package/src/rules/AlwaysSkipPrivacyPolicyRule.ts +5 -5
  225. package/src/rules/PrivacyPolicyRule.ts +4 -4
  226. package/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.ts +1 -1
  227. package/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.ts +1 -1
  228. package/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.ts +1 -1
  229. package/src/utils/EntityPrivacyUtils.ts +72 -30
  230. package/src/utils/{testing → __testfixtures__}/PrivacyPolicyRuleTestUtils.ts +26 -26
  231. package/src/{testfixtures → utils/__testfixtures__}/SimpleTestEntity.ts +16 -15
  232. package/src/utils/__testfixtures__/StubCacheAdapter.ts +164 -0
  233. package/src/utils/{testing → __testfixtures__}/StubDatabaseAdapter.ts +19 -12
  234. package/src/utils/{testing → __testfixtures__}/StubDatabaseAdapterProvider.ts +4 -4
  235. package/src/utils/__testfixtures__/TSMockitoExtensions.ts +69 -0
  236. package/src/{testfixtures → utils/__testfixtures__}/TestEntity.ts +21 -15
  237. package/src/{testfixtures → utils/__testfixtures__}/TestEntity2.ts +16 -15
  238. package/src/{testfixtures → utils/__testfixtures__}/TestEntityWithMutationTriggers.ts +23 -22
  239. package/src/{testfixtures → utils/__testfixtures__}/TestViewerContext.ts +1 -1
  240. package/src/utils/{testing → __testfixtures__}/describeFieldTestCase.ts +1 -1
  241. package/src/utils/__tests__/EntityPrivacyUtils-test.ts +81 -113
  242. package/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts +31 -30
  243. package/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.ts +1 -1
  244. package/src/utils/collections/SerializableKeyMap.ts +84 -0
  245. package/src/utils/collections/__tests__/SerializableKeyMap-test.ts +119 -0
  246. package/src/utils/collections/__tests__/sets-test.ts +17 -0
  247. package/src/utils/collections/maps.ts +7 -8
  248. package/src/utils/collections/sets.ts +3 -0
  249. package/src/utils/mergeEntityMutationTriggerConfigurations.ts +5 -5
  250. package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.d.ts +0 -1
  251. package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js +0 -273
  252. package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js.map +0 -1
  253. package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.d.ts +0 -26
  254. package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js +0 -110
  255. package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js.map +0 -1
  256. package/build/__tests__/AuthorizationResultBasedEntityLoader-test.d.ts +0 -1
  257. package/build/__tests__/AuthorizationResultBasedEntityLoader-test.js +0 -401
  258. package/build/__tests__/AuthorizationResultBasedEntityLoader-test.js.map +0 -1
  259. package/build/__tests__/ComposedCacheAdapter-test.d.ts +0 -1
  260. package/build/__tests__/ComposedCacheAdapter-test.js +0 -229
  261. package/build/__tests__/ComposedCacheAdapter-test.js.map +0 -1
  262. package/build/__tests__/ComposedSecondaryEntityCache-test.d.ts +0 -1
  263. package/build/__tests__/ComposedSecondaryEntityCache-test.js +0 -66
  264. package/build/__tests__/ComposedSecondaryEntityCache-test.js.map +0 -1
  265. package/build/__tests__/EnforcingEntityAssociationLoader-test.d.ts +0 -1
  266. package/build/__tests__/EnforcingEntityAssociationLoader-test.js +0 -115
  267. package/build/__tests__/EnforcingEntityAssociationLoader-test.js.map +0 -1
  268. package/build/__tests__/EnforcingEntityLoader-test.d.ts +0 -1
  269. package/build/__tests__/EnforcingEntityLoader-test.js +0 -253
  270. package/build/__tests__/EnforcingEntityLoader-test.js.map +0 -1
  271. package/build/__tests__/Entity-test.d.ts +0 -1
  272. package/build/__tests__/Entity-test.js +0 -54
  273. package/build/__tests__/Entity-test.js.map +0 -1
  274. package/build/__tests__/EntityAssociationLoader-test.d.ts +0 -1
  275. package/build/__tests__/EntityAssociationLoader-test.js +0 -30
  276. package/build/__tests__/EntityAssociationLoader-test.js.map +0 -1
  277. package/build/__tests__/EntityCommonUseCases-test.d.ts +0 -1
  278. package/build/__tests__/EntityCommonUseCases-test.js +0 -154
  279. package/build/__tests__/EntityCommonUseCases-test.js.map +0 -1
  280. package/build/__tests__/EntityCompanion-test.d.ts +0 -1
  281. package/build/__tests__/EntityCompanion-test.js +0 -77
  282. package/build/__tests__/EntityCompanion-test.js.map +0 -1
  283. package/build/__tests__/EntityCompanionProvider-test.d.ts +0 -1
  284. package/build/__tests__/EntityCompanionProvider-test.js +0 -54
  285. package/build/__tests__/EntityCompanionProvider-test.js.map +0 -1
  286. package/build/__tests__/EntityConfiguration-test.d.ts +0 -1
  287. package/build/__tests__/EntityConfiguration-test.js +0 -103
  288. package/build/__tests__/EntityConfiguration-test.js.map +0 -1
  289. package/build/__tests__/EntityDatabaseAdapter-test.d.ts +0 -1
  290. package/build/__tests__/EntityDatabaseAdapter-test.js +0 -146
  291. package/build/__tests__/EntityDatabaseAdapter-test.js.map +0 -1
  292. package/build/__tests__/EntityEdges-test.d.ts +0 -1
  293. package/build/__tests__/EntityEdges-test.js +0 -755
  294. package/build/__tests__/EntityEdges-test.js.map +0 -1
  295. package/build/__tests__/EntityFields-test.d.ts +0 -1
  296. package/build/__tests__/EntityFields-test.js +0 -63
  297. package/build/__tests__/EntityFields-test.js.map +0 -1
  298. package/build/__tests__/EntityLoader-test.d.ts +0 -1
  299. package/build/__tests__/EntityLoader-test.js +0 -36
  300. package/build/__tests__/EntityLoader-test.js.map +0 -1
  301. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +0 -1
  302. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +0 -77
  303. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +0 -1
  304. package/build/__tests__/EntityMutator-test.d.ts +0 -1
  305. package/build/__tests__/EntityMutator-test.js +0 -741
  306. package/build/__tests__/EntityMutator-test.js.map +0 -1
  307. package/build/__tests__/EntityPrivacyPolicy-test.d.ts +0 -1
  308. package/build/__tests__/EntityPrivacyPolicy-test.js +0 -463
  309. package/build/__tests__/EntityPrivacyPolicy-test.js.map +0 -1
  310. package/build/__tests__/EntityQueryContext-test.d.ts +0 -1
  311. package/build/__tests__/EntityQueryContext-test.js +0 -116
  312. package/build/__tests__/EntityQueryContext-test.js.map +0 -1
  313. package/build/__tests__/EntitySecondaryCacheLoader-test.d.ts +0 -1
  314. package/build/__tests__/EntitySecondaryCacheLoader-test.js +0 -60
  315. package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +0 -1
  316. package/build/__tests__/EntitySelfReferentialEdges-test.d.ts +0 -1
  317. package/build/__tests__/EntitySelfReferentialEdges-test.js +0 -247
  318. package/build/__tests__/EntitySelfReferentialEdges-test.js.map +0 -1
  319. package/build/__tests__/GenericEntityCacheAdapter-test.d.ts +0 -1
  320. package/build/__tests__/GenericEntityCacheAdapter-test.js +0 -80
  321. package/build/__tests__/GenericEntityCacheAdapter-test.js.map +0 -1
  322. package/build/__tests__/ReadonlyEntity-test.d.ts +0 -1
  323. package/build/__tests__/ReadonlyEntity-test.js +0 -178
  324. package/build/__tests__/ReadonlyEntity-test.js.map +0 -1
  325. package/build/__tests__/ViewerContext-test.d.ts +0 -1
  326. package/build/__tests__/ViewerContext-test.js +0 -30
  327. package/build/__tests__/ViewerContext-test.js.map +0 -1
  328. package/build/__tests__/ViewerScopedEntityCompanion-test.d.ts +0 -1
  329. package/build/__tests__/ViewerScopedEntityCompanion-test.js +0 -20
  330. package/build/__tests__/ViewerScopedEntityCompanion-test.js.map +0 -1
  331. package/build/__tests__/ViewerScopedEntityCompanionProvider-test.d.ts +0 -1
  332. package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js +0 -20
  333. package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +0 -1
  334. package/build/__tests__/ViewerScopedEntityLoaderFactory-test.d.ts +0 -1
  335. package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js +0 -23
  336. package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +0 -1
  337. package/build/__tests__/ViewerScopedEntityMutatorFactory-test.d.ts +0 -1
  338. package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js +0 -22
  339. package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +0 -1
  340. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.d.ts +0 -1
  341. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +0 -129
  342. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +0 -1
  343. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.d.ts +0 -1
  344. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +0 -136
  345. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +0 -1
  346. package/build/__tests__/entityUtils-test.d.ts +0 -1
  347. package/build/__tests__/entityUtils-test.js +0 -87
  348. package/build/__tests__/entityUtils-test.js.map +0 -1
  349. package/build/internal/__tests__/EntityDataManager-test.d.ts +0 -1
  350. package/build/internal/__tests__/EntityDataManager-test.js +0 -373
  351. package/build/internal/__tests__/EntityDataManager-test.js.map +0 -1
  352. package/build/internal/__tests__/EntityFieldTransformationUtils-test.d.ts +0 -1
  353. package/build/internal/__tests__/EntityFieldTransformationUtils-test.js +0 -136
  354. package/build/internal/__tests__/EntityFieldTransformationUtils-test.js.map +0 -1
  355. package/build/internal/__tests__/ReadThroughEntityCache-test.d.ts +0 -1
  356. package/build/internal/__tests__/ReadThroughEntityCache-test.js +0 -206
  357. package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +0 -1
  358. package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.d.ts +0 -1
  359. package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +0 -21
  360. package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +0 -1
  361. package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.d.ts +0 -1
  362. package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +0 -21
  363. package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +0 -1
  364. package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.d.ts +0 -1
  365. package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +0 -21
  366. package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +0 -1
  367. package/build/testfixtures/DateIDTestEntity.d.ts +0 -19
  368. package/build/testfixtures/DateIDTestEntity.js +0 -48
  369. package/build/testfixtures/DateIDTestEntity.js.map +0 -1
  370. package/build/testfixtures/SimpleTestEntity.d.ts +0 -20
  371. package/build/testfixtures/SimpleTestEntity.js +0 -48
  372. package/build/testfixtures/SimpleTestEntity.js.map +0 -1
  373. package/build/testfixtures/TestEntity.d.ts +0 -30
  374. package/build/testfixtures/TestEntity.js +0 -93
  375. package/build/testfixtures/TestEntity.js.map +0 -1
  376. package/build/testfixtures/TestEntity2.d.ts +0 -20
  377. package/build/testfixtures/TestEntity2.js +0 -51
  378. package/build/testfixtures/TestEntity2.js.map +0 -1
  379. package/build/testfixtures/TestEntityNumberKey.d.ts +0 -19
  380. package/build/testfixtures/TestEntityNumberKey.js +0 -48
  381. package/build/testfixtures/TestEntityNumberKey.js.map +0 -1
  382. package/build/testfixtures/TestEntityWithMutationTriggers.d.ts +0 -36
  383. package/build/testfixtures/TestEntityWithMutationTriggers.js +0 -82
  384. package/build/testfixtures/TestEntityWithMutationTriggers.js.map +0 -1
  385. package/build/testfixtures/TestViewerContext.d.ts +0 -3
  386. package/build/testfixtures/TestViewerContext.js +0 -10
  387. package/build/testfixtures/TestViewerContext.js.map +0 -1
  388. package/build/utils/__tests__/EntityPrivacyUtils-test.d.ts +0 -1
  389. package/build/utils/__tests__/EntityPrivacyUtils-test.js +0 -520
  390. package/build/utils/__tests__/EntityPrivacyUtils-test.js.map +0 -1
  391. package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.d.ts +0 -1
  392. package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js +0 -181
  393. package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map +0 -1
  394. package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.d.ts +0 -1
  395. package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js +0 -26
  396. package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js.map +0 -1
  397. package/build/utils/collections/__tests__/maps-test.d.ts +0 -1
  398. package/build/utils/collections/__tests__/maps-test.js +0 -120
  399. package/build/utils/collections/__tests__/maps-test.js.map +0 -1
  400. package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +0 -28
  401. package/build/utils/testing/PrivacyPolicyRuleTestUtils.js +0 -52
  402. package/build/utils/testing/PrivacyPolicyRuleTestUtils.js.map +0 -1
  403. package/build/utils/testing/StubCacheAdapter.d.ts +0 -27
  404. package/build/utils/testing/StubCacheAdapter.js +0 -86
  405. package/build/utils/testing/StubCacheAdapter.js.map +0 -1
  406. package/build/utils/testing/StubDatabaseAdapter.d.ts +0 -25
  407. package/build/utils/testing/StubDatabaseAdapter.js +0 -191
  408. package/build/utils/testing/StubDatabaseAdapter.js.map +0 -1
  409. package/build/utils/testing/StubDatabaseAdapterProvider.d.ts +0 -7
  410. package/build/utils/testing/StubDatabaseAdapterProvider.js +0 -14
  411. package/build/utils/testing/StubDatabaseAdapterProvider.js.map +0 -1
  412. package/build/utils/testing/StubQueryContextProvider.d.ts +0 -7
  413. package/build/utils/testing/StubQueryContextProvider.js +0 -19
  414. package/build/utils/testing/StubQueryContextProvider.js.map +0 -1
  415. package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.d.ts +0 -1
  416. package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.js +0 -42
  417. package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.js.map +0 -1
  418. package/build/utils/testing/__tests__/StubDatabaseAdapter-test.d.ts +0 -1
  419. package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js +0 -402
  420. package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js.map +0 -1
  421. package/build/utils/testing/createUnitTestEntityCompanionProvider.d.ts +0 -7
  422. package/build/utils/testing/createUnitTestEntityCompanionProvider.js +0 -36
  423. package/build/utils/testing/createUnitTestEntityCompanionProvider.js.map +0 -1
  424. package/build/utils/testing/describeFieldTestCase.d.ts +0 -2
  425. package/build/utils/testing/describeFieldTestCase.js +0 -18
  426. package/build/utils/testing/describeFieldTestCase.js.map +0 -1
  427. package/src/testfixtures/DateIDTestEntity.ts +0 -59
  428. package/src/testfixtures/TestEntityNumberKey.ts +0 -59
  429. package/src/utils/testing/StubCacheAdapter.ts +0 -122
  430. package/src/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.ts +0 -42
  431. package/src/utils/testing/__tests__/StubDatabaseAdapter-test.ts +0 -548
  432. /package/src/utils/{testing → __testfixtures__}/StubQueryContextProvider.ts +0 -0
  433. /package/src/utils/{testing → __testfixtures__}/createUnitTestEntityCompanionProvider.ts +0 -0
@@ -1,253 +0,0 @@
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 results_1 = require("@expo/results");
7
- const ts_mockito_1 = require("ts-mockito");
8
- const AuthorizationResultBasedEntityLoader_1 = __importDefault(require("../AuthorizationResultBasedEntityLoader"));
9
- const EnforcingEntityLoader_1 = __importDefault(require("../EnforcingEntityLoader"));
10
- describe(EnforcingEntityLoader_1.default, () => {
11
- describe('loadManyByFieldEqualingManyAsync', () => {
12
- it('throws when result is unsuccessful', async () => {
13
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
14
- const rejection = new Error();
15
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
16
- hello: [(0, results_1.result)(rejection)],
17
- })));
18
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
19
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
20
- await expect(enforcingEntityLoader.loadManyByFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
21
- });
22
- it('returns value when result is successful', async () => {
23
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
24
- const resolved = {};
25
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
26
- hello: [(0, results_1.result)(resolved)],
27
- })));
28
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
29
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
30
- await expect(enforcingEntityLoader.loadManyByFieldEqualingManyAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(new Map(Object.entries({
31
- hello: [resolved],
32
- })));
33
- });
34
- });
35
- describe('loadManyByFieldEqualingAsync', () => {
36
- it('throws when result is unsuccessful', async () => {
37
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
38
- const rejection = new Error();
39
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(rejection)]);
40
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
41
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
42
- await expect(enforcingEntityLoader.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
43
- });
44
- it('returns value when result is successful', async () => {
45
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
46
- const resolved = {};
47
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(resolved)]);
48
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
49
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
50
- await expect(enforcingEntityLoader.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual([resolved]);
51
- });
52
- });
53
- describe('loadByFieldEqualingAsync', () => {
54
- it('throws when result is unsuccessful', async () => {
55
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
56
- const rejection = new Error();
57
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
58
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
59
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
60
- await expect(enforcingEntityLoader.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
61
- });
62
- it('returns value when result is successful', async () => {
63
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
64
- const resolved = {};
65
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
66
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
67
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
68
- await expect(enforcingEntityLoader.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
69
- });
70
- it('returns null when result is successful and no entity is found', async () => {
71
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
72
- const resolved = null;
73
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
74
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
75
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
76
- await expect(enforcingEntityLoader.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
77
- });
78
- it('throws when multiple matching entities are found', async () => {
79
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
80
- const multipleEntitiesError = new Error();
81
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenReject(multipleEntitiesError);
82
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
83
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
84
- await expect(enforcingEntityLoader.loadByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toEqual(multipleEntitiesError);
85
- });
86
- });
87
- describe('loadByIDAsync', () => {
88
- it('throws when result is unsuccessful', async () => {
89
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
90
- const rejection = new Error();
91
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
92
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
93
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
94
- await expect(enforcingEntityLoader.loadByIDAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
95
- });
96
- it('returns value when result is successful', async () => {
97
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
98
- const resolved = {};
99
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
100
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
101
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
102
- await expect(enforcingEntityLoader.loadByIDAsync((0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
103
- });
104
- });
105
- describe('loadByIDNullableAsync', () => {
106
- it('throws when result is unsuccessful', async () => {
107
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
108
- const rejection = new Error();
109
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDNullableAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
110
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
111
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
112
- await expect(enforcingEntityLoader.loadByIDNullableAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
113
- });
114
- it('returns value when result is successful', async () => {
115
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
116
- const resolved = {};
117
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDNullableAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
118
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
119
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
120
- await expect(enforcingEntityLoader.loadByIDNullableAsync((0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
121
- });
122
- it('returns null when non-existent object', async () => {
123
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
124
- const resolved = null;
125
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadByIDNullableAsync((0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
126
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
127
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
128
- await expect(enforcingEntityLoader.loadByIDNullableAsync((0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
129
- });
130
- });
131
- describe('loadManyByIDsAsync', () => {
132
- it('throws when result is unsuccessful', async () => {
133
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
134
- const rejection = new Error();
135
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByIDsAsync((0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
136
- hello: (0, results_1.result)(rejection),
137
- })));
138
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
139
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
140
- await expect(enforcingEntityLoader.loadManyByIDsAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
141
- });
142
- it('returns value when result is successful', async () => {
143
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
144
- const resolved = {};
145
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByIDsAsync((0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
146
- hello: (0, results_1.result)(resolved),
147
- })));
148
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
149
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
150
- await expect(enforcingEntityLoader.loadManyByIDsAsync((0, ts_mockito_1.anything)())).resolves.toEqual(new Map(Object.entries({
151
- hello: resolved,
152
- })));
153
- });
154
- });
155
- describe('loadManyByIDsNullableAsync', () => {
156
- it('throws when result is unsuccessful even when there is a null result', async () => {
157
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
158
- const rejection = new Error();
159
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByIDsNullableAsync((0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
160
- hello: (0, results_1.result)(rejection),
161
- world: null,
162
- })));
163
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
164
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
165
- await expect(enforcingEntityLoader.loadManyByIDsNullableAsync((0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
166
- });
167
- it('returns value when result is successful', async () => {
168
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
169
- const resolved = {};
170
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByIDsNullableAsync((0, ts_mockito_1.anything)())).thenResolve(new Map(Object.entries({
171
- hello: (0, results_1.result)(resolved),
172
- world: null,
173
- })));
174
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
175
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
176
- await expect(enforcingEntityLoader.loadManyByIDsNullableAsync((0, ts_mockito_1.anything)())).resolves.toEqual(new Map(Object.entries({
177
- hello: resolved,
178
- world: null,
179
- })));
180
- });
181
- });
182
- describe('loadFirstByFieldEqualityConjunction', () => {
183
- it('throws when result is unsuccessful', async () => {
184
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
185
- const rejection = new Error();
186
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
187
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
188
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
189
- await expect(enforcingEntityLoader.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
190
- });
191
- it('returns value when result is successful', async () => {
192
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
193
- const resolved = {};
194
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
195
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
196
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
197
- await expect(enforcingEntityLoader.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
198
- });
199
- it('returns null when the query is successful but no rows match', async () => {
200
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
201
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(null);
202
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
203
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
204
- await expect(enforcingEntityLoader.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toBeNull();
205
- });
206
- });
207
- describe('loadManyByFieldEqualityConjunction', () => {
208
- it('throws when result is unsuccessful', async () => {
209
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
210
- const rejection = new Error();
211
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(rejection)]);
212
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
213
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
214
- await expect(enforcingEntityLoader.loadManyByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
215
- });
216
- it('returns value when result is successful', async () => {
217
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
218
- const resolved = {};
219
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(resolved)]);
220
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
221
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
222
- await expect(enforcingEntityLoader.loadManyByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual([resolved]);
223
- });
224
- });
225
- describe('loadManyByRawWhereClause', () => {
226
- it('throws when result is unsuccessful', async () => {
227
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
228
- const rejection = new Error();
229
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByRawWhereClauseAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(rejection)]);
230
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
231
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
232
- await expect(enforcingEntityLoader.loadManyByRawWhereClauseAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
233
- });
234
- it('returns value when result is successful', async () => {
235
- const nonEnforcingEntityLoaderMock = (0, ts_mockito_1.mock)(AuthorizationResultBasedEntityLoader_1.default);
236
- const resolved = {};
237
- (0, ts_mockito_1.when)(nonEnforcingEntityLoaderMock.loadManyByRawWhereClauseAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve([(0, results_1.result)(resolved)]);
238
- const nonEnforcingEntityLoader = (0, ts_mockito_1.instance)(nonEnforcingEntityLoaderMock);
239
- const enforcingEntityLoader = new EnforcingEntityLoader_1.default(nonEnforcingEntityLoader);
240
- await expect(enforcingEntityLoader.loadManyByRawWhereClauseAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual([resolved]);
241
- });
242
- });
243
- it('has the same method names as EntityLoader', () => {
244
- const enforcingLoaderProperties = Object.getOwnPropertyNames(EnforcingEntityLoader_1.default.prototype);
245
- const nonEnforcingLoaderProperties = Object.getOwnPropertyNames(AuthorizationResultBasedEntityLoader_1.default.prototype);
246
- // ensure known differences still exist for sanity check
247
- const knownLoaderOnlyDifferences = ['validateFieldValues'];
248
- expect(nonEnforcingLoaderProperties).toEqual(expect.arrayContaining(knownLoaderOnlyDifferences));
249
- const loaderPropertiesWithoutKnownDifferences = nonEnforcingLoaderProperties.filter((p) => !knownLoaderOnlyDifferences.includes(p));
250
- expect(enforcingLoaderProperties).toEqual(loaderPropertiesWithoutKnownDifferences);
251
- });
252
- });
253
- //# sourceMappingURL=EnforcingEntityLoader-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnforcingEntityLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EnforcingEntityLoader-test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,54 +0,0 @@
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 Entity_1 = __importDefault(require("../Entity"));
7
- const EntityCreator_1 = __importDefault(require("../EntityCreator"));
8
- const EntityDeleter_1 = __importDefault(require("../EntityDeleter"));
9
- const EntityUpdater_1 = __importDefault(require("../EntityUpdater"));
10
- const ViewerContext_1 = __importDefault(require("../ViewerContext"));
11
- const SimpleTestEntity_1 = __importDefault(require("../testfixtures/SimpleTestEntity"));
12
- const createUnitTestEntityCompanionProvider_1 = require("../utils/testing/createUnitTestEntityCompanionProvider");
13
- describe(Entity_1.default, () => {
14
- describe('creator', () => {
15
- it('creates a new EntityCreator', () => {
16
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
17
- const viewerContext = new ViewerContext_1.default(companionProvider);
18
- expect(SimpleTestEntity_1.default.creator(viewerContext)).toBeInstanceOf(EntityCreator_1.default);
19
- });
20
- });
21
- describe('updater', () => {
22
- it('creates a new EntityUpdater', () => {
23
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
24
- const viewerContext = new ViewerContext_1.default(companionProvider);
25
- const data = {
26
- id: 'what',
27
- };
28
- const testEntity = new SimpleTestEntity_1.default({
29
- viewerContext,
30
- id: 'what',
31
- databaseFields: data,
32
- selectedFields: data,
33
- });
34
- expect(SimpleTestEntity_1.default.updater(testEntity)).toBeInstanceOf(EntityUpdater_1.default);
35
- });
36
- });
37
- describe('deleter', () => {
38
- it('creates a new EntityDeleter', () => {
39
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
40
- const viewerContext = new ViewerContext_1.default(companionProvider);
41
- const data = {
42
- id: 'what',
43
- };
44
- const testEntity = new SimpleTestEntity_1.default({
45
- viewerContext,
46
- id: 'what',
47
- databaseFields: data,
48
- selectedFields: data,
49
- });
50
- expect(SimpleTestEntity_1.default.deleter(testEntity)).toBeInstanceOf(EntityDeleter_1.default);
51
- });
52
- });
53
- });
54
- //# sourceMappingURL=Entity-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Entity-test.js","sourceRoot":"","sources":["../../src/__tests__/Entity-test.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+B;AAC/B,qEAA6C;AAC7C,qEAA6C;AAC7C,qEAA6C;AAC7C,qEAA6C;AAC7C,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,uBAAa,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,uBAAa,CAAC,CAAC;QAC7E,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,uBAAa,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,30 +0,0 @@
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 AuthorizationResultBasedEntityAssociationLoader_1 = __importDefault(require("../AuthorizationResultBasedEntityAssociationLoader"));
7
- const EnforcingEntityAssociationLoader_1 = __importDefault(require("../EnforcingEntityAssociationLoader"));
8
- const EntityAssociationLoader_1 = __importDefault(require("../EntityAssociationLoader"));
9
- const ViewerContext_1 = __importDefault(require("../ViewerContext"));
10
- const SimpleTestEntity_1 = __importDefault(require("../testfixtures/SimpleTestEntity"));
11
- const createUnitTestEntityCompanionProvider_1 = require("../utils/testing/createUnitTestEntityCompanionProvider");
12
- describe(EntityAssociationLoader_1.default, () => {
13
- describe('enforcing', () => {
14
- it('creates a new EnforcingEntityLoader', async () => {
15
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
16
- const viewerContext = new ViewerContext_1.default(companionProvider);
17
- const testEntity = await SimpleTestEntity_1.default.creator(viewerContext).enforcing().createAsync();
18
- expect(testEntity.associationLoader().enforcing()).toBeInstanceOf(EnforcingEntityAssociationLoader_1.default);
19
- });
20
- });
21
- describe('withAuthorizationResults', () => {
22
- it('creates a new AuthorizationResultBasedEntityAssociationLoader', async () => {
23
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
24
- const viewerContext = new ViewerContext_1.default(companionProvider);
25
- const testEntity = await SimpleTestEntity_1.default.creator(viewerContext).enforcing().createAsync();
26
- expect(testEntity.associationLoader().withAuthorizationResults()).toBeInstanceOf(AuthorizationResultBasedEntityAssociationLoader_1.default);
27
- });
28
- });
29
- });
30
- //# sourceMappingURL=EntityAssociationLoader-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityAssociationLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityAssociationLoader-test.ts"],"names":[],"mappings":";;;;;AAAA,yIAAiH;AACjH,2GAAmF;AACnF,yFAAiE;AACjE,qEAA6C;AAC7C,wFAAgE;AAChE,kHAA+G;AAE/G,QAAQ,CAAC,iCAAuB,EAAE,GAAG,EAAE;IACrC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,MAAM,0BAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3F,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,cAAc,CAC/D,0CAAgC,CACjC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,MAAM,0BAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3F,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC,cAAc,CAC9E,yDAA+C,CAChD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,154 +0,0 @@
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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const results_1 = require("@expo/results");
40
- const uuid_1 = require("uuid");
41
- const Entity_1 = __importDefault(require("../Entity"));
42
- const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"));
43
- const EntityFields_1 = require("../EntityFields");
44
- const EntityPrivacyPolicy_1 = __importDefault(require("../EntityPrivacyPolicy"));
45
- const ViewerContext_1 = __importDefault(require("../ViewerContext"));
46
- const entityUtils_1 = require("../entityUtils");
47
- const EntityNotAuthorizedError_1 = __importDefault(require("../errors/EntityNotAuthorizedError"));
48
- const AlwaysAllowPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysAllowPrivacyPolicyRule"));
49
- const AlwaysDenyPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysDenyPrivacyPolicyRule"));
50
- const PrivacyPolicyRule_1 = __importStar(require("../rules/PrivacyPolicyRule"));
51
- const createUnitTestEntityCompanionProvider_1 = require("../utils/testing/createUnitTestEntityCompanionProvider");
52
- class TestUserViewerContext extends ViewerContext_1.default {
53
- userID;
54
- constructor(entityCompanionProvider, userID) {
55
- super(entityCompanionProvider);
56
- this.userID = userID;
57
- }
58
- getUserID() {
59
- return this.userID;
60
- }
61
- }
62
- class BlahEntity extends Entity_1.default {
63
- static defineCompanionDefinition() {
64
- return {
65
- entityClass: BlahEntity,
66
- entityConfiguration: new EntityConfiguration_1.default({
67
- idField: 'id',
68
- tableName: 'blah_table',
69
- schema: {
70
- id: new EntityFields_1.UUIDField({
71
- columnName: 'id',
72
- cache: true,
73
- }),
74
- ownerID: new EntityFields_1.UUIDField({
75
- columnName: 'owner_id',
76
- }),
77
- },
78
- databaseAdapterFlavor: 'postgres',
79
- cacheAdapterFlavor: 'redis',
80
- }),
81
- privacyPolicyClass: BlahEntityPrivacyPolicy,
82
- };
83
- }
84
- }
85
- class DenyIfNotOwnerPrivacyPolicyRule extends PrivacyPolicyRule_1.default {
86
- async evaluateAsync(viewerContext, _queryContext, _evaluationContext, entity) {
87
- if (viewerContext.getUserID() === entity.getField('ownerID')) {
88
- return PrivacyPolicyRule_1.RuleEvaluationResult.SKIP;
89
- }
90
- return PrivacyPolicyRule_1.RuleEvaluationResult.DENY;
91
- }
92
- }
93
- class BlahEntityPrivacyPolicy extends EntityPrivacyPolicy_1.default {
94
- createRules = [
95
- new DenyIfNotOwnerPrivacyPolicyRule(),
96
- new AlwaysAllowPrivacyPolicyRule_1.default(),
97
- ];
98
- readRules = [
99
- new DenyIfNotOwnerPrivacyPolicyRule(),
100
- new AlwaysAllowPrivacyPolicyRule_1.default(),
101
- ];
102
- updateRules = [
103
- new DenyIfNotOwnerPrivacyPolicyRule(),
104
- new AlwaysAllowPrivacyPolicyRule_1.default(),
105
- ];
106
- deleteRules = [
107
- new AlwaysDenyPrivacyPolicyRule_1.default(),
108
- ];
109
- }
110
- it('runs through a common workflow', async () => {
111
- // will be one entity companion provider for each request, so
112
- // share amongst all VCs created in that request
113
- const entityCompanionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
114
- const vc1 = new TestUserViewerContext(entityCompanionProvider, (0, uuid_1.v4)());
115
- const vc2 = new TestUserViewerContext(entityCompanionProvider, (0, uuid_1.v4)());
116
- const blahOwner1 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1)
117
- .withAuthorizationResults()
118
- .setField('ownerID', vc1.getUserID())
119
- .createAsync());
120
- await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc1)
121
- .withAuthorizationResults()
122
- .setField('ownerID', vc1.getUserID())
123
- .createAsync());
124
- const blahOwner2 = await (0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2)
125
- .withAuthorizationResults()
126
- .setField('ownerID', vc2.getUserID())
127
- .createAsync());
128
- // sanity check created objects
129
- expect(blahOwner1.getField('ownerID')).toEqual(vc1.getUserID());
130
- expect(blahOwner2.getField('ownerID')).toEqual(vc2.getUserID());
131
- // check that two people can't read each others data
132
- await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc1).withAuthorizationResults().loadByIDAsync(blahOwner2.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
133
- await expect((0, results_1.enforceAsyncResult)(BlahEntity.loader(vc2).withAuthorizationResults().loadByIDAsync(blahOwner1.getID()))).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
134
- // check that all of owner 1's objects can be loaded
135
- const results = await (0, entityUtils_1.enforceResultsAsync)(BlahEntity.loader(vc1)
136
- .withAuthorizationResults()
137
- .loadManyByFieldEqualingAsync('ownerID', vc1.getUserID()));
138
- expect(results).toHaveLength(2);
139
- // check that two people can't create objects owned by others
140
- await expect((0, results_1.enforceAsyncResult)(BlahEntity.creator(vc2)
141
- .withAuthorizationResults()
142
- .setField('ownerID', blahOwner1.getID())
143
- .createAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
144
- // check that empty load many returns nothing
145
- const results2 = await BlahEntity.loader(vc1)
146
- .withAuthorizationResults()
147
- .loadManyByFieldEqualingManyAsync('ownerID', []);
148
- for (const value in results2.values) {
149
- expect(value).toHaveLength(0);
150
- }
151
- // check that the user can't delete their own data (as specified by privacy rules)
152
- await expect((0, results_1.enforceAsyncResult)(BlahEntity.deleter(blahOwner2).withAuthorizationResults().deleteAsync())).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
153
- });
154
- //# sourceMappingURL=EntityCommonUseCases-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityCommonUseCases-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityCommonUseCases-test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};