From 4972011dfd14592cb94dace6f717f2fe50e7feda Mon Sep 17 00:00:00 2001 From: abdou6666 Date: Fri, 20 Dec 2024 08:42:02 +0100 Subject: [PATCH] fix: throw when no updates has been provided --- api/src/utils/generics/base-repository.ts | 30 ++++++++++++----------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/api/src/utils/generics/base-repository.ts b/api/src/utils/generics/base-repository.ts index 603ccfc9..b8e127f7 100644 --- a/api/src/utils/generics/base-repository.ts +++ b/api/src/utils/generics/base-repository.ts @@ -177,28 +177,30 @@ export abstract class BaseRepository< const query = this as Query; const criteria = query.getFilter(); const updates = query.getUpdate(); - if (updates) { - await repository.preUpdate(query, criteria, updates); - repository.emitter.emit( - repository.getEventName(EHook.preUpdate), - criteria, - updates?.['$set'], - ); + if (!updates) { + throw new Error('Unable to run findOneAndUpdate pre hook'); } + await repository.preUpdate(query, criteria, updates); + repository.emitter.emit( + repository.getEventName(EHook.preUpdate), + criteria, + updates?.['$set'], + ); }); hooks.updateMany.pre.execute(async function () { const query = this as Query; const criteria = query.getFilter(); const updates = query.getUpdate(); - if (updates) { - await repository.preUpdateMany(query, criteria, updates); - repository.emitter.emit( - repository.getEventName(EHook.preUpdateMany), - criteria, - updates?.['$set'], - ); + if (!updates) { + throw new Error('Unable to run run updateMany pre hook'); } + await repository.preUpdateMany(query, criteria, updates); + repository.emitter.emit( + repository.getEventName(EHook.preUpdateMany), + criteria, + updates?.['$set'], + ); }); hooks.updateMany.post.execute(async function (updated: any) {