diff --git a/dev/tool/src/index.ts b/dev/tool/src/index.ts index db8099ce62..1082186475 100644 --- a/dev/tool/src/index.ts +++ b/dev/tool/src/index.ts @@ -64,6 +64,8 @@ import { getWorkspaceDestroyAdapter, registerAdapterFactory, registerDestroyFactory, + registerServerPlugins, + registerStringLoaders, registerTxAdapterFactory } from '@hcengineering/server-pipeline' import serverToken, { decodeToken, generateToken } from '@hcengineering/server-token' @@ -180,6 +182,8 @@ export function devTool ( registerTxAdapterFactory('postgresql', createPostgresTxAdapter, true) registerAdapterFactory('postgresql', createPostgresAdapter, true) registerDestroyFactory('postgresql', createPostgreeDestroyAdapter, true) + registerServerPlugins() + registerStringLoaders() const serverSecret = process.env.SERVER_SECRET if (serverSecret === undefined) { diff --git a/server/workspace-service/src/service.ts b/server/workspace-service/src/service.ts index 24cd9bcffd..e7e3590b9e 100644 --- a/server/workspace-service/src/service.ts +++ b/server/workspace-service/src/service.ts @@ -42,9 +42,20 @@ import path from 'path' import { Analytics } from '@hcengineering/analytics' import { doBackupWorkspace, doRestoreWorkspace } from '@hcengineering/server-backup' import type { PipelineFactory, StorageAdapter } from '@hcengineering/server-core' -import { createBackupPipeline, getConfig, getWorkspaceDestroyAdapter } from '@hcengineering/server-pipeline' +import { + createBackupPipeline, + getConfig, + getWorkspaceDestroyAdapter, + registerAdapterFactory, + registerDestroyFactory, + registerServerPlugins, + registerStringLoaders, + registerTxAdapterFactory +} from '@hcengineering/server-pipeline' import { buildStorageFromConfig, storageConfigFromEnv } from '@hcengineering/server-storage' import { createWorkspace, upgradeWorkspace } from './ws-operations' +import { createMongoTxAdapter, createMongoAdapter, createMongoDestroyAdapter } from '@hcengineering/mongo' +import { createPostgresTxAdapter, createPostgresAdapter, createPostgreeDestroyAdapter } from '@hcengineering/postgres' export interface WorkspaceOptions { errorHandler: (workspace: BaseWorkspaceInfo, error: any) => Promise @@ -108,6 +119,16 @@ export class WorkspaceWorker { ctx.info('Successfully connected to the account service') + registerTxAdapterFactory('mongodb', createMongoTxAdapter) + registerAdapterFactory('mongodb', createMongoAdapter) + registerDestroyFactory('mongodb', createMongoDestroyAdapter) + + registerTxAdapterFactory('postgresql', createPostgresTxAdapter, true) + registerAdapterFactory('postgresql', createPostgresAdapter, true) + registerDestroyFactory('postgresql', createPostgreeDestroyAdapter, true) + registerServerPlugins() + registerStringLoaders() + while (!isCanceled()) { await this.waitForAvailableThread() diff --git a/server/workspace-service/src/ws-operations.ts b/server/workspace-service/src/ws-operations.ts index 20f6b2772b..e5587cb15f 100644 --- a/server/workspace-service/src/ws-operations.ts +++ b/server/workspace-service/src/ws-operations.ts @@ -14,19 +14,9 @@ import core, { type WorkspaceIdWithUrl } from '@hcengineering/core' import { consoleModelLogger, type MigrateOperation, type ModelLogger } from '@hcengineering/model' -import { createMongoTxAdapter, createMongoAdapter, createMongoDestroyAdapter } from '@hcengineering/mongo' -import { createPostgresTxAdapter, createPostgresAdapter, createPostgreeDestroyAdapter } from '@hcengineering/postgres' import { getTransactorEndpoint } from '@hcengineering/server-client' import { SessionDataImpl, wrapPipeline, type Pipeline, type StorageAdapter } from '@hcengineering/server-core' -import { - getServerPipeline, - getTxAdapterFactory, - registerAdapterFactory, - registerDestroyFactory, - registerServerPlugins, - registerStringLoaders, - registerTxAdapterFactory -} from '@hcengineering/server-pipeline' +import { getServerPipeline, getTxAdapterFactory } from '@hcengineering/server-pipeline' import { buildStorageFromConfig, storageConfigFromEnv } from '@hcengineering/server-storage' import { generateToken } from '@hcengineering/server-token' import { initializeWorkspace, initModel, prepareTools, updateModel, upgradeModel } from '@hcengineering/server-tool' @@ -82,16 +72,6 @@ export async function createWorkspace ( const hierarchy = new Hierarchy() const modelDb = new ModelDb(hierarchy) - registerTxAdapterFactory('mongodb', createMongoTxAdapter) - registerAdapterFactory('mongodb', createMongoAdapter) - registerDestroyFactory('mongodb', createMongoDestroyAdapter) - - registerTxAdapterFactory('postgresql', createPostgresTxAdapter, true) - registerAdapterFactory('postgresql', createPostgresAdapter, true) - registerDestroyFactory('postgresql', createPostgreeDestroyAdapter, true) - registerServerPlugins() - registerStringLoaders() - const storageConfig = storageConfigFromEnv() const storageAdapter = buildStorageFromConfig(storageConfig) @@ -173,16 +153,6 @@ export async function upgradeWorkspace ( ): Promise { const { dbUrl } = prepareTools([]) let pipeline: Pipeline | undefined - registerTxAdapterFactory('mongodb', createMongoTxAdapter) - registerAdapterFactory('mongodb', createMongoAdapter) - registerDestroyFactory('mongodb', createMongoDestroyAdapter) - - registerTxAdapterFactory('postgresql', createPostgresTxAdapter, true) - registerAdapterFactory('postgresql', createPostgresAdapter, true) - registerDestroyFactory('postgresql', createPostgreeDestroyAdapter, true) - - registerServerPlugins() - registerStringLoaders() const storageConfig = storageConfigFromEnv() const storageAdapter = buildStorageFromConfig(storageConfig)