@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.
- package/build/AuthorizationResultBasedEntityAssociationLoader.d.ts +16 -16
- package/build/AuthorizationResultBasedEntityAssociationLoader.js +2 -4
- package/build/AuthorizationResultBasedEntityAssociationLoader.js.map +1 -1
- package/build/AuthorizationResultBasedEntityLoader.d.ts +39 -67
- package/build/AuthorizationResultBasedEntityLoader.js +85 -62
- package/build/AuthorizationResultBasedEntityLoader.js.map +1 -1
- package/build/AuthorizationResultBasedEntityMutator.d.ts +16 -16
- package/build/AuthorizationResultBasedEntityMutator.js.map +1 -1
- package/build/ComposedEntityCacheAdapter.d.ts +7 -6
- package/build/ComposedEntityCacheAdapter.js +28 -28
- package/build/ComposedEntityCacheAdapter.js.map +1 -1
- package/build/ComposedSecondaryEntityCache.d.ts +1 -1
- package/build/ComposedSecondaryEntityCache.js.map +1 -1
- package/build/EnforcingEntityAssociationLoader.d.ts +15 -15
- package/build/EnforcingEntityAssociationLoader.js.map +1 -1
- package/build/EnforcingEntityCreator.d.ts +2 -2
- package/build/EnforcingEntityDeleter.d.ts +2 -2
- package/build/EnforcingEntityLoader.d.ts +104 -18
- package/build/EnforcingEntityLoader.js +113 -12
- package/build/EnforcingEntityLoader.js.map +1 -1
- package/build/EnforcingEntityUpdater.d.ts +2 -2
- package/build/Entity.d.ts +32 -10
- package/build/Entity.js +41 -3
- package/build/Entity.js.map +1 -1
- package/build/EntityAssociationLoader.d.ts +3 -3
- package/build/EntityCompanion.d.ts +5 -5
- package/build/EntityCompanion.js.map +1 -1
- package/build/EntityCompanionProvider.d.ts +6 -6
- package/build/EntityCompanionProvider.js.map +1 -1
- package/build/EntityConfiguration.d.ts +46 -5
- package/build/EntityConfiguration.js +39 -1
- package/build/EntityConfiguration.js.map +1 -1
- package/build/EntityCreator.d.ts +4 -4
- package/build/EntityDatabaseAdapter.d.ts +15 -14
- package/build/EntityDatabaseAdapter.js +20 -12
- package/build/EntityDatabaseAdapter.js.map +1 -1
- package/build/EntityDeleter.d.ts +4 -4
- package/build/EntityFieldDefinition.d.ts +20 -10
- package/build/EntityFieldDefinition.js +3 -1
- package/build/EntityFieldDefinition.js.map +1 -1
- package/build/EntityFields.d.ts +14 -12
- package/build/EntityFields.js.map +1 -1
- package/build/EntityLoader.d.ts +5 -5
- package/build/EntityLoaderFactory.d.ts +3 -3
- package/build/EntityLoaderFactory.js.map +1 -1
- package/build/EntityLoaderUtils.d.ts +2 -2
- package/build/EntityLoaderUtils.js +27 -1
- package/build/EntityLoaderUtils.js.map +1 -1
- package/build/EntityMutationInfo.d.ts +2 -2
- package/build/EntityMutationTriggerConfiguration.d.ts +14 -14
- package/build/EntityMutationTriggerConfiguration.js.map +1 -1
- package/build/EntityMutationValidator.d.ts +2 -2
- package/build/EntityMutatorFactory.d.ts +5 -5
- package/build/EntityMutatorFactory.js.map +1 -1
- package/build/EntityPrivacyPolicy.d.ts +14 -14
- package/build/EntityPrivacyPolicy.js.map +1 -1
- package/build/EntitySecondaryCacheLoader.d.ts +4 -4
- package/build/EntityUpdater.d.ts +4 -4
- package/build/GenericEntityCacheAdapter.d.ts +7 -6
- package/build/GenericEntityCacheAdapter.js +13 -14
- package/build/GenericEntityCacheAdapter.js.map +1 -1
- package/build/GenericSecondaryEntityCache.d.ts +3 -3
- package/build/GenericSecondaryEntityCache.js.map +1 -1
- package/build/IEntityCacheAdapter.d.ts +17 -16
- package/build/IEntityCacheAdapterProvider.d.ts +1 -1
- package/build/IEntityDatabaseAdapterProvider.d.ts +1 -1
- package/build/IEntityGenericCacher.d.ts +15 -5
- package/build/ReadonlyEntity.d.ts +27 -8
- package/build/ReadonlyEntity.js +31 -3
- package/build/ReadonlyEntity.js.map +1 -1
- package/build/ViewerContext.d.ts +1 -1
- package/build/ViewerScopedEntityCompanion.d.ts +5 -5
- package/build/ViewerScopedEntityCompanionProvider.d.ts +1 -1
- package/build/ViewerScopedEntityLoaderFactory.d.ts +3 -3
- package/build/ViewerScopedEntityMutatorFactory.d.ts +5 -5
- package/build/entityUtils.d.ts +1 -1
- package/build/entityUtils.js.map +1 -1
- package/build/errors/EntityInvalidFieldValueError.d.ts +2 -2
- package/build/errors/EntityNotAuthorizedError.d.ts +1 -1
- package/build/errors/EntityNotFoundError.d.ts +2 -2
- package/build/index.d.ts +7 -7
- package/build/index.js +8 -13
- package/build/index.js.map +1 -1
- package/build/internal/CompositeFieldHolder.d.ts +48 -0
- package/build/internal/CompositeFieldHolder.js +116 -0
- package/build/internal/CompositeFieldHolder.js.map +1 -0
- package/build/internal/CompositeFieldValueMap.d.ts +15 -0
- package/build/internal/CompositeFieldValueMap.js +51 -0
- package/build/internal/CompositeFieldValueMap.js.map +1 -0
- package/build/internal/EntityDataManager.d.ts +16 -16
- package/build/internal/EntityDataManager.js +42 -45
- package/build/internal/EntityDataManager.js.map +1 -1
- package/build/internal/EntityFieldTransformationUtils.d.ts +5 -5
- package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
- package/build/internal/EntityLoadInterfaces.d.ts +104 -0
- package/build/internal/EntityLoadInterfaces.js +25 -0
- package/build/internal/EntityLoadInterfaces.js.map +1 -0
- package/build/internal/EntityTableDataCoordinator.d.ts +6 -6
- package/build/internal/EntityTableDataCoordinator.js.map +1 -1
- package/build/internal/ReadThroughEntityCache.d.ts +17 -16
- package/build/internal/ReadThroughEntityCache.js +36 -36
- package/build/internal/ReadThroughEntityCache.js.map +1 -1
- package/build/internal/SingleFieldHolder.d.ts +34 -0
- package/build/internal/SingleFieldHolder.js +90 -0
- package/build/internal/SingleFieldHolder.js.map +1 -0
- package/build/metrics/EntityMetricsUtils.d.ts +2 -1
- package/build/metrics/EntityMetricsUtils.js.map +1 -1
- package/build/metrics/IEntityMetricsAdapter.d.ts +5 -0
- package/build/metrics/IEntityMetricsAdapter.js.map +1 -1
- package/build/rules/AlwaysAllowPrivacyPolicyRule.d.ts +2 -2
- package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -1
- package/build/rules/AlwaysDenyPrivacyPolicyRule.d.ts +2 -2
- package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -1
- package/build/rules/AlwaysSkipPrivacyPolicyRule.d.ts +2 -2
- package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -1
- package/build/rules/PrivacyPolicyRule.d.ts +2 -2
- package/build/tsconfig.build.tsbuildinfo +1 -0
- package/build/utils/EntityPrivacyUtils.d.ts +4 -4
- package/build/utils/EntityPrivacyUtils.js.map +1 -1
- package/build/utils/collections/SerializableKeyMap.d.ts +27 -0
- package/build/utils/collections/SerializableKeyMap.js +60 -0
- package/build/utils/collections/SerializableKeyMap.js.map +1 -0
- package/build/utils/collections/maps.js +1 -2
- package/build/utils/collections/maps.js.map +1 -1
- package/build/utils/collections/sets.d.ts +1 -0
- package/build/utils/collections/sets.js +7 -0
- package/build/utils/collections/sets.js.map +1 -0
- package/build/utils/mergeEntityMutationTriggerConfigurations.d.ts +1 -1
- package/package.json +8 -5
- package/src/AuthorizationResultBasedEntityAssociationLoader.ts +58 -53
- package/src/AuthorizationResultBasedEntityLoader.ts +194 -81
- package/src/AuthorizationResultBasedEntityMutator.ts +71 -45
- package/src/ComposedEntityCacheAdapter.ts +55 -46
- package/src/ComposedSecondaryEntityCache.ts +5 -2
- package/src/EnforcingEntityAssociationLoader.ts +52 -44
- package/src/EnforcingEntityCreator.ts +5 -5
- package/src/EnforcingEntityDeleter.ts +5 -5
- package/src/EnforcingEntityLoader.ts +158 -21
- package/src/EnforcingEntityUpdater.ts +5 -5
- package/src/Entity.ts +185 -29
- package/src/EntityAssociationLoader.ts +6 -6
- package/src/EntityCompanion.ts +11 -11
- package/src/EntityCompanionProvider.ts +21 -18
- package/src/EntityConfiguration.ts +123 -9
- package/src/EntityCreator.ts +7 -7
- package/src/EntityDatabaseAdapter.ts +51 -28
- package/src/EntityDeleter.ts +7 -7
- package/src/EntityFieldDefinition.ts +32 -12
- package/src/EntityFields.ts +49 -12
- package/src/EntityLoader.ts +8 -8
- package/src/EntityLoaderFactory.ts +8 -8
- package/src/EntityLoaderUtils.ts +39 -10
- package/src/EntityMutationInfo.ts +6 -6
- package/src/EntityMutationTriggerConfiguration.ts +68 -20
- package/src/EntityMutationValidator.ts +4 -4
- package/src/EntityMutatorFactory.ts +13 -13
- package/src/EntityPrivacyPolicy.ts +50 -26
- package/src/EntitySecondaryCacheLoader.ts +6 -6
- package/src/EntityUpdater.ts +7 -7
- package/src/GenericEntityCacheAdapter.ts +39 -28
- package/src/GenericSecondaryEntityCache.ts +6 -3
- package/src/IEntityCacheAdapter.ts +45 -25
- package/src/IEntityCacheAdapterProvider.ts +3 -3
- package/src/IEntityDatabaseAdapterProvider.ts +3 -3
- package/src/IEntityGenericCacher.ts +33 -5
- package/src/ReadonlyEntity.ts +129 -16
- package/src/ViewerContext.ts +5 -5
- package/src/ViewerScopedEntityCompanion.ts +7 -7
- package/src/ViewerScopedEntityCompanionProvider.ts +6 -6
- package/src/ViewerScopedEntityLoaderFactory.ts +7 -7
- package/src/ViewerScopedEntityMutatorFactory.ts +8 -8
- package/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.ts +41 -72
- package/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.ts +14 -13
- package/src/__tests__/AuthorizationResultBasedEntityLoader-test.ts +367 -69
- package/src/__tests__/ComposedCacheAdapter-test.ts +235 -117
- package/src/__tests__/EnforcingEntityLoader-test.ts +135 -1
- package/src/__tests__/Entity-test.ts +64 -11
- package/src/__tests__/EntityAssociationLoader-test.ts +6 -8
- package/src/__tests__/EntityCommonUseCases-test.ts +25 -28
- package/src/__tests__/EntityCompanion-test.ts +4 -4
- package/src/__tests__/EntityCompanionProvider-test.ts +9 -8
- package/src/__tests__/EntityConfiguration-test.ts +85 -6
- package/src/__tests__/EntityDatabaseAdapter-test.ts +113 -17
- package/src/__tests__/EntityEdges-test.ts +135 -138
- package/src/__tests__/EntityFields-test.ts +2 -2
- package/src/__tests__/EntityLoader-test.ts +5 -7
- package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +17 -19
- package/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.ts +73 -0
- package/src/__tests__/EntityMutator-test.ts +74 -46
- package/src/__tests__/EntityPrivacyPolicy-test.ts +51 -74
- package/src/__tests__/EntityQueryContext-test.ts +1 -1
- package/src/__tests__/EntitySecondaryCacheLoader-test.ts +9 -9
- package/src/__tests__/EntitySelfReferentialEdges-test.ts +119 -122
- package/src/__tests__/GenericEntityCacheAdapter-test.ts +83 -28
- package/src/__tests__/ReadonlyEntity-test.ts +49 -9
- package/src/__tests__/ViewerContext-test.ts +1 -1
- package/src/__tests__/ViewerScopedEntityCompanion-test.ts +5 -2
- package/src/__tests__/ViewerScopedEntityCompanionProvider-test.ts +1 -1
- package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +12 -3
- package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +25 -27
- package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +28 -34
- package/src/entityUtils.ts +4 -1
- package/src/errors/EntityInvalidFieldValueError.ts +5 -5
- package/src/errors/EntityNotAuthorizedError.ts +3 -3
- package/src/errors/EntityNotFoundError.ts +5 -5
- package/src/index.ts +7 -7
- package/src/internal/CompositeFieldHolder.ts +218 -0
- package/src/internal/CompositeFieldValueMap.ts +78 -0
- package/src/internal/EntityDataManager.ts +107 -96
- package/src/internal/EntityFieldTransformationUtils.ts +33 -14
- package/src/internal/EntityLoadInterfaces.ts +143 -0
- package/src/internal/EntityTableDataCoordinator.ts +8 -5
- package/src/internal/ReadThroughEntityCache.ts +63 -50
- package/src/internal/SingleFieldHolder.ts +131 -0
- package/src/internal/__tests__/CompositeFieldHolder-test.ts +25 -0
- package/src/internal/__tests__/CompositeFieldValueMap-test.ts +43 -0
- package/src/internal/__tests__/EntityDataManager-test.ts +308 -91
- package/src/internal/__tests__/EntityFieldTransformationUtils-test.ts +3 -2
- package/src/internal/__tests__/ReadThroughEntityCache-test.ts +315 -107
- package/src/metrics/EntityMetricsUtils.ts +7 -2
- package/src/metrics/IEntityMetricsAdapter.ts +6 -0
- package/src/rules/AlwaysAllowPrivacyPolicyRule.ts +5 -5
- package/src/rules/AlwaysDenyPrivacyPolicyRule.ts +5 -5
- package/src/rules/AlwaysSkipPrivacyPolicyRule.ts +5 -5
- package/src/rules/PrivacyPolicyRule.ts +4 -4
- package/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.ts +1 -1
- package/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.ts +1 -1
- package/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.ts +1 -1
- package/src/utils/EntityPrivacyUtils.ts +72 -30
- package/src/utils/{testing → __testfixtures__}/PrivacyPolicyRuleTestUtils.ts +26 -26
- package/src/{testfixtures → utils/__testfixtures__}/SimpleTestEntity.ts +16 -15
- package/src/utils/__testfixtures__/StubCacheAdapter.ts +164 -0
- package/src/utils/{testing → __testfixtures__}/StubDatabaseAdapter.ts +19 -12
- package/src/utils/{testing → __testfixtures__}/StubDatabaseAdapterProvider.ts +4 -4
- package/src/utils/__testfixtures__/TSMockitoExtensions.ts +69 -0
- package/src/{testfixtures → utils/__testfixtures__}/TestEntity.ts +21 -15
- package/src/{testfixtures → utils/__testfixtures__}/TestEntity2.ts +16 -15
- package/src/{testfixtures → utils/__testfixtures__}/TestEntityWithMutationTriggers.ts +23 -22
- package/src/{testfixtures → utils/__testfixtures__}/TestViewerContext.ts +1 -1
- package/src/utils/{testing → __testfixtures__}/describeFieldTestCase.ts +1 -1
- package/src/utils/__tests__/EntityPrivacyUtils-test.ts +81 -113
- package/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts +31 -30
- package/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.ts +1 -1
- package/src/utils/collections/SerializableKeyMap.ts +84 -0
- package/src/utils/collections/__tests__/SerializableKeyMap-test.ts +119 -0
- package/src/utils/collections/__tests__/sets-test.ts +17 -0
- package/src/utils/collections/maps.ts +7 -8
- package/src/utils/collections/sets.ts +3 -0
- package/src/utils/mergeEntityMutationTriggerConfigurations.ts +5 -5
- package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.d.ts +0 -1
- package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js +0 -273
- package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js.map +0 -1
- package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.d.ts +0 -26
- package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js +0 -110
- package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js.map +0 -1
- package/build/__tests__/AuthorizationResultBasedEntityLoader-test.d.ts +0 -1
- package/build/__tests__/AuthorizationResultBasedEntityLoader-test.js +0 -401
- package/build/__tests__/AuthorizationResultBasedEntityLoader-test.js.map +0 -1
- package/build/__tests__/ComposedCacheAdapter-test.d.ts +0 -1
- package/build/__tests__/ComposedCacheAdapter-test.js +0 -229
- package/build/__tests__/ComposedCacheAdapter-test.js.map +0 -1
- package/build/__tests__/ComposedSecondaryEntityCache-test.d.ts +0 -1
- package/build/__tests__/ComposedSecondaryEntityCache-test.js +0 -66
- package/build/__tests__/ComposedSecondaryEntityCache-test.js.map +0 -1
- package/build/__tests__/EnforcingEntityAssociationLoader-test.d.ts +0 -1
- package/build/__tests__/EnforcingEntityAssociationLoader-test.js +0 -115
- package/build/__tests__/EnforcingEntityAssociationLoader-test.js.map +0 -1
- package/build/__tests__/EnforcingEntityLoader-test.d.ts +0 -1
- package/build/__tests__/EnforcingEntityLoader-test.js +0 -253
- package/build/__tests__/EnforcingEntityLoader-test.js.map +0 -1
- package/build/__tests__/Entity-test.d.ts +0 -1
- package/build/__tests__/Entity-test.js +0 -54
- package/build/__tests__/Entity-test.js.map +0 -1
- package/build/__tests__/EntityAssociationLoader-test.d.ts +0 -1
- package/build/__tests__/EntityAssociationLoader-test.js +0 -30
- package/build/__tests__/EntityAssociationLoader-test.js.map +0 -1
- package/build/__tests__/EntityCommonUseCases-test.d.ts +0 -1
- package/build/__tests__/EntityCommonUseCases-test.js +0 -154
- package/build/__tests__/EntityCommonUseCases-test.js.map +0 -1
- package/build/__tests__/EntityCompanion-test.d.ts +0 -1
- package/build/__tests__/EntityCompanion-test.js +0 -77
- package/build/__tests__/EntityCompanion-test.js.map +0 -1
- package/build/__tests__/EntityCompanionProvider-test.d.ts +0 -1
- package/build/__tests__/EntityCompanionProvider-test.js +0 -54
- package/build/__tests__/EntityCompanionProvider-test.js.map +0 -1
- package/build/__tests__/EntityConfiguration-test.d.ts +0 -1
- package/build/__tests__/EntityConfiguration-test.js +0 -103
- package/build/__tests__/EntityConfiguration-test.js.map +0 -1
- package/build/__tests__/EntityDatabaseAdapter-test.d.ts +0 -1
- package/build/__tests__/EntityDatabaseAdapter-test.js +0 -146
- package/build/__tests__/EntityDatabaseAdapter-test.js.map +0 -1
- package/build/__tests__/EntityEdges-test.d.ts +0 -1
- package/build/__tests__/EntityEdges-test.js +0 -755
- package/build/__tests__/EntityEdges-test.js.map +0 -1
- package/build/__tests__/EntityFields-test.d.ts +0 -1
- package/build/__tests__/EntityFields-test.js +0 -63
- package/build/__tests__/EntityFields-test.js.map +0 -1
- package/build/__tests__/EntityLoader-test.d.ts +0 -1
- package/build/__tests__/EntityLoader-test.js +0 -36
- package/build/__tests__/EntityLoader-test.js.map +0 -1
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +0 -1
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +0 -77
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +0 -1
- package/build/__tests__/EntityMutator-test.d.ts +0 -1
- package/build/__tests__/EntityMutator-test.js +0 -741
- package/build/__tests__/EntityMutator-test.js.map +0 -1
- package/build/__tests__/EntityPrivacyPolicy-test.d.ts +0 -1
- package/build/__tests__/EntityPrivacyPolicy-test.js +0 -463
- package/build/__tests__/EntityPrivacyPolicy-test.js.map +0 -1
- package/build/__tests__/EntityQueryContext-test.d.ts +0 -1
- package/build/__tests__/EntityQueryContext-test.js +0 -116
- package/build/__tests__/EntityQueryContext-test.js.map +0 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.d.ts +0 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.js +0 -60
- package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +0 -1
- package/build/__tests__/EntitySelfReferentialEdges-test.d.ts +0 -1
- package/build/__tests__/EntitySelfReferentialEdges-test.js +0 -247
- package/build/__tests__/EntitySelfReferentialEdges-test.js.map +0 -1
- package/build/__tests__/GenericEntityCacheAdapter-test.d.ts +0 -1
- package/build/__tests__/GenericEntityCacheAdapter-test.js +0 -80
- package/build/__tests__/GenericEntityCacheAdapter-test.js.map +0 -1
- package/build/__tests__/ReadonlyEntity-test.d.ts +0 -1
- package/build/__tests__/ReadonlyEntity-test.js +0 -178
- package/build/__tests__/ReadonlyEntity-test.js.map +0 -1
- package/build/__tests__/ViewerContext-test.d.ts +0 -1
- package/build/__tests__/ViewerContext-test.js +0 -30
- package/build/__tests__/ViewerContext-test.js.map +0 -1
- package/build/__tests__/ViewerScopedEntityCompanion-test.d.ts +0 -1
- package/build/__tests__/ViewerScopedEntityCompanion-test.js +0 -20
- package/build/__tests__/ViewerScopedEntityCompanion-test.js.map +0 -1
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.d.ts +0 -1
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js +0 -20
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +0 -1
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.d.ts +0 -1
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js +0 -23
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +0 -1
- package/build/__tests__/ViewerScopedEntityMutatorFactory-test.d.ts +0 -1
- package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js +0 -22
- package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +0 -1
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.d.ts +0 -1
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +0 -129
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +0 -1
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.d.ts +0 -1
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +0 -136
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +0 -1
- package/build/__tests__/entityUtils-test.d.ts +0 -1
- package/build/__tests__/entityUtils-test.js +0 -87
- package/build/__tests__/entityUtils-test.js.map +0 -1
- package/build/internal/__tests__/EntityDataManager-test.d.ts +0 -1
- package/build/internal/__tests__/EntityDataManager-test.js +0 -373
- package/build/internal/__tests__/EntityDataManager-test.js.map +0 -1
- package/build/internal/__tests__/EntityFieldTransformationUtils-test.d.ts +0 -1
- package/build/internal/__tests__/EntityFieldTransformationUtils-test.js +0 -136
- package/build/internal/__tests__/EntityFieldTransformationUtils-test.js.map +0 -1
- package/build/internal/__tests__/ReadThroughEntityCache-test.d.ts +0 -1
- package/build/internal/__tests__/ReadThroughEntityCache-test.js +0 -206
- package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +0 -1
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.d.ts +0 -1
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +0 -21
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +0 -1
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.d.ts +0 -1
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +0 -21
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +0 -1
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.d.ts +0 -1
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +0 -21
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +0 -1
- package/build/testfixtures/DateIDTestEntity.d.ts +0 -19
- package/build/testfixtures/DateIDTestEntity.js +0 -48
- package/build/testfixtures/DateIDTestEntity.js.map +0 -1
- package/build/testfixtures/SimpleTestEntity.d.ts +0 -20
- package/build/testfixtures/SimpleTestEntity.js +0 -48
- package/build/testfixtures/SimpleTestEntity.js.map +0 -1
- package/build/testfixtures/TestEntity.d.ts +0 -30
- package/build/testfixtures/TestEntity.js +0 -93
- package/build/testfixtures/TestEntity.js.map +0 -1
- package/build/testfixtures/TestEntity2.d.ts +0 -20
- package/build/testfixtures/TestEntity2.js +0 -51
- package/build/testfixtures/TestEntity2.js.map +0 -1
- package/build/testfixtures/TestEntityNumberKey.d.ts +0 -19
- package/build/testfixtures/TestEntityNumberKey.js +0 -48
- package/build/testfixtures/TestEntityNumberKey.js.map +0 -1
- package/build/testfixtures/TestEntityWithMutationTriggers.d.ts +0 -36
- package/build/testfixtures/TestEntityWithMutationTriggers.js +0 -82
- package/build/testfixtures/TestEntityWithMutationTriggers.js.map +0 -1
- package/build/testfixtures/TestViewerContext.d.ts +0 -3
- package/build/testfixtures/TestViewerContext.js +0 -10
- package/build/testfixtures/TestViewerContext.js.map +0 -1
- package/build/utils/__tests__/EntityPrivacyUtils-test.d.ts +0 -1
- package/build/utils/__tests__/EntityPrivacyUtils-test.js +0 -520
- package/build/utils/__tests__/EntityPrivacyUtils-test.js.map +0 -1
- package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.d.ts +0 -1
- package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js +0 -181
- package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map +0 -1
- package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.d.ts +0 -1
- package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js +0 -26
- package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js.map +0 -1
- package/build/utils/collections/__tests__/maps-test.d.ts +0 -1
- package/build/utils/collections/__tests__/maps-test.js +0 -120
- package/build/utils/collections/__tests__/maps-test.js.map +0 -1
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +0 -28
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.js +0 -52
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.js.map +0 -1
- package/build/utils/testing/StubCacheAdapter.d.ts +0 -27
- package/build/utils/testing/StubCacheAdapter.js +0 -86
- package/build/utils/testing/StubCacheAdapter.js.map +0 -1
- package/build/utils/testing/StubDatabaseAdapter.d.ts +0 -25
- package/build/utils/testing/StubDatabaseAdapter.js +0 -191
- package/build/utils/testing/StubDatabaseAdapter.js.map +0 -1
- package/build/utils/testing/StubDatabaseAdapterProvider.d.ts +0 -7
- package/build/utils/testing/StubDatabaseAdapterProvider.js +0 -14
- package/build/utils/testing/StubDatabaseAdapterProvider.js.map +0 -1
- package/build/utils/testing/StubQueryContextProvider.d.ts +0 -7
- package/build/utils/testing/StubQueryContextProvider.js +0 -19
- package/build/utils/testing/StubQueryContextProvider.js.map +0 -1
- package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.d.ts +0 -1
- package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.js +0 -42
- package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.js.map +0 -1
- package/build/utils/testing/__tests__/StubDatabaseAdapter-test.d.ts +0 -1
- package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js +0 -402
- package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js.map +0 -1
- package/build/utils/testing/createUnitTestEntityCompanionProvider.d.ts +0 -7
- package/build/utils/testing/createUnitTestEntityCompanionProvider.js +0 -36
- package/build/utils/testing/createUnitTestEntityCompanionProvider.js.map +0 -1
- package/build/utils/testing/describeFieldTestCase.d.ts +0 -2
- package/build/utils/testing/describeFieldTestCase.js +0 -18
- package/build/utils/testing/describeFieldTestCase.js.map +0 -1
- package/src/testfixtures/DateIDTestEntity.ts +0 -59
- package/src/testfixtures/TestEntityNumberKey.ts +0 -59
- package/src/utils/testing/StubCacheAdapter.ts +0 -122
- package/src/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.ts +0 -42
- package/src/utils/testing/__tests__/StubDatabaseAdapter-test.ts +0 -548
- /package/src/utils/{testing → __testfixtures__}/StubQueryContextProvider.ts +0 -0
- /package/src/utils/{testing → __testfixtures__}/createUnitTestEntityCompanionProvider.ts +0 -0
|
@@ -25,22 +25,23 @@ type BlahFields = {
|
|
|
25
25
|
id: string;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
-
class BlahEntity extends Entity<BlahFields,
|
|
28
|
+
class BlahEntity extends Entity<BlahFields, 'id', ViewerContext> {
|
|
29
29
|
static defineCompanionDefinition(): EntityCompanionDefinition<
|
|
30
30
|
BlahFields,
|
|
31
|
-
|
|
31
|
+
'id',
|
|
32
32
|
ViewerContext,
|
|
33
33
|
BlahEntity,
|
|
34
34
|
any
|
|
35
35
|
> {
|
|
36
36
|
return {
|
|
37
37
|
entityClass: BlahEntity,
|
|
38
|
-
entityConfiguration: new EntityConfiguration<BlahFields>({
|
|
38
|
+
entityConfiguration: new EntityConfiguration<BlahFields, 'id'>({
|
|
39
39
|
idField: 'id',
|
|
40
40
|
tableName: 'blah_table',
|
|
41
41
|
schema: {
|
|
42
42
|
id: new UUIDField({
|
|
43
43
|
columnName: 'id',
|
|
44
|
+
cache: false,
|
|
44
45
|
}),
|
|
45
46
|
},
|
|
46
47
|
databaseAdapterFlavor: 'postgres',
|
|
@@ -51,30 +52,30 @@ class BlahEntity extends Entity<BlahFields, string, ViewerContext> {
|
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
class AlwaysDenyPolicy extends EntityPrivacyPolicy<BlahFields,
|
|
55
|
+
class AlwaysDenyPolicy extends EntityPrivacyPolicy<BlahFields, 'id', ViewerContext, BlahEntity> {
|
|
55
56
|
protected override readonly createRules = [
|
|
56
|
-
new AlwaysDenyPrivacyPolicyRule<BlahFields,
|
|
57
|
+
new AlwaysDenyPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
57
58
|
];
|
|
58
59
|
protected override readonly readRules = [
|
|
59
|
-
new AlwaysDenyPrivacyPolicyRule<BlahFields,
|
|
60
|
+
new AlwaysDenyPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
60
61
|
];
|
|
61
62
|
protected override readonly updateRules = [
|
|
62
|
-
new AlwaysDenyPrivacyPolicyRule<BlahFields,
|
|
63
|
+
new AlwaysDenyPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
63
64
|
];
|
|
64
65
|
protected override readonly deleteRules = [
|
|
65
|
-
new AlwaysDenyPrivacyPolicyRule<BlahFields,
|
|
66
|
+
new AlwaysDenyPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
66
67
|
];
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
class DryRunAlwaysDenyPolicy extends AlwaysDenyPolicy {
|
|
70
71
|
// public method for test spying
|
|
71
72
|
public denyHandler(
|
|
72
|
-
_error: EntityNotAuthorizedError<BlahFields,
|
|
73
|
+
_error: EntityNotAuthorizedError<BlahFields, 'id', ViewerContext, BlahEntity>,
|
|
73
74
|
): void {}
|
|
74
75
|
|
|
75
76
|
protected override getPrivacyPolicyEvaluator(): EntityPrivacyPolicyEvaluator<
|
|
76
77
|
BlahFields,
|
|
77
|
-
|
|
78
|
+
'id',
|
|
78
79
|
ViewerContext,
|
|
79
80
|
BlahEntity
|
|
80
81
|
> {
|
|
@@ -88,12 +89,12 @@ class DryRunAlwaysDenyPolicy extends AlwaysDenyPolicy {
|
|
|
88
89
|
class LoggingEnforceAlwaysDenyPolicy extends AlwaysDenyPolicy {
|
|
89
90
|
// public method for test spying
|
|
90
91
|
public denyHandler(
|
|
91
|
-
_error: EntityNotAuthorizedError<BlahFields,
|
|
92
|
+
_error: EntityNotAuthorizedError<BlahFields, 'id', ViewerContext, BlahEntity>,
|
|
92
93
|
): void {}
|
|
93
94
|
|
|
94
95
|
protected override getPrivacyPolicyEvaluator(): EntityPrivacyPolicyEvaluator<
|
|
95
96
|
BlahFields,
|
|
96
|
-
|
|
97
|
+
'id',
|
|
97
98
|
ViewerContext,
|
|
98
99
|
BlahEntity
|
|
99
100
|
> {
|
|
@@ -104,30 +105,30 @@ class LoggingEnforceAlwaysDenyPolicy extends AlwaysDenyPolicy {
|
|
|
104
105
|
}
|
|
105
106
|
}
|
|
106
107
|
|
|
107
|
-
class AlwaysAllowPolicy extends EntityPrivacyPolicy<BlahFields,
|
|
108
|
+
class AlwaysAllowPolicy extends EntityPrivacyPolicy<BlahFields, 'id', ViewerContext, BlahEntity> {
|
|
108
109
|
protected override readonly createRules = [
|
|
109
|
-
new AlwaysAllowPrivacyPolicyRule<BlahFields,
|
|
110
|
+
new AlwaysAllowPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
110
111
|
];
|
|
111
112
|
protected override readonly readRules = [
|
|
112
|
-
new AlwaysAllowPrivacyPolicyRule<BlahFields,
|
|
113
|
+
new AlwaysAllowPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
113
114
|
];
|
|
114
115
|
protected override readonly updateRules = [
|
|
115
|
-
new AlwaysAllowPrivacyPolicyRule<BlahFields,
|
|
116
|
+
new AlwaysAllowPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
116
117
|
];
|
|
117
118
|
protected override readonly deleteRules = [
|
|
118
|
-
new AlwaysAllowPrivacyPolicyRule<BlahFields,
|
|
119
|
+
new AlwaysAllowPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
119
120
|
];
|
|
120
121
|
}
|
|
121
122
|
|
|
122
123
|
class DryRunAlwaysAllowPolicy extends AlwaysAllowPolicy {
|
|
123
124
|
// public method for test spying
|
|
124
125
|
public denyHandler(
|
|
125
|
-
_error: EntityNotAuthorizedError<BlahFields,
|
|
126
|
+
_error: EntityNotAuthorizedError<BlahFields, 'id', ViewerContext, BlahEntity>,
|
|
126
127
|
): void {}
|
|
127
128
|
|
|
128
129
|
protected override getPrivacyPolicyEvaluator(): EntityPrivacyPolicyEvaluator<
|
|
129
130
|
BlahFields,
|
|
130
|
-
|
|
131
|
+
'id',
|
|
131
132
|
ViewerContext,
|
|
132
133
|
BlahEntity
|
|
133
134
|
> {
|
|
@@ -141,12 +142,12 @@ class DryRunAlwaysAllowPolicy extends AlwaysAllowPolicy {
|
|
|
141
142
|
class LoggingEnforceAlwaysAllowPolicy extends AlwaysAllowPolicy {
|
|
142
143
|
// public method for test spying
|
|
143
144
|
public denyHandler(
|
|
144
|
-
_error: EntityNotAuthorizedError<BlahFields,
|
|
145
|
+
_error: EntityNotAuthorizedError<BlahFields, 'id', ViewerContext, BlahEntity>,
|
|
145
146
|
): void {}
|
|
146
147
|
|
|
147
148
|
protected override getPrivacyPolicyEvaluator(): EntityPrivacyPolicyEvaluator<
|
|
148
149
|
BlahFields,
|
|
149
|
-
|
|
150
|
+
'id',
|
|
150
151
|
ViewerContext,
|
|
151
152
|
BlahEntity
|
|
152
153
|
> {
|
|
@@ -157,24 +158,24 @@ class LoggingEnforceAlwaysAllowPolicy extends AlwaysAllowPolicy {
|
|
|
157
158
|
}
|
|
158
159
|
}
|
|
159
160
|
|
|
160
|
-
class SkipAllPolicy extends EntityPrivacyPolicy<BlahFields,
|
|
161
|
+
class SkipAllPolicy extends EntityPrivacyPolicy<BlahFields, 'id', ViewerContext, BlahEntity> {
|
|
161
162
|
protected override readonly createRules = [
|
|
162
|
-
new AlwaysSkipPrivacyPolicyRule<BlahFields,
|
|
163
|
+
new AlwaysSkipPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
163
164
|
];
|
|
164
165
|
protected override readonly readRules = [
|
|
165
|
-
new AlwaysSkipPrivacyPolicyRule<BlahFields,
|
|
166
|
+
new AlwaysSkipPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
166
167
|
];
|
|
167
168
|
protected override readonly updateRules = [
|
|
168
|
-
new AlwaysSkipPrivacyPolicyRule<BlahFields,
|
|
169
|
+
new AlwaysSkipPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
169
170
|
];
|
|
170
171
|
protected override readonly deleteRules = [
|
|
171
|
-
new AlwaysSkipPrivacyPolicyRule<BlahFields,
|
|
172
|
+
new AlwaysSkipPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
172
173
|
];
|
|
173
174
|
}
|
|
174
175
|
|
|
175
176
|
class InvalidCreateRuleResultPolicy extends EntityPrivacyPolicy<
|
|
176
177
|
BlahFields,
|
|
177
|
-
|
|
178
|
+
'id',
|
|
178
179
|
ViewerContext,
|
|
179
180
|
BlahEntity
|
|
180
181
|
> {
|
|
@@ -186,19 +187,19 @@ class InvalidCreateRuleResultPolicy extends EntityPrivacyPolicy<
|
|
|
186
187
|
},
|
|
187
188
|
];
|
|
188
189
|
protected override readonly readRules = [
|
|
189
|
-
new AlwaysSkipPrivacyPolicyRule<BlahFields,
|
|
190
|
+
new AlwaysSkipPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
190
191
|
];
|
|
191
192
|
protected override readonly updateRules = [
|
|
192
|
-
new AlwaysSkipPrivacyPolicyRule<BlahFields,
|
|
193
|
+
new AlwaysSkipPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
193
194
|
];
|
|
194
195
|
protected override readonly deleteRules = [
|
|
195
|
-
new AlwaysSkipPrivacyPolicyRule<BlahFields,
|
|
196
|
+
new AlwaysSkipPrivacyPolicyRule<BlahFields, 'id', ViewerContext, BlahEntity>(),
|
|
196
197
|
];
|
|
197
198
|
}
|
|
198
199
|
|
|
199
200
|
class AlwaysThrowPrivacyPolicyRule extends PrivacyPolicyRule<
|
|
200
201
|
BlahFields,
|
|
201
|
-
|
|
202
|
+
'id',
|
|
202
203
|
ViewerContext,
|
|
203
204
|
BlahEntity
|
|
204
205
|
> {
|
|
@@ -207,7 +208,7 @@ class AlwaysThrowPrivacyPolicyRule extends PrivacyPolicyRule<
|
|
|
207
208
|
_queryContext: EntityQueryContext,
|
|
208
209
|
_evaluationContext: EntityPrivacyPolicyEvaluationContext<
|
|
209
210
|
BlahFields,
|
|
210
|
-
|
|
211
|
+
'id',
|
|
211
212
|
ViewerContext,
|
|
212
213
|
BlahEntity
|
|
213
214
|
>,
|
|
@@ -217,7 +218,7 @@ class AlwaysThrowPrivacyPolicyRule extends PrivacyPolicyRule<
|
|
|
217
218
|
}
|
|
218
219
|
}
|
|
219
220
|
|
|
220
|
-
class ThrowAllPolicy extends EntityPrivacyPolicy<BlahFields,
|
|
221
|
+
class ThrowAllPolicy extends EntityPrivacyPolicy<BlahFields, 'id', ViewerContext, BlahEntity> {
|
|
221
222
|
protected override readonly createRules = [new AlwaysThrowPrivacyPolicyRule()];
|
|
222
223
|
protected override readonly readRules = [new AlwaysThrowPrivacyPolicyRule()];
|
|
223
224
|
protected override readonly updateRules = [new AlwaysThrowPrivacyPolicyRule()];
|
|
@@ -227,12 +228,12 @@ class ThrowAllPolicy extends EntityPrivacyPolicy<BlahFields, string, ViewerConte
|
|
|
227
228
|
class DryRunThrowAllPolicy extends ThrowAllPolicy {
|
|
228
229
|
// public method for test spying
|
|
229
230
|
public denyHandler(
|
|
230
|
-
_error: EntityNotAuthorizedError<BlahFields,
|
|
231
|
+
_error: EntityNotAuthorizedError<BlahFields, 'id', ViewerContext, BlahEntity>,
|
|
231
232
|
): void {}
|
|
232
233
|
|
|
233
234
|
protected override getPrivacyPolicyEvaluator(): EntityPrivacyPolicyEvaluator<
|
|
234
235
|
BlahFields,
|
|
235
|
-
|
|
236
|
+
'id',
|
|
236
237
|
ViewerContext,
|
|
237
238
|
BlahEntity
|
|
238
239
|
> {
|
|
@@ -246,12 +247,12 @@ class DryRunThrowAllPolicy extends ThrowAllPolicy {
|
|
|
246
247
|
class LoggingEnforceThrowAllPolicy extends ThrowAllPolicy {
|
|
247
248
|
// public method for test spying
|
|
248
249
|
public denyHandler(
|
|
249
|
-
_error: EntityNotAuthorizedError<BlahFields,
|
|
250
|
+
_error: EntityNotAuthorizedError<BlahFields, 'id', ViewerContext, BlahEntity>,
|
|
250
251
|
): void {}
|
|
251
252
|
|
|
252
253
|
protected override getPrivacyPolicyEvaluator(): EntityPrivacyPolicyEvaluator<
|
|
253
254
|
BlahFields,
|
|
254
|
-
|
|
255
|
+
'id',
|
|
255
256
|
ViewerContext,
|
|
256
257
|
BlahEntity
|
|
257
258
|
> {
|
|
@@ -262,7 +263,7 @@ class LoggingEnforceThrowAllPolicy extends ThrowAllPolicy {
|
|
|
262
263
|
}
|
|
263
264
|
}
|
|
264
265
|
|
|
265
|
-
class EmptyPolicy extends EntityPrivacyPolicy<BlahFields,
|
|
266
|
+
class EmptyPolicy extends EntityPrivacyPolicy<BlahFields, 'id', ViewerContext, BlahEntity> {
|
|
266
267
|
protected override readonly createRules = [];
|
|
267
268
|
protected override readonly readRules = [];
|
|
268
269
|
protected override readonly updateRules = [];
|
|
@@ -276,9 +277,7 @@ describe(EntityPrivacyPolicy, () => {
|
|
|
276
277
|
const queryContext = instance(mock(EntityQueryContext));
|
|
277
278
|
const privacyPolicyEvaluationContext =
|
|
278
279
|
instance(
|
|
279
|
-
mock<
|
|
280
|
-
EntityPrivacyPolicyEvaluationContext<BlahFields, string, ViewerContext, BlahEntity>
|
|
281
|
-
>(),
|
|
280
|
+
mock<EntityPrivacyPolicyEvaluationContext<BlahFields, 'id', ViewerContext, BlahEntity>>(),
|
|
282
281
|
);
|
|
283
282
|
const metricsAdapterMock = mock<IEntityMetricsAdapter>();
|
|
284
283
|
const metricsAdapter = instance(metricsAdapterMock);
|
|
@@ -315,9 +314,7 @@ describe(EntityPrivacyPolicy, () => {
|
|
|
315
314
|
const queryContext = instance(mock(EntityQueryContext));
|
|
316
315
|
const privacyPolicyEvaluationContext =
|
|
317
316
|
instance(
|
|
318
|
-
mock<
|
|
319
|
-
EntityPrivacyPolicyEvaluationContext<BlahFields, string, ViewerContext, BlahEntity>
|
|
320
|
-
>(),
|
|
317
|
+
mock<EntityPrivacyPolicyEvaluationContext<BlahFields, 'id', ViewerContext, BlahEntity>>(),
|
|
321
318
|
);
|
|
322
319
|
const metricsAdapterMock = mock<IEntityMetricsAdapter>();
|
|
323
320
|
const metricsAdapter = instance(metricsAdapterMock);
|
|
@@ -353,9 +350,7 @@ describe(EntityPrivacyPolicy, () => {
|
|
|
353
350
|
const queryContext = instance(mock(EntityQueryContext));
|
|
354
351
|
const privacyPolicyEvaluationContext =
|
|
355
352
|
instance(
|
|
356
|
-
mock<
|
|
357
|
-
EntityPrivacyPolicyEvaluationContext<BlahFields, string, ViewerContext, BlahEntity>
|
|
358
|
-
>(),
|
|
353
|
+
mock<EntityPrivacyPolicyEvaluationContext<BlahFields, 'id', ViewerContext, BlahEntity>>(),
|
|
359
354
|
);
|
|
360
355
|
const metricsAdapterMock = mock<IEntityMetricsAdapter>();
|
|
361
356
|
const metricsAdapter = instance(metricsAdapterMock);
|
|
@@ -392,9 +387,7 @@ describe(EntityPrivacyPolicy, () => {
|
|
|
392
387
|
const queryContext = instance(mock(EntityQueryContext));
|
|
393
388
|
const privacyPolicyEvaluationContext =
|
|
394
389
|
instance(
|
|
395
|
-
mock<
|
|
396
|
-
EntityPrivacyPolicyEvaluationContext<BlahFields, string, ViewerContext, BlahEntity>
|
|
397
|
-
>(),
|
|
390
|
+
mock<EntityPrivacyPolicyEvaluationContext<BlahFields, 'id', ViewerContext, BlahEntity>>(),
|
|
398
391
|
);
|
|
399
392
|
const metricsAdapterMock = mock<IEntityMetricsAdapter>();
|
|
400
393
|
const metricsAdapter = instance(metricsAdapterMock);
|
|
@@ -421,9 +414,7 @@ describe(EntityPrivacyPolicy, () => {
|
|
|
421
414
|
const queryContext = instance(mock(EntityQueryContext));
|
|
422
415
|
const privacyPolicyEvaluationContext =
|
|
423
416
|
instance(
|
|
424
|
-
mock<
|
|
425
|
-
EntityPrivacyPolicyEvaluationContext<BlahFields, string, ViewerContext, BlahEntity>
|
|
426
|
-
>(),
|
|
417
|
+
mock<EntityPrivacyPolicyEvaluationContext<BlahFields, 'id', ViewerContext, BlahEntity>>(),
|
|
427
418
|
);
|
|
428
419
|
const metricsAdapterMock = mock<IEntityMetricsAdapter>();
|
|
429
420
|
const metricsAdapter = instance(metricsAdapterMock);
|
|
@@ -460,9 +451,7 @@ describe(EntityPrivacyPolicy, () => {
|
|
|
460
451
|
const queryContext = instance(mock(EntityQueryContext));
|
|
461
452
|
const privacyPolicyEvaluationContext =
|
|
462
453
|
instance(
|
|
463
|
-
mock<
|
|
464
|
-
EntityPrivacyPolicyEvaluationContext<BlahFields, string, ViewerContext, BlahEntity>
|
|
465
|
-
>(),
|
|
454
|
+
mock<EntityPrivacyPolicyEvaluationContext<BlahFields, 'id', ViewerContext, BlahEntity>>(),
|
|
466
455
|
);
|
|
467
456
|
const metricsAdapterMock = mock<IEntityMetricsAdapter>();
|
|
468
457
|
const metricsAdapter = instance(metricsAdapterMock);
|
|
@@ -492,9 +481,7 @@ describe(EntityPrivacyPolicy, () => {
|
|
|
492
481
|
const queryContext = instance(mock(EntityQueryContext));
|
|
493
482
|
const privacyPolicyEvaluationContext =
|
|
494
483
|
instance(
|
|
495
|
-
mock<
|
|
496
|
-
EntityPrivacyPolicyEvaluationContext<BlahFields, string, ViewerContext, BlahEntity>
|
|
497
|
-
>(),
|
|
484
|
+
mock<EntityPrivacyPolicyEvaluationContext<BlahFields, 'id', ViewerContext, BlahEntity>>(),
|
|
498
485
|
);
|
|
499
486
|
const metricsAdapterMock = mock<IEntityMetricsAdapter>();
|
|
500
487
|
const metricsAdapter = instance(metricsAdapterMock);
|
|
@@ -536,9 +523,7 @@ describe(EntityPrivacyPolicy, () => {
|
|
|
536
523
|
const queryContext = instance(mock(EntityQueryContext));
|
|
537
524
|
const privacyPolicyEvaluationContext =
|
|
538
525
|
instance(
|
|
539
|
-
mock<
|
|
540
|
-
EntityPrivacyPolicyEvaluationContext<BlahFields, string, ViewerContext, BlahEntity>
|
|
541
|
-
>(),
|
|
526
|
+
mock<EntityPrivacyPolicyEvaluationContext<BlahFields, 'id', ViewerContext, BlahEntity>>(),
|
|
542
527
|
);
|
|
543
528
|
const metricsAdapterMock = mock<IEntityMetricsAdapter>();
|
|
544
529
|
const metricsAdapter = instance(metricsAdapterMock);
|
|
@@ -580,9 +565,7 @@ describe(EntityPrivacyPolicy, () => {
|
|
|
580
565
|
const queryContext = instance(mock(EntityQueryContext));
|
|
581
566
|
const privacyPolicyEvaluationContext =
|
|
582
567
|
instance(
|
|
583
|
-
mock<
|
|
584
|
-
EntityPrivacyPolicyEvaluationContext<BlahFields, string, ViewerContext, BlahEntity>
|
|
585
|
-
>(),
|
|
568
|
+
mock<EntityPrivacyPolicyEvaluationContext<BlahFields, 'id', ViewerContext, BlahEntity>>(),
|
|
586
569
|
);
|
|
587
570
|
const metricsAdapterMock = mock<IEntityMetricsAdapter>();
|
|
588
571
|
const metricsAdapter = instance(metricsAdapterMock);
|
|
@@ -618,9 +601,7 @@ describe(EntityPrivacyPolicy, () => {
|
|
|
618
601
|
const queryContext = instance(mock(EntityQueryContext));
|
|
619
602
|
const privacyPolicyEvaluationContext =
|
|
620
603
|
instance(
|
|
621
|
-
mock<
|
|
622
|
-
EntityPrivacyPolicyEvaluationContext<BlahFields, string, ViewerContext, BlahEntity>
|
|
623
|
-
>(),
|
|
604
|
+
mock<EntityPrivacyPolicyEvaluationContext<BlahFields, 'id', ViewerContext, BlahEntity>>(),
|
|
624
605
|
);
|
|
625
606
|
const metricsAdapterMock = mock<IEntityMetricsAdapter>();
|
|
626
607
|
const metricsAdapter = instance(metricsAdapterMock);
|
|
@@ -663,9 +644,7 @@ describe(EntityPrivacyPolicy, () => {
|
|
|
663
644
|
const queryContext = instance(mock(EntityQueryContext));
|
|
664
645
|
const privacyPolicyEvaluationContext =
|
|
665
646
|
instance(
|
|
666
|
-
mock<
|
|
667
|
-
EntityPrivacyPolicyEvaluationContext<BlahFields, string, ViewerContext, BlahEntity>
|
|
668
|
-
>(),
|
|
647
|
+
mock<EntityPrivacyPolicyEvaluationContext<BlahFields, 'id', ViewerContext, BlahEntity>>(),
|
|
669
648
|
);
|
|
670
649
|
const metricsAdapterMock = mock<IEntityMetricsAdapter>();
|
|
671
650
|
const metricsAdapter = instance(metricsAdapterMock);
|
|
@@ -707,9 +686,7 @@ describe(EntityPrivacyPolicy, () => {
|
|
|
707
686
|
const queryContext = instance(mock(EntityQueryContext));
|
|
708
687
|
const privacyPolicyEvaluationContext =
|
|
709
688
|
instance(
|
|
710
|
-
mock<
|
|
711
|
-
EntityPrivacyPolicyEvaluationContext<BlahFields, string, ViewerContext, BlahEntity>
|
|
712
|
-
>(),
|
|
689
|
+
mock<EntityPrivacyPolicyEvaluationContext<BlahFields, 'id', ViewerContext, BlahEntity>>(),
|
|
713
690
|
);
|
|
714
691
|
const metricsAdapterMock = mock<IEntityMetricsAdapter>();
|
|
715
692
|
const metricsAdapter = instance(metricsAdapterMock);
|
|
@@ -2,7 +2,7 @@ import invariant from 'invariant';
|
|
|
2
2
|
|
|
3
3
|
import { EntityQueryContext, TransactionIsolationLevel } from '../EntityQueryContext';
|
|
4
4
|
import ViewerContext from '../ViewerContext';
|
|
5
|
-
import { createUnitTestEntityCompanionProvider } from '../utils/
|
|
5
|
+
import { createUnitTestEntityCompanionProvider } from '../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
|
|
6
6
|
|
|
7
7
|
describe(EntityQueryContext, () => {
|
|
8
8
|
describe('callbacks', () => {
|
|
@@ -6,15 +6,15 @@ import ViewerContext from '../ViewerContext';
|
|
|
6
6
|
import SimpleTestEntity, {
|
|
7
7
|
SimpleTestEntityPrivacyPolicy,
|
|
8
8
|
SimpleTestFields,
|
|
9
|
-
} from '../
|
|
10
|
-
import { createUnitTestEntityCompanionProvider } from '../utils/
|
|
9
|
+
} from '../utils/__testfixtures__/SimpleTestEntity';
|
|
10
|
+
import { createUnitTestEntityCompanionProvider } from '../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
|
|
11
11
|
|
|
12
12
|
type TestLoadParams = { id: string };
|
|
13
13
|
|
|
14
14
|
class TestSecondaryRedisCacheLoader extends EntitySecondaryCacheLoader<
|
|
15
15
|
TestLoadParams,
|
|
16
16
|
SimpleTestFields,
|
|
17
|
-
|
|
17
|
+
'id',
|
|
18
18
|
ViewerContext,
|
|
19
19
|
SimpleTestEntity,
|
|
20
20
|
SimpleTestEntityPrivacyPolicy
|
|
@@ -32,7 +32,7 @@ describe(EntitySecondaryCacheLoader, () => {
|
|
|
32
32
|
it('calls into secondary cache with correct params', async () => {
|
|
33
33
|
const vc1 = new ViewerContext(createUnitTestEntityCompanionProvider());
|
|
34
34
|
|
|
35
|
-
const createdEntity = await SimpleTestEntity.creator(vc1).
|
|
35
|
+
const createdEntity = await SimpleTestEntity.creator(vc1).createAsync();
|
|
36
36
|
const loadParams = { id: createdEntity.getID() };
|
|
37
37
|
|
|
38
38
|
const secondaryEntityCacheMock =
|
|
@@ -44,7 +44,7 @@ describe(EntitySecondaryCacheLoader, () => {
|
|
|
44
44
|
|
|
45
45
|
const secondaryCacheLoader = new TestSecondaryRedisCacheLoader(
|
|
46
46
|
secondaryEntityCache,
|
|
47
|
-
SimpleTestEntity.
|
|
47
|
+
SimpleTestEntity.loaderWithAuthorizationResults(vc1),
|
|
48
48
|
);
|
|
49
49
|
|
|
50
50
|
await secondaryCacheLoader.loadManyAsync([loadParams]);
|
|
@@ -57,7 +57,7 @@ describe(EntitySecondaryCacheLoader, () => {
|
|
|
57
57
|
it('constructs and authorizes entities', async () => {
|
|
58
58
|
const vc1 = new ViewerContext(createUnitTestEntityCompanionProvider());
|
|
59
59
|
|
|
60
|
-
const createdEntity = await SimpleTestEntity.creator(vc1).
|
|
60
|
+
const createdEntity = await SimpleTestEntity.creator(vc1).createAsync();
|
|
61
61
|
const loadParams = { id: createdEntity.getID() };
|
|
62
62
|
|
|
63
63
|
const secondaryEntityCacheMock =
|
|
@@ -67,7 +67,7 @@ describe(EntitySecondaryCacheLoader, () => {
|
|
|
67
67
|
).thenResolve(new Map([[loadParams, createdEntity.getAllFields()]]));
|
|
68
68
|
const secondaryEntityCache = instance(secondaryEntityCacheMock);
|
|
69
69
|
|
|
70
|
-
const loader = SimpleTestEntity.
|
|
70
|
+
const loader = SimpleTestEntity.loaderWithAuthorizationResults(vc1);
|
|
71
71
|
const spiedPrivacyPolicy = spy(loader.utils['privacyPolicy']);
|
|
72
72
|
const secondaryCacheLoader = new TestSecondaryRedisCacheLoader(secondaryEntityCache, loader);
|
|
73
73
|
|
|
@@ -90,13 +90,13 @@ describe(EntitySecondaryCacheLoader, () => {
|
|
|
90
90
|
it('calls invalidate on the secondary cache', async () => {
|
|
91
91
|
const vc1 = new ViewerContext(createUnitTestEntityCompanionProvider());
|
|
92
92
|
|
|
93
|
-
const createdEntity = await SimpleTestEntity.creator(vc1).
|
|
93
|
+
const createdEntity = await SimpleTestEntity.creator(vc1).createAsync();
|
|
94
94
|
const loadParams = { id: createdEntity.getID() };
|
|
95
95
|
|
|
96
96
|
const secondaryEntityCacheMock =
|
|
97
97
|
mock<ISecondaryEntityCache<SimpleTestFields, TestLoadParams>>();
|
|
98
98
|
const secondaryEntityCache = instance(secondaryEntityCacheMock);
|
|
99
|
-
const loader = SimpleTestEntity.
|
|
99
|
+
const loader = SimpleTestEntity.loaderWithAuthorizationResults(vc1);
|
|
100
100
|
const secondaryCacheLoader = new TestSecondaryRedisCacheLoader(secondaryEntityCache, loader);
|
|
101
101
|
await secondaryCacheLoader.invalidateManyAsync([loadParams]);
|
|
102
102
|
|