From e66a1374be79dda024e94a24cece36aa23ebc28c Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 29 May 2024 11:02:35 +0800 Subject: [PATCH] remove argument directive --- packages/api/src/generated/schema.graphql | 2 +- packages/api/src/resolvers/subscriptions/index.ts | 9 ++++++++- packages/api/src/scalars.ts | 2 +- packages/api/src/schema.ts | 4 ++-- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/packages/api/src/generated/schema.graphql b/packages/api/src/generated/schema.graphql index 46b4439dd..168e55efb 100644 --- a/packages/api/src/generated/schema.graphql +++ b/packages/api/src/generated/schema.graphql @@ -4,7 +4,7 @@ schema { subscription: SubscriptionRootType } -directive @sanitize(allowedTags: [String], maxLength: Int, minLength: Int, pattern: String) on ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION +directive @sanitize(allowedTags: [String], maxLength: Int, minLength: Int, pattern: String) on INPUT_FIELD_DEFINITION type AddDiscoverFeedError { errorCodes: [AddDiscoverFeedErrorCode!]! diff --git a/packages/api/src/resolvers/subscriptions/index.ts b/packages/api/src/resolvers/subscriptions/index.ts index 4d4c4a824..fc8d4d55a 100644 --- a/packages/api/src/resolvers/subscriptions/index.ts +++ b/packages/api/src/resolvers/subscriptions/index.ts @@ -30,7 +30,6 @@ import { SubscribeError, SubscribeErrorCode, SubscribeSuccess, - Subscription as SubscriptionReturnType, SubscriptionError, SubscriptionsError, SubscriptionsErrorCode, @@ -500,6 +499,14 @@ export const subscriptionResolver = authorized< SubscriptionError, QuerySubscriptionArgs >(async (_, { id }, { uid, log }) => { + if (!id) { + log.error('Missing subscription id') + + return { + errorCodes: [ErrorCode.BadRequest], + } + } + const subscription = await findSubscriptionById(uid, id) if (!subscription) { log.error('Subscription not found', { id }) diff --git a/packages/api/src/scalars.ts b/packages/api/src/scalars.ts index aa74cddb7..fd2b732b7 100644 --- a/packages/api/src/scalars.ts +++ b/packages/api/src/scalars.ts @@ -14,7 +14,7 @@ export class SanitizedString extends GraphQLScalarType { ) { super({ // Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ as per graphql-js - name: `SanitizedString_${allowedTags}_${maxLength}_${pattern}`.replace( + name: `SanitizedString_${allowedTags}_${maxLength}_${minLength}_${pattern}`.replace( /\W/g, '' ), diff --git a/packages/api/src/schema.ts b/packages/api/src/schema.ts index cec6a6a1a..062976d65 100755 --- a/packages/api/src/schema.ts +++ b/packages/api/src/schema.ts @@ -11,7 +11,7 @@ const schema = gql` maxLength: Int minLength: Int pattern: String - ) on INPUT_FIELD_DEFINITION | ARGUMENT_DEFINITION + ) on INPUT_FIELD_DEFINITION # default error code enum ErrorCode { @@ -3385,7 +3385,7 @@ const schema = gql` discoverFeeds: DiscoverFeedResult! scanFeeds(input: ScanFeedsInput!): ScanFeedsResult! home(first: Int, after: String): HomeResult! - subscription(id: ID! @sanitize(minLength: 1)): SubscriptionResult! + subscription(id: ID!): SubscriptionResult! } schema {