From cc00da9325f1c683ba71768360817872fe353055 Mon Sep 17 00:00:00 2001 From: LongYinan Date: Thu, 31 Aug 2023 14:41:43 +0800 Subject: [PATCH] chore(server): enable earlyAccessPreview for canary (#4061) --- apps/server/src/config/def.ts | 6 ++++++ apps/server/src/config/default.ts | 6 ++++++ apps/server/src/modules/auth/next-auth-options.ts | 2 +- apps/server/src/modules/users/resolver.ts | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/apps/server/src/config/def.ts b/apps/server/src/config/def.ts index 0dfc420b2f..b313d55be6 100644 --- a/apps/server/src/config/def.ts +++ b/apps/server/src/config/def.ts @@ -157,6 +157,12 @@ export interface AFFiNEConfig { * the apollo driver config */ graphql: ApolloDriverConfig; + /** + * app features flag + */ + featureFlags: { + earlyAccessPreview: boolean; + }; /** * object storage Config * diff --git a/apps/server/src/config/default.ts b/apps/server/src/config/default.ts index a31a6dd517..9801678259 100644 --- a/apps/server/src/config/default.ts +++ b/apps/server/src/config/default.ts @@ -106,6 +106,12 @@ export const getDefaultAFFiNEConfig: () => AFFiNEConfig = () => { get deploy() { return !this.node.dev && !this.node.test; }, + get featureFlags() { + return { + earlyAccessPreview: + this.node.prod && (this.affine.beta || this.affine.canary), + }; + }, https: false, host: 'localhost', port: 3010, diff --git a/apps/server/src/modules/auth/next-auth-options.ts b/apps/server/src/modules/auth/next-auth-options.ts index 0e47e610ae..38befaaf95 100644 --- a/apps/server/src/modules/auth/next-auth-options.ts +++ b/apps/server/src/modules/auth/next-auth-options.ts @@ -273,7 +273,7 @@ export const NextAuthOptionsProvider: FactoryProvider = { return session; }, signIn: async ({ profile, user }) => { - if (!config.affine.beta || !config.node.prod) { + if (!config.featureFlags.earlyAccessPreview) { return true; } const email = profile?.email ?? user.email; diff --git a/apps/server/src/modules/users/resolver.ts b/apps/server/src/modules/users/resolver.ts index b4aefdcf38..0d3e28bff9 100644 --- a/apps/server/src/modules/users/resolver.ts +++ b/apps/server/src/modules/users/resolver.ts @@ -107,7 +107,7 @@ export class UserResolver { }) @Public() async user(@Args('email') email: string) { - if (this.config.node.prod && this.config.affine.beta) { + if (this.config.featureFlags.earlyAccessPreview) { const hasEarlyAccess = await this.prisma.newFeaturesWaitingList .findUnique({ where: { email, type: NewFeaturesKind.EarlyAccess },