Browse Source

Check for user in request because of public page

pull/2065/head
Thomas 2 years ago
parent
commit
d0dcadd4b3
  1. 16
      apps/api/src/services/impersonation/impersonation.service.ts

16
apps/api/src/services/impersonation/impersonation.service.ts

@ -12,6 +12,7 @@ export class ImpersonationService {
) {}
public async validateImpersonationId(aId = '') {
if (this.request.user) {
const accessObject = await this.prismaService.access.findFirst({
where: {
GranteeUser: { id: this.request.user.id },
@ -20,7 +21,7 @@ export class ImpersonationService {
});
if (accessObject?.userId) {
return accessObject?.userId;
return accessObject.userId;
} else if (
hasPermission(
this.request.user.permissions,
@ -29,6 +30,19 @@ export class ImpersonationService {
) {
return aId;
}
} else {
// Public access
const accessObject = await this.prismaService.access.findFirst({
where: {
GranteeUser: null,
User: { id: aId }
}
});
if (accessObject?.userId) {
return accessObject.userId;
}
}
return null;
}

Loading…
Cancel
Save