feature: phase1 - org-type navigation, Cases permissions, staff filtering, and route guards.
This commit is contained in:
@@ -11,6 +11,10 @@ import { Prisma } from '@prisma/client';
|
||||
import { PrismaService } from '../../../prisma/prisma.service';
|
||||
import { AcceptStaffInviteDto } from './dto/accept-staff-invite.dto';
|
||||
import { isUnlimitedSeats, normalizeTabPermissions } from '../../common/permissions';
|
||||
import {
|
||||
filterPermissionsForOrgType,
|
||||
getOrganizationTypeName,
|
||||
} from '../../common/organization-type';
|
||||
import { InviteStaffDto } from './dto/invite-staff.dto';
|
||||
import { UpdateStaffMemberDto } from './dto/update-staff-member.dto';
|
||||
|
||||
@@ -96,7 +100,8 @@ export class StaffService {
|
||||
}
|
||||
|
||||
const email = dto.email.trim().toLowerCase();
|
||||
const normalizedPerms = normalizeTabPermissions(dto.permissionNames);
|
||||
const orgType = await getOrganizationTypeName(this.prisma, organizationId);
|
||||
const normalizedPerms = filterPermissionsForOrgType(dto.permissionNames, orgType);
|
||||
|
||||
const permissionRows = await this.prisma.permission.findMany({
|
||||
where: { name: { in: normalizedPerms } },
|
||||
@@ -371,7 +376,8 @@ export class StaffService {
|
||||
}
|
||||
|
||||
if (dto.permissionNames !== undefined) {
|
||||
const normalizedPerms = normalizeTabPermissions(dto.permissionNames);
|
||||
const orgType = await getOrganizationTypeName(this.prisma, organizationId);
|
||||
const normalizedPerms = filterPermissionsForOrgType(dto.permissionNames, orgType);
|
||||
const permissionRows = await this.prisma.permission.findMany({
|
||||
where: { name: { in: normalizedPerms } },
|
||||
select: { id: true, name: true },
|
||||
|
||||
Reference in New Issue
Block a user