From 83c2164529c7bb47b5911a49d9a22b1930594a1c Mon Sep 17 00:00:00 2001 From: Ken Powers Date: Thu, 19 Dec 2024 23:20:59 -0500 Subject: [PATCH] Prevent errors from listmonk from crashing the app --- .../src/__generated__/graphql-types.ts | 14 ++++++++++- apps/web-next/src/routes/(root)/(watch).tsx | 23 ++++++++++++++++-- .../routes/(root)/__generated__/(watch).d.ts | 2 +- apps/web/src/__generated__/graphql-types.ts | 14 ++++++++++- apps/web/src/routes/(root)/(watch).tsx | 23 ++++++++++++++++-- .../routes/(root)/__generated__/(watch).d.ts | 2 +- services/gateway/bun.lockb | Bin 459293 -> 459666 bytes services/gateway/package.json | 1 + services/gateway/src/schema/types/query.ts | 19 ++++++++++++++- 9 files changed, 89 insertions(+), 9 deletions(-) diff --git a/apps/web-next/src/__generated__/graphql-types.ts b/apps/web-next/src/__generated__/graphql-types.ts index ef302512..cae99e57 100644 --- a/apps/web-next/src/__generated__/graphql-types.ts +++ b/apps/web-next/src/__generated__/graphql-types.ts @@ -273,6 +273,11 @@ export type DataError = { error: PrismaRuntimeError; }; +export type Error = { + __typename?: 'Error'; + message: Scalars['String']['output']; +}; + export type GeoInput = { lat: Scalars['Float']['input']; lon: Scalars['Float']['input']; @@ -893,7 +898,7 @@ export type Query = { channelsConnection: QueryChannelsConnection; me?: Maybe; mySubscriptionUploadRecords?: Maybe; - newsletterListIds: Array; + newsletterListIds: QueryNewsletterListIdsResult; organizationById: Organization; organizationBySlug: Organization; organizationTagsConnection: QueryOrganizationTagsConnection; @@ -1035,6 +1040,13 @@ export type QueryMySubscriptionUploadRecordsConnectionEdge = { node: UploadRecord; }; +export type QueryNewsletterListIdsResult = Error | QueryNewsletterListIdsSuccess; + +export type QueryNewsletterListIdsSuccess = { + __typename?: 'QueryNewsletterListIdsSuccess'; + data: Array; +}; + export type QueryOrganizationTagsConnection = { __typename?: 'QueryOrganizationTagsConnection'; edges: Array; diff --git a/apps/web-next/src/routes/(root)/(watch).tsx b/apps/web-next/src/routes/(root)/(watch).tsx index 47d60fac..63a132f3 100644 --- a/apps/web-next/src/routes/(root)/(watch).tsx +++ b/apps/web-next/src/routes/(root)/(watch).tsx @@ -26,7 +26,16 @@ const getHomepageData = query(async function () { ${UploadCardFields} query HomepageData($loggedIn: Boolean!) { - newsletterListIds + newsletterListIds { + ... on QueryNewsletterListIdsSuccess { + __typename + data + } + ... on Error { + __typename + message + } + } subscriptionUploads: mySubscriptionUploadRecords(first: 8) @include(if: $loggedIn) { pageInfo { @@ -80,6 +89,16 @@ export default function WatchRoute() { const data = createAsync(() => getHomepageData()); const user = useUser(); + const newsletterListIds = () => { + const res = data()?.newsletterListIds; + + if (res?.__typename === 'QueryNewsletterListIdsSuccess') { + return res.data; + } + + return []; + }; + return ( <> - + ); diff --git a/apps/web-next/src/routes/(root)/__generated__/(watch).d.ts b/apps/web-next/src/routes/(root)/__generated__/(watch).d.ts index 0d35f9c5..d44dde70 100644 --- a/apps/web-next/src/routes/(root)/__generated__/(watch).d.ts +++ b/apps/web-next/src/routes/(root)/__generated__/(watch).d.ts @@ -5,4 +5,4 @@ export type HomepageDataQueryVariables = Types.Exact<{ }>; -export type HomepageDataQuery = { __typename?: 'Query', newsletterListIds: Array, subscriptionUploads?: { __typename?: 'QueryMySubscriptionUploadRecordsConnection', pageInfo: { __typename?: 'PageInfo', hasNextPage: boolean, startCursor?: string | null, endCursor?: string | null }, edges: Array<{ __typename?: 'QueryMySubscriptionUploadRecordsConnectionEdge', cursor: string, node: { __typename?: 'UploadRecord', id: string, title?: string | null, thumbnailUrl?: string | null, lengthSeconds?: number | null, thumbnailLqUrl?: string | null, channel: { __typename?: 'Channel', id: string, name: string, avatarUrl?: string | null, defaultThumbnailUrl?: string | null, defaultThumbnailLqUrl?: string | null } } }> } | null, trendingUploads: { __typename?: 'QueryUploadRecordsConnection', pageInfo: { __typename?: 'PageInfo', hasNextPage: boolean, startCursor?: string | null, endCursor?: string | null }, edges: Array<{ __typename?: 'QueryUploadRecordsConnectionEdge', cursor: string, node: { __typename?: 'UploadRecord', id: string, title?: string | null, thumbnailUrl?: string | null, lengthSeconds?: number | null, thumbnailLqUrl?: string | null, channel: { __typename?: 'Channel', id: string, name: string, avatarUrl?: string | null, defaultThumbnailUrl?: string | null, defaultThumbnailLqUrl?: string | null } } }> } }; +export type HomepageDataQuery = { __typename?: 'Query', newsletterListIds: { __typename: 'Error', message: string } | { __typename: 'QueryNewsletterListIdsSuccess', data: Array }, subscriptionUploads?: { __typename?: 'QueryMySubscriptionUploadRecordsConnection', pageInfo: { __typename?: 'PageInfo', hasNextPage: boolean, startCursor?: string | null, endCursor?: string | null }, edges: Array<{ __typename?: 'QueryMySubscriptionUploadRecordsConnectionEdge', cursor: string, node: { __typename?: 'UploadRecord', id: string, title?: string | null, thumbnailUrl?: string | null, lengthSeconds?: number | null, thumbnailLqUrl?: string | null, channel: { __typename?: 'Channel', id: string, name: string, avatarUrl?: string | null, defaultThumbnailUrl?: string | null, defaultThumbnailLqUrl?: string | null } } }> } | null, trendingUploads: { __typename?: 'QueryUploadRecordsConnection', pageInfo: { __typename?: 'PageInfo', hasNextPage: boolean, startCursor?: string | null, endCursor?: string | null }, edges: Array<{ __typename?: 'QueryUploadRecordsConnectionEdge', cursor: string, node: { __typename?: 'UploadRecord', id: string, title?: string | null, thumbnailUrl?: string | null, lengthSeconds?: number | null, thumbnailLqUrl?: string | null, channel: { __typename?: 'Channel', id: string, name: string, avatarUrl?: string | null, defaultThumbnailUrl?: string | null, defaultThumbnailLqUrl?: string | null } } }> } }; diff --git a/apps/web/src/__generated__/graphql-types.ts b/apps/web/src/__generated__/graphql-types.ts index ef302512..cae99e57 100644 --- a/apps/web/src/__generated__/graphql-types.ts +++ b/apps/web/src/__generated__/graphql-types.ts @@ -273,6 +273,11 @@ export type DataError = { error: PrismaRuntimeError; }; +export type Error = { + __typename?: 'Error'; + message: Scalars['String']['output']; +}; + export type GeoInput = { lat: Scalars['Float']['input']; lon: Scalars['Float']['input']; @@ -893,7 +898,7 @@ export type Query = { channelsConnection: QueryChannelsConnection; me?: Maybe; mySubscriptionUploadRecords?: Maybe; - newsletterListIds: Array; + newsletterListIds: QueryNewsletterListIdsResult; organizationById: Organization; organizationBySlug: Organization; organizationTagsConnection: QueryOrganizationTagsConnection; @@ -1035,6 +1040,13 @@ export type QueryMySubscriptionUploadRecordsConnectionEdge = { node: UploadRecord; }; +export type QueryNewsletterListIdsResult = Error | QueryNewsletterListIdsSuccess; + +export type QueryNewsletterListIdsSuccess = { + __typename?: 'QueryNewsletterListIdsSuccess'; + data: Array; +}; + export type QueryOrganizationTagsConnection = { __typename?: 'QueryOrganizationTagsConnection'; edges: Array; diff --git a/apps/web/src/routes/(root)/(watch).tsx b/apps/web/src/routes/(root)/(watch).tsx index a8b3e071..a5b25b9e 100644 --- a/apps/web/src/routes/(root)/(watch).tsx +++ b/apps/web/src/routes/(root)/(watch).tsx @@ -27,7 +27,16 @@ export function routeData() { ${UploadCardFields} query HomepageData($loggedIn: Boolean!) { - newsletterListIds + newsletterListIds { + ... on QueryNewsletterListIdsSuccess { + __typename + data + } + ... on Error { + __typename + message + } + } subscriptionUploads: mySubscriptionUploadRecords(first: 5) @include(if: $loggedIn) { pageInfo { @@ -84,6 +93,16 @@ export default function WatchRoute() { const data = useRouteData(); const user = useUser(); + const newsletterListIds = () => { + const res = data()?.newsletterListIds; + + if (res?.__typename === 'QueryNewsletterListIdsSuccess') { + return res.data; + } + + return []; + }; + return ( <> - + ); diff --git a/apps/web/src/routes/(root)/__generated__/(watch).d.ts b/apps/web/src/routes/(root)/__generated__/(watch).d.ts index 69318dd3..b6538cbc 100644 --- a/apps/web/src/routes/(root)/__generated__/(watch).d.ts +++ b/apps/web/src/routes/(root)/__generated__/(watch).d.ts @@ -5,4 +5,4 @@ export type HomepageDataQueryVariables = Types.Exact<{ }>; -export type HomepageDataQuery = { __typename?: 'Query', newsletterListIds: Array, subscriptionUploads?: { __typename?: 'QueryMySubscriptionUploadRecordsConnection', pageInfo: { __typename?: 'PageInfo', hasNextPage: boolean, startCursor?: string | null, endCursor?: string | null }, edges: Array<{ __typename?: 'QueryMySubscriptionUploadRecordsConnectionEdge', cursor: string, node: { __typename?: 'UploadRecord', id: string, title?: string | null, thumbnailUrl?: string | null, thumbnailLqUrl?: string | null, channel: { __typename?: 'Channel', id: string, name: string, avatarUrl?: string | null, defaultThumbnailUrl?: string | null, defaultThumbnailLqUrl?: string | null } } }> } | null, trendingUploads: { __typename?: 'QueryUploadRecordsConnection', pageInfo: { __typename?: 'PageInfo', hasNextPage: boolean, startCursor?: string | null, endCursor?: string | null }, edges: Array<{ __typename?: 'QueryUploadRecordsConnectionEdge', cursor: string, node: { __typename?: 'UploadRecord', id: string, title?: string | null, thumbnailUrl?: string | null, thumbnailLqUrl?: string | null, channel: { __typename?: 'Channel', id: string, name: string, avatarUrl?: string | null, defaultThumbnailUrl?: string | null, defaultThumbnailLqUrl?: string | null } } }> } }; +export type HomepageDataQuery = { __typename?: 'Query', newsletterListIds: { __typename: 'Error', message: string } | { __typename: 'QueryNewsletterListIdsSuccess', data: Array }, subscriptionUploads?: { __typename?: 'QueryMySubscriptionUploadRecordsConnection', pageInfo: { __typename?: 'PageInfo', hasNextPage: boolean, startCursor?: string | null, endCursor?: string | null }, edges: Array<{ __typename?: 'QueryMySubscriptionUploadRecordsConnectionEdge', cursor: string, node: { __typename?: 'UploadRecord', id: string, title?: string | null, thumbnailUrl?: string | null, thumbnailLqUrl?: string | null, channel: { __typename?: 'Channel', id: string, name: string, avatarUrl?: string | null, defaultThumbnailUrl?: string | null, defaultThumbnailLqUrl?: string | null } } }> } | null, trendingUploads: { __typename?: 'QueryUploadRecordsConnection', pageInfo: { __typename?: 'PageInfo', hasNextPage: boolean, startCursor?: string | null, endCursor?: string | null }, edges: Array<{ __typename?: 'QueryUploadRecordsConnectionEdge', cursor: string, node: { __typename?: 'UploadRecord', id: string, title?: string | null, thumbnailUrl?: string | null, thumbnailLqUrl?: string | null, channel: { __typename?: 'Channel', id: string, name: string, avatarUrl?: string | null, defaultThumbnailUrl?: string | null, defaultThumbnailLqUrl?: string | null } } }> } }; diff --git a/services/gateway/bun.lockb b/services/gateway/bun.lockb index 198cabd5d24255b94b35f038d3afe07c2207b485..caf7cf1bbf37f375a65dca011af073bbcd3a6ee1 100755 GIT binary patch delta 84767 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

nG)PKKyJWVR@E7DFQzw~Yymyf@ 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 delta 83970 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 aw#NA4cfT39l5*_zxqP@V@{hEl1S= diff --git a/services/gateway/package.json b/services/gateway/package.json index 3b12e62d..436f3cd5 100644 --- a/services/gateway/package.json +++ b/services/gateway/package.json @@ -136,6 +136,7 @@ "subtitle": "^4.2.1", "tiny-invariant": "^1.3.3", "uuid": "^11.0.3", + "valibot": "^1.0.0-beta.9", "wait-on": "^8.0.1", "xss": "^1.0.15", "zod": "^3.24.1" diff --git a/services/gateway/src/schema/types/query.ts b/services/gateway/src/schema/types/query.ts index 401113b1..dd50dbe0 100644 --- a/services/gateway/src/schema/types/query.ts +++ b/services/gateway/src/schema/types/query.ts @@ -1,6 +1,7 @@ import ExpiryMap from 'expiry-map'; import pMem from 'p-memoize'; import envariant from '@knpwrs/envariant'; +import * as v from 'valibot'; import prisma from '../../util/prisma'; import builder from '../builder'; @@ -58,14 +59,30 @@ builder.queryField('stats', (t) => }), ); +const ListmonkResultSchema = v.object({ + data: v.object({ + results: v.array(v.object({ uuid: v.pipe(v.string(), v.uuid()) })), + }), +}); + +builder.objectType(Error, { + name: 'Error', + fields: (t) => ({ + message: t.exposeString('message'), + }), +}); + builder.queryField('newsletterListIds', (t) => t.field({ type: ['String'], + errors: { + types: [Error], + }, resolve: async () => { const res = await fetch( envariant('LISTMONK_INTERNAL_URL') + '/api/lists?tag=default', ); - const json = await res.json(); + const json = v.parse(ListmonkResultSchema, await res.json()); return json.data.results.map( (l: { uuid: string }) => l.uuid, ) as Array;