From f965e6c4509304dcdf56b3063e212a7ff317b9f8 Mon Sep 17 00:00:00 2001 From: Claus-Peter Huebner Date: Tue, 24 Oct 2023 23:33:30 +0200 Subject: [PATCH] add model validation for authentication handshake --- backend/src/federation/client/1_0/model/OpenConnectionArgs.ts | 3 +++ federation/src/graphql/api/1_0/model/AuthenticationArgs.ts | 3 +++ federation/src/graphql/api/1_0/model/OpenConnectionArgs.ts | 3 +++ federation/src/graphql/schema.ts | 2 -- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/backend/src/federation/client/1_0/model/OpenConnectionArgs.ts b/backend/src/federation/client/1_0/model/OpenConnectionArgs.ts index 9752f4e6f..88fad8a08 100644 --- a/backend/src/federation/client/1_0/model/OpenConnectionArgs.ts +++ b/backend/src/federation/client/1_0/model/OpenConnectionArgs.ts @@ -1,10 +1,13 @@ +import { IsString } from 'class-validator' import { ArgsType, Field } from 'type-graphql' @ArgsType() export class OpenConnectionArgs { @Field(() => String) + @IsString() publicKey: string @Field(() => String) + @IsString() url: string } diff --git a/federation/src/graphql/api/1_0/model/AuthenticationArgs.ts b/federation/src/graphql/api/1_0/model/AuthenticationArgs.ts index 5adc476a0..523810d40 100644 --- a/federation/src/graphql/api/1_0/model/AuthenticationArgs.ts +++ b/federation/src/graphql/api/1_0/model/AuthenticationArgs.ts @@ -1,10 +1,13 @@ +import { IsString, IsUUID } from 'class-validator' import { Field, InputType } from 'type-graphql' @InputType() export class AuthenticationArgs { @Field(() => String) + @IsString() oneTimeCode: string @Field(() => String) + @IsUUID('4') uuid: string } diff --git a/federation/src/graphql/api/1_0/model/OpenConnectionArgs.ts b/federation/src/graphql/api/1_0/model/OpenConnectionArgs.ts index 9afdbca5f..197e2522e 100644 --- a/federation/src/graphql/api/1_0/model/OpenConnectionArgs.ts +++ b/federation/src/graphql/api/1_0/model/OpenConnectionArgs.ts @@ -1,10 +1,13 @@ +import { IsString } from 'class-validator' import { Field, InputType } from 'type-graphql' @InputType() export class OpenConnectionArgs { @Field(() => String) + @IsString() publicKey: string @Field(() => String) + @IsString() url: string } diff --git a/federation/src/graphql/schema.ts b/federation/src/graphql/schema.ts index 9d39f1398..d1be63b00 100644 --- a/federation/src/graphql/schema.ts +++ b/federation/src/graphql/schema.ts @@ -11,7 +11,6 @@ const schema = async (): Promise => { resolvers: [getApiResolvers()], // authChecker: isAuthorized, scalarsMap: [{ type: Decimal, scalar: DecimalScalar }], - /* validate: { validationError: { target: false }, skipMissingProperties: true, @@ -20,7 +19,6 @@ const schema = async (): Promise => { forbidUnknownValues: true, stopAtFirstError: true, }, - */ }) }