diff --git a/server/src/ability/ability.factory.ts b/server/src/ability/ability.factory.ts index 26bdd97a0..33b895ed4 100644 --- a/server/src/ability/ability.factory.ts +++ b/server/src/ability/ability.factory.ts @@ -75,6 +75,7 @@ export class AbilityFactory { // CommentThread can(AbilityAction.Read, 'CommentThread', { workspaceId: workspace.id }); can(AbilityAction.Create, 'CommentThread'); + can(AbilityAction.Update, 'CommentThread', { workspaceId: workspace.id }); // Comment can(AbilityAction.Read, 'Comment', { workspaceId: workspace.id }); diff --git a/server/src/core/company/company.resolver.ts b/server/src/core/company/company.resolver.ts index e41aa17dd..2c9474a2e 100644 --- a/server/src/core/company/company.resolver.ts +++ b/server/src/core/company/company.resolver.ts @@ -46,10 +46,11 @@ export class CompanyResolver { ): Promise[]> { return this.companyService.findMany({ ...args, - where: { - ...args.where, - AND: [accessibleBy(ability).Company], - }, + where: args.where + ? { + AND: [args.where, accessibleBy(ability).Company], + } + : accessibleBy(ability).Company, select: prismaSelect.value, }); } diff --git a/server/src/core/person/person.resolver.ts b/server/src/core/person/person.resolver.ts index 729efb1d1..c812bf44f 100644 --- a/server/src/core/person/person.resolver.ts +++ b/server/src/core/person/person.resolver.ts @@ -48,10 +48,11 @@ export class PersonResolver { ): Promise[]> { return this.personService.findMany({ ...args, - where: { - ...args.where, - AND: [accessibleBy(ability).Person], - }, + where: args.where + ? { + AND: [args.where, accessibleBy(ability).Person], + } + : accessibleBy(ability).Person, select: prismaSelect.value, }); } diff --git a/server/src/core/pipeline/resolvers/pipeline-progress.resolver.ts b/server/src/core/pipeline/resolvers/pipeline-progress.resolver.ts index e5cb2d3cf..cdde43cba 100644 --- a/server/src/core/pipeline/resolvers/pipeline-progress.resolver.ts +++ b/server/src/core/pipeline/resolvers/pipeline-progress.resolver.ts @@ -45,11 +45,11 @@ export class PipelineProgressResolver { ): Promise[]> { return this.pipelineProgressService.findMany({ ...args, - where: { - ...args.where, - AND: [accessibleBy(ability).PipelineProgress], - }, - select: prismaSelect.value, + where: args.where + ? { + AND: [args.where, accessibleBy(ability).PipelineProgress], + } + : accessibleBy(ability).PipelineProgress, }); } diff --git a/server/src/core/pipeline/resolvers/pipeline-stage.resolver.ts b/server/src/core/pipeline/resolvers/pipeline-stage.resolver.ts index 4cba70621..8b34b5763 100644 --- a/server/src/core/pipeline/resolvers/pipeline-stage.resolver.ts +++ b/server/src/core/pipeline/resolvers/pipeline-stage.resolver.ts @@ -31,10 +31,11 @@ export class PipelineStageResolver { ): Promise[]> { return this.pipelineStageService.findMany({ ...args, - where: { - ...args.where, - AND: [accessibleBy(ability).PipelineStage], - }, + where: args.where + ? { + AND: [args.where, accessibleBy(ability).PipelineStage], + } + : accessibleBy(ability).PipelineStage, select: prismaSelect.value, }); } diff --git a/server/src/core/pipeline/resolvers/pipeline.resolver.ts b/server/src/core/pipeline/resolvers/pipeline.resolver.ts index c6613457d..11003eac2 100644 --- a/server/src/core/pipeline/resolvers/pipeline.resolver.ts +++ b/server/src/core/pipeline/resolvers/pipeline.resolver.ts @@ -31,10 +31,11 @@ export class PipelineResolver { ): Promise[]> { return this.pipelineService.findMany({ ...args, - where: { - ...args.where, - AND: [accessibleBy(ability).Pipeline], - }, + where: args.where + ? { + AND: [args.where, accessibleBy(ability).Pipeline], + } + : accessibleBy(ability).Pipeline, select: prismaSelect.value, }); } diff --git a/server/src/core/user/user.resolver.ts b/server/src/core/user/user.resolver.ts index 7078a8929..ce24db976 100644 --- a/server/src/core/user/user.resolver.ts +++ b/server/src/core/user/user.resolver.ts @@ -38,10 +38,11 @@ export class UserResolver { ): Promise[]> { return await this.userService.findMany({ ...args, - where: { - ...args.where, - AND: [accessibleBy(ability).User], - }, + where: args.where + ? { + AND: [args.where, accessibleBy(ability).User], + } + : accessibleBy(ability).User, select: prismaSelect.value, }); }