diff --git a/src/routes/folders.ts b/src/routes/folders.ts index 42baf311e2..1652e393da 100644 --- a/src/routes/folders.ts +++ b/src/routes/folders.ts @@ -12,17 +12,13 @@ router.post( '/', useCollection('directus_folders'), asyncHandler(async (req, res) => { - const record = await FoldersService.createFolder(req.body, req.sanitizedQuery); - - ActivityService.createActivity({ - action: ActivityService.Action.CREATE, - collection: req.collection, - item: record.id, + const primaryKey = await FoldersService.createFolder(req.body, { ip: req.ip, - user_agent: req.get('user-agent'), - action_by: req.user, + userAgent: req.get('user-agent'), + user: req.user, }); + const record = await FoldersService.readFolder(primaryKey, req.sanitizedQuery); return res.json({ data: record }); }) ); @@ -53,21 +49,14 @@ router.patch( '/:pk', useCollection('directus_folders'), asyncHandler(async (req, res) => { - const record = await FoldersService.updateFolder( - req.params.pk, - req.body, - req.sanitizedQuery - ); - - ActivityService.createActivity({ - action: ActivityService.Action.UPDATE, - collection: req.collection, - item: record.id, + const primaryKey = await FoldersService.updateFolder(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 record = await FoldersService.readFolder(primaryKey, req.sanitizedQuery); + return res.json({ data: record }); }) ); @@ -76,7 +65,11 @@ router.delete( '/:pk', useCollection('directus_folders'), asyncHandler(async (req, res) => { - await FoldersService.deleteFolder(req.params.pk); + await FoldersService.deleteFolder(req.params.pk, { + ip: req.ip, + userAgent: req.get('user-agent'), + user: req.user, + }); ActivityService.createActivity({ action: ActivityService.Action.DELETE, diff --git a/src/services/folders.ts b/src/services/folders.ts index aa7d2417f3..a966d4e437 100644 --- a/src/services/folders.ts +++ b/src/services/folders.ts @@ -1,28 +1,26 @@ -import { Query } from '../types/query'; import * as ItemsService from './items'; +import { Accountability, Query } from '../types'; -export const createFolder = async (data: Record, query: Query) => { - const primaryKey = await ItemsService.createItem('directus_folders', data); - return await ItemsService.readItem('directus_folders', primaryKey, query); +export const createFolder = async (data: Record, accountability: Accountability) => { + return await ItemsService.createItem('directus_folders', data, accountability); }; export const readFolders = async (query: Query) => { return await ItemsService.readItems('directus_folders', query); }; -export const readFolder = async (pk: string | number, query: Query) => { +export const readFolder = async (pk: string, query: Query) => { return await ItemsService.readItem('directus_folders', pk, query); }; export const updateFolder = async ( - pk: string | number, + pk: string, data: Record, - query: Query + accountability: Accountability ) => { - const primaryKey = await ItemsService.updateItem('directus_folders', pk, data); - return await ItemsService.readItem('directus_folders', primaryKey, query); + return await ItemsService.updateItem('directus_folders', pk, data, accountability); }; -export const deleteFolder = async (pk: string | number) => { - await ItemsService.deleteItem('directus_folders', pk); +export const deleteFolder = async (pk: string, accountability: Accountability) => { + await ItemsService.deleteItem('directus_folders', pk, accountability); };