@expo/entity 0.18.0 → 0.22.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/Entity.js +8 -2
- package/build/Entity.js.map +1 -1
- package/build/EntityCompanion.d.ts +5 -0
- package/build/EntityCompanion.js +8 -1
- package/build/EntityCompanion.js.map +1 -1
- package/build/EntityCompanionProvider.d.ts +1 -1
- package/build/EntityCompanionProvider.js.map +1 -1
- package/build/EntityLoader.d.ts +3 -1
- package/build/EntityLoader.js +5 -4
- package/build/EntityLoader.js.map +1 -1
- package/build/EntityLoaderFactory.d.ts +3 -1
- package/build/EntityLoaderFactory.js +3 -2
- package/build/EntityLoaderFactory.js.map +1 -1
- package/build/EntityMutationInfo.d.ts +26 -0
- package/build/EntityMutationInfo.js +10 -0
- package/build/EntityMutationInfo.js.map +1 -0
- package/build/EntityMutationTriggerConfiguration.d.ts +3 -3
- package/build/EntityMutationValidator.d.ts +2 -2
- package/build/EntityMutationValidator.js.map +1 -1
- package/build/EntityMutator.d.ts +4 -15
- package/build/EntityMutator.js +48 -44
- package/build/EntityMutator.js.map +1 -1
- package/build/EntityPrivacyPolicy.d.ts +5 -4
- package/build/EntityPrivacyPolicy.js +60 -12
- package/build/EntityPrivacyPolicy.js.map +1 -1
- package/build/EntityQueryContext.d.ts +24 -0
- package/build/EntityQueryContext.js +43 -0
- package/build/EntityQueryContext.js.map +1 -1
- package/build/EntityQueryContextProvider.js +1 -0
- package/build/EntityQueryContextProvider.js.map +1 -1
- package/build/ViewerScopedEntityCompanion.d.ts +5 -0
- package/build/ViewerScopedEntityCompanion.js +6 -0
- package/build/ViewerScopedEntityCompanion.js.map +1 -1
- package/build/__tests__/EntityEdges-test.js +99 -3
- package/build/__tests__/EntityEdges-test.js.map +1 -1
- package/build/__tests__/EntityLoader-constructor-test.js +3 -2
- package/build/__tests__/EntityLoader-constructor-test.js.map +1 -1
- package/build/__tests__/EntityLoader-test.js +19 -11
- package/build/__tests__/EntityLoader-test.js.map +1 -1
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +1 -0
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +81 -0
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -0
- package/build/__tests__/EntityMutator-test.js +16 -14
- package/build/__tests__/EntityMutator-test.js.map +1 -1
- package/build/__tests__/EntityPrivacyPolicy-test.js +119 -43
- package/build/__tests__/EntityPrivacyPolicy-test.js.map +1 -1
- package/build/__tests__/EntityQueryContext-test.d.ts +1 -0
- package/build/__tests__/EntityQueryContext-test.js +56 -0
- package/build/__tests__/EntityQueryContext-test.js.map +1 -0
- package/build/__tests__/EntitySecondaryCacheLoader-test.js +1 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/metrics/IEntityMetricsAdapter.d.ts +16 -0
- package/build/metrics/IEntityMetricsAdapter.js +6 -1
- package/build/metrics/IEntityMetricsAdapter.js.map +1 -1
- package/build/metrics/NoOpEntityMetricsAdapter.d.ts +2 -1
- package/build/metrics/NoOpEntityMetricsAdapter.js +1 -0
- package/build/metrics/NoOpEntityMetricsAdapter.js.map +1 -1
- package/package.json +1 -1
- package/src/Entity.ts +10 -2
- package/src/EntityCompanion.ts +10 -2
- package/src/EntityCompanionProvider.ts +1 -1
- package/src/EntityLoader.ts +9 -4
- package/src/EntityLoaderFactory.ts +5 -2
- package/src/EntityMutationInfo.ts +47 -0
- package/src/EntityMutationTriggerConfiguration.ts +3 -3
- package/src/EntityMutationValidator.ts +8 -2
- package/src/EntityMutator.ts +91 -71
- package/src/EntityPrivacyPolicy.ts +76 -18
- package/src/EntityQueryContext.ts +54 -0
- package/src/EntityQueryContextProvider.ts +1 -0
- package/src/ViewerScopedEntityCompanion.ts +8 -0
- package/src/__tests__/EntityEdges-test.ts +163 -9
- package/src/__tests__/EntityLoader-constructor-test.ts +4 -2
- package/src/__tests__/EntityLoader-test.ts +39 -11
- package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +105 -0
- package/src/__tests__/EntityMutator-test.ts +38 -13
- package/src/__tests__/EntityPrivacyPolicy-test.ts +189 -52
- package/src/__tests__/EntityQueryContext-test.ts +82 -0
- package/src/__tests__/EntitySecondaryCacheLoader-test.ts +1 -0
- package/src/index.ts +1 -0
- package/src/metrics/IEntityMetricsAdapter.ts +23 -0
- package/src/metrics/NoOpEntityMetricsAdapter.ts +2 -0
|
@@ -31,6 +31,7 @@ const EntityPrivacyPolicy_1 = __importStar(require("../EntityPrivacyPolicy"));
|
|
|
31
31
|
const EntityQueryContext_1 = require("../EntityQueryContext");
|
|
32
32
|
const ViewerContext_1 = __importDefault(require("../ViewerContext"));
|
|
33
33
|
const EntityNotAuthorizedError_1 = __importDefault(require("../errors/EntityNotAuthorizedError"));
|
|
34
|
+
const IEntityMetricsAdapter_1 = require("../metrics/IEntityMetricsAdapter");
|
|
34
35
|
const AlwaysAllowPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysAllowPrivacyPolicyRule"));
|
|
35
36
|
const AlwaysDenyPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysDenyPrivacyPolicyRule"));
|
|
36
37
|
const AlwaysSkipPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysSkipPrivacyPolicyRule"));
|
|
@@ -190,101 +191,176 @@ const blahEntityCompanionDefinition = new EntityCompanionProvider_1.EntityCompan
|
|
|
190
191
|
privacyPolicyClass: AlwaysDenyPolicy,
|
|
191
192
|
});
|
|
192
193
|
describe(EntityPrivacyPolicy_1.default, () => {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
194
|
+
describe(EntityPrivacyPolicy_1.EntityPrivacyPolicyEvaluationMode.ENFORCE.toString(), () => {
|
|
195
|
+
it('throws EntityNotAuthorizedError when deny', async () => {
|
|
196
|
+
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
197
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
198
|
+
const metricsAdapterMock = (0, ts_mockito_1.mock)();
|
|
199
|
+
const metricsAdapter = (0, ts_mockito_1.instance)(metricsAdapterMock);
|
|
200
|
+
const entity = new BlahEntity(viewerContext, { id: '1' });
|
|
201
|
+
const policy = new AlwaysDenyPolicy();
|
|
202
|
+
await expect(policy.authorizeCreateAsync(viewerContext, queryContext, entity, metricsAdapter)).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
203
|
+
(0, ts_mockito_1.verify)(metricsAdapterMock.logAuthorizationEvent((0, ts_mockito_1.objectContaining)({
|
|
204
|
+
entityClassName: entity.constructor.name,
|
|
205
|
+
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.CREATE,
|
|
206
|
+
evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.DENY,
|
|
207
|
+
privacyPolicyEvaluationMode: EntityPrivacyPolicy_1.EntityPrivacyPolicyEvaluationMode.ENFORCE,
|
|
208
|
+
}))).once();
|
|
209
|
+
});
|
|
210
|
+
it('returns entity when allowed', async () => {
|
|
211
|
+
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
212
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
213
|
+
const metricsAdapterMock = (0, ts_mockito_1.mock)();
|
|
214
|
+
const metricsAdapter = (0, ts_mockito_1.instance)(metricsAdapterMock);
|
|
215
|
+
const entity = new BlahEntity(viewerContext, { id: '1' });
|
|
216
|
+
const policy = new AlwaysAllowPolicy();
|
|
217
|
+
const approvedEntity = await policy.authorizeCreateAsync(viewerContext, queryContext, entity, metricsAdapter);
|
|
218
|
+
expect(approvedEntity).toEqual(entity);
|
|
219
|
+
(0, ts_mockito_1.verify)(metricsAdapterMock.logAuthorizationEvent((0, ts_mockito_1.objectContaining)({
|
|
220
|
+
entityClassName: entity.constructor.name,
|
|
221
|
+
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.CREATE,
|
|
222
|
+
evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.ALLOW,
|
|
223
|
+
privacyPolicyEvaluationMode: EntityPrivacyPolicy_1.EntityPrivacyPolicyEvaluationMode.ENFORCE,
|
|
224
|
+
}))).once();
|
|
225
|
+
});
|
|
226
|
+
it('throws EntityNotAuthorizedError when all skipped', async () => {
|
|
227
|
+
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
228
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
229
|
+
const metricsAdapterMock = (0, ts_mockito_1.mock)();
|
|
230
|
+
const metricsAdapter = (0, ts_mockito_1.instance)(metricsAdapterMock);
|
|
231
|
+
const entity = new BlahEntity(viewerContext, { id: '1' });
|
|
232
|
+
const policy = new SkipAllPolicy();
|
|
233
|
+
await expect(policy.authorizeCreateAsync(viewerContext, queryContext, entity, metricsAdapter)).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
234
|
+
(0, ts_mockito_1.verify)(metricsAdapterMock.logAuthorizationEvent((0, ts_mockito_1.objectContaining)({
|
|
235
|
+
entityClassName: entity.constructor.name,
|
|
236
|
+
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.CREATE,
|
|
237
|
+
evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.DENY,
|
|
238
|
+
privacyPolicyEvaluationMode: EntityPrivacyPolicy_1.EntityPrivacyPolicyEvaluationMode.ENFORCE,
|
|
239
|
+
}))).once();
|
|
240
|
+
});
|
|
241
|
+
it('throws EntityNotAuthorizedError when empty policy', async () => {
|
|
242
|
+
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
243
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
244
|
+
const metricsAdapterMock = (0, ts_mockito_1.mock)();
|
|
245
|
+
const metricsAdapter = (0, ts_mockito_1.instance)(metricsAdapterMock);
|
|
246
|
+
const entity = new BlahEntity(viewerContext, { id: '1' });
|
|
247
|
+
const policy = new EmptyPolicy();
|
|
248
|
+
await expect(policy.authorizeCreateAsync(viewerContext, queryContext, entity, metricsAdapter)).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
249
|
+
(0, ts_mockito_1.verify)(metricsAdapterMock.logAuthorizationEvent((0, ts_mockito_1.objectContaining)({
|
|
250
|
+
entityClassName: entity.constructor.name,
|
|
251
|
+
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.CREATE,
|
|
252
|
+
evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.DENY,
|
|
253
|
+
privacyPolicyEvaluationMode: EntityPrivacyPolicy_1.EntityPrivacyPolicyEvaluationMode.ENFORCE,
|
|
254
|
+
}))).once();
|
|
255
|
+
});
|
|
256
|
+
it('throws when rule throws', async () => {
|
|
257
|
+
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
258
|
+
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
259
|
+
const metricsAdapterMock = (0, ts_mockito_1.mock)();
|
|
260
|
+
const metricsAdapter = (0, ts_mockito_1.instance)(metricsAdapterMock);
|
|
261
|
+
const entity = new BlahEntity(viewerContext, { id: '1' });
|
|
262
|
+
const policy = new ThrowAllPolicy();
|
|
263
|
+
await expect(policy.authorizeCreateAsync(viewerContext, queryContext, entity, metricsAdapter)).rejects.toThrowError('WooHoo!');
|
|
264
|
+
(0, ts_mockito_1.verify)(metricsAdapterMock.logAuthorizationEvent((0, ts_mockito_1.anything)())).never();
|
|
265
|
+
});
|
|
228
266
|
});
|
|
229
|
-
describe(
|
|
267
|
+
describe(EntityPrivacyPolicy_1.EntityPrivacyPolicyEvaluationMode.DRY_RUN.toString(), () => {
|
|
230
268
|
it('returns entity when denied but calls denialHandler', async () => {
|
|
231
269
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
232
270
|
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
271
|
+
const metricsAdapterMock = (0, ts_mockito_1.mock)();
|
|
272
|
+
const metricsAdapter = (0, ts_mockito_1.instance)(metricsAdapterMock);
|
|
233
273
|
const entity = new BlahEntity(viewerContext, { id: '1' });
|
|
234
274
|
const policy = new DryRunAlwaysDenyPolicy();
|
|
235
275
|
const policySpy = (0, ts_mockito_1.spy)(policy);
|
|
236
|
-
const approvedEntity = await policy.authorizeCreateAsync(viewerContext, queryContext, entity);
|
|
276
|
+
const approvedEntity = await policy.authorizeCreateAsync(viewerContext, queryContext, entity, metricsAdapter);
|
|
237
277
|
expect(approvedEntity).toEqual(entity);
|
|
238
278
|
(0, ts_mockito_1.verify)(policySpy.denyHandler((0, ts_mockito_1.anyOfClass)(EntityNotAuthorizedError_1.default))).once();
|
|
279
|
+
(0, ts_mockito_1.verify)(metricsAdapterMock.logAuthorizationEvent((0, ts_mockito_1.objectContaining)({
|
|
280
|
+
entityClassName: entity.constructor.name,
|
|
281
|
+
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.CREATE,
|
|
282
|
+
evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.DENY,
|
|
283
|
+
privacyPolicyEvaluationMode: EntityPrivacyPolicy_1.EntityPrivacyPolicyEvaluationMode.DRY_RUN,
|
|
284
|
+
}))).once();
|
|
239
285
|
});
|
|
240
286
|
it('does not log when not denied', async () => {
|
|
241
287
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
242
288
|
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
289
|
+
const metricsAdapterMock = (0, ts_mockito_1.mock)();
|
|
290
|
+
const metricsAdapter = (0, ts_mockito_1.instance)(metricsAdapterMock);
|
|
243
291
|
const entity = new BlahEntity(viewerContext, { id: '1' });
|
|
244
292
|
const policy = new DryRunAlwaysAllowPolicy();
|
|
245
293
|
const policySpy = (0, ts_mockito_1.spy)(policy);
|
|
246
|
-
const approvedEntity = await policy.authorizeCreateAsync(viewerContext, queryContext, entity);
|
|
294
|
+
const approvedEntity = await policy.authorizeCreateAsync(viewerContext, queryContext, entity, metricsAdapter);
|
|
247
295
|
expect(approvedEntity).toEqual(entity);
|
|
248
296
|
(0, ts_mockito_1.verify)(policySpy.denyHandler((0, ts_mockito_1.anyOfClass)(EntityNotAuthorizedError_1.default))).never();
|
|
297
|
+
(0, ts_mockito_1.verify)(metricsAdapterMock.logAuthorizationEvent((0, ts_mockito_1.objectContaining)({
|
|
298
|
+
entityClassName: entity.constructor.name,
|
|
299
|
+
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.CREATE,
|
|
300
|
+
evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.ALLOW,
|
|
301
|
+
privacyPolicyEvaluationMode: EntityPrivacyPolicy_1.EntityPrivacyPolicyEvaluationMode.DRY_RUN,
|
|
302
|
+
}))).once();
|
|
249
303
|
});
|
|
250
304
|
it('passes through other errors', async () => {
|
|
251
305
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
252
306
|
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
307
|
+
const metricsAdapterMock = (0, ts_mockito_1.mock)();
|
|
308
|
+
const metricsAdapter = (0, ts_mockito_1.instance)(metricsAdapterMock);
|
|
253
309
|
const entity = new BlahEntity(viewerContext, { id: '1' });
|
|
254
310
|
const policy = new DryRunThrowAllPolicy();
|
|
255
311
|
const policySpy = (0, ts_mockito_1.spy)(policy);
|
|
256
|
-
await expect(policy.authorizeCreateAsync(viewerContext, queryContext, entity)).rejects.toThrowError('WooHoo!');
|
|
312
|
+
await expect(policy.authorizeCreateAsync(viewerContext, queryContext, entity, metricsAdapter)).rejects.toThrowError('WooHoo!');
|
|
257
313
|
(0, ts_mockito_1.verify)(policySpy.denyHandler((0, ts_mockito_1.anyOfClass)(EntityNotAuthorizedError_1.default))).never();
|
|
314
|
+
(0, ts_mockito_1.verify)(metricsAdapterMock.logAuthorizationEvent((0, ts_mockito_1.anything)())).never();
|
|
258
315
|
});
|
|
259
316
|
});
|
|
260
|
-
describe(
|
|
317
|
+
describe(EntityPrivacyPolicy_1.EntityPrivacyPolicyEvaluationMode.ENFORCE_AND_LOG.toString(), () => {
|
|
261
318
|
it('denies when denied but calls denialHandler', async () => {
|
|
262
319
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
263
320
|
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
321
|
+
const metricsAdapterMock = (0, ts_mockito_1.mock)();
|
|
322
|
+
const metricsAdapter = (0, ts_mockito_1.instance)(metricsAdapterMock);
|
|
264
323
|
const entity = new BlahEntity(viewerContext, { id: '1' });
|
|
265
324
|
const policy = new LoggingEnforceAlwaysDenyPolicy();
|
|
266
325
|
const policySpy = (0, ts_mockito_1.spy)(policy);
|
|
267
|
-
await expect(policy.authorizeCreateAsync(viewerContext, queryContext, entity)).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
326
|
+
await expect(policy.authorizeCreateAsync(viewerContext, queryContext, entity, metricsAdapter)).rejects.toBeInstanceOf(EntityNotAuthorizedError_1.default);
|
|
268
327
|
(0, ts_mockito_1.verify)(policySpy.denyHandler((0, ts_mockito_1.anyOfClass)(EntityNotAuthorizedError_1.default))).once();
|
|
328
|
+
(0, ts_mockito_1.verify)(metricsAdapterMock.logAuthorizationEvent((0, ts_mockito_1.objectContaining)({
|
|
329
|
+
entityClassName: entity.constructor.name,
|
|
330
|
+
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.CREATE,
|
|
331
|
+
evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.DENY,
|
|
332
|
+
privacyPolicyEvaluationMode: EntityPrivacyPolicy_1.EntityPrivacyPolicyEvaluationMode.ENFORCE_AND_LOG,
|
|
333
|
+
}))).once();
|
|
269
334
|
});
|
|
270
335
|
it('does not log when not denied', async () => {
|
|
271
336
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
272
337
|
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
338
|
+
const metricsAdapterMock = (0, ts_mockito_1.mock)();
|
|
339
|
+
const metricsAdapter = (0, ts_mockito_1.instance)(metricsAdapterMock);
|
|
273
340
|
const entity = new BlahEntity(viewerContext, { id: '1' });
|
|
274
341
|
const policy = new LoggingEnforceAlwaysAllowPolicy();
|
|
275
342
|
const policySpy = (0, ts_mockito_1.spy)(policy);
|
|
276
|
-
const approvedEntity = await policy.authorizeCreateAsync(viewerContext, queryContext, entity);
|
|
343
|
+
const approvedEntity = await policy.authorizeCreateAsync(viewerContext, queryContext, entity, metricsAdapter);
|
|
277
344
|
expect(approvedEntity).toEqual(entity);
|
|
278
345
|
(0, ts_mockito_1.verify)(policySpy.denyHandler((0, ts_mockito_1.anyOfClass)(EntityNotAuthorizedError_1.default))).never();
|
|
346
|
+
(0, ts_mockito_1.verify)(metricsAdapterMock.logAuthorizationEvent((0, ts_mockito_1.objectContaining)({
|
|
347
|
+
entityClassName: entity.constructor.name,
|
|
348
|
+
action: EntityPrivacyPolicy_1.EntityAuthorizationAction.CREATE,
|
|
349
|
+
evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.ALLOW,
|
|
350
|
+
privacyPolicyEvaluationMode: EntityPrivacyPolicy_1.EntityPrivacyPolicyEvaluationMode.ENFORCE_AND_LOG,
|
|
351
|
+
}))).once();
|
|
279
352
|
});
|
|
280
353
|
it('passes through other errors', async () => {
|
|
281
354
|
const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
|
|
282
355
|
const queryContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(EntityQueryContext_1.EntityQueryContext));
|
|
356
|
+
const metricsAdapterMock = (0, ts_mockito_1.mock)();
|
|
357
|
+
const metricsAdapter = (0, ts_mockito_1.instance)(metricsAdapterMock);
|
|
283
358
|
const entity = new BlahEntity(viewerContext, { id: '1' });
|
|
284
359
|
const policy = new LoggingEnforceThrowAllPolicy();
|
|
285
360
|
const policySpy = (0, ts_mockito_1.spy)(policy);
|
|
286
|
-
await expect(policy.authorizeCreateAsync(viewerContext, queryContext, entity)).rejects.toThrowError('WooHoo!');
|
|
361
|
+
await expect(policy.authorizeCreateAsync(viewerContext, queryContext, entity, metricsAdapter)).rejects.toThrowError('WooHoo!');
|
|
287
362
|
(0, ts_mockito_1.verify)(policySpy.denyHandler((0, ts_mockito_1.anyOfClass)(EntityNotAuthorizedError_1.default))).never();
|
|
363
|
+
(0, ts_mockito_1.verify)(metricsAdapterMock.logAuthorizationEvent((0, ts_mockito_1.anything)())).never();
|
|
288
364
|
});
|
|
289
365
|
});
|
|
290
366
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityPrivacyPolicy-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityPrivacyPolicy-test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EntityPrivacyPolicy-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityPrivacyPolicy-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
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 invariant_1 = __importDefault(require("invariant"));
|
|
7
|
+
const EntityQueryContext_1 = require("../EntityQueryContext");
|
|
8
|
+
const ViewerContext_1 = __importDefault(require("../ViewerContext"));
|
|
9
|
+
const createUnitTestEntityCompanionProvider_1 = require("../utils/testing/createUnitTestEntityCompanionProvider");
|
|
10
|
+
describe(EntityQueryContext_1.EntityQueryContext, () => {
|
|
11
|
+
describe('callbacks', () => {
|
|
12
|
+
it('calls all callbacks, and calls invalidation first', async () => {
|
|
13
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
14
|
+
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
15
|
+
const preCommitFirstCallback = jest.fn(async () => { });
|
|
16
|
+
const preCommitSecondCallback = jest.fn(async () => { });
|
|
17
|
+
const postCommitInvalidationCallback = jest.fn(async () => {
|
|
18
|
+
(0, invariant_1.default)(preCommitFirstCallback.mock.calls.length === 1, 'preCommit should be called before postCommitInvalidation');
|
|
19
|
+
(0, invariant_1.default)(preCommitSecondCallback.mock.calls.length === 1, 'preCommit should be called before postCommitInvalidation');
|
|
20
|
+
});
|
|
21
|
+
const postCommitCallback = jest.fn(async () => {
|
|
22
|
+
(0, invariant_1.default)(preCommitFirstCallback.mock.calls.length === 1, 'preCommit should be called before postCommit');
|
|
23
|
+
(0, invariant_1.default)(preCommitSecondCallback.mock.calls.length === 1, 'preCommit should be called before postCommit');
|
|
24
|
+
(0, invariant_1.default)(postCommitInvalidationCallback.mock.calls.length === 1, 'postCommitInvalidation should be called before postCommit');
|
|
25
|
+
});
|
|
26
|
+
await viewerContext.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
|
|
27
|
+
queryContext.appendPostCommitCallback(postCommitCallback);
|
|
28
|
+
queryContext.appendPostCommitInvalidationCallback(postCommitInvalidationCallback);
|
|
29
|
+
queryContext.appendPreCommitCallback(preCommitSecondCallback, 2);
|
|
30
|
+
queryContext.appendPreCommitCallback(preCommitFirstCallback, 1);
|
|
31
|
+
});
|
|
32
|
+
expect(preCommitFirstCallback).toHaveBeenCalledTimes(1);
|
|
33
|
+
expect(preCommitSecondCallback).toHaveBeenCalledTimes(1);
|
|
34
|
+
expect(postCommitCallback).toHaveBeenCalledTimes(1);
|
|
35
|
+
expect(postCommitInvalidationCallback).toHaveBeenCalledTimes(1);
|
|
36
|
+
});
|
|
37
|
+
it('prevents transaction from finishing when precommit throws (post commit callbacks are not called)', async () => {
|
|
38
|
+
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
39
|
+
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
40
|
+
const preCommitCallback = jest.fn(async () => {
|
|
41
|
+
throw new Error('wat');
|
|
42
|
+
});
|
|
43
|
+
const postCommitInvalidationCallback = jest.fn(async () => { });
|
|
44
|
+
const postCommitCallback = jest.fn(async () => { });
|
|
45
|
+
await expect(viewerContext.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
|
|
46
|
+
queryContext.appendPostCommitCallback(postCommitCallback);
|
|
47
|
+
queryContext.appendPostCommitInvalidationCallback(postCommitInvalidationCallback);
|
|
48
|
+
queryContext.appendPreCommitCallback(preCommitCallback, 0);
|
|
49
|
+
})).rejects.toThrowError('wat');
|
|
50
|
+
expect(preCommitCallback).toHaveBeenCalledTimes(1);
|
|
51
|
+
expect(postCommitCallback).toHaveBeenCalledTimes(0);
|
|
52
|
+
expect(postCommitInvalidationCallback).toHaveBeenCalledTimes(0);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=EntityQueryContext-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityQueryContext-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityQueryContext-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,7 @@ describe(EntitySecondaryCacheLoader_1.default, () => {
|
|
|
41
41
|
const secondaryCacheLoader = new TestSecondaryRedisCacheLoader(secondaryEntityCache, loader);
|
|
42
42
|
const result = await secondaryCacheLoader.loadManyAsync([loadParams]);
|
|
43
43
|
expect((_a = result.get(loadParams)) === null || _a === void 0 ? void 0 : _a.enforceValue().getID()).toEqual(createdEntity.getID());
|
|
44
|
-
(0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeReadAsync(vc1, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityNonTransactionalQueryContext), (0, ts_mockito_1.anything)())).once();
|
|
44
|
+
(0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeReadAsync(vc1, (0, ts_mockito_1.anyOfClass)(EntityQueryContext_1.EntityNonTransactionalQueryContext), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).once();
|
|
45
45
|
});
|
|
46
46
|
});
|
|
47
47
|
describe('invalidateManyAsync', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntitySecondaryCacheLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntitySecondaryCacheLoader-test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EntitySecondaryCacheLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntitySecondaryCacheLoader-test.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export { default as EntitySecondaryCacheLoader } from './EntitySecondaryCacheLoa
|
|
|
31
31
|
export * from './EntitySecondaryCacheLoader';
|
|
32
32
|
export * from './EntityMutator';
|
|
33
33
|
export { default as EntityMutationValidator } from './EntityMutationValidator';
|
|
34
|
+
export * from './EntityMutationInfo';
|
|
34
35
|
export * from './EntityMutationTriggerConfiguration';
|
|
35
36
|
export { default as EntityMutationTriggerConfiguration } from './EntityMutationTriggerConfiguration';
|
|
36
37
|
export { default as EntityMutatorFactory } from './EntityMutatorFactory';
|
package/build/index.js
CHANGED
|
@@ -65,6 +65,7 @@ __exportStar(require("./EntitySecondaryCacheLoader"), exports);
|
|
|
65
65
|
__exportStar(require("./EntityMutator"), exports);
|
|
66
66
|
var EntityMutationValidator_1 = require("./EntityMutationValidator");
|
|
67
67
|
Object.defineProperty(exports, "EntityMutationValidator", { enumerable: true, get: function () { return __importDefault(EntityMutationValidator_1).default; } });
|
|
68
|
+
__exportStar(require("./EntityMutationInfo"), exports);
|
|
68
69
|
__exportStar(require("./EntityMutationTriggerConfiguration"), exports);
|
|
69
70
|
var EntityMutatorFactory_1 = require("./EntityMutatorFactory");
|
|
70
71
|
Object.defineProperty(exports, "EntityMutatorFactory", { enumerable: true, get: function () { return __importDefault(EntityMutatorFactory_1).default; } });
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC;;;GAGG;;;;;;;;;;;;;;;;AAEH,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAC1B,2CAAyB;AACzB,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,4DAA0C;AAC1C,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB;AACtC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,oDAAkC;AAClC,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,4DAA0C;AAC1C,6DAAuE;AAA9D,2IAAA,OAAO,OAAuB;AACvC,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,0DAAwC;AACxC,kFAA4F;AAAnF,yJAAA,OAAO,OAA8B;AAC9C,sEAAoD;AACpD,4EAAsF;AAA7E,mJAAA,OAAO,OAA2B;AAC3C,mEAAiD;AACjD,uDAAqC;AACrC,oDAA8D;AAArD,2HAAA,OAAO,OAAe;AAC/B,8EAAwF;AAA/E,qJAAA,OAAO,OAA4B;AAC5C,oEAA8E;AAArE,2IAAA,OAAO,OAAuB;AACvC,iDAA+B;AAC/B,0DAAwC;AACxC,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,6DAAuE;AAA9D,2IAAA,OAAO,OAAuB;AACvC,2EAAqF;AAA5E,yJAAA,OAAO,OAA8B;AAC9C,+DAA6C;AAC7C,kDAAgC;AAChC,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,uEAAqD;AAErD,+DAAyE;AAAhE,6IAAA,OAAO,OAAwB;AACxC,6DAAuE;AAA9D,2IAAA,OAAO,OAAuB;AACvC,wDAAsC;AACtC,uDAAqC;AAGrC,2EAAqF;AAA5E,yJAAA,OAAO,OAA8B;AAC9C,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,6EAAuF;AAA9E,2JAAA,OAAO,OAA+B;AAC/C,6FAAuG;AAA9F,2KAAA,OAAO,OAAuC;AACvD,qFAA+F;AAAtF,mKAAA,OAAO,OAAmC;AACnD,uFAAiG;AAAxF,qKAAA,OAAO,OAAoC;AACpD,gDAA8B;AAC9B,kEAA4E;AAAnE,uIAAA,OAAO,OAAqB;AACrC,4EAA0D;AAC1D,4EAAsF;AAA7E,iJAAA,OAAO,OAA0B;AAC1C,oEAAkD;AAClD,+DAA6C;AAE7C,kEAAgD;AAChD,+EAAyF;AAAhF,qJAAA,OAAO,OAA4B;AAC5C,qFAA+F;AAAtF,6JAAA,OAAO,OAAgC;AAChD,mFAA6F;AAApF,2JAAA,OAAO,OAA+B;AAC/C,mFAA6F;AAApF,2JAAA,OAAO,OAA+B;AAC/C,+DAAyE;AAAhE,uIAAA,OAAO,OAAqB;AACrC,4DAA0C;AAC1C,6EAA2D;AAC3D,mEAAiD;AACjD,+EAAyF;AAAhF,+IAAA,OAAO,OAAyB;AACzC,2EAAqF;AAA5E,2IAAA,OAAO,OAAuB;AACvC,2FAAqG;AAA5F,2JAAA,OAAO,OAA+B;AAC/C,qFAA+F;AAAtF,qJAAA,OAAO,OAA4B;AAC5C,wFAAsE;AACtE,2DAAyC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC;;;GAGG;;;;;;;;;;;;;;;;AAEH,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAC1B,2CAAyB;AACzB,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,4DAA0C;AAC1C,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB;AACtC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,oDAAkC;AAClC,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,4DAA0C;AAC1C,6DAAuE;AAA9D,2IAAA,OAAO,OAAuB;AACvC,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,0DAAwC;AACxC,kFAA4F;AAAnF,yJAAA,OAAO,OAA8B;AAC9C,sEAAoD;AACpD,4EAAsF;AAA7E,mJAAA,OAAO,OAA2B;AAC3C,mEAAiD;AACjD,uDAAqC;AACrC,oDAA8D;AAArD,2HAAA,OAAO,OAAe;AAC/B,8EAAwF;AAA/E,qJAAA,OAAO,OAA4B;AAC5C,oEAA8E;AAArE,2IAAA,OAAO,OAAuB;AACvC,iDAA+B;AAC/B,0DAAwC;AACxC,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,6DAAuE;AAA9D,2IAAA,OAAO,OAAuB;AACvC,2EAAqF;AAA5E,yJAAA,OAAO,OAA8B;AAC9C,+DAA6C;AAC7C,kDAAgC;AAChC,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,uDAAqC;AACrC,uEAAqD;AAErD,+DAAyE;AAAhE,6IAAA,OAAO,OAAwB;AACxC,6DAAuE;AAA9D,2IAAA,OAAO,OAAuB;AACvC,wDAAsC;AACtC,uDAAqC;AAGrC,2EAAqF;AAA5E,yJAAA,OAAO,OAA8B;AAC9C,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,6EAAuF;AAA9E,2JAAA,OAAO,OAA+B;AAC/C,6FAAuG;AAA9F,2KAAA,OAAO,OAAuC;AACvD,qFAA+F;AAAtF,mKAAA,OAAO,OAAmC;AACnD,uFAAiG;AAAxF,qKAAA,OAAO,OAAoC;AACpD,gDAA8B;AAC9B,kEAA4E;AAAnE,uIAAA,OAAO,OAAqB;AACrC,4EAA0D;AAC1D,4EAAsF;AAA7E,iJAAA,OAAO,OAA0B;AAC1C,oEAAkD;AAClD,+DAA6C;AAE7C,kEAAgD;AAChD,+EAAyF;AAAhF,qJAAA,OAAO,OAA4B;AAC5C,qFAA+F;AAAtF,6JAAA,OAAO,OAAgC;AAChD,mFAA6F;AAApF,2JAAA,OAAO,OAA+B;AAC/C,mFAA6F;AAApF,2JAAA,OAAO,OAA+B;AAC/C,+DAAyE;AAAhE,uIAAA,OAAO,OAAqB;AACrC,4DAA0C;AAC1C,6EAA2D;AAC3D,mEAAiD;AACjD,+EAAyF;AAAhF,+IAAA,OAAO,OAAyB;AACzC,2EAAqF;AAA5E,2IAAA,OAAO,OAAuB;AACvC,2FAAqG;AAA5F,2JAAA,OAAO,OAA+B;AAC/C,qFAA+F;AAAtF,qJAAA,OAAO,OAA4B;AAC5C,wFAAsE;AACtE,2DAAyC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EntityAuthorizationAction, EntityPrivacyPolicyEvaluationMode } from '../EntityPrivacyPolicy';
|
|
1
2
|
export declare enum EntityMetricsLoadType {
|
|
2
3
|
LOAD_MANY = 0,
|
|
3
4
|
LOAD_MANY_EQUALITY_CONJUNCTION = 1,
|
|
@@ -23,11 +24,26 @@ export interface IncrementLoadCountEvent {
|
|
|
23
24
|
fieldValueCount: number;
|
|
24
25
|
entityClassName: string;
|
|
25
26
|
}
|
|
27
|
+
export declare enum EntityMetricsAuthorizationResult {
|
|
28
|
+
DENY = 0,
|
|
29
|
+
ALLOW = 1
|
|
30
|
+
}
|
|
31
|
+
export interface EntityMetricsAuthorizationEvent {
|
|
32
|
+
entityClassName: string;
|
|
33
|
+
action: EntityAuthorizationAction;
|
|
34
|
+
evaluationResult: EntityMetricsAuthorizationResult;
|
|
35
|
+
privacyPolicyEvaluationMode: EntityPrivacyPolicyEvaluationMode;
|
|
36
|
+
}
|
|
26
37
|
/**
|
|
27
38
|
* An interface for gathering metrics about the Entity framework. Information about
|
|
28
39
|
* entity load and mutation operations is piped to an instance of this adapter.
|
|
29
40
|
*/
|
|
30
41
|
export default interface IEntityMetricsAdapter {
|
|
42
|
+
/**
|
|
43
|
+
* Called when a {@link EntityPrivacyPolicy} authorization succeeds or fails.
|
|
44
|
+
* @param authorizationEvent - info about the authorization event
|
|
45
|
+
*/
|
|
46
|
+
logAuthorizationEvent(authorizationEvent: EntityMetricsAuthorizationEvent): void;
|
|
31
47
|
/**
|
|
32
48
|
* Called when any load occurs.
|
|
33
49
|
* @param loadEvent - info about the load event
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EntityMetricsMutationType = exports.EntityMetricsLoadType = void 0;
|
|
3
|
+
exports.EntityMetricsAuthorizationResult = exports.EntityMetricsMutationType = exports.EntityMetricsLoadType = void 0;
|
|
4
4
|
var EntityMetricsLoadType;
|
|
5
5
|
(function (EntityMetricsLoadType) {
|
|
6
6
|
EntityMetricsLoadType[EntityMetricsLoadType["LOAD_MANY"] = 0] = "LOAD_MANY";
|
|
@@ -13,4 +13,9 @@ var EntityMetricsMutationType;
|
|
|
13
13
|
EntityMetricsMutationType[EntityMetricsMutationType["UPDATE"] = 1] = "UPDATE";
|
|
14
14
|
EntityMetricsMutationType[EntityMetricsMutationType["DELETE"] = 2] = "DELETE";
|
|
15
15
|
})(EntityMetricsMutationType = exports.EntityMetricsMutationType || (exports.EntityMetricsMutationType = {}));
|
|
16
|
+
var EntityMetricsAuthorizationResult;
|
|
17
|
+
(function (EntityMetricsAuthorizationResult) {
|
|
18
|
+
EntityMetricsAuthorizationResult[EntityMetricsAuthorizationResult["DENY"] = 0] = "DENY";
|
|
19
|
+
EntityMetricsAuthorizationResult[EntityMetricsAuthorizationResult["ALLOW"] = 1] = "ALLOW";
|
|
20
|
+
})(EntityMetricsAuthorizationResult = exports.EntityMetricsAuthorizationResult || (exports.EntityMetricsAuthorizationResult = {}));
|
|
16
21
|
//# sourceMappingURL=IEntityMetricsAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IEntityMetricsAdapter.js","sourceRoot":"","sources":["../../src/metrics/IEntityMetricsAdapter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"IEntityMetricsAdapter.js","sourceRoot":"","sources":["../../src/metrics/IEntityMetricsAdapter.ts"],"names":[],"mappings":";;;AAKA,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,2EAAS,CAAA;IACT,qHAA8B,CAAA;IAC9B,mFAAa,CAAA;AACf,CAAC,EAJW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAIhC;AASD,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACnC,6EAAM,CAAA;IACN,6EAAM,CAAA;IACN,6EAAM,CAAA;AACR,CAAC,EAJW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAIpC;AAaD,IAAY,gCAGX;AAHD,WAAY,gCAAgC;IAC1C,uFAAI,CAAA;IACJ,yFAAK,CAAA;AACP,CAAC,EAHW,gCAAgC,GAAhC,wCAAgC,KAAhC,wCAAgC,QAG3C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import IEntityMetricsAdapter, { EntityMetricsLoadEvent, EntityMetricsMutationEvent, IncrementLoadCountEvent } from './IEntityMetricsAdapter';
|
|
1
|
+
import IEntityMetricsAdapter, { EntityMetricsAuthorizationEvent, EntityMetricsLoadEvent, EntityMetricsMutationEvent, IncrementLoadCountEvent } from './IEntityMetricsAdapter';
|
|
2
2
|
export default class NoOpEntityMetricsAdapter implements IEntityMetricsAdapter {
|
|
3
|
+
logAuthorizationEvent(_authorizationEvent: EntityMetricsAuthorizationEvent): void;
|
|
3
4
|
logDataManagerLoadEvent(_loadEvent: EntityMetricsLoadEvent): void;
|
|
4
5
|
logMutatorMutationEvent(_mutationEvent: EntityMetricsMutationEvent): void;
|
|
5
6
|
incrementDataManagerDataloaderLoadCount(_incrementLoadCountEvent: IncrementLoadCountEvent): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
class NoOpEntityMetricsAdapter {
|
|
4
|
+
logAuthorizationEvent(_authorizationEvent) { }
|
|
4
5
|
logDataManagerLoadEvent(_loadEvent) { }
|
|
5
6
|
logMutatorMutationEvent(_mutationEvent) { }
|
|
6
7
|
incrementDataManagerDataloaderLoadCount(_incrementLoadCountEvent) { }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoOpEntityMetricsAdapter.js","sourceRoot":"","sources":["../../src/metrics/NoOpEntityMetricsAdapter.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"NoOpEntityMetricsAdapter.js","sourceRoot":"","sources":["../../src/metrics/NoOpEntityMetricsAdapter.ts"],"names":[],"mappings":";;AAOA,MAAqB,wBAAwB;IAC3C,qBAAqB,CAAC,mBAAoD,IAAS,CAAC;IACpF,uBAAuB,CAAC,UAAkC,IAAS,CAAC;IACpE,uBAAuB,CAAC,cAA0C,IAAS,CAAC;IAC5E,uCAAuC,CACrC,wBAAiD,IAC1C,CAAC;IACV,kCAAkC,CAAC,wBAAiD,IAAS,CAAC;IAC9F,qCAAqC,CAAC,wBAAiD,IAAS,CAAC;CAClG;AATD,2CASC"}
|
package/package.json
CHANGED
package/src/Entity.ts
CHANGED
|
@@ -243,12 +243,16 @@ export default abstract class Entity<
|
|
|
243
243
|
.getQueryContextProvider()
|
|
244
244
|
.getQueryContext()
|
|
245
245
|
): Promise<boolean> {
|
|
246
|
+
const companion = existingEntity
|
|
247
|
+
.getViewerContext()
|
|
248
|
+
.getViewerScopedEntityCompanionForClass(this);
|
|
246
249
|
const privacyPolicy = new (this.getCompanionDefinition().privacyPolicyClass)();
|
|
247
250
|
const evaluationResult = await asyncResult(
|
|
248
251
|
privacyPolicy.authorizeUpdateAsync(
|
|
249
252
|
existingEntity.getViewerContext(),
|
|
250
253
|
queryContext,
|
|
251
|
-
existingEntity
|
|
254
|
+
existingEntity,
|
|
255
|
+
companion.getMetricsAdapter()
|
|
252
256
|
)
|
|
253
257
|
);
|
|
254
258
|
return evaluationResult.ok;
|
|
@@ -292,12 +296,16 @@ export default abstract class Entity<
|
|
|
292
296
|
.getQueryContextProvider()
|
|
293
297
|
.getQueryContext()
|
|
294
298
|
): Promise<boolean> {
|
|
299
|
+
const companion = existingEntity
|
|
300
|
+
.getViewerContext()
|
|
301
|
+
.getViewerScopedEntityCompanionForClass(this);
|
|
295
302
|
const privacyPolicy = new (this.getCompanionDefinition().privacyPolicyClass)();
|
|
296
303
|
const evaluationResult = await asyncResult(
|
|
297
304
|
privacyPolicy.authorizeDeleteAsync(
|
|
298
305
|
existingEntity.getViewerContext(),
|
|
299
306
|
queryContext,
|
|
300
|
-
existingEntity
|
|
307
|
+
existingEntity,
|
|
308
|
+
companion.getMetricsAdapter()
|
|
301
309
|
)
|
|
302
310
|
);
|
|
303
311
|
return evaluationResult.ok;
|
package/src/EntityCompanion.ts
CHANGED
|
@@ -73,7 +73,7 @@ export default class EntityCompanion<
|
|
|
73
73
|
TEntity,
|
|
74
74
|
TSelectedFields
|
|
75
75
|
>,
|
|
76
|
-
metricsAdapter: IEntityMetricsAdapter
|
|
76
|
+
private readonly metricsAdapter: IEntityMetricsAdapter
|
|
77
77
|
) {
|
|
78
78
|
const privacyPolicy = new PrivacyPolicyClass();
|
|
79
79
|
this.entityLoaderFactory = new EntityLoaderFactory<
|
|
@@ -87,7 +87,8 @@ export default class EntityCompanion<
|
|
|
87
87
|
tableDataCoordinator.entityConfiguration,
|
|
88
88
|
entityClass,
|
|
89
89
|
privacyPolicy,
|
|
90
|
-
tableDataCoordinator.dataManager
|
|
90
|
+
tableDataCoordinator.dataManager,
|
|
91
|
+
metricsAdapter
|
|
91
92
|
);
|
|
92
93
|
this.entityMutatorFactory = new EntityMutatorFactory(
|
|
93
94
|
tableDataCoordinator.entityConfiguration,
|
|
@@ -129,4 +130,11 @@ export default class EntityCompanion<
|
|
|
129
130
|
getQueryContextProvider(): EntityQueryContextProvider {
|
|
130
131
|
return this.tableDataCoordinator.getQueryContextProvider();
|
|
131
132
|
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Get the {@link IEntityMetricsAdapter} for this companion.
|
|
136
|
+
*/
|
|
137
|
+
getMetricsAdapter(): IEntityMetricsAdapter {
|
|
138
|
+
return this.metricsAdapter;
|
|
139
|
+
}
|
|
132
140
|
}
|
|
@@ -174,7 +174,7 @@ export default class EntityCompanionProvider {
|
|
|
174
174
|
* @param cacheAdapterFlavors - Cache adapter configurations for this instance
|
|
175
175
|
*/
|
|
176
176
|
constructor(
|
|
177
|
-
|
|
177
|
+
public readonly metricsAdapter: IEntityMetricsAdapter,
|
|
178
178
|
private databaseAdapterFlavors: ReadonlyMap<
|
|
179
179
|
DatabaseAdapterFlavor,
|
|
180
180
|
DatabaseAdapterFlavorDefinition
|