From 9e9b160d96a7ad8d91fab3727bdf667b12defed3 Mon Sep 17 00:00:00 2001 From: Ken Powers Date: Thu, 19 Dec 2024 22:33:44 -0500 Subject: [PATCH] Upgrade pothos, prisma, and TypeScript for gateway --- services/gateway/bun.lockb | Bin 458978 -> 459293 bytes services/gateway/package.json | 24 ++++++++-------- services/gateway/src/schema/builder.ts | 18 ++++++++---- services/gateway/src/schema/types/upload.ts | 30 +++++++++++++++----- 4 files changed, 47 insertions(+), 25 deletions(-) diff --git a/services/gateway/bun.lockb b/services/gateway/bun.lockb index e3baae83c9fceb6ecd0282d2180789b35088ce1c..198cabd5d24255b94b35f038d3afe07c2207b485 100755 GIT binary patch delta 44610 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 YCIj>5xxK(Zo&^*D`D6R8eQX*|0H@>7e*gdg delta 44575 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 IXVY*306 ({ - authenticated: !!session, - unauthenticated: !session, - admin: session?.appUser.role === 'ADMIN', - }), + // TODO: v4 upgrade: set nullability throughout types + defaultFieldNullability: false, + scopeAuth: { + authScopes: ({ session }) => ({ + authenticated: !!session, + unauthenticated: !session, + admin: session?.appUser.role === 'ADMIN', + }), + }, prisma: { client: prisma, filterConnectionTotalCount: true, }, - relayOptions: { + relay: { clientMutationId: 'omit', cursorType: 'String', edgesFieldOptions: { diff --git a/services/gateway/src/schema/types/upload.ts b/services/gateway/src/schema/types/upload.ts index 6c948ab2..ef55d85b 100644 --- a/services/gateway/src/schema/types/upload.ts +++ b/services/gateway/src/schema/types/upload.ts @@ -368,6 +368,7 @@ const UploadRecord = builder.prismaObject('UploadRecord', { }); return prisma.uploadUserComment.findMany({ ...query, + select: query.select ?? null, where: { uploadRecordId: root.id, replyingTo: null }, skip: offset, take: limit, @@ -380,8 +381,8 @@ const UploadRecord = builder.prismaObject('UploadRecord', { ]); return { - totalCount, ...res, + totalCount, }; }, }, @@ -592,17 +593,23 @@ const UploadRecord = builder.prismaObject('UploadRecord', { type: UploadList, select: { id: true }, resolve: (root, args, context, info) => - resolveOffsetConnection({ args }, async ({ offset, limit }) => - prisma.uploadList.findMany({ - ...queryFromInfo({ context, info, path: ['edges', 'node'] }), + resolveOffsetConnection({ args }, async ({ offset, limit }) => { + const query = queryFromInfo({ + context, + info, + path: ['edges', 'node'], + }); + return prisma.uploadList.findMany({ + ...query, + select: query.select ?? null, skip: offset, take: limit, where: { type: UploadListType.SERIES, uploads: { some: { uploadRecordId: root.id } }, }, - }), - ), + }); + }), }), playlists: t.connection({ type: UploadList, @@ -615,8 +622,15 @@ const UploadRecord = builder.prismaObject('UploadRecord', { return []; } + const query = queryFromInfo({ + context, + info, + path: ['edges', 'node'], + }); + return prisma.uploadList.findMany({ - ...queryFromInfo({ context, info, path: ['edges', 'node'] }), + ...query, + select: query.select ?? null, skip: offset, take: limit, where: { @@ -684,6 +698,7 @@ builder.queryFields((t) => ({ return resolveOffsetConnection({ args }, async ({ offset, limit }) => { return prisma.uploadRecord.findMany({ ...query, + select: query.select ?? null, skip: offset, take: limit, where: { @@ -725,6 +740,7 @@ builder.queryFields((t) => ({ return resolveOffsetConnection({ args }, async ({ offset, limit }) => { return prisma.uploadRecord.findMany({ ...query, + select: query.select ?? null, skip: offset, take: limit, where: {