@@ -289,15 +289,11 @@ ORM query interception allows you to intercept the high-level ORM API calls. The
289289```ts
290290db.$use({
291291 id: 'cost-logger',
292- onQuery: {
293- $allModels: {
294- $allOperations: async ({ model, operation, args, query }) => {
295- const start = Date.now();
296- const result = await query(args);
297- console.log(`[cost] ${model} ${operation} took ${Date.now() - start}ms`);
298- return result;
299- },
300- },
292+ onQuery: async ({ model, operation, args, proceed }) => {
293+ const start = Date.now();
294+ const result = await proceed(args);
295+ console.log(`[cost] ${model} ${operation} took ${Date.now() - start}ms`);
296+ return result;
301297 },
302298});
303299```
@@ -333,11 +329,14 @@ Another popular interception use case is, instead of intercepting calls, "listen
333329``` ts
334330db .$use ({
335331 id: ' mutation-hook-plugin' ,
336- beforeEntityMutation({ model , action }) {
337- console .log (` Before ${model } ${action } ` );
338- },
339- afterEntityMutation({ model , action }) {
340- console .log (` After ${model } ${action } ` );
332+ onEntityMutation: {
333+ beforeEntityMutation({ model , action }) {
334+ console .log (` Before ${model } ${action } ` );
335+ },
336+
337+ afterEntityMutation({ model , action }) {
338+ console .log (` After ${model } ${action } ` );
339+ },
341340 },
342341});
343342```
@@ -347,20 +346,24 @@ You can provide an extra `mutationInterceptionFilter` to control what to interce
347346``` ts
348347db .$use ({
349348 id: ' mutation-hook-plugin' ,
350- mutationInterceptionFilter : ({ model }) => {
351- return {
352- intercept: model === ' User' ,
353- // load entities affected before the mutation (defaults to false)
354- loadBeforeMutationEntities: true ,
355- // load entities affected after the mutation (defaults to false)
356- loadAfterMutationEntities: true ,
357- };
358- },
359- beforeEntityMutation({ model , action , entities }) {
360- console .log (` Before ${model } ${action }: ${entities } ` );
361- },
362- afterEntityMutation({ model , action , afterMutationEntities }) {
363- console .log (` After ${model } ${action }: ${afterMutationEntities } ` );
349+ onEntityMutation: {
350+ mutationInterceptionFilter : ({ model }) => {
351+ return {
352+ intercept: model === ' User' ,
353+ // load entities affected before the mutation (defaults to false)
354+ loadBeforeMutationEntities: true ,
355+ // load entities affected after the mutation (defaults to false)
356+ loadAfterMutationEntities: true ,
357+ };
358+ },
359+
360+ beforeEntityMutation({ model , action , entities }) {
361+ console .log (` Before ${model } ${action }: ${entities } ` );
362+ },
363+
364+ afterEntityMutation({ model , action , afterMutationEntities }) {
365+ console .log (` After ${model } ${action }: ${afterMutationEntities } ` );
366+ },
364367 },
365368});
366369```
0 commit comments