From 1dceff8ccbaa5a6d0aa0ab54d9f79a04ce1aaedb Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Thu, 9 Jul 2020 13:40:19 -0400 Subject: [PATCH] Finish revisions tracking --- src/routes/webhooks.ts | 41 ++++++++++++---------------------------- src/services/webhooks.ts | 16 +++++++--------- 2 files changed, 19 insertions(+), 38 deletions(-) diff --git a/src/routes/webhooks.ts b/src/routes/webhooks.ts index 6689630378..71150e66c3 100644 --- a/src/routes/webhooks.ts +++ b/src/routes/webhooks.ts @@ -12,17 +12,14 @@ router.post( '/', useCollection('directus_webhooks'), asyncHandler(async (req, res) => { - const item = await WebhooksService.createWebhook(req.body, req.sanitizedQuery); - - ActivityService.createActivity({ - action: ActivityService.Action.CREATE, - collection: req.collection, - item: item.id, + const primaryKey = await WebhooksService.createWebhook(req.body, { ip: req.ip, - user_agent: req.get('user-agent'), - action_by: req.user, + userAgent: req.get('user-agent'), + user: req.user, }); + const item = await WebhooksService.readWebhook(primaryKey, req.sanitizedQuery); + return res.json({ data: item }); }) ); @@ -53,21 +50,12 @@ router.patch( '/:pk', useCollection('directus_webhooks'), asyncHandler(async (req, res) => { - const item = await WebhooksService.updateWebhook( - req.params.pk, - req.body, - req.sanitizedQuery - ); - - ActivityService.createActivity({ - action: ActivityService.Action.UPDATE, - collection: req.collection, - item: item.id, + const primaryKey = await WebhooksService.updateWebhook(req.params.pk, req.body, { ip: req.ip, - user_agent: req.get('user-agent'), - action_by: req.user, + userAgent: req.get('user-agent'), + user: req.user, }); - + const item = await WebhooksService.readWebhook(primaryKey, req.sanitizedQuery); return res.json({ data: item }); }) ); @@ -76,15 +64,10 @@ router.delete( '/:pk', useCollection('directus_webhooks'), asyncHandler(async (req, res) => { - await WebhooksService.deleteWebhook(req.params.pk); - - ActivityService.createActivity({ - action: ActivityService.Action.DELETE, - collection: req.collection, - item: req.params.pk, + await WebhooksService.deleteWebhook(req.params.pk, { ip: req.ip, - user_agent: req.get('user-agent'), - action_by: req.user, + userAgent: req.get('user-agent'), + user: req.user, }); return res.status(200).end(); diff --git a/src/services/webhooks.ts b/src/services/webhooks.ts index 3b7abb9a6a..5de126e65f 100644 --- a/src/services/webhooks.ts +++ b/src/services/webhooks.ts @@ -1,9 +1,8 @@ -import { Query } from '../types/query'; +import { Accountability, Query } from '../types'; import * as ItemsService from './items'; -export const createWebhook = async (data: Record, query: Query) => { - const primaryKey = await ItemsService.createItem('directus_webhooks', data); - return await ItemsService.readItem('directus_webhooks', primaryKey, query); +export const createWebhook = async (data: Record, accountability: Accountability) => { + return await ItemsService.createItem('directus_webhooks', data, accountability); }; export const readWebhooks = async (query: Query) => { @@ -17,12 +16,11 @@ export const readWebhook = async (pk: string | number, query: Query) => { export const updateWebhook = async ( pk: string | number, data: Record, - query: Query + accountability: Accountability ) => { - const primaryKey = await ItemsService.updateItem('directus_webhooks', pk, data); - return await ItemsService.readItem('directus_webhooks', primaryKey, query); + return await ItemsService.updateItem('directus_webhooks', pk, data, accountability); }; -export const deleteWebhook = async (pk: string | number) => { - await ItemsService.deleteItem('directus_webhooks', pk); +export const deleteWebhook = async (pk: string | number, accountability: Accountability) => { + await ItemsService.deleteItem('directus_webhooks', pk, accountability); };