diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index b94178157..0aed77583 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -128,8 +128,10 @@ if ( const federation = { FEDERATION_BACKEND_SEND_ON_API: process.env.FEDERATION_BACKEND_SEND_ON_API ?? '1_0', - FEDERATION_VALIDATE_COMMUNITY_TIMER: - Number(process.env.FEDERATION_VALIDATE_COMMUNITY_TIMER) ?? 60000, + // ?? operator don't work here as expected + FEDERATION_VALIDATE_COMMUNITY_TIMER: Number( + process.env.FEDERATION_VALIDATE_COMMUNITY_TIMER ?? 60000, + ), FEDERATION_XCOM_SENDCOINS_ENABLED: process.env.FEDERATION_XCOM_SENDCOINS_ENABLED === 'true' ?? false, // default value for community-uuid is equal uuid of stage-3 diff --git a/backend/src/federation/validateCommunities.ts b/backend/src/federation/validateCommunities.ts index f19d606bd..b76e22087 100644 --- a/backend/src/federation/validateCommunities.ts +++ b/backend/src/federation/validateCommunities.ts @@ -8,6 +8,7 @@ import { FederatedCommunityLoggingView } from '@logging/FederatedCommunityLoggin import { FederationClient as V1_0_FederationClient } from '@/federation/client/1_0/FederationClient' import { PublicCommunityInfo } from '@/federation/client/1_0/model/PublicCommunityInfo' import { FederationClientFactory } from '@/federation/client/FederationClientFactory' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' import { startCommunityAuthentication } from './authenticateCommunities' @@ -15,6 +16,9 @@ import { PublicCommunityInfoLoggingView } from './client/1_0/logging/PublicCommu import { ApiVersionType } from './enum/apiVersionType' export async function startValidateCommunities(timerInterval: number): Promise { + if (Number.isNaN(timerInterval) || timerInterval <= 0) { + throw new LogError('FEDERATION_VALIDATE_COMMUNITY_TIMER is not a positive number') + } logger.info( `Federation: startValidateCommunities loop with an interval of ${timerInterval} ms...`, )