mirror of
https://github.com/RocketChat/Rocket.Chat.git
synced 2025-12-28 06:47:25 +00:00
76 lines
3.4 KiB
TypeScript
76 lines
3.4 KiB
TypeScript
import { MongoInternals } from 'meteor/mongo';
|
|
import { api } from '@rocket.chat/core-services';
|
|
import { OmnichannelTranscript, QueueWorker } from '@rocket.chat/omnichannel-services';
|
|
|
|
import { AnalyticsService } from './analytics/service';
|
|
import { AppsEngineService } from './apps-engine/service';
|
|
import { AuthorizationLivechat } from '../../app/livechat/server/roomAccessValidator.internalService';
|
|
import { BannerService } from './banner/service';
|
|
import { CalendarService } from './calendar/service';
|
|
import { LDAPService } from './ldap/service';
|
|
import { MediaService } from './image/service';
|
|
import { MeteorService } from './meteor/service';
|
|
import { NPSService } from './nps/service';
|
|
import { RoomService } from './room/service';
|
|
import { SAUMonitorService } from './sauMonitor/service';
|
|
import { TeamService } from './team/service';
|
|
import { UiKitCoreApp } from './uikit-core-app/service';
|
|
import { OmnichannelService } from './omnichannel/service';
|
|
import { OmnichannelVoipService } from './omnichannel-voip/service';
|
|
import { VoipService } from './voip/service';
|
|
import { VideoConfService } from './video-conference/service';
|
|
import { isRunningMs } from '../lib/isRunningMs';
|
|
import { PushService } from './push/service';
|
|
import { DeviceManagementService } from './device-management/service';
|
|
import { UploadService } from './upload/service';
|
|
import { MessageService } from './messages/service';
|
|
import { TranslationService } from './translation/service';
|
|
import { SettingsService } from './settings/service';
|
|
import { OmnichannelIntegrationService } from './omnichannel-integrations/service';
|
|
import { Logger } from '../lib/logger/Logger';
|
|
|
|
const { db } = MongoInternals.defaultRemoteCollectionDriver().mongo;
|
|
|
|
api.registerService(new AppsEngineService());
|
|
api.registerService(new AnalyticsService());
|
|
api.registerService(new AuthorizationLivechat());
|
|
api.registerService(new BannerService());
|
|
api.registerService(new CalendarService());
|
|
api.registerService(new LDAPService());
|
|
api.registerService(new MediaService());
|
|
api.registerService(new MeteorService());
|
|
api.registerService(new NPSService());
|
|
api.registerService(new RoomService());
|
|
api.registerService(new SAUMonitorService());
|
|
api.registerService(new VoipService(db));
|
|
api.registerService(new OmnichannelService());
|
|
api.registerService(new OmnichannelVoipService());
|
|
api.registerService(new TeamService());
|
|
api.registerService(new UiKitCoreApp());
|
|
api.registerService(new PushService());
|
|
api.registerService(new DeviceManagementService());
|
|
api.registerService(new VideoConfService());
|
|
api.registerService(new UploadService());
|
|
api.registerService(new MessageService());
|
|
api.registerService(new TranslationService());
|
|
api.registerService(new SettingsService());
|
|
api.registerService(new OmnichannelIntegrationService());
|
|
|
|
// if the process is running in micro services mode we don't need to register services that will run separately
|
|
if (!isRunningMs()) {
|
|
void (async (): Promise<void> => {
|
|
const { Presence } = await import('@rocket.chat/presence');
|
|
|
|
const { Authorization } = await import('./authorization/service');
|
|
|
|
api.registerService(new Presence());
|
|
api.registerService(new Authorization());
|
|
|
|
// Run EE services defined outside of the main repo
|
|
// Otherwise, monolith would ignore them :(
|
|
// Always register the service and manage licensing inside the service (tbd)
|
|
api.registerService(new QueueWorker(db, Logger));
|
|
api.registerService(new OmnichannelTranscript(Logger));
|
|
})();
|
|
}
|