@expo/entity 0.46.0 → 0.48.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/src/AuthorizationResultBasedEntityMutator.d.ts +5 -3
- package/build/src/AuthorizationResultBasedEntityMutator.js +75 -37
- package/build/src/AuthorizationResultBasedEntityMutator.js.map +1 -1
- package/build/src/EntityDeleter.js +1 -1
- package/build/src/EntityDeleter.js.map +1 -1
- package/build/src/EntityFields.d.ts +7 -0
- package/build/src/EntityFields.js +11 -1
- package/build/src/EntityFields.js.map +1 -1
- package/build/src/EntityMutatorFactory.d.ts +3 -2
- package/build/src/EntityMutatorFactory.js +4 -4
- package/build/src/EntityMutatorFactory.js.map +1 -1
- package/build/src/EntityUpdater.js +1 -1
- package/build/src/EntityUpdater.js.map +1 -1
- package/build/src/ViewerScopedEntityMutatorFactory.d.ts +3 -2
- package/build/src/ViewerScopedEntityMutatorFactory.js +4 -4
- package/build/src/ViewerScopedEntityMutatorFactory.js.map +1 -1
- package/package.json +5 -2
- package/src/AuthorizationResultBasedEntityMutator.ts +63 -49
- package/src/EntityDeleter.ts +1 -1
- package/src/EntityFields.ts +13 -0
- package/src/EntityMutatorFactory.ts +5 -0
- package/src/EntityUpdater.ts +1 -1
- package/src/ViewerScopedEntityMutatorFactory.ts +5 -2
- package/src/__tests__/EntityFields-test.ts +7 -0
- package/src/__tests__/EntityMutator-test.ts +217 -16
- package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.d.ts +0 -1
- package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js +0 -240
- package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js.map +0 -1
- package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.d.ts +0 -26
- package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js +0 -109
- package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js.map +0 -1
- package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.d.ts +0 -1
- package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.js +0 -590
- package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.js.map +0 -1
- package/build/src/__tests__/ComposedCacheAdapter-test.d.ts +0 -1
- package/build/src/__tests__/ComposedCacheAdapter-test.js +0 -259
- package/build/src/__tests__/ComposedCacheAdapter-test.js.map +0 -1
- package/build/src/__tests__/ComposedSecondaryEntityCache-test.d.ts +0 -1
- package/build/src/__tests__/ComposedSecondaryEntityCache-test.js +0 -67
- package/build/src/__tests__/ComposedSecondaryEntityCache-test.js.map +0 -1
- package/build/src/__tests__/EnforcingEntityAssociationLoader-test.d.ts +0 -1
- package/build/src/__tests__/EnforcingEntityAssociationLoader-test.js +0 -113
- package/build/src/__tests__/EnforcingEntityAssociationLoader-test.js.map +0 -1
- package/build/src/__tests__/EnforcingEntityLoader-test.d.ts +0 -1
- package/build/src/__tests__/EnforcingEntityLoader-test.js +0 -316
- package/build/src/__tests__/EnforcingEntityLoader-test.js.map +0 -1
- package/build/src/__tests__/Entity-test.d.ts +0 -1
- package/build/src/__tests__/Entity-test.js +0 -92
- package/build/src/__tests__/Entity-test.js.map +0 -1
- package/build/src/__tests__/EntityAssociationLoader-test.d.ts +0 -1
- package/build/src/__tests__/EntityAssociationLoader-test.js +0 -28
- package/build/src/__tests__/EntityAssociationLoader-test.js.map +0 -1
- package/build/src/__tests__/EntityCommonUseCases-test.d.ts +0 -1
- package/build/src/__tests__/EntityCommonUseCases-test.js +0 -111
- package/build/src/__tests__/EntityCommonUseCases-test.js.map +0 -1
- package/build/src/__tests__/EntityCompanion-test.d.ts +0 -1
- package/build/src/__tests__/EntityCompanion-test.js +0 -42
- package/build/src/__tests__/EntityCompanion-test.js.map +0 -1
- package/build/src/__tests__/EntityCompanionProvider-test.d.ts +0 -1
- package/build/src/__tests__/EntityCompanionProvider-test.js +0 -53
- package/build/src/__tests__/EntityCompanionProvider-test.js.map +0 -1
- package/build/src/__tests__/EntityConfiguration-test.d.ts +0 -1
- package/build/src/__tests__/EntityConfiguration-test.js +0 -164
- package/build/src/__tests__/EntityConfiguration-test.js.map +0 -1
- package/build/src/__tests__/EntityDatabaseAdapter-test.d.ts +0 -1
- package/build/src/__tests__/EntityDatabaseAdapter-test.js +0 -189
- package/build/src/__tests__/EntityDatabaseAdapter-test.js.map +0 -1
- package/build/src/__tests__/EntityEdges-test.d.ts +0 -1
- package/build/src/__tests__/EntityEdges-test.js +0 -680
- package/build/src/__tests__/EntityEdges-test.js.map +0 -1
- package/build/src/__tests__/EntityFields-test.d.ts +0 -1
- package/build/src/__tests__/EntityFields-test.js +0 -61
- package/build/src/__tests__/EntityFields-test.js.map +0 -1
- package/build/src/__tests__/EntityLoader-test.d.ts +0 -1
- package/build/src/__tests__/EntityLoader-test.js +0 -34
- package/build/src/__tests__/EntityLoader-test.js.map +0 -1
- package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +0 -1
- package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.js +0 -71
- package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +0 -1
- package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.d.ts +0 -1
- package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.js +0 -54
- package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.js.map +0 -1
- package/build/src/__tests__/EntityMutator-test.d.ts +0 -1
- package/build/src/__tests__/EntityMutator-test.js +0 -721
- package/build/src/__tests__/EntityMutator-test.js.map +0 -1
- package/build/src/__tests__/EntityPrivacyPolicy-test.d.ts +0 -1
- package/build/src/__tests__/EntityPrivacyPolicy-test.js +0 -429
- package/build/src/__tests__/EntityPrivacyPolicy-test.js.map +0 -1
- package/build/src/__tests__/EntityQueryContext-test.d.ts +0 -1
- package/build/src/__tests__/EntityQueryContext-test.js +0 -181
- package/build/src/__tests__/EntityQueryContext-test.js.map +0 -1
- package/build/src/__tests__/EntitySecondaryCacheLoader-test.d.ts +0 -1
- package/build/src/__tests__/EntitySecondaryCacheLoader-test.js +0 -58
- package/build/src/__tests__/EntitySecondaryCacheLoader-test.js.map +0 -1
- package/build/src/__tests__/EntitySelfReferentialEdges-test.d.ts +0 -1
- package/build/src/__tests__/EntitySelfReferentialEdges-test.js +0 -196
- package/build/src/__tests__/EntitySelfReferentialEdges-test.js.map +0 -1
- package/build/src/__tests__/GenericEntityCacheAdapter-test.d.ts +0 -1
- package/build/src/__tests__/GenericEntityCacheAdapter-test.js +0 -95
- package/build/src/__tests__/GenericEntityCacheAdapter-test.js.map +0 -1
- package/build/src/__tests__/ReadonlyEntity-test.d.ts +0 -1
- package/build/src/__tests__/ReadonlyEntity-test.js +0 -209
- package/build/src/__tests__/ReadonlyEntity-test.js.map +0 -1
- package/build/src/__tests__/ViewerContext-test.d.ts +0 -1
- package/build/src/__tests__/ViewerContext-test.js +0 -28
- package/build/src/__tests__/ViewerContext-test.js.map +0 -1
- package/build/src/__tests__/ViewerScopedEntityCompanion-test.d.ts +0 -1
- package/build/src/__tests__/ViewerScopedEntityCompanion-test.js +0 -18
- package/build/src/__tests__/ViewerScopedEntityCompanion-test.js.map +0 -1
- package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.d.ts +0 -1
- package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.js +0 -18
- package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +0 -1
- package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.d.ts +0 -1
- package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.js +0 -21
- package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +0 -1
- package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.d.ts +0 -1
- package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.js +0 -20
- package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +0 -1
- package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.d.ts +0 -1
- package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +0 -121
- package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +0 -1
- package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.d.ts +0 -1
- package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +0 -119
- package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +0 -1
- package/build/src/__tests__/entityUtils-test.d.ts +0 -1
- package/build/src/__tests__/entityUtils-test.js +0 -88
- package/build/src/__tests__/entityUtils-test.js.map +0 -1
- package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.d.ts +0 -1
- package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.js +0 -21
- package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.js.map +0 -1
- package/build/src/internal/__tests__/CompositeFieldHolder-test.d.ts +0 -1
- package/build/src/internal/__tests__/CompositeFieldHolder-test.js +0 -25
- package/build/src/internal/__tests__/CompositeFieldHolder-test.js.map +0 -1
- package/build/src/internal/__tests__/CompositeFieldValueMap-test.d.ts +0 -1
- package/build/src/internal/__tests__/CompositeFieldValueMap-test.js +0 -40
- package/build/src/internal/__tests__/CompositeFieldValueMap-test.js.map +0 -1
- package/build/src/internal/__tests__/EntityDataManager-test.d.ts +0 -1
- package/build/src/internal/__tests__/EntityDataManager-test.js +0 -666
- package/build/src/internal/__tests__/EntityDataManager-test.js.map +0 -1
- package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.d.ts +0 -1
- package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.js +0 -135
- package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.js.map +0 -1
- package/build/src/internal/__tests__/ReadThroughEntityCache-test.d.ts +0 -1
- package/build/src/internal/__tests__/ReadThroughEntityCache-test.js +0 -217
- package/build/src/internal/__tests__/ReadThroughEntityCache-test.js.map +0 -1
- package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.d.ts +0 -1
- package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +0 -18
- package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +0 -1
- package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.d.ts +0 -1
- package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +0 -18
- package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +0 -1
- package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.d.ts +0 -1
- package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +0 -18
- package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +0 -1
- package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.d.ts +0 -28
- package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.js +0 -53
- package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.js.map +0 -1
- package/build/src/utils/__testfixtures__/SimpleTestEntity.d.ts +0 -20
- package/build/src/utils/__testfixtures__/SimpleTestEntity.js +0 -46
- package/build/src/utils/__testfixtures__/SimpleTestEntity.js.map +0 -1
- package/build/src/utils/__testfixtures__/StubCacheAdapter.d.ts +0 -29
- package/build/src/utils/__testfixtures__/StubCacheAdapter.js +0 -103
- package/build/src/utils/__testfixtures__/StubCacheAdapter.js.map +0 -1
- package/build/src/utils/__testfixtures__/StubDatabaseAdapter.d.ts +0 -26
- package/build/src/utils/__testfixtures__/StubDatabaseAdapter.js +0 -173
- package/build/src/utils/__testfixtures__/StubDatabaseAdapter.js.map +0 -1
- package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.d.ts +0 -7
- package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.js +0 -12
- package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.js.map +0 -1
- package/build/src/utils/__testfixtures__/StubQueryContextProvider.d.ts +0 -7
- package/build/src/utils/__testfixtures__/StubQueryContextProvider.js +0 -17
- package/build/src/utils/__testfixtures__/StubQueryContextProvider.js.map +0 -1
- package/build/src/utils/__testfixtures__/TSMockitoExtensions.d.ts +0 -9
- package/build/src/utils/__testfixtures__/TSMockitoExtensions.js +0 -65
- package/build/src/utils/__testfixtures__/TSMockitoExtensions.js.map +0 -1
- package/build/src/utils/__testfixtures__/TestEntity.d.ts +0 -30
- package/build/src/utils/__testfixtures__/TestEntity.js +0 -96
- package/build/src/utils/__testfixtures__/TestEntity.js.map +0 -1
- package/build/src/utils/__testfixtures__/TestEntity2.d.ts +0 -20
- package/build/src/utils/__testfixtures__/TestEntity2.js +0 -49
- package/build/src/utils/__testfixtures__/TestEntity2.js.map +0 -1
- package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.d.ts +0 -36
- package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.js +0 -80
- package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.js.map +0 -1
- package/build/src/utils/__testfixtures__/TestViewerContext.d.ts +0 -3
- package/build/src/utils/__testfixtures__/TestViewerContext.js +0 -8
- package/build/src/utils/__testfixtures__/TestViewerContext.js.map +0 -1
- package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.d.ts +0 -7
- package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.js +0 -33
- package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.js.map +0 -1
- package/build/src/utils/__testfixtures__/describeFieldTestCase.d.ts +0 -2
- package/build/src/utils/__testfixtures__/describeFieldTestCase.js +0 -19
- package/build/src/utils/__testfixtures__/describeFieldTestCase.js.map +0 -1
- package/build/src/utils/__tests__/EntityCreationUtils-test.d.ts +0 -1
- package/build/src/utils/__tests__/EntityCreationUtils-test.js +0 -144
- package/build/src/utils/__tests__/EntityCreationUtils-test.js.map +0 -1
- package/build/src/utils/__tests__/EntityPrivacyUtils-test.d.ts +0 -1
- package/build/src/utils/__tests__/EntityPrivacyUtils-test.js +0 -460
- package/build/src/utils/__tests__/EntityPrivacyUtils-test.js.map +0 -1
- package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.d.ts +0 -1
- package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js +0 -180
- package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map +0 -1
- package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.d.ts +0 -1
- package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js +0 -27
- package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js.map +0 -1
- package/build/src/utils/collections/__tests__/SerializableKeyMap-test.d.ts +0 -5
- package/build/src/utils/collections/__tests__/SerializableKeyMap-test.js +0 -99
- package/build/src/utils/collections/__tests__/SerializableKeyMap-test.js.map +0 -1
- package/build/src/utils/collections/__tests__/maps-test.d.ts +0 -1
- package/build/src/utils/collections/__tests__/maps-test.js +0 -121
- package/build/src/utils/collections/__tests__/maps-test.js.map +0 -1
- package/build/src/utils/collections/__tests__/sets-test.d.ts +0 -1
- package/build/src/utils/collections/__tests__/sets-test.js +0 -19
- package/build/src/utils/collections/__tests__/sets-test.js.map +0 -1
- package/build/tsconfig.tsbuildinfo +0 -1
|
@@ -1,460 +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 globals_1 = require("@jest/globals");
|
|
7
|
-
const nullthrows_1 = __importDefault(require("nullthrows"));
|
|
8
|
-
const Entity_1 = require("../../Entity");
|
|
9
|
-
const EntityConfiguration_1 = require("../../EntityConfiguration");
|
|
10
|
-
const EntityFieldDefinition_1 = require("../../EntityFieldDefinition");
|
|
11
|
-
const EntityFields_1 = require("../../EntityFields");
|
|
12
|
-
const EntityPrivacyPolicy_1 = require("../../EntityPrivacyPolicy");
|
|
13
|
-
const ViewerContext_1 = require("../../ViewerContext");
|
|
14
|
-
const AlwaysAllowPrivacyPolicyRule_1 = require("../../rules/AlwaysAllowPrivacyPolicyRule");
|
|
15
|
-
const AlwaysDenyPrivacyPolicyRule_1 = require("../../rules/AlwaysDenyPrivacyPolicyRule");
|
|
16
|
-
const PrivacyPolicyRule_1 = require("../../rules/PrivacyPolicyRule");
|
|
17
|
-
const EntityPrivacyUtils_1 = require("../EntityPrivacyUtils");
|
|
18
|
-
const createUnitTestEntityCompanionProvider_1 = require("../__testfixtures__/createUnitTestEntityCompanionProvider");
|
|
19
|
-
function assertEntityPrivacyEvaluationResultFailure(evaluationResult) {
|
|
20
|
-
if (evaluationResult.allowed) {
|
|
21
|
-
throw new Error('Evaluation result not failure');
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
function expectAuthorizationError(evaluationResult, { entityId, action }) {
|
|
25
|
-
(0, globals_1.expect)(evaluationResult.allowed).toBe(false);
|
|
26
|
-
assertEntityPrivacyEvaluationResultFailure(evaluationResult);
|
|
27
|
-
const authorizationErrors = evaluationResult.authorizationErrors;
|
|
28
|
-
(0, globals_1.expect)(authorizationErrors).toHaveLength(1);
|
|
29
|
-
const authorizationError = (0, nullthrows_1.default)(authorizationErrors[0]);
|
|
30
|
-
(0, globals_1.expect)(authorizationError.message).toContain(entityId);
|
|
31
|
-
(0, globals_1.expect)(authorizationError.message).toContain(EntityPrivacyPolicy_1.EntityAuthorizationAction[action]);
|
|
32
|
-
}
|
|
33
|
-
(0, globals_1.describe)(EntityPrivacyUtils_1.canViewerUpdateAsync, () => {
|
|
34
|
-
(0, globals_1.it)('appropriately executes update privacy policy', async () => {
|
|
35
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
36
|
-
const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
|
|
37
|
-
const testEntity = await SimpleTestDenyDeleteEntity.creator(viewerContext).createAsync();
|
|
38
|
-
const canViewerUpdate = await (0, EntityPrivacyUtils_1.canViewerUpdateAsync)(SimpleTestDenyDeleteEntity, testEntity);
|
|
39
|
-
(0, globals_1.expect)(canViewerUpdate).toBe(true);
|
|
40
|
-
const canViewerUpdateResult = await (0, EntityPrivacyUtils_1.getCanViewerUpdateResultAsync)(SimpleTestDenyDeleteEntity, testEntity);
|
|
41
|
-
(0, globals_1.expect)(canViewerUpdateResult.allowed).toBe(true);
|
|
42
|
-
});
|
|
43
|
-
(0, globals_1.it)('denies when policy denies', async () => {
|
|
44
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
45
|
-
const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
|
|
46
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
47
|
-
const canViewerUpdate = await (0, EntityPrivacyUtils_1.canViewerUpdateAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
48
|
-
(0, globals_1.expect)(canViewerUpdate).toBe(false);
|
|
49
|
-
const canViewerUpdateResult = await (0, EntityPrivacyUtils_1.getCanViewerUpdateResultAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
50
|
-
expectAuthorizationError(canViewerUpdateResult, {
|
|
51
|
-
entityId: testEntity.getID(),
|
|
52
|
-
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.UPDATE,
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
(0, globals_1.it)('rethrows non-authorization errors', async () => {
|
|
56
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
57
|
-
const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
|
|
58
|
-
const testEntity = await SimpleTestThrowOtherErrorEntity.creator(viewerContext).createAsync();
|
|
59
|
-
await (0, globals_1.expect)((0, EntityPrivacyUtils_1.canViewerUpdateAsync)(SimpleTestThrowOtherErrorEntity, testEntity)).rejects.toThrow('update error');
|
|
60
|
-
await (0, globals_1.expect)((0, EntityPrivacyUtils_1.getCanViewerUpdateResultAsync)(SimpleTestThrowOtherErrorEntity, testEntity)).rejects.toThrow('update error');
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
(0, globals_1.describe)(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
|
|
64
|
-
(0, globals_1.it)('appropriately executes update privacy policy', async () => {
|
|
65
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
66
|
-
const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
|
|
67
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
68
|
-
const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
69
|
-
(0, globals_1.expect)(canViewerDelete).toBe(true);
|
|
70
|
-
const canViewerDeleteResult = await (0, EntityPrivacyUtils_1.getCanViewerDeleteResultAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
71
|
-
(0, globals_1.expect)(canViewerDeleteResult.allowed).toBe(true);
|
|
72
|
-
});
|
|
73
|
-
(0, globals_1.it)('denies when policy denies', async () => {
|
|
74
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
75
|
-
const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
|
|
76
|
-
const testEntity = await SimpleTestDenyDeleteEntity.creator(viewerContext).createAsync();
|
|
77
|
-
const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyDeleteEntity, testEntity);
|
|
78
|
-
(0, globals_1.expect)(canViewerDelete).toBe(false);
|
|
79
|
-
const canViewerDeleteResult = await (0, EntityPrivacyUtils_1.getCanViewerDeleteResultAsync)(SimpleTestDenyDeleteEntity, testEntity);
|
|
80
|
-
expectAuthorizationError(canViewerDeleteResult, {
|
|
81
|
-
entityId: testEntity.getID(),
|
|
82
|
-
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.DELETE,
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
(0, globals_1.it)('denies when recursive policy denies for CASCADE_DELETE', async () => {
|
|
86
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
87
|
-
const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
|
|
88
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
89
|
-
// add another entity referencing testEntity that would cascade deletion to itself when testEntity is deleted
|
|
90
|
-
const leafEntity = await LeafDenyDeleteEntity.creator(viewerContext)
|
|
91
|
-
.setField('simple_test_deny_update_cascade_delete_id', testEntity.getID())
|
|
92
|
-
.createAsync();
|
|
93
|
-
const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
94
|
-
(0, globals_1.expect)(canViewerDelete).toBe(false);
|
|
95
|
-
const canViewerDeleteResult = await (0, EntityPrivacyUtils_1.getCanViewerDeleteResultAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
96
|
-
expectAuthorizationError(canViewerDeleteResult, {
|
|
97
|
-
entityId: leafEntity.getID(),
|
|
98
|
-
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.DELETE,
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
(0, globals_1.it)('denies when recursive policy denies for SET_NULL', async () => {
|
|
102
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
103
|
-
const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
|
|
104
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
105
|
-
// add another entity referencing testEntity that would set null to its column when testEntity is deleted
|
|
106
|
-
const leafEntity = await LeafDenyUpdateEntity.creator(viewerContext)
|
|
107
|
-
.setField('simple_test_deny_update_set_null_id', testEntity.getID())
|
|
108
|
-
.createAsync();
|
|
109
|
-
const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
110
|
-
(0, globals_1.expect)(canViewerDelete).toBe(false);
|
|
111
|
-
const canViewerDeleteResult = await (0, EntityPrivacyUtils_1.getCanViewerDeleteResultAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
112
|
-
expectAuthorizationError(canViewerDeleteResult, {
|
|
113
|
-
entityId: leafEntity.getID(),
|
|
114
|
-
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.UPDATE,
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
(0, globals_1.it)('allows when recursive policy allows for CASCADE_DELETE and SET_NULL', async () => {
|
|
118
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
119
|
-
const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
|
|
120
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
121
|
-
// add another entity referencing testEntity that would cascade deletion to itself when testEntity is deleted
|
|
122
|
-
await LeafDenyUpdateEntity.creator(viewerContext)
|
|
123
|
-
.setField('simple_test_deny_update_cascade_delete_id', testEntity.getID())
|
|
124
|
-
.createAsync();
|
|
125
|
-
// add another entity referencing testEntity that would set null to its column when testEntity is deleted
|
|
126
|
-
await LeafDenyDeleteEntity.creator(viewerContext)
|
|
127
|
-
.setField('simple_test_deny_update_set_null_id', testEntity.getID())
|
|
128
|
-
.createAsync();
|
|
129
|
-
const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
130
|
-
(0, globals_1.expect)(canViewerDelete).toBe(true);
|
|
131
|
-
const canViewerDeleteResult = await (0, EntityPrivacyUtils_1.getCanViewerDeleteResultAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
132
|
-
(0, globals_1.expect)(canViewerDeleteResult.allowed).toBe(true);
|
|
133
|
-
});
|
|
134
|
-
(0, globals_1.it)('rethrows non-authorization errors', async () => {
|
|
135
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
136
|
-
const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
|
|
137
|
-
const testEntity = await SimpleTestThrowOtherErrorEntity.creator(viewerContext).createAsync();
|
|
138
|
-
await (0, globals_1.expect)((0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestThrowOtherErrorEntity, testEntity)).rejects.toThrow('delete error');
|
|
139
|
-
await (0, globals_1.expect)((0, EntityPrivacyUtils_1.getCanViewerDeleteResultAsync)(SimpleTestThrowOtherErrorEntity, testEntity)).rejects.toThrow('delete error');
|
|
140
|
-
});
|
|
141
|
-
(0, globals_1.it)('returns false when edge cannot be read', async () => {
|
|
142
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
143
|
-
const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
|
|
144
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
145
|
-
const leafEntity = await LeafDenyReadEntity.creator(viewerContext)
|
|
146
|
-
.setField('simple_test_id', testEntity.getID())
|
|
147
|
-
.createAsync();
|
|
148
|
-
const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
149
|
-
(0, globals_1.expect)(canViewerDelete).toBe(false);
|
|
150
|
-
const canViewerDeleteResult = await (0, EntityPrivacyUtils_1.getCanViewerDeleteResultAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
151
|
-
expectAuthorizationError(canViewerDeleteResult, {
|
|
152
|
-
entityId: leafEntity.getID(),
|
|
153
|
-
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.READ,
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
(0, globals_1.it)('rethrows non-authorization edge read errors', async () => {
|
|
157
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
158
|
-
const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
|
|
159
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
160
|
-
await SimpleTestThrowOtherErrorEntity.creator(viewerContext)
|
|
161
|
-
.setField('simple_test_id', testEntity.getID())
|
|
162
|
-
.createAsync();
|
|
163
|
-
await (0, globals_1.expect)((0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity)).rejects.toThrow('read in cascading delete error');
|
|
164
|
-
await (0, globals_1.expect)((0, EntityPrivacyUtils_1.getCanViewerDeleteResultAsync)(SimpleTestDenyUpdateEntity, testEntity)).rejects.toThrow('read in cascading delete error');
|
|
165
|
-
});
|
|
166
|
-
(0, globals_1.it)('supports running within a transaction', async () => {
|
|
167
|
-
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
168
|
-
const viewerContext = new ViewerContext_1.ViewerContext(companionProvider);
|
|
169
|
-
const canViewerDelete = await viewerContext.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
|
|
170
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext, queryContext).createAsync();
|
|
171
|
-
await LeafDenyReadEntity.creator(viewerContext, queryContext)
|
|
172
|
-
.setField('simple_test_id', testEntity.getID())
|
|
173
|
-
.createAsync();
|
|
174
|
-
// this would fail if transactions weren't supported or correctly passed through
|
|
175
|
-
return await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity, queryContext);
|
|
176
|
-
});
|
|
177
|
-
(0, globals_1.expect)(canViewerDelete).toBe(true);
|
|
178
|
-
const canViewerDeleteResult = await viewerContext.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
|
|
179
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext, queryContext).createAsync();
|
|
180
|
-
await LeafDenyReadEntity.creator(viewerContext, queryContext)
|
|
181
|
-
.setField('simple_test_id', testEntity.getID())
|
|
182
|
-
.createAsync();
|
|
183
|
-
// this would fail if transactions weren't supported or correctly passed through
|
|
184
|
-
return await (0, EntityPrivacyUtils_1.getCanViewerDeleteResultAsync)(SimpleTestDenyUpdateEntity, testEntity, queryContext);
|
|
185
|
-
});
|
|
186
|
-
(0, globals_1.expect)(canViewerDeleteResult.allowed).toBe(true);
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
class DenyUpdateEntityPrivacyPolicy extends EntityPrivacyPolicy_1.EntityPrivacyPolicy {
|
|
190
|
-
readRules = [
|
|
191
|
-
new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
|
|
192
|
-
];
|
|
193
|
-
createRules = [
|
|
194
|
-
new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
|
|
195
|
-
];
|
|
196
|
-
updateRules = [
|
|
197
|
-
new AlwaysDenyPrivacyPolicyRule_1.AlwaysDenyPrivacyPolicyRule(),
|
|
198
|
-
];
|
|
199
|
-
deleteRules = [
|
|
200
|
-
new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
|
|
201
|
-
];
|
|
202
|
-
}
|
|
203
|
-
class DenyDeleteEntityPrivacyPolicy extends EntityPrivacyPolicy_1.EntityPrivacyPolicy {
|
|
204
|
-
readRules = [
|
|
205
|
-
new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
|
|
206
|
-
];
|
|
207
|
-
createRules = [
|
|
208
|
-
new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
|
|
209
|
-
];
|
|
210
|
-
updateRules = [
|
|
211
|
-
new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
|
|
212
|
-
];
|
|
213
|
-
deleteRules = [
|
|
214
|
-
new AlwaysDenyPrivacyPolicyRule_1.AlwaysDenyPrivacyPolicyRule(),
|
|
215
|
-
];
|
|
216
|
-
}
|
|
217
|
-
class ThrowOtherErrorEntityPrivacyPolicy extends EntityPrivacyPolicy_1.EntityPrivacyPolicy {
|
|
218
|
-
readRules = [
|
|
219
|
-
{
|
|
220
|
-
async evaluateAsync(_viewerContext, _queryContext, evaluationContext, _entity) {
|
|
221
|
-
if (evaluationContext.cascadingDeleteCause) {
|
|
222
|
-
throw new Error('read in cascading delete error');
|
|
223
|
-
}
|
|
224
|
-
return PrivacyPolicyRule_1.RuleEvaluationResult.SKIP;
|
|
225
|
-
},
|
|
226
|
-
},
|
|
227
|
-
new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
|
|
228
|
-
];
|
|
229
|
-
createRules = [
|
|
230
|
-
new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
|
|
231
|
-
];
|
|
232
|
-
updateRules = [
|
|
233
|
-
{
|
|
234
|
-
async evaluateAsync() {
|
|
235
|
-
throw new Error('update error');
|
|
236
|
-
},
|
|
237
|
-
},
|
|
238
|
-
];
|
|
239
|
-
deleteRules = [
|
|
240
|
-
{
|
|
241
|
-
async evaluateAsync() {
|
|
242
|
-
throw new Error('delete error');
|
|
243
|
-
},
|
|
244
|
-
},
|
|
245
|
-
];
|
|
246
|
-
}
|
|
247
|
-
class DenyReadEntityPrivacyPolicy extends EntityPrivacyPolicy_1.EntityPrivacyPolicy {
|
|
248
|
-
readRules = [
|
|
249
|
-
{
|
|
250
|
-
async evaluateAsync(_viewerContext, queryContext, evaluationContext, _entity) {
|
|
251
|
-
if (queryContext.isInTransaction()) {
|
|
252
|
-
return PrivacyPolicyRule_1.RuleEvaluationResult.ALLOW;
|
|
253
|
-
}
|
|
254
|
-
return evaluationContext.cascadingDeleteCause
|
|
255
|
-
? PrivacyPolicyRule_1.RuleEvaluationResult.SKIP
|
|
256
|
-
: PrivacyPolicyRule_1.RuleEvaluationResult.ALLOW;
|
|
257
|
-
},
|
|
258
|
-
},
|
|
259
|
-
];
|
|
260
|
-
createRules = [
|
|
261
|
-
new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
|
|
262
|
-
];
|
|
263
|
-
updateRules = [
|
|
264
|
-
new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
|
|
265
|
-
];
|
|
266
|
-
deleteRules = [
|
|
267
|
-
new AlwaysAllowPrivacyPolicyRule_1.AlwaysAllowPrivacyPolicyRule(),
|
|
268
|
-
];
|
|
269
|
-
}
|
|
270
|
-
class LeafDenyUpdateEntity extends Entity_1.Entity {
|
|
271
|
-
static defineCompanionDefinition() {
|
|
272
|
-
return {
|
|
273
|
-
entityClass: LeafDenyUpdateEntity,
|
|
274
|
-
entityConfiguration: new EntityConfiguration_1.EntityConfiguration({
|
|
275
|
-
idField: 'id',
|
|
276
|
-
tableName: 'leaf_1',
|
|
277
|
-
schema: {
|
|
278
|
-
id: new EntityFields_1.UUIDField({
|
|
279
|
-
columnName: 'custom_id',
|
|
280
|
-
cache: false,
|
|
281
|
-
}),
|
|
282
|
-
// to ensure edge traversal doesn't process other edges
|
|
283
|
-
unused_other_association: new EntityFields_1.UUIDField({
|
|
284
|
-
columnName: 'unused_other_association',
|
|
285
|
-
association: {
|
|
286
|
-
associatedEntityClass: LeafDenyDeleteEntity,
|
|
287
|
-
edgeDeletionBehavior: EntityFieldDefinition_1.EntityEdgeDeletionBehavior.SET_NULL,
|
|
288
|
-
},
|
|
289
|
-
}),
|
|
290
|
-
// deletion behavior should fail since this entity can't be updated and a SET NULL does an update
|
|
291
|
-
simple_test_deny_update_set_null_id: new EntityFields_1.UUIDField({
|
|
292
|
-
columnName: 'simple_test_deny_update_set_null_id',
|
|
293
|
-
association: {
|
|
294
|
-
associatedEntityClass: SimpleTestDenyUpdateEntity,
|
|
295
|
-
edgeDeletionBehavior: EntityFieldDefinition_1.EntityEdgeDeletionBehavior.SET_NULL,
|
|
296
|
-
},
|
|
297
|
-
}),
|
|
298
|
-
// deletion behavior should succeed since this entity can be deleted
|
|
299
|
-
simple_test_deny_update_cascade_delete_id: new EntityFields_1.UUIDField({
|
|
300
|
-
columnName: 'simple_test_deny_update_cascade_delete_id',
|
|
301
|
-
association: {
|
|
302
|
-
associatedEntityClass: SimpleTestDenyUpdateEntity,
|
|
303
|
-
edgeDeletionBehavior: EntityFieldDefinition_1.EntityEdgeDeletionBehavior.CASCADE_DELETE,
|
|
304
|
-
},
|
|
305
|
-
}),
|
|
306
|
-
},
|
|
307
|
-
databaseAdapterFlavor: 'postgres',
|
|
308
|
-
cacheAdapterFlavor: 'redis',
|
|
309
|
-
}),
|
|
310
|
-
privacyPolicyClass: DenyUpdateEntityPrivacyPolicy,
|
|
311
|
-
};
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
class LeafDenyDeleteEntity extends Entity_1.Entity {
|
|
315
|
-
static defineCompanionDefinition() {
|
|
316
|
-
return {
|
|
317
|
-
entityClass: LeafDenyDeleteEntity,
|
|
318
|
-
entityConfiguration: new EntityConfiguration_1.EntityConfiguration({
|
|
319
|
-
idField: 'id',
|
|
320
|
-
tableName: 'leaf_2',
|
|
321
|
-
schema: {
|
|
322
|
-
id: new EntityFields_1.UUIDField({
|
|
323
|
-
columnName: 'custom_id',
|
|
324
|
-
cache: false,
|
|
325
|
-
}),
|
|
326
|
-
// deletion behavior should fail since this entity can't be deleted
|
|
327
|
-
simple_test_deny_update_cascade_delete_id: new EntityFields_1.UUIDField({
|
|
328
|
-
columnName: 'simple_test_deny_update_cascade_delete_id',
|
|
329
|
-
association: {
|
|
330
|
-
associatedEntityClass: SimpleTestDenyUpdateEntity,
|
|
331
|
-
edgeDeletionBehavior: EntityFieldDefinition_1.EntityEdgeDeletionBehavior.CASCADE_DELETE,
|
|
332
|
-
},
|
|
333
|
-
}),
|
|
334
|
-
// deletion behavior should succeed since this entity can be updated and a SET NULL does an update
|
|
335
|
-
simple_test_deny_update_set_null_id: new EntityFields_1.UUIDField({
|
|
336
|
-
columnName: 'simple_test_deny_update_set_null_id',
|
|
337
|
-
association: {
|
|
338
|
-
associatedEntityClass: SimpleTestDenyUpdateEntity,
|
|
339
|
-
edgeDeletionBehavior: EntityFieldDefinition_1.EntityEdgeDeletionBehavior.SET_NULL,
|
|
340
|
-
},
|
|
341
|
-
}),
|
|
342
|
-
},
|
|
343
|
-
databaseAdapterFlavor: 'postgres',
|
|
344
|
-
cacheAdapterFlavor: 'redis',
|
|
345
|
-
}),
|
|
346
|
-
privacyPolicyClass: DenyDeleteEntityPrivacyPolicy,
|
|
347
|
-
};
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
class LeafDenyReadEntity extends Entity_1.Entity {
|
|
351
|
-
static defineCompanionDefinition() {
|
|
352
|
-
return {
|
|
353
|
-
entityClass: LeafDenyReadEntity,
|
|
354
|
-
entityConfiguration: new EntityConfiguration_1.EntityConfiguration({
|
|
355
|
-
idField: 'id',
|
|
356
|
-
tableName: 'leaf_4',
|
|
357
|
-
inboundEdges: [],
|
|
358
|
-
schema: {
|
|
359
|
-
id: new EntityFields_1.UUIDField({
|
|
360
|
-
columnName: 'custom_id',
|
|
361
|
-
cache: false,
|
|
362
|
-
}),
|
|
363
|
-
simple_test_id: new EntityFields_1.UUIDField({
|
|
364
|
-
columnName: 'simple_test_id',
|
|
365
|
-
association: {
|
|
366
|
-
associatedEntityClass: SimpleTestDenyUpdateEntity,
|
|
367
|
-
associatedEntityLookupByField: 'id',
|
|
368
|
-
edgeDeletionBehavior: EntityFieldDefinition_1.EntityEdgeDeletionBehavior.SET_NULL,
|
|
369
|
-
},
|
|
370
|
-
}),
|
|
371
|
-
},
|
|
372
|
-
databaseAdapterFlavor: 'postgres',
|
|
373
|
-
cacheAdapterFlavor: 'redis',
|
|
374
|
-
}),
|
|
375
|
-
privacyPolicyClass: DenyReadEntityPrivacyPolicy,
|
|
376
|
-
};
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
class SimpleTestDenyUpdateEntity extends Entity_1.Entity {
|
|
380
|
-
static defineCompanionDefinition() {
|
|
381
|
-
return {
|
|
382
|
-
entityClass: SimpleTestDenyUpdateEntity,
|
|
383
|
-
entityConfiguration: new EntityConfiguration_1.EntityConfiguration({
|
|
384
|
-
idField: 'id',
|
|
385
|
-
tableName: 'blah',
|
|
386
|
-
inboundEdges: [
|
|
387
|
-
LeafDenyUpdateEntity,
|
|
388
|
-
LeafDenyDeleteEntity,
|
|
389
|
-
LeafDenyReadEntity,
|
|
390
|
-
SimpleTestThrowOtherErrorEntity,
|
|
391
|
-
],
|
|
392
|
-
schema: {
|
|
393
|
-
id: new EntityFields_1.UUIDField({
|
|
394
|
-
columnName: 'custom_id',
|
|
395
|
-
cache: false,
|
|
396
|
-
}),
|
|
397
|
-
},
|
|
398
|
-
databaseAdapterFlavor: 'postgres',
|
|
399
|
-
cacheAdapterFlavor: 'redis',
|
|
400
|
-
}),
|
|
401
|
-
privacyPolicyClass: DenyUpdateEntityPrivacyPolicy,
|
|
402
|
-
};
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
class SimpleTestDenyDeleteEntity extends Entity_1.Entity {
|
|
406
|
-
static defineCompanionDefinition() {
|
|
407
|
-
return {
|
|
408
|
-
entityClass: SimpleTestDenyDeleteEntity,
|
|
409
|
-
entityConfiguration: new EntityConfiguration_1.EntityConfiguration({
|
|
410
|
-
idField: 'id',
|
|
411
|
-
tableName: 'blah_2',
|
|
412
|
-
inboundEdges: [
|
|
413
|
-
LeafDenyUpdateEntity,
|
|
414
|
-
LeafDenyDeleteEntity,
|
|
415
|
-
LeafDenyReadEntity,
|
|
416
|
-
SimpleTestThrowOtherErrorEntity,
|
|
417
|
-
],
|
|
418
|
-
schema: {
|
|
419
|
-
id: new EntityFields_1.UUIDField({
|
|
420
|
-
columnName: 'custom_id',
|
|
421
|
-
cache: false,
|
|
422
|
-
}),
|
|
423
|
-
},
|
|
424
|
-
databaseAdapterFlavor: 'postgres',
|
|
425
|
-
cacheAdapterFlavor: 'redis',
|
|
426
|
-
}),
|
|
427
|
-
privacyPolicyClass: DenyDeleteEntityPrivacyPolicy,
|
|
428
|
-
};
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
class SimpleTestThrowOtherErrorEntity extends Entity_1.Entity {
|
|
432
|
-
static defineCompanionDefinition() {
|
|
433
|
-
return {
|
|
434
|
-
entityClass: SimpleTestThrowOtherErrorEntity,
|
|
435
|
-
entityConfiguration: new EntityConfiguration_1.EntityConfiguration({
|
|
436
|
-
idField: 'id',
|
|
437
|
-
tableName: 'blah_3',
|
|
438
|
-
inboundEdges: [],
|
|
439
|
-
schema: {
|
|
440
|
-
id: new EntityFields_1.UUIDField({
|
|
441
|
-
columnName: 'custom_id',
|
|
442
|
-
cache: false,
|
|
443
|
-
}),
|
|
444
|
-
simple_test_id: new EntityFields_1.UUIDField({
|
|
445
|
-
columnName: 'simple_test_id',
|
|
446
|
-
association: {
|
|
447
|
-
associatedEntityClass: SimpleTestDenyUpdateEntity,
|
|
448
|
-
associatedEntityLookupByField: 'id',
|
|
449
|
-
edgeDeletionBehavior: EntityFieldDefinition_1.EntityEdgeDeletionBehavior.SET_NULL,
|
|
450
|
-
},
|
|
451
|
-
}),
|
|
452
|
-
},
|
|
453
|
-
databaseAdapterFlavor: 'postgres',
|
|
454
|
-
cacheAdapterFlavor: 'redis',
|
|
455
|
-
}),
|
|
456
|
-
privacyPolicyClass: ThrowOtherErrorEntityPrivacyPolicy,
|
|
457
|
-
};
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
//# sourceMappingURL=EntityPrivacyUtils-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EntityPrivacyUtils-test.js","sourceRoot":"","sources":["../../../../src/utils/__tests__/EntityPrivacyUtils-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|