diff --git a/packages/slonik/src/service.ts b/packages/slonik/src/service.ts index 3ce97077e..513b5da37 100644 --- a/packages/slonik/src/service.ts +++ b/packages/slonik/src/service.ts @@ -146,7 +146,11 @@ abstract class BaseService< return result[0].count; }; - update = async (id: number | string, data: U): Promise => { + update = async (id: number | string, data: U): Promise => { + if (Object.keys(data).length === 0) { + return (await this.findById(id)) ?? undefined; + } + const query = this.factory.getUpdateSql(id, data); return await this.database.connect((connection) => { diff --git a/packages/slonik/src/types/service.ts b/packages/slonik/src/types/service.ts index 8ee8703ec..35c5b1919 100644 --- a/packages/slonik/src/types/service.ts +++ b/packages/slonik/src/types/service.ts @@ -29,7 +29,7 @@ interface Service { sort?: SortInput[] ): Promise>; count(filters?: FilterInput): Promise; - update(id: number | string, data: U): Promise; + update(id: number | string, data: U): Promise; } type PaginatedList = { diff --git a/packages/user/src/model/invitations/handlers/revokeInvitation.ts b/packages/user/src/model/invitations/handlers/revokeInvitation.ts index 59796d4b6..71df2d76d 100644 --- a/packages/user/src/model/invitations/handlers/revokeInvitation.ts +++ b/packages/user/src/model/invitations/handlers/revokeInvitation.ts @@ -50,9 +50,9 @@ const revokeInvitation = async ( }); } - invitation = await service.update(id, { + invitation = (await service.update(id, { revokedAt: formatDate(new Date(Date.now())), - }); + })) as Invitation & QueryResultRow; const data: Partial = invitation; diff --git a/packages/user/src/model/invitations/resolver.ts b/packages/user/src/model/invitations/resolver.ts index 14168610c..64eb2b433 100644 --- a/packages/user/src/model/invitations/resolver.ts +++ b/packages/user/src/model/invitations/resolver.ts @@ -316,9 +316,9 @@ const Mutation = { return mercuriusError; } - invitation = await service.update(arguments_.id, { + invitation = (await service.update(arguments_.id, { revokedAt: formatDate(new Date(Date.now())), - }); + })) as Invitation & QueryResultRow; return invitation; },