Merge branch 'master' into dlt_inspector_as_submodule

This commit is contained in:
einhornimmond 2025-11-06 12:24:11 +01:00 committed by GitHub
commit 9007636e47
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,7 +2,6 @@ import {
Community as DbCommunity,
FederatedCommunity as DbFederatedCommunity,
getHomeCommunity,
getReachableCommunities,
} from 'database'
import { IsNull } from 'typeorm'
@ -16,9 +15,6 @@ import { getLogger } from 'log4js'
import { startCommunityAuthentication } from './authenticateCommunities'
import { PublicCommunityInfoLoggingView } from './client/1_0/logging/PublicCommunityInfoLogging.view'
import { ApiVersionType } from 'core'
import { CONFIG } from '@/config'
import * as path from 'node:path'
import * as fs from 'node:fs'
const logger = getLogger(`${LOG4JS_BASE_CATEGORY_NAME}.federation.validateCommunities`)
@ -87,8 +83,6 @@ export async function validateCommunities(): Promise<void> {
logger.error(`Error:`, err)
}
}
// export communities for gradido dlt node server
await exportCommunitiesToDltNodeServer()
}
export async function writeJwtKeyPairInHomeCommunity(): Promise<DbCommunity> {
@ -148,48 +142,3 @@ async function writeForeignCommunity(
await DbCommunity.save(com)
}
}
// prototype, later add api call to gradido dlt node server for adding/updating communities
type CommunityForDltNodeServer = {
communityId: string
hieroTopicId: string
alias: string
folder: string
}
async function exportCommunitiesToDltNodeServer(): Promise<void> {
if (!CONFIG.DLT_CONNECTOR) {
return Promise.resolve()
}
const folder = CONFIG.DLT_GRADIDO_NODE_SERVER_HOME_FOLDER
try {
fs.accessSync(folder, fs.constants.R_OK | fs.constants.W_OK)
} catch (err) {
logger.error(`Error: home folder for DLT Gradido Node Server ${folder} does not exist`)
return
}
const dbComs = await getReachableCommunities(CONFIG.FEDERATION_VALIDATE_COMMUNITY_TIMER * 4)
const communitiesForDltNodeServer: CommunityForDltNodeServer[] = []
// make sure communityName is unique
const communityName = new Set<string>()
dbComs.forEach((com) => {
if (!com.communityUuid || !com.hieroTopicId) {
return
}
let alias = com.name
if (!alias || communityName.has(alias)) {
alias = com.communityUuid
}
communityName.add(alias)
communitiesForDltNodeServer.push({
communityId: com.communityUuid,
hieroTopicId: com.hieroTopicId,
alias,
// use only alpha-numeric chars for folder name
folder: alias.replace(/[^a-zA-Z0-9]/g, '_')
})
})
const dltNodeServerCommunitiesFile = path.join(folder, 'communities.json')
fs.writeFileSync(dltNodeServerCommunitiesFile, JSON.stringify(communitiesForDltNodeServer, null, 2))
logger.debug(`Written communitiesForDltNodeServer to ${dltNodeServerCommunitiesFile}`)
}