From f213503c4e55a5cc283804fb5fefa74d1971f110 Mon Sep 17 00:00:00 2001 From: Trivernis Date: Wed, 22 Jan 2020 14:43:48 +0100 Subject: [PATCH] Allow admins to delete groups --- src/lib/models/Event.ts | 2 +- src/lib/models/Group.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/models/Event.ts b/src/lib/models/Event.ts index d30e8ad..16a85a3 100644 --- a/src/lib/models/Event.ts +++ b/src/lib/models/Event.ts @@ -86,7 +86,7 @@ export class Event extends Model { if (userId) { const group = await this.$get("rGroup") as Group; const user = await User.findByPk(userId); - return group.$has("rAdmins", user); + return (await group.$has("rAdmins", user)) || user.isAdmin; } else { return false; } diff --git a/src/lib/models/Group.ts b/src/lib/models/Group.ts index 4184e34..85c88ce 100644 --- a/src/lib/models/Group.ts +++ b/src/lib/models/Group.ts @@ -153,7 +153,8 @@ export class Group extends Model { public async deletable({userId}: { userId?: number }, request: any): Promise { userId = userId ?? request.session.userId; if (userId) { - return this.creatorId === userId; + const user = await User.findByPk(userId); + return this.creatorId === userId || user.isAdmin; } else { return false; }