From d866c0e3bc04da2ad162ce45c9a176946f240f5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tha=C3=AFs?= Date: Tue, 5 Sep 2023 09:50:53 +0200 Subject: [PATCH] fix: fix table columns update (#1435) Closes #1434 --- .../src/ability/handlers/view-field.ability-handler.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/server/src/ability/handlers/view-field.ability-handler.ts b/server/src/ability/handlers/view-field.ability-handler.ts index 219e910b3..c789b6d6b 100644 --- a/server/src/ability/handlers/view-field.ability-handler.ts +++ b/server/src/ability/handlers/view-field.ability-handler.ts @@ -15,12 +15,17 @@ import { relationAbilityChecker } from 'src/ability/ability.util'; import { ViewFieldWhereInput } from 'src/core/@generated/view-field/view-field-where.input'; import { PrismaService } from 'src/database/prisma.service'; import { assert } from 'src/utils/assert'; +import { ViewFieldWhereUniqueInput } from 'src/core/@generated/view-field/view-field-where-unique.input'; class ViewFieldArgs { where?: ViewFieldWhereInput; [key: string]: any; } +const isViewFieldWhereUniqueInput = ( + input: ViewFieldWhereInput | ViewFieldWhereUniqueInput, +): input is ViewFieldWhereUniqueInput => 'viewId_key' in input; + @Injectable() export class ReadViewFieldAbilityHandler implements IAbilityHandler { handle(ability: AppAbility) { @@ -59,7 +64,10 @@ export class UpdateViewFieldAbilityHandler implements IAbilityHandler { const gqlContext = GqlExecutionContext.create(context); const args = gqlContext.getArgs(); const viewField = await this.prismaService.client.viewField.findFirst({ - where: args.where, + where: + args.where && isViewFieldWhereUniqueInput(args.where) + ? args.where.viewId_key + : args.where, }); assert(viewField, '', NotFoundException);