From b3643209e4d7eb260dcb88e4ffabebffcf07a10d Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Sun, 4 May 2025 07:43:00 +0200 Subject: [PATCH] make bun compatible and also compatible with higher graphql version --- federation/src/graphql/api/1_0/schema.ts | 14 ++++++++++++++ federation/src/graphql/api/1_1/schema.ts | 14 ++++++++++++++ federation/src/graphql/api/schema.ts | 17 ++++++++++++++--- federation/src/graphql/schema.ts | 2 +- 4 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 federation/src/graphql/api/1_0/schema.ts create mode 100644 federation/src/graphql/api/1_1/schema.ts diff --git a/federation/src/graphql/api/1_0/schema.ts b/federation/src/graphql/api/1_0/schema.ts new file mode 100644 index 000000000..9d106fefc --- /dev/null +++ b/federation/src/graphql/api/1_0/schema.ts @@ -0,0 +1,14 @@ +import { NonEmptyArray } from 'type-graphql' +import { AuthenticationResolver } from './resolver/AuthenticationResolver' +import { PublicCommunityInfoResolver } from './resolver/PublicCommunityInfoResolver' +import { PublicKeyResolver } from './resolver/PublicKeyResolver' +import { SendCoinsResolver } from './resolver/SendCoinsResolver' + +export const getApiResolvers = (): NonEmptyArray => { + return [ + AuthenticationResolver, + PublicCommunityInfoResolver, + PublicKeyResolver, + SendCoinsResolver, + ] +} diff --git a/federation/src/graphql/api/1_1/schema.ts b/federation/src/graphql/api/1_1/schema.ts new file mode 100644 index 000000000..dc16ad475 --- /dev/null +++ b/federation/src/graphql/api/1_1/schema.ts @@ -0,0 +1,14 @@ +import { NonEmptyArray } from 'type-graphql' +import { AuthenticationResolver } from "../1_0/resolver/AuthenticationResolver" +import { PublicCommunityInfoResolver } from "../1_0/resolver/PublicCommunityInfoResolver" +import { SendCoinsResolver } from "../1_0/resolver/SendCoinsResolver" +import { PublicKeyResolver } from "./resolver/PublicKeyResolver" + +export const getApiResolvers = (): NonEmptyArray => { + return [ + AuthenticationResolver, + PublicCommunityInfoResolver, + PublicKeyResolver, + SendCoinsResolver, + ] +} \ No newline at end of file diff --git a/federation/src/graphql/api/schema.ts b/federation/src/graphql/api/schema.ts index 84e756af3..661e203d2 100644 --- a/federation/src/graphql/api/schema.ts +++ b/federation/src/graphql/api/schema.ts @@ -1,9 +1,20 @@ -import path from 'node:path' import { federationLogger as logger } from '@/server/logger' +import { NonEmptyArray } from 'type-graphql' // config import { CONFIG } from '../../config' +import { getApiResolvers as getApiResolvers_1_0 } from './1_0/schema' +import { getApiResolvers as getApiResolvers_1_1 } from './1_1/schema' -export const getApiResolvers = (): string => { +export const getApiResolvers = (): NonEmptyArray => { logger.info(`getApiResolvers...${CONFIG.FEDERATION_API}`) - return path.join(__dirname, `./${CONFIG.FEDERATION_API}/resolver/*Resolver.{ts,js}`) + + if (CONFIG.FEDERATION_API === '1_0') { + return getApiResolvers_1_0() + } + + if (CONFIG.FEDERATION_API === '1_1') { + return getApiResolvers_1_1() + } + + throw new Error(`Unknown API version: ${CONFIG.FEDERATION_API}`) } diff --git a/federation/src/graphql/schema.ts b/federation/src/graphql/schema.ts index 64a35dd76..a5d498048 100644 --- a/federation/src/graphql/schema.ts +++ b/federation/src/graphql/schema.ts @@ -8,7 +8,7 @@ import { DecimalScalar } from './scalar/Decimal' export const schema = async (): Promise => { return await buildSchema({ - resolvers: [getApiResolvers()], + resolvers: getApiResolvers(), // authChecker: isAuthorized, scalarsMap: [{ type: Decimal, scalar: DecimalScalar }], /*