fix: VisibilityLevel Enum-Referenzen durch String-Literale ersetzen

Prisma Enums existieren als Runtime-Objekt nur nach prisma generate,
aber TypeScript im watch-mode erwartet importierbare Werte. Verwende
stattdessen direkte String-Vergleiche ('ALL', 'TEAM', 'OWN').

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Thomas Reitz 2026-03-14 22:28:56 +01:00
parent b484f4380f
commit 3adca2de65
4 changed files with 15 additions and 15 deletions

View file

@ -11,7 +11,7 @@ import { VisibilityService } from '../visibility/visibility.service';
import { TeamResolverService } from '../visibility/team-resolver.service'; import { TeamResolverService } from '../visibility/team-resolver.service';
import { JwtPayload } from '../common/decorators/current-user.decorator'; import { JwtPayload } from '../common/decorators/current-user.decorator';
import { Prisma } from '.prisma/crm-client'; import { Prisma } from '.prisma/crm-client';
import { VisibilityLevel } from '../common/utils/build-visibility-filter'; // VisibilityLevel type re-exported from build-visibility-filter
@Injectable() @Injectable()
export class ActivitiesService { export class ActivitiesService {
@ -91,15 +91,15 @@ export class ActivitiesService {
user.role === 'TENANT_ADMIN' || user.role === 'TENANT_ADMIN' ||
user.tenantRole === 'ADMIN'; user.tenantRole === 'ADMIN';
if (!isAdmin && level !== VisibilityLevel.ALL) { if (!isAdmin && level !== 'ALL') {
let effectiveLevel = level; let effectiveLevel = level;
if (user.tenantRole === 'TEAM_LEAD' && level === VisibilityLevel.OWN) { if (user.tenantRole === 'TEAM_LEAD' && level === 'OWN') {
effectiveLevel = VisibilityLevel.TEAM; effectiveLevel = 'TEAM';
} }
if (effectiveLevel === VisibilityLevel.OWN) { if (effectiveLevel === 'OWN') {
where.createdBy = user.sub; where.createdBy = user.sub;
} else if (effectiveLevel === VisibilityLevel.TEAM) { } else if (effectiveLevel === 'TEAM') {
let teamIds = [user.sub]; let teamIds = [user.sub];
if (bearerToken) { if (bearerToken) {
teamIds = await this.teamResolver.getTeamMemberIds( teamIds = await this.teamResolver.getTeamMemberIds(

View file

@ -11,7 +11,7 @@ import { TeamResolverService } from '../visibility/team-resolver.service';
import { buildVisibilityFilter } from '../common/utils/build-visibility-filter'; import { buildVisibilityFilter } from '../common/utils/build-visibility-filter';
import { JwtPayload } from '../common/decorators/current-user.decorator'; import { JwtPayload } from '../common/decorators/current-user.decorator';
import { Prisma } from '.prisma/crm-client'; import { Prisma } from '.prisma/crm-client';
import { VisibilityLevel } from '../common/utils/build-visibility-filter'; // VisibilityLevel type re-exported from build-visibility-filter
import { EntityStatus } from '../common/dto/contact-info.dto'; import { EntityStatus } from '../common/dto/contact-info.dto';
@Injectable() @Injectable()
@ -128,9 +128,9 @@ export class CompaniesService {
let baseWhere: Record<string, unknown> = { tenantId }; let baseWhere: Record<string, unknown> = { tenantId };
if (user) { if (user) {
const level = await this.visibilityService.getLevel(tenantId, 'COMPANY'); const level = await this.visibilityService.getLevel(tenantId, 'COMPANY');
if (level !== VisibilityLevel.ALL) { if (level !== 'ALL') {
let teamMemberIds: string[] | undefined; let teamMemberIds: string[] | undefined;
if (level === VisibilityLevel.TEAM && bearerToken) { if (level === 'TEAM' && bearerToken) {
teamMemberIds = await this.teamResolver.getTeamMemberIds( teamMemberIds = await this.teamResolver.getTeamMemberIds(
user.sub, user.sub,
user.department, user.department,

View file

@ -12,7 +12,7 @@ import { TeamResolverService } from '../visibility/team-resolver.service';
import { buildVisibilityFilter } from '../common/utils/build-visibility-filter'; import { buildVisibilityFilter } from '../common/utils/build-visibility-filter';
import { JwtPayload } from '../common/decorators/current-user.decorator'; import { JwtPayload } from '../common/decorators/current-user.decorator';
import { Prisma } from '.prisma/crm-client'; import { Prisma } from '.prisma/crm-client';
import { VisibilityLevel } from '../common/utils/build-visibility-filter'; // VisibilityLevel type re-exported from build-visibility-filter
import { EntityStatus } from '../common/dto/contact-info.dto'; import { EntityStatus } from '../common/dto/contact-info.dto';
@Injectable() @Injectable()
@ -136,9 +136,9 @@ export class ContactsService {
let baseWhere: Record<string, unknown> = { tenantId }; let baseWhere: Record<string, unknown> = { tenantId };
if (user) { if (user) {
const level = await this.visibilityService.getLevel(tenantId, 'CONTACT'); const level = await this.visibilityService.getLevel(tenantId, 'CONTACT');
if (level !== VisibilityLevel.ALL) { if (level !== 'ALL') {
let teamMemberIds: string[] | undefined; let teamMemberIds: string[] | undefined;
if (level === VisibilityLevel.TEAM && bearerToken) { if (level === 'TEAM' && bearerToken) {
teamMemberIds = await this.teamResolver.getTeamMemberIds( teamMemberIds = await this.teamResolver.getTeamMemberIds(
user.sub, user.sub,
user.department, user.department,

View file

@ -16,7 +16,7 @@ import { TeamResolverService } from '../visibility/team-resolver.service';
import { buildVisibilityFilter } from '../common/utils/build-visibility-filter'; import { buildVisibilityFilter } from '../common/utils/build-visibility-filter';
import { JwtPayload } from '../common/decorators/current-user.decorator'; import { JwtPayload } from '../common/decorators/current-user.decorator';
import { Prisma } from '.prisma/crm-client'; import { Prisma } from '.prisma/crm-client';
import { VisibilityLevel } from '../common/utils/build-visibility-filter'; // VisibilityLevel type re-exported from build-visibility-filter
@Injectable() @Injectable()
export class DealsService { export class DealsService {
@ -145,9 +145,9 @@ export class DealsService {
let baseWhere: Record<string, unknown> = { tenantId }; let baseWhere: Record<string, unknown> = { tenantId };
if (user) { if (user) {
const level = await this.visibilityService.getLevel(tenantId, 'DEAL'); const level = await this.visibilityService.getLevel(tenantId, 'DEAL');
if (level !== VisibilityLevel.ALL) { if (level !== 'ALL') {
let teamMemberIds: string[] | undefined; let teamMemberIds: string[] | undefined;
if (level === VisibilityLevel.TEAM && bearerToken) { if (level === 'TEAM' && bearerToken) {
teamMemberIds = await this.teamResolver.getTeamMemberIds( teamMemberIds = await this.teamResolver.getTeamMemberIds(
user.sub, user.sub,
user.department, user.department,