mirror of
https://github.com/umami-software/umami.git
synced 2026-02-04 12:47:13 +01:00
Hook up teamMemberDelete and teamDelete.
This commit is contained in:
parent
c3426a67ee
commit
701bde53b7
7 changed files with 150 additions and 21 deletions
18
lib/auth.ts
18
lib/auth.ts
|
|
@ -3,7 +3,7 @@ import cache from 'lib/cache';
|
|||
import { PERMISSIONS, ROLE_PERMISSIONS, SHARE_TOKEN_HEADER } from 'lib/constants';
|
||||
import { secret } from 'lib/crypto';
|
||||
import { ensureArray, parseSecureToken, parseToken } from 'next-basics';
|
||||
import { getTeamUser } from 'queries';
|
||||
import { getTeamUser, getTeamUserById } from 'queries';
|
||||
import { getTeamWebsite, getTeamWebsiteByTeamMemberId } from 'queries/admin/teamWebsite';
|
||||
import { validate } from 'uuid';
|
||||
import { Auth } from './types';
|
||||
|
|
@ -167,6 +167,22 @@ export async function canDeleteTeam({ user }: Auth, teamId: string) {
|
|||
return false;
|
||||
}
|
||||
|
||||
export async function canDeleteTeamUser({ user }: Auth, teamUserId: string) {
|
||||
if (user.isAdmin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (validate(teamUserId)) {
|
||||
const removeUser = await getTeamUserById(teamUserId);
|
||||
|
||||
const teamUser = await getTeamUser(removeUser.teamId, user.id);
|
||||
|
||||
return hasPermission(teamUser.role, PERMISSIONS.teamUpdate);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
export async function canDeleteTeamWebsite({ user }: Auth, teamWebsiteId: string) {
|
||||
if (user.isAdmin) {
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue