From 807f7078f35d6108978e14d86d211e9236c83416 Mon Sep 17 00:00:00 2001 From: Nevo David Date: Thu, 6 Feb 2025 12:22:18 +0700 Subject: [PATCH] feat: cant enable channels on self-hosted mode --- .../src/api/routes/users.controller.ts | 2 +- .../onboarding/connect.channels.tsx | 37 +++++++++++++++++++ .../integrations/integration.service.ts | 2 +- 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/apps/backend/src/api/routes/users.controller.ts b/apps/backend/src/api/routes/users.controller.ts index e2b9bf16..358232ae 100644 --- a/apps/backend/src/api/routes/users.controller.ts +++ b/apps/backend/src/api/routes/users.controller.ts @@ -60,7 +60,7 @@ export class UsersController { ...user, orgId: organization.id, // @ts-ignore - totalChannels: organization?.subscription?.totalChannels || pricing.FREE.channel, + totalChannels: !process.env.STRIPE_PUBLISHABLE_KEY ? 10000 : organization?.subscription?.totalChannels || pricing.FREE.channel, // @ts-ignore tier: organization?.subscription?.subscriptionTier || (!process.env.STRIPE_PUBLISHABLE_KEY ? 'ULTIMATE' : 'FREE'), diff --git a/apps/frontend/src/components/onboarding/connect.channels.tsx b/apps/frontend/src/components/onboarding/connect.channels.tsx index 73b0d20e..8a6b18f6 100644 --- a/apps/frontend/src/components/onboarding/connect.channels.tsx +++ b/apps/frontend/src/components/onboarding/connect.channels.tsx @@ -16,6 +16,9 @@ import { useRouter } from 'next/navigation'; import { useVariables } from '@gitroom/react/helpers/variable.context'; import { useToaster } from '@gitroom/react/toaster/toaster'; import { Integration } from '@prisma/client'; +import { web3List } from '@gitroom/frontend/components/launches/web3/web3.list'; +import { timer } from '@gitroom/helpers/utils/timer'; +import { deleteDialog } from '@gitroom/react/helpers/delete.dialog'; export const ConnectChannels: FC = () => { const fetch = useFetch(); @@ -43,6 +46,33 @@ export const ConnectChannels: FC = () => { // [] // ); + const openWeb3 = async (id: string) => { + const { component: Web3Providers } = web3List.find( + (item) => item.identifier === id + )!; + + const { url } = await (await fetch(`/integrations/social/${id}`)).json(); + + setShowCustom( + { + if (await deleteDialog('Connection found, should we continue?', 'Continue')) { + window.open( + `/integrations/social/${id}?code=${code}&state=${newState}`, + 'Social Connect', + 'width=700,height=700' + ); + return ; + } + + setShowCustom(undefined); + }} + nonce={url} + /> + ); + return; + }; + const refreshChannel = useCallback( (integration: Integration & { identifier: string }) => async () => { const { url } = await ( @@ -82,6 +112,7 @@ export const ConnectChannels: FC = () => { ( identifier: string, isExternal: boolean, + isWeb3: boolean, customFields?: Array<{ key: string; label: string; @@ -124,6 +155,11 @@ export const ConnectChannels: FC = () => { // return; // } + if (isWeb3) { + openWeb3(identifier); + return; + } + if (customFields) { setShowCustom( { onClick={getSocialLink( social.identifier, social.isExternal, + social.isWeb3, social.customFields )} className="h-[96px] bg-input flex flex-col justify-center items-center gap-[10px] cursor-pointer" diff --git a/libraries/nestjs-libraries/src/database/prisma/integrations/integration.service.ts b/libraries/nestjs-libraries/src/database/prisma/integrations/integration.service.ts index 2985469f..3512d00f 100644 --- a/libraries/nestjs-libraries/src/database/prisma/integrations/integration.service.ts +++ b/libraries/nestjs-libraries/src/database/prisma/integrations/integration.service.ts @@ -210,7 +210,7 @@ export class IntegrationService { const integrations = ( await this._integrationRepository.getIntegrationsList(org) ).filter((f) => !f.disabled); - if (integrations.length >= totalChannels) { + if (!!process.env.STRIPE_PUBLISHABLE_KEY && integrations.length >= totalChannels) { throw new Error('You have reached the maximum number of channels'); }