From 49b44d0353ca30bb73819ca0ffef73c1703d8e30 Mon Sep 17 00:00:00 2001 From: juancarmore Date: Sun, 23 Nov 2025 16:40:04 +0100 Subject: [PATCH] backend: remove unnecessary index files and update import paths --- meet-ce/backend/index.ts | 9 -- .../src/config/dependency-injector.config.ts | 98 ++++++++++--------- meet-ce/backend/src/config/index.ts | 2 - .../src/controllers/analytics.controller.ts | 5 +- .../src/controllers/api-key.controller.ts | 5 +- .../src/controllers/auth.controller.ts | 8 +- .../appearance-config.controller.ts | 5 +- .../security-config.controller.ts | 5 +- .../webhook-config.controller.ts | 6 +- meet-ce/backend/src/controllers/index.ts | 12 --- .../controllers/livekit-webhook.controller.ts | 5 +- .../src/controllers/meeting.controller.ts | 7 +- .../src/controllers/recording.controller.ts | 12 ++- .../src/controllers/room.controller.ts | 8 +- .../src/controllers/user.controller.ts | 7 +- meet-ce/backend/src/helpers/index.ts | 6 -- .../helpers/ov-components-adapter.helper.ts | 6 +- .../backend/src/helpers/recording.helper.ts | 4 +- .../src/middlewares/auth.middleware.ts | 22 ++--- .../src/middlewares/base-url.middleware.ts | 2 +- meet-ce/backend/src/middlewares/index.ts | 14 --- .../src/middlewares/participant.middleware.ts | 6 +- .../src/middlewares/recording.middleware.ts | 10 +- .../middlewares/request-context.middleware.ts | 4 +- .../auth-validator.middleware.ts | 2 +- .../config-validator.middleware.ts | 2 +- .../participant-validator.middleware.ts | 3 +- .../recording-validator.middleware.ts | 2 +- .../room-validator.middleware.ts | 2 +- .../user-validator.middleware.ts | 2 +- .../src/middlewares/room.middleware.ts | 4 +- .../src/migrations/api-key-migrations.ts | 2 +- .../migrations/global-config-migrations.ts | 2 +- meet-ce/backend/src/migrations/index.ts | 7 -- .../src/migrations/migration-registry.ts | 16 ++- .../src/migrations/recording-migrations.ts | 2 +- .../backend/src/migrations/room-migrations.ts | 2 +- .../backend/src/migrations/user-migrations.ts | 2 +- meet-ce/backend/src/models/error.model.ts | 4 +- meet-ce/backend/src/models/index.ts | 8 -- .../src/models/mongoose-schemas/index.ts | 6 -- .../mongoose-schemas/migration.schema.ts | 2 +- .../backend/src/models/zod-schemas/index.ts | 6 -- .../src/models/zod-schemas/room.schema.ts | 2 +- .../src/repositories/api-key.repository.ts | 2 +- .../src/repositories/base.repository.ts | 2 +- .../repositories/global-config.repository.ts | 2 +- meet-ce/backend/src/repositories/index.ts | 7 -- .../src/repositories/migration.repository.ts | 4 +- .../src/repositories/recording.repository.ts | 2 +- .../src/repositories/room.repository.ts | 2 +- .../src/repositories/user.repository.ts | 2 +- .../backend/src/routes/analytics.routes.ts | 2 +- meet-ce/backend/src/routes/api-key.routes.ts | 2 +- meet-ce/backend/src/routes/auth.routes.ts | 3 +- .../src/routes/global-config.routes.ts | 6 +- meet-ce/backend/src/routes/index.ts | 9 -- meet-ce/backend/src/routes/meeting.routes.ts | 11 +-- .../backend/src/routes/recording.routes.ts | 12 ++- meet-ce/backend/src/routes/room.routes.ts | 10 +- meet-ce/backend/src/routes/user.routes.ts | 3 +- meet-ce/backend/src/server.ts | 28 +++--- .../backend/src/services/analytics.service.ts | 5 +- .../backend/src/services/api-key.service.ts | 7 +- .../src/services/distributed-event.service.ts | 3 +- .../src/services/frontend-event.service.ts | 7 +- .../src/services/global-config.service.ts | 4 +- meet-ce/backend/src/services/index.ts | 25 ----- .../src/services/livekit-webhook.service.ts | 25 ++--- .../backend/src/services/livekit.service.ts | 6 +- .../backend/src/services/migration.service.ts | 28 +++--- meet-ce/backend/src/services/mutex.service.ts | 7 +- .../src/services/openvidu-webhook.service.ts | 4 +- .../src/services/participant-name.service.ts | 7 +- .../backend/src/services/recording.service.ts | 30 +++--- meet-ce/backend/src/services/redis.service.ts | 5 +- .../src/services/request-session.service.ts | 2 +- .../src/services/room-member.service.ts | 16 ++- meet-ce/backend/src/services/room.service.ts | 21 ++-- meet-ce/backend/src/services/storage/index.ts | 14 --- .../storage/legacy-storage.service.ts | 6 +- .../src/services/storage/mongodb.service.ts | 2 +- .../providers/abs/abs-storage.provider.ts | 3 +- .../storage/providers/abs/abs.service.ts | 2 +- .../providers/gcp/gcs-storage.provider.ts | 3 +- .../storage/providers/gcp/gcs.service.ts | 2 +- .../providers/s3/s3-storage.provider.ts | 3 +- .../storage/providers/s3/s3.service.ts | 2 +- .../services/storage/storage-init.service.ts | 12 ++- .../src/services/storage/storage.factory.ts | 2 +- .../src/services/task-scheduler.service.ts | 8 +- meet-ce/backend/src/services/token.service.ts | 2 +- meet-ce/backend/src/services/user.service.ts | 4 +- meet-ce/backend/src/utils/index.ts | 4 - .../tests/helpers/assertion-helpers.ts | 9 +- .../backend/tests/helpers/event-controller.ts | 6 +- .../backend/tests/helpers/request-helpers.ts | 7 +- .../backend/tests/helpers/test-scenarios.ts | 2 +- .../api/meetings/end-meeting.test.ts | 4 +- .../api/meetings/kick-participant.test.ts | 4 +- .../meetings/participant-name.service.test.ts | 2 +- .../api/meetings/update-participant.test.ts | 5 +- .../orphaned-locks-collector.test.ts | 17 ++-- .../api/recordings/race-conditions.test.ts | 4 +- .../api/rooms/update-room-config.test.ts | 4 +- 105 files changed, 354 insertions(+), 436 deletions(-) delete mode 100644 meet-ce/backend/index.ts delete mode 100644 meet-ce/backend/src/config/index.ts delete mode 100644 meet-ce/backend/src/controllers/index.ts delete mode 100644 meet-ce/backend/src/helpers/index.ts delete mode 100644 meet-ce/backend/src/middlewares/index.ts delete mode 100644 meet-ce/backend/src/migrations/index.ts delete mode 100644 meet-ce/backend/src/models/index.ts delete mode 100644 meet-ce/backend/src/models/mongoose-schemas/index.ts delete mode 100644 meet-ce/backend/src/models/zod-schemas/index.ts delete mode 100644 meet-ce/backend/src/repositories/index.ts delete mode 100644 meet-ce/backend/src/routes/index.ts delete mode 100644 meet-ce/backend/src/services/index.ts delete mode 100644 meet-ce/backend/src/services/storage/index.ts delete mode 100644 meet-ce/backend/src/utils/index.ts diff --git a/meet-ce/backend/index.ts b/meet-ce/backend/index.ts deleted file mode 100644 index 4ef49904..00000000 --- a/meet-ce/backend/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from './src/routes/index.js'; -export * from './src/controllers/index.js'; -export * from './src/services/index.js'; -export * from './src/models/index.js'; -export * from './src/helpers/index.js'; -export * from './src/environment.js'; -export * from './src/config/index.js'; -export * from './src/middlewares/index.js'; -export * from './src/utils/index.js'; diff --git a/meet-ce/backend/src/config/dependency-injector.config.ts b/meet-ce/backend/src/config/dependency-injector.config.ts index 46d35a45..7cb2ad62 100644 --- a/meet-ce/backend/src/config/dependency-injector.config.ts +++ b/meet-ce/backend/src/config/dependency-injector.config.ts @@ -1,52 +1,58 @@ import { Container } from 'inversify'; import { MEET_ENV } from '../environment.js'; -import { - ApiKeyRepository, - BaseRepository, - GlobalConfigRepository, - MigrationRepository, - RecordingRepository, - RoomRepository, - UserRepository -} from '../repositories/index.js'; -import { - ABSService, - ABSStorageProvider, - AnalyticsService, - ApiKeyService, - BaseUrlService, - BlobStorageService, - DistributedEventService, - FrontendEventService, - GCSService, - GCSStorageProvider, - GlobalConfigService, - LegacyStorageService, - LiveKitService, - LivekitWebhookService, - LoggerService, - // MigrationService, - MongoDBService, - MutexService, - OpenViduWebhookService, - ParticipantNameService, - RecordingService, - RedisService, - RequestSessionService, - RoomMemberService, - RoomService, - S3KeyBuilder, - S3Service, - S3StorageProvider, - StorageFactory, - StorageInitService, - StorageKeyBuilder, - StorageProvider, - TaskSchedulerService, - TokenService, - UserService -} from '../services/index.js'; + +import { ApiKeyRepository } from '../repositories/api-key.repository.js'; +import { BaseRepository } from '../repositories/base.repository.js'; +import { GlobalConfigRepository } from '../repositories/global-config.repository.js'; +import { MigrationRepository } from '../repositories/migration.repository.js'; +import { RecordingRepository } from '../repositories/recording.repository.js'; +import { RoomRepository } from '../repositories/room.repository.js'; +import { UserRepository } from '../repositories/user.repository.js'; + +/* + * Services should be imported in order of use, starting with services + * without dependencies and then the services that depend on others. This + * helps avoid dependency cycles and ensures constructors receive the + * dependencies already registered in the container. + */ +import { LoggerService } from '../services/logger.service.js'; +import { RedisService } from '../services/redis.service.js'; +import { DistributedEventService } from '../services/distributed-event.service.js'; +import { MutexService } from '../services/mutex.service.js'; +import { TaskSchedulerService } from '../services/task-scheduler.service.js'; +import { BaseUrlService } from '../services/base-url.service.js'; +import { RequestSessionService } from '../services/request-session.service.js'; + +import { TokenService } from '../services/token.service.js'; +import { UserService } from '../services/user.service.js'; +import { ApiKeyService } from '../services/api-key.service.js'; +import { GlobalConfigService } from '../services/global-config.service.js'; + +import { S3Service } from '../services/storage/providers/s3/s3.service.js'; +import { S3KeyBuilder } from '../services/storage/providers/s3/s3-storage-key.builder.js'; +import { S3StorageProvider } from '../services/storage/providers/s3/s3-storage.provider.js'; +import { ABSService } from '../services/storage/providers/abs/abs.service.js'; +import { ABSStorageProvider } from '../services/storage/providers/abs/abs-storage.provider.js'; +import { GCSService } from '../services/storage/providers/gcp/gcs.service.js'; +import { GCSStorageProvider } from '../services/storage/providers/gcp/gcs-storage.provider.js'; + +import { MongoDBService } from '../services/storage/mongodb.service.js'; +import { StorageInitService } from '../services/storage/storage-init.service.js'; +import { StorageKeyBuilder, StorageProvider } from '../services/storage/storage.interface.js'; +import { StorageFactory } from '../services/storage/storage.factory.js'; +import { BlobStorageService } from '../services/storage/blob-storage.service.js'; +import { LegacyStorageService } from '../services/storage/legacy-storage.service.js'; + import { MigrationService } from '../services/migration.service.js'; +import { LiveKitService } from '../services/livekit.service.js'; +import { FrontendEventService } from '../services/frontend-event.service.js'; +import { RecordingService } from '../services/recording.service.js'; +import { RoomService } from '../services/room.service.js'; +import { ParticipantNameService } from '../services/participant-name.service.js'; +import { RoomMemberService } from '../services/room-member.service.js'; +import { OpenViduWebhookService } from '../services/openvidu-webhook.service.js'; +import { LivekitWebhookService } from '../services/livekit-webhook.service.js'; +import { AnalyticsService } from '../services/analytics.service.js'; export const container: Container = new Container(); diff --git a/meet-ce/backend/src/config/index.ts b/meet-ce/backend/src/config/index.ts deleted file mode 100644 index 95290989..00000000 --- a/meet-ce/backend/src/config/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './dependency-injector.config.js'; -export * from './internal-config.js'; diff --git a/meet-ce/backend/src/controllers/analytics.controller.ts b/meet-ce/backend/src/controllers/analytics.controller.ts index a7d1a915..e23f9550 100644 --- a/meet-ce/backend/src/controllers/analytics.controller.ts +++ b/meet-ce/backend/src/controllers/analytics.controller.ts @@ -1,7 +1,8 @@ import { Request, Response } from 'express'; -import { container } from '../config/index.js'; +import { container } from '../config/dependency-injector.config.js'; import { handleError } from '../models/error.model.js'; -import { AnalyticsService, LoggerService } from '../services/index.js'; +import { AnalyticsService } from '../services/analytics.service.js'; +import { LoggerService } from '../services/logger.service.js'; export const getAnalytics = async (req: Request, res: Response): Promise => { const logger = container.get(LoggerService); diff --git a/meet-ce/backend/src/controllers/api-key.controller.ts b/meet-ce/backend/src/controllers/api-key.controller.ts index f14d969f..452bff3f 100644 --- a/meet-ce/backend/src/controllers/api-key.controller.ts +++ b/meet-ce/backend/src/controllers/api-key.controller.ts @@ -1,7 +1,8 @@ import { Request, Response } from 'express'; -import { container } from '../config/index.js'; +import { container } from '../config/dependency-injector.config.js'; import { handleError } from '../models/error.model.js'; -import { ApiKeyService, LoggerService } from '../services/index.js'; +import { ApiKeyService } from '../services/api-key.service.js'; +import { LoggerService } from '../services/logger.service.js'; export const createApiKey = async (_req: Request, res: Response) => { const logger = container.get(LoggerService); diff --git a/meet-ce/backend/src/controllers/auth.controller.ts b/meet-ce/backend/src/controllers/auth.controller.ts index c66a8137..3943b351 100644 --- a/meet-ce/backend/src/controllers/auth.controller.ts +++ b/meet-ce/backend/src/controllers/auth.controller.ts @@ -1,6 +1,6 @@ import { Request, Response } from 'express'; import { ClaimGrants } from 'livekit-server-sdk'; -import { container } from '../config/index.js'; +import { container } from '../config/dependency-injector.config.js'; import { errorInvalidCredentials, errorInvalidRefreshToken, @@ -9,8 +9,10 @@ import { handleError, rejectRequestFromMeetError } from '../models/error.model.js'; -import { LoggerService, TokenService, UserService } from '../services/index.js'; -import { getRefreshToken } from '../utils/index.js'; +import { LoggerService } from '../services/logger.service.js'; +import { TokenService } from '../services/token.service.js'; +import { UserService } from '../services/user.service.js'; +import { getRefreshToken } from '../utils/token.utils.js'; export const login = async (req: Request, res: Response) => { const logger = container.get(LoggerService); diff --git a/meet-ce/backend/src/controllers/global-config/appearance-config.controller.ts b/meet-ce/backend/src/controllers/global-config/appearance-config.controller.ts index 6b986b5a..b65874b5 100644 --- a/meet-ce/backend/src/controllers/global-config/appearance-config.controller.ts +++ b/meet-ce/backend/src/controllers/global-config/appearance-config.controller.ts @@ -1,8 +1,9 @@ import { MeetAppearanceConfig } from '@openvidu-meet/typings'; import { Request, Response } from 'express'; -import { container } from '../../config/index.js'; +import { container } from '../../config/dependency-injector.config.js'; import { handleError } from '../../models/error.model.js'; -import { GlobalConfigService, LoggerService } from '../../services/index.js'; +import { GlobalConfigService } from '../../services/global-config.service.js'; +import { LoggerService } from '../../services/logger.service.js'; export const updateRoomsAppearanceConfig = async (req: Request, res: Response) => { const logger = container.get(LoggerService); diff --git a/meet-ce/backend/src/controllers/global-config/security-config.controller.ts b/meet-ce/backend/src/controllers/global-config/security-config.controller.ts index 2e136cf3..d94420e9 100644 --- a/meet-ce/backend/src/controllers/global-config/security-config.controller.ts +++ b/meet-ce/backend/src/controllers/global-config/security-config.controller.ts @@ -1,8 +1,9 @@ import { SecurityConfig } from '@openvidu-meet/typings'; import { Request, Response } from 'express'; -import { container } from '../../config/index.js'; +import { container } from '../../config/dependency-injector.config.js'; import { handleError } from '../../models/error.model.js'; -import { GlobalConfigService, LoggerService } from '../../services/index.js'; +import { GlobalConfigService } from '../../services/global-config.service.js'; +import { LoggerService } from '../../services/logger.service.js'; export const updateSecurityConfig = async (req: Request, res: Response) => { const logger = container.get(LoggerService); diff --git a/meet-ce/backend/src/controllers/global-config/webhook-config.controller.ts b/meet-ce/backend/src/controllers/global-config/webhook-config.controller.ts index b71d22a9..ab39d305 100644 --- a/meet-ce/backend/src/controllers/global-config/webhook-config.controller.ts +++ b/meet-ce/backend/src/controllers/global-config/webhook-config.controller.ts @@ -1,8 +1,10 @@ import { WebhookConfig } from '@openvidu-meet/typings'; import { Request, Response } from 'express'; -import { container } from '../../config/index.js'; +import { container } from '../../config/dependency-injector.config.js'; import { handleError } from '../../models/error.model.js'; -import { GlobalConfigService, LoggerService, OpenViduWebhookService } from '../../services/index.js'; +import { GlobalConfigService } from '../../services/global-config.service.js'; +import { LoggerService } from '../../services/logger.service.js'; +import { OpenViduWebhookService } from '../../services/openvidu-webhook.service.js'; export const updateWebhookConfig = async (req: Request, res: Response) => { const logger = container.get(LoggerService); diff --git a/meet-ce/backend/src/controllers/index.ts b/meet-ce/backend/src/controllers/index.ts deleted file mode 100644 index 3feea422..00000000 --- a/meet-ce/backend/src/controllers/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -export * from './auth.controller.js'; -export * from './api-key.controller.js'; -export * from './user.controller.js'; -export * from './room.controller.js'; -export * from './meeting.controller.js'; -export * from './recording.controller.js'; -export * from './livekit-webhook.controller.js'; -export * from './analytics.controller.js'; - -export * from './global-config/appearance-config.controller.js'; -export * from './global-config/webhook-config.controller.js'; -export * from './global-config/security-config.controller.js'; diff --git a/meet-ce/backend/src/controllers/livekit-webhook.controller.ts b/meet-ce/backend/src/controllers/livekit-webhook.controller.ts index 68a24d7b..cc3bb03d 100644 --- a/meet-ce/backend/src/controllers/livekit-webhook.controller.ts +++ b/meet-ce/backend/src/controllers/livekit-webhook.controller.ts @@ -1,7 +1,8 @@ import { Request, Response } from 'express'; import { WebhookEvent } from 'livekit-server-sdk'; -import { container } from '../config/index.js'; -import { LivekitWebhookService, LoggerService } from '../services/index.js'; +import { container } from '../config/dependency-injector.config.js'; +import { LivekitWebhookService } from '../services/livekit-webhook.service.js'; +import { LoggerService } from '../services/logger.service.js'; export const lkWebhookHandler = async (req: Request, res: Response) => { const logger = container.get(LoggerService); diff --git a/meet-ce/backend/src/controllers/meeting.controller.ts b/meet-ce/backend/src/controllers/meeting.controller.ts index 50bbf854..1690b78c 100644 --- a/meet-ce/backend/src/controllers/meeting.controller.ts +++ b/meet-ce/backend/src/controllers/meeting.controller.ts @@ -1,7 +1,10 @@ import { Request, Response } from 'express'; -import { container } from '../config/index.js'; +import { container } from '../config/dependency-injector.config.js'; import { handleError } from '../models/error.model.js'; -import { LiveKitService, LoggerService, RoomMemberService, RoomService } from '../services/index.js'; +import { LiveKitService } from '../services/livekit.service.js'; +import { LoggerService } from '../services/logger.service.js'; +import { RoomMemberService } from '../services/room-member.service.js'; +import { RoomService } from '../services/room.service.js'; export const endMeeting = async (req: Request, res: Response) => { const logger = container.get(LoggerService); diff --git a/meet-ce/backend/src/controllers/recording.controller.ts b/meet-ce/backend/src/controllers/recording.controller.ts index d5c45a8f..ae094fb2 100644 --- a/meet-ce/backend/src/controllers/recording.controller.ts +++ b/meet-ce/backend/src/controllers/recording.controller.ts @@ -1,9 +1,9 @@ import archiver from 'archiver'; import { Request, Response } from 'express'; import { Readable } from 'stream'; -import { container } from '../config/index.js'; +import { container } from '../config/dependency-injector.config.js'; import { INTERNAL_CONFIG } from '../config/internal-config.js'; -import { RecordingHelper } from '../helpers/index.js'; +import { RecordingHelper } from '../helpers/recording.helper.js'; import { errorRecordingNotFound, errorRecordingsNotFromSameRoom, @@ -11,9 +11,11 @@ import { internalError, rejectRequestFromMeetError } from '../models/error.model.js'; -import { RecordingRepository } from '../repositories/index.js'; -import { LoggerService, RecordingService, RequestSessionService } from '../services/index.js'; -import { getBaseUrl } from '../utils/index.js'; +import { RecordingRepository } from '../repositories/recording.repository.js'; +import { LoggerService } from '../services/logger.service.js'; +import { RecordingService } from '../services/recording.service.js'; +import { RequestSessionService } from '../services/request-session.service.js'; +import { getBaseUrl } from '../utils/url.utils.js'; export const startRecording = async (req: Request, res: Response) => { const logger = container.get(LoggerService); diff --git a/meet-ce/backend/src/controllers/room.controller.ts b/meet-ce/backend/src/controllers/room.controller.ts index be8eeb81..ab6d8ead 100644 --- a/meet-ce/backend/src/controllers/room.controller.ts +++ b/meet-ce/backend/src/controllers/room.controller.ts @@ -9,11 +9,13 @@ import { MeetRoomOptions } from '@openvidu-meet/typings'; import { Request, Response } from 'express'; -import { container } from '../config/index.js'; +import { container } from '../config/dependency-injector.config.js'; import { INTERNAL_CONFIG } from '../config/internal-config.js'; import { handleError } from '../models/error.model.js'; -import { LoggerService, RoomMemberService, RoomService } from '../services/index.js'; -import { getBaseUrl } from '../utils/index.js'; +import { LoggerService } from '../services/logger.service.js'; +import { RoomMemberService } from '../services/room-member.service.js'; +import { RoomService } from '../services/room.service.js'; +import { getBaseUrl } from '../utils/url.utils.js'; export const createRoom = async (req: Request, res: Response) => { const logger = container.get(LoggerService); diff --git a/meet-ce/backend/src/controllers/user.controller.ts b/meet-ce/backend/src/controllers/user.controller.ts index 64f18e4e..bed80e9e 100644 --- a/meet-ce/backend/src/controllers/user.controller.ts +++ b/meet-ce/backend/src/controllers/user.controller.ts @@ -1,9 +1,10 @@ import { Request, Response } from 'express'; -import { container } from '../config/index.js'; +import { container } from '../config/dependency-injector.config.js'; import { errorUnauthorized, handleError, rejectRequestFromMeetError } from '../models/error.model.js'; -import { RequestSessionService, UserService } from '../services/index.js'; +import { RequestSessionService } from '../services/request-session.service.js'; +import { UserService } from '../services/user.service.js'; -export const getProfile = (req: Request, res: Response) => { +export const getProfile = (_req: Request, res: Response) => { const requestSessionService = container.get(RequestSessionService); const user = requestSessionService.getUser(); diff --git a/meet-ce/backend/src/helpers/index.ts b/meet-ce/backend/src/helpers/index.ts deleted file mode 100644 index 4ab02546..00000000 --- a/meet-ce/backend/src/helpers/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './utils.helper.js'; -export * from './password.helper.js'; -export * from './redis.helper.js'; -export * from './room.helper.js'; -export * from './recording.helper.js'; -export * from './ov-components-adapter.helper.js'; diff --git a/meet-ce/backend/src/helpers/ov-components-adapter.helper.ts b/meet-ce/backend/src/helpers/ov-components-adapter.helper.ts index 8325a537..b4d713ad 100644 --- a/meet-ce/backend/src/helpers/ov-components-adapter.helper.ts +++ b/meet-ce/backend/src/helpers/ov-components-adapter.helper.ts @@ -1,6 +1,10 @@ import { MeetRecordingInfo, MeetRecordingStatus } from '@openvidu-meet/typings'; import { SendDataOptions } from 'livekit-server-sdk'; -import { OpenViduComponentsDataTopic, RecordingSignalPayload, RoomStatusSignalPayload } from '../models/index.js'; +import { + OpenViduComponentsDataTopic, + RecordingSignalPayload, + RoomStatusSignalPayload +} from '../models/ov-components-signal.model.js'; export class OpenViduComponentsAdapterHelper { private constructor() { diff --git a/meet-ce/backend/src/helpers/recording.helper.ts b/meet-ce/backend/src/helpers/recording.helper.ts index 287650ce..e4b591bd 100644 --- a/meet-ce/backend/src/helpers/recording.helper.ts +++ b/meet-ce/backend/src/helpers/recording.helper.ts @@ -2,8 +2,8 @@ import { EgressStatus } from '@livekit/protocol'; import { MeetRecordingInfo, MeetRecordingStatus } from '@openvidu-meet/typings'; import { EgressInfo } from 'livekit-server-sdk'; import { uid as secureUid } from 'uid/secure'; -import { container } from '../config/index.js'; -import { RoomService } from '../services/index.js'; +import { container } from '../config/dependency-injector.config.js'; +import { RoomService } from '../services/room.service.js'; export class RecordingHelper { private constructor() { diff --git a/meet-ce/backend/src/middlewares/auth.middleware.ts b/meet-ce/backend/src/middlewares/auth.middleware.ts index e18ee72b..01945e7d 100644 --- a/meet-ce/backend/src/middlewares/auth.middleware.ts +++ b/meet-ce/backend/src/middlewares/auth.middleware.ts @@ -3,27 +3,25 @@ import { NextFunction, Request, RequestHandler, Response } from 'express'; import rateLimit from 'express-rate-limit'; import { ClaimGrants } from 'livekit-server-sdk'; import ms from 'ms'; -import { container } from '../config/index.js'; +import { container } from '../config/dependency-injector.config.js'; import { INTERNAL_CONFIG } from '../config/internal-config.js'; import { + OpenViduMeetError, errorInsufficientPermissions, errorInvalidApiKey, errorInvalidRoomMemberToken, errorInvalidToken, errorInvalidTokenSubject, errorUnauthorized, - OpenViduMeetError, rejectRequestFromMeetError -} from '../models/index.js'; -import { - ApiKeyService, - LoggerService, - RequestSessionService, - RoomMemberService, - TokenService, - UserService -} from '../services/index.js'; -import { getAccessToken, getRoomMemberToken } from '../utils/index.js'; +} from '../models/error.model.js'; +import { ApiKeyService } from '../services/api-key.service.js'; +import { LoggerService } from '../services/logger.service.js'; +import { RequestSessionService } from '../services/request-session.service.js'; +import { RoomMemberService } from '../services/room-member.service.js'; +import { TokenService } from '../services/token.service.js'; +import { UserService } from '../services/user.service.js'; +import { getAccessToken, getRoomMemberToken } from '../utils/token.utils.js'; /** * Interface for authentication validators. diff --git a/meet-ce/backend/src/middlewares/base-url.middleware.ts b/meet-ce/backend/src/middlewares/base-url.middleware.ts index ec3c0167..419e6ad1 100644 --- a/meet-ce/backend/src/middlewares/base-url.middleware.ts +++ b/meet-ce/backend/src/middlewares/base-url.middleware.ts @@ -1,6 +1,6 @@ import { NextFunction, Request, Response } from 'express'; import { container } from '../config/dependency-injector.config.js'; -import { BaseUrlService } from '../services/index.js'; +import { BaseUrlService } from '../services/base-url.service.js'; export const setBaseUrlMiddleware = (req: Request, _res: Response, next: NextFunction) => { if (req.path === '/livekit/webhook') { diff --git a/meet-ce/backend/src/middlewares/index.ts b/meet-ce/backend/src/middlewares/index.ts deleted file mode 100644 index 9244b7bf..00000000 --- a/meet-ce/backend/src/middlewares/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export * from './content-type.middleware.js'; -export * from './base-url.middleware.js'; -export * from './request-context.middleware.js'; -export * from './auth.middleware.js'; -export * from './room.middleware.js'; -export * from './participant.middleware.js'; -export * from './recording.middleware.js'; - -export * from './request-validators/auth-validator.middleware.js'; -export * from './request-validators/user-validator.middleware.js'; -export * from './request-validators/room-validator.middleware.js'; -export * from './request-validators/participant-validator.middleware.js'; -export * from './request-validators/recording-validator.middleware.js'; -export * from './request-validators/config-validator.middleware.js'; diff --git a/meet-ce/backend/src/middlewares/participant.middleware.ts b/meet-ce/backend/src/middlewares/participant.middleware.ts index e0c894e4..467ec4ca 100644 --- a/meet-ce/backend/src/middlewares/participant.middleware.ts +++ b/meet-ce/backend/src/middlewares/participant.middleware.ts @@ -1,8 +1,10 @@ import { AuthMode, MeetRoomMemberRole, MeetRoomMemberTokenOptions, MeetUserRole } from '@openvidu-meet/typings'; import { NextFunction, Request, Response } from 'express'; -import { container } from '../config/index.js'; +import { container } from '../config/dependency-injector.config.js'; import { errorInsufficientPermissions, handleError, rejectRequestFromMeetError } from '../models/error.model.js'; -import { GlobalConfigService, RequestSessionService, RoomMemberService } from '../services/index.js'; +import { GlobalConfigService } from '../services/global-config.service.js'; +import { RequestSessionService } from '../services/request-session.service.js'; +import { RoomMemberService } from '../services/room-member.service.js'; import { allowAnonymous, tokenAndRoleValidator, withAuth } from './auth.middleware.js'; /** diff --git a/meet-ce/backend/src/middlewares/recording.middleware.ts b/meet-ce/backend/src/middlewares/recording.middleware.ts index 13e48469..062c0714 100644 --- a/meet-ce/backend/src/middlewares/recording.middleware.ts +++ b/meet-ce/backend/src/middlewares/recording.middleware.ts @@ -1,7 +1,7 @@ import { MeetRoom, MeetUserRole } from '@openvidu-meet/typings'; import { NextFunction, Request, Response } from 'express'; -import { container } from '../config/index.js'; -import { RecordingHelper } from '../helpers/index.js'; +import { container } from '../config/dependency-injector.config.js'; +import { RecordingHelper } from '../helpers/recording.helper.js'; import { errorInsufficientPermissions, errorInvalidRecordingSecret, @@ -10,8 +10,10 @@ import { handleError, rejectRequestFromMeetError } from '../models/error.model.js'; -import { RecordingRepository } from '../repositories/index.js'; -import { LoggerService, RequestSessionService, RoomService } from '../services/index.js'; +import { RecordingRepository } from '../repositories/recording.repository.js'; +import { LoggerService } from '../services/logger.service.js'; +import { RequestSessionService } from '../services/request-session.service.js'; +import { RoomService } from '../services/room.service.js'; import { allowAnonymous, apiKeyValidator, diff --git a/meet-ce/backend/src/middlewares/request-context.middleware.ts b/meet-ce/backend/src/middlewares/request-context.middleware.ts index e66d4ff7..361105a3 100644 --- a/meet-ce/backend/src/middlewares/request-context.middleware.ts +++ b/meet-ce/backend/src/middlewares/request-context.middleware.ts @@ -1,6 +1,6 @@ import { NextFunction, Request, Response } from 'express'; -import { container } from '../config/index.js'; -import { RequestSessionService } from '../services/index.js'; +import { container } from '../config/dependency-injector.config.js'; +import { RequestSessionService } from '../services/request-session.service.js'; /** * Middleware that initializes the AsyncLocalStorage context for each HTTP request. diff --git a/meet-ce/backend/src/middlewares/request-validators/auth-validator.middleware.ts b/meet-ce/backend/src/middlewares/request-validators/auth-validator.middleware.ts index e647da89..2d8d3d89 100644 --- a/meet-ce/backend/src/middlewares/request-validators/auth-validator.middleware.ts +++ b/meet-ce/backend/src/middlewares/request-validators/auth-validator.middleware.ts @@ -1,6 +1,6 @@ import { NextFunction, Request, Response } from 'express'; import { rejectUnprocessableRequest } from '../../models/error.model.js'; -import { LoginRequestSchema } from '../../models/zod-schemas/index.js'; +import { LoginRequestSchema } from '../../models/zod-schemas/auth.schema.js'; export const validateLoginRequest = (req: Request, res: Response, next: NextFunction) => { const { success, error, data } = LoginRequestSchema.safeParse(req.body); diff --git a/meet-ce/backend/src/middlewares/request-validators/config-validator.middleware.ts b/meet-ce/backend/src/middlewares/request-validators/config-validator.middleware.ts index 99c9e0d9..a4e3b7eb 100644 --- a/meet-ce/backend/src/middlewares/request-validators/config-validator.middleware.ts +++ b/meet-ce/backend/src/middlewares/request-validators/config-validator.middleware.ts @@ -5,7 +5,7 @@ import { SecurityConfigSchema, WebhookConfigSchema, WebhookTestSchema -} from '../../models/zod-schemas/index.js'; +} from '../../models/zod-schemas/global-config.schema.js'; export const validateWebhookConfig = (req: Request, res: Response, next: NextFunction) => { const { success, error, data } = WebhookConfigSchema.safeParse(req.body); diff --git a/meet-ce/backend/src/middlewares/request-validators/participant-validator.middleware.ts b/meet-ce/backend/src/middlewares/request-validators/participant-validator.middleware.ts index fd8ad17b..0e678659 100644 --- a/meet-ce/backend/src/middlewares/request-validators/participant-validator.middleware.ts +++ b/meet-ce/backend/src/middlewares/request-validators/participant-validator.middleware.ts @@ -1,7 +1,8 @@ import { MeetRoomMemberTokenMetadata } from '@openvidu-meet/typings'; import { NextFunction, Request, Response } from 'express'; import { rejectUnprocessableRequest } from '../../models/error.model.js'; -import { RoomMemberTokenMetadataSchema, UpdateParticipantRequestSchema } from '../../models/zod-schemas/index.js'; +import { UpdateParticipantRequestSchema } from '../../models/zod-schemas/meeting.schema.js'; +import { RoomMemberTokenMetadataSchema } from '../../models/zod-schemas/room.schema.js'; export const validateUpdateParticipantRequest = (req: Request, res: Response, next: NextFunction) => { const { success, error, data } = UpdateParticipantRequestSchema.safeParse(req.body); diff --git a/meet-ce/backend/src/middlewares/request-validators/recording-validator.middleware.ts b/meet-ce/backend/src/middlewares/request-validators/recording-validator.middleware.ts index d185c56e..039ce7c8 100644 --- a/meet-ce/backend/src/middlewares/request-validators/recording-validator.middleware.ts +++ b/meet-ce/backend/src/middlewares/request-validators/recording-validator.middleware.ts @@ -8,7 +8,7 @@ import { MultipleRecordingIdsSchema, nonEmptySanitizedRecordingId, StartRecordingRequestSchema -} from '../../models/zod-schemas/index.js'; +} from '../../models/zod-schemas/recording.schema.js'; export const withValidStartRecordingRequest = (req: Request, res: Response, next: NextFunction) => { const { success, error, data } = StartRecordingRequestSchema.safeParse(req.body); diff --git a/meet-ce/backend/src/middlewares/request-validators/room-validator.middleware.ts b/meet-ce/backend/src/middlewares/request-validators/room-validator.middleware.ts index a00efd28..b536585c 100644 --- a/meet-ce/backend/src/middlewares/request-validators/room-validator.middleware.ts +++ b/meet-ce/backend/src/middlewares/request-validators/room-validator.middleware.ts @@ -9,7 +9,7 @@ import { RoomRequestOptionsSchema, UpdateRoomConfigSchema, UpdateRoomStatusSchema -} from '../../models/zod-schemas/index.js'; +} from '../../models/zod-schemas/room.schema.js'; export const withValidRoomOptions = (req: Request, res: Response, next: NextFunction) => { const { success, error, data } = RoomRequestOptionsSchema.safeParse(req.body); diff --git a/meet-ce/backend/src/middlewares/request-validators/user-validator.middleware.ts b/meet-ce/backend/src/middlewares/request-validators/user-validator.middleware.ts index bdbe965c..2c37c5f6 100644 --- a/meet-ce/backend/src/middlewares/request-validators/user-validator.middleware.ts +++ b/meet-ce/backend/src/middlewares/request-validators/user-validator.middleware.ts @@ -1,6 +1,6 @@ import { NextFunction, Request, Response } from 'express'; import { rejectUnprocessableRequest } from '../../models/error.model.js'; -import { ChangePasswordRequestSchema } from '../../models/zod-schemas/index.js'; +import { ChangePasswordRequestSchema } from '../../models/zod-schemas/user.schema.js'; export const validateChangePasswordRequest = (req: Request, res: Response, next: NextFunction) => { const { success, error, data } = ChangePasswordRequestSchema.safeParse(req.body); diff --git a/meet-ce/backend/src/middlewares/room.middleware.ts b/meet-ce/backend/src/middlewares/room.middleware.ts index d242578e..6cde412a 100644 --- a/meet-ce/backend/src/middlewares/room.middleware.ts +++ b/meet-ce/backend/src/middlewares/room.middleware.ts @@ -1,7 +1,7 @@ import { NextFunction, Request, Response } from 'express'; -import { container } from '../config/index.js'; +import { container } from '../config/dependency-injector.config.js'; import { errorInsufficientPermissions, rejectRequestFromMeetError } from '../models/error.model.js'; -import { RequestSessionService } from '../services/index.js'; +import { RequestSessionService } from '../services/request-session.service.js'; /** * Middleware that configures authorization for accessing a specific room. diff --git a/meet-ce/backend/src/migrations/api-key-migrations.ts b/meet-ce/backend/src/migrations/api-key-migrations.ts index 4d96a8fd..eec68ae6 100644 --- a/meet-ce/backend/src/migrations/api-key-migrations.ts +++ b/meet-ce/backend/src/migrations/api-key-migrations.ts @@ -1,5 +1,5 @@ import { ISchemaMigration } from '../models/migration.model.js'; -import { MeetApiKeyDocument } from '../models/mongoose-schemas/index.js'; +import { MeetApiKeyDocument } from '../models/mongoose-schemas/api-key.schema.js'; /** * All migrations for the MeetApiKey collection in chronological order. diff --git a/meet-ce/backend/src/migrations/global-config-migrations.ts b/meet-ce/backend/src/migrations/global-config-migrations.ts index aec2cbdb..d261d8ef 100644 --- a/meet-ce/backend/src/migrations/global-config-migrations.ts +++ b/meet-ce/backend/src/migrations/global-config-migrations.ts @@ -1,5 +1,5 @@ import { ISchemaMigration } from '../models/migration.model.js'; -import { MeetGlobalConfigDocument } from '../models/mongoose-schemas/index.js'; +import { MeetGlobalConfigDocument } from '../models/mongoose-schemas/global-config.schema.js'; /** * All migrations for the MeetGlobalConfig collection in chronological order. diff --git a/meet-ce/backend/src/migrations/index.ts b/meet-ce/backend/src/migrations/index.ts deleted file mode 100644 index fbafe507..00000000 --- a/meet-ce/backend/src/migrations/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './base-migration.js'; -export * from './migration-registry.js'; -export * from './room-migrations.js'; -export * from './recording-migrations.js'; -export * from './user-migrations.js'; -export * from './api-key-migrations.js'; -export * from './global-config-migrations.js'; diff --git a/meet-ce/backend/src/migrations/migration-registry.ts b/meet-ce/backend/src/migrations/migration-registry.ts index f26910ba..90dcebc7 100644 --- a/meet-ce/backend/src/migrations/migration-registry.ts +++ b/meet-ce/backend/src/migrations/migration-registry.ts @@ -1,17 +1,13 @@ import { INTERNAL_CONFIG } from '../config/internal-config.js'; import { CollectionMigrationRegistry } from '../models/migration.model.js'; +import { meetApiKeyCollectionName, MeetApiKeyModel } from '../models/mongoose-schemas/api-key.schema.js'; import { - MeetApiKeyModel, - MeetGlobalConfigModel, - MeetRecordingModel, - MeetRoomModel, - MeetUserModel, - meetApiKeyCollectionName, meetGlobalConfigCollectionName, - meetRecordingCollectionName, - meetRoomCollectionName, - meetUserCollectionName -} from '../models/mongoose-schemas/index.js'; + MeetGlobalConfigModel +} from '../models/mongoose-schemas/global-config.schema.js'; +import { meetRecordingCollectionName, MeetRecordingModel } from '../models/mongoose-schemas/recording.schema.js'; +import { meetRoomCollectionName, MeetRoomModel } from '../models/mongoose-schemas/room.schema.js'; +import { meetUserCollectionName, MeetUserModel } from '../models/mongoose-schemas/user.schema.js'; import { apiKeyMigrations } from './api-key-migrations.js'; import { globalConfigMigrations } from './global-config-migrations.js'; import { recordingMigrations } from './recording-migrations.js'; diff --git a/meet-ce/backend/src/migrations/recording-migrations.ts b/meet-ce/backend/src/migrations/recording-migrations.ts index 510069be..8bbd683a 100644 --- a/meet-ce/backend/src/migrations/recording-migrations.ts +++ b/meet-ce/backend/src/migrations/recording-migrations.ts @@ -1,5 +1,5 @@ import { ISchemaMigration } from '../models/migration.model.js'; -import { MeetRecordingDocument } from '../models/mongoose-schemas/index.js'; +import { MeetRecordingDocument } from '../models/mongoose-schemas/recording.schema.js'; /** * All migrations for the MeetRecording collection in chronological order. diff --git a/meet-ce/backend/src/migrations/room-migrations.ts b/meet-ce/backend/src/migrations/room-migrations.ts index 20816759..b696452b 100644 --- a/meet-ce/backend/src/migrations/room-migrations.ts +++ b/meet-ce/backend/src/migrations/room-migrations.ts @@ -1,5 +1,5 @@ import { ISchemaMigration } from '../models/migration.model.js'; -import { MeetRoomDocument } from '../models/mongoose-schemas/index.js'; +import { MeetRoomDocument } from '../models/mongoose-schemas/room.schema.js'; /** * All migrations for the MeetRoom collection in chronological order. diff --git a/meet-ce/backend/src/migrations/user-migrations.ts b/meet-ce/backend/src/migrations/user-migrations.ts index c508349a..d7449b87 100644 --- a/meet-ce/backend/src/migrations/user-migrations.ts +++ b/meet-ce/backend/src/migrations/user-migrations.ts @@ -1,5 +1,5 @@ import { ISchemaMigration } from '../models/migration.model.js'; -import { MeetUserDocument } from '../models/mongoose-schemas/index.js'; +import { MeetUserDocument } from '../models/mongoose-schemas/user.schema.js'; /** * All migrations for the MeetUser collection in chronological order. diff --git a/meet-ce/backend/src/models/error.model.ts b/meet-ce/backend/src/models/error.model.ts index 5b411c6f..8df30b85 100644 --- a/meet-ce/backend/src/models/error.model.ts +++ b/meet-ce/backend/src/models/error.model.ts @@ -1,8 +1,8 @@ import { MeetRoomDeletionErrorCode } from '@openvidu-meet/typings'; import { Response } from 'express'; import { z } from 'zod'; -import { container } from '../config/index.js'; -import { LoggerService } from '../services/index.js'; +import { container } from '../config/dependency-injector.config.js'; +import { LoggerService } from '../services/logger.service.js'; type StatusError = 400 | 401 | 402 | 403 | 404 | 409 | 415 | 416 | 422 | 500 | 503; export class OpenViduMeetError extends Error { diff --git a/meet-ce/backend/src/models/index.ts b/meet-ce/backend/src/models/index.ts deleted file mode 100644 index aba956a5..00000000 --- a/meet-ce/backend/src/models/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export * from './error.model.js'; -export * from './redis.model.js'; -export * from './distributed-event.model.js'; -export * from './migration.model.js'; -export * from './ov-components-signal.model.js'; -export * from './db-pagination.model.js'; -export * from './task-scheduler.model.js'; -export * from './request-context.model.js'; diff --git a/meet-ce/backend/src/models/mongoose-schemas/index.ts b/meet-ce/backend/src/models/mongoose-schemas/index.ts deleted file mode 100644 index 0125f68f..00000000 --- a/meet-ce/backend/src/models/mongoose-schemas/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './migration.schema.js'; -export * from './global-config.schema.js'; -export * from './api-key.schema.js'; -export * from './user.schema.js'; -export * from './room.schema.js'; -export * from './recording.schema.js'; diff --git a/meet-ce/backend/src/models/mongoose-schemas/migration.schema.ts b/meet-ce/backend/src/models/mongoose-schemas/migration.schema.ts index cd75b170..89578726 100644 --- a/meet-ce/backend/src/models/mongoose-schemas/migration.schema.ts +++ b/meet-ce/backend/src/models/mongoose-schemas/migration.schema.ts @@ -1,5 +1,5 @@ import { Document, model, Schema } from 'mongoose'; -import { MeetMigration, MigrationName, MigrationStatus } from '../index.js'; +import { MeetMigration, MigrationName, MigrationStatus } from '../migration.model.js'; /** * Mongoose Document interface for MeetMigration. diff --git a/meet-ce/backend/src/models/zod-schemas/index.ts b/meet-ce/backend/src/models/zod-schemas/index.ts deleted file mode 100644 index ebc7a7ce..00000000 --- a/meet-ce/backend/src/models/zod-schemas/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './global-config.schema.js'; -export * from './auth.schema.js'; -export * from './user.schema.js'; -export * from './room.schema.js'; -export * from './recording.schema.js'; -export * from './meeting.schema.js'; diff --git a/meet-ce/backend/src/models/zod-schemas/room.schema.ts b/meet-ce/backend/src/models/zod-schemas/room.schema.ts index 85b0af93..3012021d 100644 --- a/meet-ce/backend/src/models/zod-schemas/room.schema.ts +++ b/meet-ce/backend/src/models/zod-schemas/room.schema.ts @@ -22,7 +22,7 @@ import { import ms from 'ms'; import { z } from 'zod'; import { INTERNAL_CONFIG } from '../../config/internal-config.js'; -import { MeetRoomHelper } from '../../helpers/index.js'; +import { MeetRoomHelper } from '../../helpers/room.helper.js'; export const nonEmptySanitizedRoomId = (fieldName: string) => z diff --git a/meet-ce/backend/src/repositories/api-key.repository.ts b/meet-ce/backend/src/repositories/api-key.repository.ts index 44018b1a..a54a8f20 100644 --- a/meet-ce/backend/src/repositories/api-key.repository.ts +++ b/meet-ce/backend/src/repositories/api-key.repository.ts @@ -1,6 +1,6 @@ import { MeetApiKey } from '@openvidu-meet/typings'; import { inject, injectable } from 'inversify'; -import { MeetApiKeyDocument, MeetApiKeyModel } from '../models/mongoose-schemas/index.js'; +import { MeetApiKeyDocument, MeetApiKeyModel } from '../models/mongoose-schemas/api-key.schema.js'; import { LoggerService } from '../services/logger.service.js'; import { BaseRepository } from './base.repository.js'; diff --git a/meet-ce/backend/src/repositories/base.repository.ts b/meet-ce/backend/src/repositories/base.repository.ts index d72f8eee..fcf47aa6 100644 --- a/meet-ce/backend/src/repositories/base.repository.ts +++ b/meet-ce/backend/src/repositories/base.repository.ts @@ -1,6 +1,6 @@ import { inject, injectable, unmanaged } from 'inversify'; import { Document, FilterQuery, Model, UpdateQuery } from 'mongoose'; -import { PaginatedFindOptions, PaginatedResult, PaginationCursor } from '../models/index.js'; +import { PaginatedFindOptions, PaginatedResult, PaginationCursor } from '../models/db-pagination.model.js'; import { LoggerService } from '../services/logger.service.js'; /** diff --git a/meet-ce/backend/src/repositories/global-config.repository.ts b/meet-ce/backend/src/repositories/global-config.repository.ts index 2e0ea781..44f93b75 100644 --- a/meet-ce/backend/src/repositories/global-config.repository.ts +++ b/meet-ce/backend/src/repositories/global-config.repository.ts @@ -1,6 +1,6 @@ import { GlobalConfig } from '@openvidu-meet/typings'; import { inject, injectable } from 'inversify'; -import { MeetGlobalConfigDocument, MeetGlobalConfigModel } from '../models/mongoose-schemas/index.js'; +import { MeetGlobalConfigDocument, MeetGlobalConfigModel } from '../models/mongoose-schemas/global-config.schema.js'; import { LoggerService } from '../services/logger.service.js'; import { BaseRepository } from './base.repository.js'; diff --git a/meet-ce/backend/src/repositories/index.ts b/meet-ce/backend/src/repositories/index.ts deleted file mode 100644 index aa8a7d0f..00000000 --- a/meet-ce/backend/src/repositories/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './base.repository.js'; -export * from './room.repository.js'; -export * from './user.repository.js'; -export * from './api-key.repository.js'; -export * from './global-config.repository.js'; -export * from './recording.repository.js'; -export * from './migration.repository.js'; diff --git a/meet-ce/backend/src/repositories/migration.repository.ts b/meet-ce/backend/src/repositories/migration.repository.ts index 74e8c9ee..22e6144f 100644 --- a/meet-ce/backend/src/repositories/migration.repository.ts +++ b/meet-ce/backend/src/repositories/migration.repository.ts @@ -1,6 +1,6 @@ import { inject, injectable } from 'inversify'; -import { MeetMigration, MigrationName, MigrationStatus } from '../models/index.js'; -import { MeetMigrationDocument, MeetMigrationModel } from '../models/mongoose-schemas/index.js'; +import { MeetMigration, MigrationName, MigrationStatus } from '../models/migration.model.js'; +import { MeetMigrationDocument, MeetMigrationModel } from '../models/mongoose-schemas/migration.schema.js'; import { LoggerService } from '../services/logger.service.js'; import { BaseRepository } from './base.repository.js'; diff --git a/meet-ce/backend/src/repositories/recording.repository.ts b/meet-ce/backend/src/repositories/recording.repository.ts index e5d9db2f..7e3065d2 100644 --- a/meet-ce/backend/src/repositories/recording.repository.ts +++ b/meet-ce/backend/src/repositories/recording.repository.ts @@ -1,7 +1,7 @@ import { MeetRecordingInfo, MeetRecordingStatus } from '@openvidu-meet/typings'; import { inject, injectable } from 'inversify'; import { uid as secureUid } from 'uid/secure'; -import { MeetRecordingDocument, MeetRecordingModel } from '../models/mongoose-schemas/index.js'; +import { MeetRecordingDocument, MeetRecordingModel } from '../models/mongoose-schemas/recording.schema.js'; import { LoggerService } from '../services/logger.service.js'; import { BaseRepository } from './base.repository.js'; diff --git a/meet-ce/backend/src/repositories/room.repository.ts b/meet-ce/backend/src/repositories/room.repository.ts index 0510424d..56bf8d98 100644 --- a/meet-ce/backend/src/repositories/room.repository.ts +++ b/meet-ce/backend/src/repositories/room.repository.ts @@ -1,6 +1,6 @@ import { MeetRoom } from '@openvidu-meet/typings'; import { inject, injectable } from 'inversify'; -import { MeetRoomDocument, MeetRoomModel } from '../models/mongoose-schemas/index.js'; +import { MeetRoomDocument, MeetRoomModel } from '../models/mongoose-schemas/room.schema.js'; import { LoggerService } from '../services/logger.service.js'; import { getBaseUrl } from '../utils/url.utils.js'; import { BaseRepository } from './base.repository.js'; diff --git a/meet-ce/backend/src/repositories/user.repository.ts b/meet-ce/backend/src/repositories/user.repository.ts index 8267a0c3..6cfb1bc6 100644 --- a/meet-ce/backend/src/repositories/user.repository.ts +++ b/meet-ce/backend/src/repositories/user.repository.ts @@ -1,6 +1,6 @@ import { MeetUser } from '@openvidu-meet/typings'; import { inject, injectable } from 'inversify'; -import { MeetUserDocument, MeetUserModel } from '../models/mongoose-schemas/index.js'; +import { MeetUserDocument, MeetUserModel } from '../models/mongoose-schemas/user.schema.js'; import { LoggerService } from '../services/logger.service.js'; import { BaseRepository } from './base.repository.js'; diff --git a/meet-ce/backend/src/routes/analytics.routes.ts b/meet-ce/backend/src/routes/analytics.routes.ts index 11fb0b3d..908622b3 100644 --- a/meet-ce/backend/src/routes/analytics.routes.ts +++ b/meet-ce/backend/src/routes/analytics.routes.ts @@ -2,7 +2,7 @@ import { MeetUserRole } from '@openvidu-meet/typings'; import bodyParser from 'body-parser'; import { Router } from 'express'; import * as analyticsCtrl from '../controllers/analytics.controller.js'; -import { tokenAndRoleValidator, withAuth } from '../middlewares/index.js'; +import { tokenAndRoleValidator, withAuth } from '../middlewares/auth.middleware.js'; export const analyticsRouter: Router = Router(); analyticsRouter.use(bodyParser.urlencoded({ extended: true })); diff --git a/meet-ce/backend/src/routes/api-key.routes.ts b/meet-ce/backend/src/routes/api-key.routes.ts index d899df1e..0ff243f2 100644 --- a/meet-ce/backend/src/routes/api-key.routes.ts +++ b/meet-ce/backend/src/routes/api-key.routes.ts @@ -2,7 +2,7 @@ import { MeetUserRole } from '@openvidu-meet/typings'; import bodyParser from 'body-parser'; import { Router } from 'express'; import * as apiKeyCtrl from '../controllers/api-key.controller.js'; -import { tokenAndRoleValidator, withAuth } from '../middlewares/index.js'; +import { tokenAndRoleValidator, withAuth } from '../middlewares/auth.middleware.js'; export const apiKeyRouter: Router = Router(); apiKeyRouter.use(bodyParser.urlencoded({ extended: true })); diff --git a/meet-ce/backend/src/routes/auth.routes.ts b/meet-ce/backend/src/routes/auth.routes.ts index 24337f58..9f9ed203 100644 --- a/meet-ce/backend/src/routes/auth.routes.ts +++ b/meet-ce/backend/src/routes/auth.routes.ts @@ -1,7 +1,8 @@ import bodyParser from 'body-parser'; import { Router } from 'express'; import * as authCtrl from '../controllers/auth.controller.js'; -import { validateLoginRequest, withLoginLimiter } from '../middlewares/index.js'; +import { withLoginLimiter } from '../middlewares/auth.middleware.js'; +import { validateLoginRequest } from '../middlewares/request-validators/auth-validator.middleware.js'; export const authRouter: Router = Router(); authRouter.use(bodyParser.urlencoded({ extended: true })); diff --git a/meet-ce/backend/src/routes/global-config.routes.ts b/meet-ce/backend/src/routes/global-config.routes.ts index d3ead6d4..ee1ac32e 100644 --- a/meet-ce/backend/src/routes/global-config.routes.ts +++ b/meet-ce/backend/src/routes/global-config.routes.ts @@ -4,15 +4,13 @@ import { Router } from 'express'; import * as appearanceConfigCtrl from '../controllers/global-config/appearance-config.controller.js'; import * as securityConfigCtrl from '../controllers/global-config/security-config.controller.js'; import * as webhookConfigCtrl from '../controllers/global-config/webhook-config.controller.js'; +import { allowAnonymous, tokenAndRoleValidator, withAuth } from '../middlewares/auth.middleware.js'; import { - allowAnonymous, - tokenAndRoleValidator, validateRoomsAppearanceConfig, validateSecurityConfig, validateWebhookConfig, - withAuth, withValidWebhookTestRequest -} from '../middlewares/index.js'; +} from '../middlewares/request-validators/config-validator.middleware.js'; export const configRouter: Router = Router(); configRouter.use(bodyParser.urlencoded({ extended: true })); diff --git a/meet-ce/backend/src/routes/index.ts b/meet-ce/backend/src/routes/index.ts deleted file mode 100644 index 3f435d25..00000000 --- a/meet-ce/backend/src/routes/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from './global-config.routes.js'; -export * from './auth.routes.js'; -export * from './api-key.routes.js'; -export * from './user.routes.js'; -export * from './room.routes.js'; -export * from './meeting.routes.js'; -export * from './recording.routes.js'; -export * from './livekit.routes.js'; -export * from './analytics.routes.js'; diff --git a/meet-ce/backend/src/routes/meeting.routes.ts b/meet-ce/backend/src/routes/meeting.routes.ts index c7a591ed..4fcf7566 100644 --- a/meet-ce/backend/src/routes/meeting.routes.ts +++ b/meet-ce/backend/src/routes/meeting.routes.ts @@ -1,13 +1,10 @@ import bodyParser from 'body-parser'; import { Router } from 'express'; import * as meetingCtrl from '../controllers/meeting.controller.js'; -import { - roomMemberTokenValidator, - validateUpdateParticipantRequest, - withAuth, - withModeratorPermissions, - withValidRoomId -} from '../middlewares/index.js'; +import { roomMemberTokenValidator, withAuth } from '../middlewares/auth.middleware.js'; +import { withModeratorPermissions } from '../middlewares/participant.middleware.js'; +import { validateUpdateParticipantRequest } from '../middlewares/request-validators/participant-validator.middleware.js'; +import { withValidRoomId } from '../middlewares/request-validators/room-validator.middleware.js'; export const internalMeetingRouter: Router = Router(); internalMeetingRouter.use(bodyParser.urlencoded({ extended: true })); diff --git a/meet-ce/backend/src/routes/recording.routes.ts b/meet-ce/backend/src/routes/recording.routes.ts index ae9cb811..c4eb7e7d 100644 --- a/meet-ce/backend/src/routes/recording.routes.ts +++ b/meet-ce/backend/src/routes/recording.routes.ts @@ -4,14 +4,18 @@ import { Router } from 'express'; import * as recordingCtrl from '../controllers/recording.controller.js'; import { apiKeyValidator, - configureRecordingAuth, roomMemberTokenValidator, tokenAndRoleValidator, - withAuth, + withAuth +} from '../middlewares/auth.middleware.js'; +import { + configureRecordingAuth, withCanDeleteRecordingsPermission, withCanRecordPermission, withCanRetrieveRecordingsPermission, - withRecordingEnabled, + withRecordingEnabled +} from '../middlewares/recording.middleware.js'; +import { withValidGetRecordingMediaRequest, withValidGetRecordingRequest, withValidGetRecordingUrlRequest, @@ -19,7 +23,7 @@ import { withValidRecordingFiltersRequest, withValidRecordingId, withValidStartRecordingRequest -} from '../middlewares/index.js'; +} from '../middlewares/request-validators/recording-validator.middleware.js'; export const recordingRouter: Router = Router(); recordingRouter.use(bodyParser.urlencoded({ extended: true })); diff --git a/meet-ce/backend/src/routes/room.routes.ts b/meet-ce/backend/src/routes/room.routes.ts index 50d83986..7dc6f132 100644 --- a/meet-ce/backend/src/routes/room.routes.ts +++ b/meet-ce/backend/src/routes/room.routes.ts @@ -5,11 +5,12 @@ import * as roomCtrl from '../controllers/room.controller.js'; import { allowAnonymous, apiKeyValidator, - configureRoomAuthorization, - configureRoomMemberTokenAuth, roomMemberTokenValidator, tokenAndRoleValidator, - withAuth, + withAuth +} from '../middlewares/auth.middleware.js'; +import { configureRoomMemberTokenAuth } from '../middlewares/participant.middleware.js'; +import { withValidRoomBulkDeleteRequest, withValidRoomConfig, withValidRoomDeleteRequest, @@ -18,7 +19,8 @@ import { withValidRoomMemberTokenRequest, withValidRoomOptions, withValidRoomStatus -} from '../middlewares/index.js'; +} from '../middlewares/request-validators/room-validator.middleware.js'; +import { configureRoomAuthorization } from '../middlewares/room.middleware.js'; export const roomRouter: Router = Router(); roomRouter.use(bodyParser.urlencoded({ extended: true })); diff --git a/meet-ce/backend/src/routes/user.routes.ts b/meet-ce/backend/src/routes/user.routes.ts index 519f0a30..aad79ea3 100644 --- a/meet-ce/backend/src/routes/user.routes.ts +++ b/meet-ce/backend/src/routes/user.routes.ts @@ -2,7 +2,8 @@ import { MeetUserRole } from '@openvidu-meet/typings'; import bodyParser from 'body-parser'; import { Router } from 'express'; import * as userCtrl from '../controllers/user.controller.js'; -import { tokenAndRoleValidator, validateChangePasswordRequest, withAuth } from '../middlewares/index.js'; +import { tokenAndRoleValidator, withAuth } from '../middlewares/auth.middleware.js'; +import { validateChangePasswordRequest } from '../middlewares/request-validators/user-validator.middleware.js'; export const userRouter: Router = Router(); userRouter.use(bodyParser.urlencoded({ extended: true })); diff --git a/meet-ce/backend/src/server.ts b/meet-ce/backend/src/server.ts index 381faa65..95a9ac9a 100644 --- a/meet-ce/backend/src/server.ts +++ b/meet-ce/backend/src/server.ts @@ -2,23 +2,21 @@ import chalk from 'chalk'; import cookieParser from 'cookie-parser'; import cors from 'cors'; import express, { Express, Request, Response } from 'express'; -import { initializeEagerServices, registerDependencies } from './config/index.js'; +import { initializeEagerServices, registerDependencies } from './config/dependency-injector.config.js'; import { INTERNAL_CONFIG } from './config/internal-config.js'; import { MEET_ENV, logEnvVars } from './environment.js'; -import { initRequestContext, jsonSyntaxErrorHandler, setBaseUrlMiddleware } from './middlewares/index.js'; -import { - analyticsRouter, - apiKeyRouter, - authRouter, - configRouter, - internalMeetingRouter, - internalRecordingRouter, - internalRoomRouter, - livekitWebhookRouter, - recordingRouter, - roomRouter, - userRouter -} from './routes/index.js'; +import { setBaseUrlMiddleware } from './middlewares/base-url.middleware.js'; +import { jsonSyntaxErrorHandler } from './middlewares/content-type.middleware.js'; +import { initRequestContext } from './middlewares/request-context.middleware.js'; +import { analyticsRouter } from './routes/analytics.routes.js'; +import { apiKeyRouter } from './routes/api-key.routes.js'; +import { authRouter } from './routes/auth.routes.js'; +import { configRouter } from './routes/global-config.routes.js'; +import { livekitWebhookRouter } from './routes/livekit.routes.js'; +import { internalMeetingRouter } from './routes/meeting.routes.js'; +import { internalRecordingRouter, recordingRouter } from './routes/recording.routes.js'; +import { internalRoomRouter, roomRouter } from './routes/room.routes.js'; +import { userRouter } from './routes/user.routes.js'; import { frontendDirectoryPath, frontendHtmlPath, diff --git a/meet-ce/backend/src/services/analytics.service.ts b/meet-ce/backend/src/services/analytics.service.ts index d29e425a..e9ff1401 100644 --- a/meet-ce/backend/src/services/analytics.service.ts +++ b/meet-ce/backend/src/services/analytics.service.ts @@ -1,7 +1,8 @@ import { MeetAnalytics } from '@openvidu-meet/typings'; import { inject, injectable } from 'inversify'; -import { RecordingRepository, RoomRepository } from '../repositories/index.js'; -import { LoggerService } from './index.js'; +import { RecordingRepository } from '../repositories/recording.repository.js'; +import { RoomRepository } from '../repositories/room.repository.js'; +import { LoggerService } from './logger.service.js'; /** * Service for retrieving analytics data about OpenVidu Meet usage. diff --git a/meet-ce/backend/src/services/api-key.service.ts b/meet-ce/backend/src/services/api-key.service.ts index 1ab4b7aa..d5be9a85 100644 --- a/meet-ce/backend/src/services/api-key.service.ts +++ b/meet-ce/backend/src/services/api-key.service.ts @@ -1,10 +1,11 @@ import { MeetApiKey } from '@openvidu-meet/typings'; import { inject, injectable } from 'inversify'; import { MEET_ENV } from '../environment.js'; -import { PasswordHelper } from '../helpers/index.js'; +import { PasswordHelper } from '../helpers/password.helper.js'; import { errorApiKeyNotConfigured } from '../models/error.model.js'; -import { ApiKeyRepository } from '../repositories/index.js'; -import { LoggerService, UserService } from './index.js'; +import { ApiKeyRepository } from '../repositories/api-key.repository.js'; +import { LoggerService } from './logger.service.js'; +import { UserService } from './user.service.js'; @injectable() export class ApiKeyService { diff --git a/meet-ce/backend/src/services/distributed-event.service.ts b/meet-ce/backend/src/services/distributed-event.service.ts index 1431c302..dbbe2e01 100644 --- a/meet-ce/backend/src/services/distributed-event.service.ts +++ b/meet-ce/backend/src/services/distributed-event.service.ts @@ -1,7 +1,8 @@ import { EventEmitter } from 'events'; import { inject, injectable } from 'inversify'; import { DistributedEventPayload, DistributedEventType } from '../models/distributed-event.model.js'; -import { LoggerService, RedisService } from './index.js'; +import { LoggerService } from './logger.service.js'; +import { RedisService } from './redis.service.js'; /** * Service for managing distributed events using Redis pub/sub pattern. diff --git a/meet-ce/backend/src/services/frontend-event.service.ts b/meet-ce/backend/src/services/frontend-event.service.ts index aaa586f8..bc3d3702 100644 --- a/meet-ce/backend/src/services/frontend-event.service.ts +++ b/meet-ce/backend/src/services/frontend-event.service.ts @@ -9,9 +9,10 @@ import { } from '@openvidu-meet/typings'; import { inject, injectable } from 'inversify'; import { SendDataOptions } from 'livekit-server-sdk'; -import { OpenViduComponentsAdapterHelper } from '../helpers/index.js'; -import { OpenViduComponentsSignalPayload } from '../models/index.js'; -import { LiveKitService, LoggerService } from './index.js'; +import { OpenViduComponentsAdapterHelper } from '../helpers/ov-components-adapter.helper.js'; +import { OpenViduComponentsSignalPayload } from '../models/ov-components-signal.model.js'; +import { LiveKitService } from './livekit.service.js'; +import { LoggerService } from './logger.service.js'; /** * Service responsible for all communication with the frontend diff --git a/meet-ce/backend/src/services/global-config.service.ts b/meet-ce/backend/src/services/global-config.service.ts index 111b19df..cfa19c7b 100644 --- a/meet-ce/backend/src/services/global-config.service.ts +++ b/meet-ce/backend/src/services/global-config.service.ts @@ -1,8 +1,8 @@ import { AuthMode, AuthType, GlobalConfig } from '@openvidu-meet/typings'; import { inject, injectable } from 'inversify'; import { MEET_ENV } from '../environment.js'; -import { GlobalConfigRepository } from '../repositories/index.js'; -import { LoggerService } from './index.js'; +import { GlobalConfigRepository } from '../repositories/global-config.repository.js'; +import { LoggerService } from './logger.service.js'; /** * Service for managing global configuration. diff --git a/meet-ce/backend/src/services/index.ts b/meet-ce/backend/src/services/index.ts deleted file mode 100644 index 2d571525..00000000 --- a/meet-ce/backend/src/services/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -export * from './logger.service.js'; -export * from './redis.service.js'; -export * from './distributed-event.service.js'; -export * from './mutex.service.js'; -export * from './task-scheduler.service.js'; -export * from './base-url.service.js'; -export * from './request-session.service.js'; - -export * from './token.service.js'; -export * from './user.service.js'; -export * from './api-key.service.js'; -export * from './global-config.service.js'; - -export * from './storage/index.js'; - -// export * from './migration.service.js'; -export * from './livekit.service.js'; -export * from './frontend-event.service.js'; -export * from './recording.service.js'; -export * from './room.service.js'; -export * from './participant-name.service.js'; -export * from './room-member.service.js'; -export * from './openvidu-webhook.service.js'; -export * from './livekit-webhook.service.js'; -export * from './analytics.service.js'; diff --git a/meet-ce/backend/src/services/livekit-webhook.service.ts b/meet-ce/backend/src/services/livekit-webhook.service.ts index cafa7791..74fb7bf9 100644 --- a/meet-ce/backend/src/services/livekit-webhook.service.ts +++ b/meet-ce/backend/src/services/livekit-webhook.service.ts @@ -3,20 +3,21 @@ import { inject, injectable } from 'inversify'; import { EgressInfo, ParticipantInfo, Room, WebhookEvent, WebhookReceiver } from 'livekit-server-sdk'; import ms from 'ms'; import { MEET_ENV } from '../environment.js'; -import { MeetLock, MeetRoomHelper, RecordingHelper } from '../helpers/index.js'; +import { RecordingHelper } from '../helpers/recording.helper.js'; +import { MeetLock } from '../helpers/redis.helper.js'; +import { MeetRoomHelper } from '../helpers/room.helper.js'; import { DistributedEventType } from '../models/distributed-event.model.js'; -import { RecordingRepository, RoomRepository } from '../repositories/index.js'; +import { RecordingRepository } from '../repositories/recording.repository.js'; +import { RoomRepository } from '../repositories/room.repository.js'; +import { DistributedEventService } from './distributed-event.service.js'; import { FrontendEventService } from './frontend-event.service.js'; -import { - DistributedEventService, - LiveKitService, - LoggerService, - MutexService, - OpenViduWebhookService, - RecordingService, - RoomMemberService, - RoomService -} from './index.js'; +import { LiveKitService } from './livekit.service.js'; +import { LoggerService } from './logger.service.js'; +import { MutexService } from './mutex.service.js'; +import { OpenViduWebhookService } from './openvidu-webhook.service.js'; +import { RecordingService } from './recording.service.js'; +import { RoomMemberService } from './room-member.service.js'; +import { RoomService } from './room.service.js'; @injectable() export class LivekitWebhookService { diff --git a/meet-ce/backend/src/services/livekit.service.ts b/meet-ce/backend/src/services/livekit.service.ts index 543bf14c..630da29b 100644 --- a/meet-ce/backend/src/services/livekit.service.ts +++ b/meet-ce/backend/src/services/livekit.service.ts @@ -15,7 +15,7 @@ import { StreamOutput } from 'livekit-server-sdk'; import { MEET_ENV } from '../environment.js'; -import { RecordingHelper } from '../helpers/index.js'; +import { RecordingHelper } from '../helpers/recording.helper.js'; import { errorLivekitNotAvailable, errorParticipantNotFound, @@ -23,8 +23,8 @@ import { internalError, OpenViduMeetError } from '../models/error.model.js'; -import { chunkArray } from '../utils/index.js'; -import { LoggerService } from './index.js'; +import { chunkArray } from '../utils/array.utils.js'; +import { LoggerService } from './logger.service.js'; @injectable() export class LiveKitService { diff --git a/meet-ce/backend/src/services/migration.service.ts b/meet-ce/backend/src/services/migration.service.ts index 02197dc8..c39eb47b 100644 --- a/meet-ce/backend/src/services/migration.service.ts +++ b/meet-ce/backend/src/services/migration.service.ts @@ -1,24 +1,24 @@ import { inject, injectable } from 'inversify'; import { Model } from 'mongoose'; import ms from 'ms'; -import { MeetLock } from '../helpers/index.js'; -import { migrationRegistry } from '../migrations/index.js'; +import { MeetLock } from '../helpers/redis.helper.js'; +import { migrationRegistry } from '../migrations/migration-registry.js'; import { CollectionMigrationRegistry, generateSchemaMigrationName, ISchemaMigration, MigrationContext, MigrationName -} from '../models/index.js'; -import { - ApiKeyRepository, - GlobalConfigRepository, - MigrationRepository, - RecordingRepository, - RoomRepository, - UserRepository -} from '../repositories/index.js'; -import { LegacyStorageService, LoggerService, MutexService } from './index.js'; +} from '../models/migration.model.js'; +import { ApiKeyRepository } from '../repositories/api-key.repository.js'; +import { GlobalConfigRepository } from '../repositories/global-config.repository.js'; +import { MigrationRepository } from '../repositories/migration.repository.js'; +import { RecordingRepository } from '../repositories/recording.repository.js'; +import { RoomRepository } from '../repositories/room.repository.js'; +import { UserRepository } from '../repositories/user.repository.js'; +import { LoggerService } from './logger.service.js'; +import { MutexService } from './mutex.service.js'; +import { LegacyStorageService } from './storage/legacy-storage.service.js'; @injectable() export class MigrationService { @@ -369,7 +369,9 @@ export class MigrationService { } // Get access secrets from legacy storage - const secrets = await this.legacyStorageService.getRecordingAccessSecrets(recording.recordingId); + const secrets = await this.legacyStorageService.getRecordingAccessSecrets( + recording.recordingId + ); // Prepare recording document with access secrets const recordingWithSecrets = { diff --git a/meet-ce/backend/src/services/mutex.service.ts b/meet-ce/backend/src/services/mutex.service.ts index fab876e5..637596a0 100644 --- a/meet-ce/backend/src/services/mutex.service.ts +++ b/meet-ce/backend/src/services/mutex.service.ts @@ -1,8 +1,9 @@ +import { Lock, Redlock } from '@sesamecare-oss/redlock'; import { inject, injectable } from 'inversify'; import ms from 'ms'; -import { Redlock, Lock } from '@sesamecare-oss/redlock'; -import { MeetLock } from '../helpers/index.js'; -import { LoggerService, RedisService } from './index.js'; +import { MeetLock } from '../helpers/redis.helper.js'; +import { LoggerService } from './logger.service.js'; +import { RedisService } from './redis.service.js'; export type RedisLock = Lock; @injectable() diff --git a/meet-ce/backend/src/services/openvidu-webhook.service.ts b/meet-ce/backend/src/services/openvidu-webhook.service.ts index e3588997..9be6d877 100644 --- a/meet-ce/backend/src/services/openvidu-webhook.service.ts +++ b/meet-ce/backend/src/services/openvidu-webhook.service.ts @@ -14,7 +14,9 @@ import { errorInvalidWebhookUrl, OpenViduMeetError } from '../models/error.model.js'; -import { ApiKeyService, GlobalConfigService, LoggerService } from './index.js'; +import { ApiKeyService } from './api-key.service.js'; +import { GlobalConfigService } from './global-config.service.js'; +import { LoggerService } from './logger.service.js'; @injectable() export class OpenViduWebhookService { diff --git a/meet-ce/backend/src/services/participant-name.service.ts b/meet-ce/backend/src/services/participant-name.service.ts index 50d8f563..e0f346ed 100644 --- a/meet-ce/backend/src/services/participant-name.service.ts +++ b/meet-ce/backend/src/services/participant-name.service.ts @@ -1,8 +1,9 @@ import { inject, injectable } from 'inversify'; -import { RedisKeyName } from '../models/redis.model.js'; -import { LoggerService, RedisService } from './index.js'; import ms from 'ms'; import { INTERNAL_CONFIG } from '../config/internal-config.js'; +import { RedisKeyName } from '../models/redis.model.js'; +import { LoggerService } from './logger.service.js'; +import { RedisService } from './redis.service.js'; @injectable() export class ParticipantNameService { @@ -319,7 +320,7 @@ export class ParticipantNameService { /** * Extracts the base name from a participant name that may have a numeric suffix. * This prevents infinite concatenation of suffixes (e.g., "BOB_1_1_1..."). - * + * * Examples: * - "BOB" -> { baseName: "BOB", originalCaseBase: "BOB" } * - "BOB_1" -> { baseName: "BOB", originalCaseBase: "BOB" } diff --git a/meet-ce/backend/src/services/recording.service.ts b/meet-ce/backend/src/services/recording.service.ts index 10ab0899..c85be2e7 100644 --- a/meet-ce/backend/src/services/recording.service.ts +++ b/meet-ce/backend/src/services/recording.service.ts @@ -6,9 +6,11 @@ import { Readable } from 'stream'; import { uid } from 'uid'; import { INTERNAL_CONFIG } from '../config/internal-config.js'; import { MEET_ENV } from '../environment.js'; -import { MeetLock, RecordingHelper, UtilsHelper } from '../helpers/index.js'; +import { RecordingHelper } from '../helpers/recording.helper.js'; +import { MeetLock } from '../helpers/redis.helper.js'; +import { UtilsHelper } from '../helpers/utils.helper.js'; +import { DistributedEventType } from '../models/distributed-event.model.js'; import { - DistributedEventType, errorRecordingAlreadyStarted, errorRecordingAlreadyStopped, errorRecordingCannotBeStoppedWhileStarting, @@ -17,23 +19,21 @@ import { errorRecordingStartTimeout, errorRoomHasNoParticipants, errorRoomNotFound, - IScheduledTask, isErrorRecordingAlreadyStopped, isErrorRecordingCannotBeStoppedWhileStarting, isErrorRecordingNotFound, OpenViduMeetError -} from '../models/index.js'; -import { RecordingRepository, RoomRepository } from '../repositories/index.js'; -import { - BlobStorageService, - DistributedEventService, - FrontendEventService, - LiveKitService, - LoggerService, - MutexService, - RedisLock, - TaskSchedulerService -} from './index.js'; +} from '../models/error.model.js'; +import { IScheduledTask } from '../models/task-scheduler.model.js'; +import { RecordingRepository } from '../repositories/recording.repository.js'; +import { RoomRepository } from '../repositories/room.repository.js'; +import { DistributedEventService } from './distributed-event.service.js'; +import { FrontendEventService } from './frontend-event.service.js'; +import { LiveKitService } from './livekit.service.js'; +import { LoggerService } from './logger.service.js'; +import { MutexService, RedisLock } from './mutex.service.js'; +import { BlobStorageService } from './storage/blob-storage.service.js'; +import { TaskSchedulerService } from './task-scheduler.service.js'; @injectable() export class RecordingService { diff --git a/meet-ce/backend/src/services/redis.service.ts b/meet-ce/backend/src/services/redis.service.ts index de5dc319..3f360130 100644 --- a/meet-ce/backend/src/services/redis.service.ts +++ b/meet-ce/backend/src/services/redis.service.ts @@ -4,8 +4,9 @@ import { inject, injectable } from 'inversify'; import { Redis, RedisOptions, SentinelAddress } from 'ioredis'; import ms from 'ms'; import { checkModuleEnabled, MEET_ENV } from '../environment.js'; -import { DistributedEventPayload, internalError } from '../models/index.js'; -import { LoggerService } from './index.js'; +import { DistributedEventPayload } from '../models/distributed-event.model.js'; +import { internalError } from '../models/error.model.js'; +import { LoggerService } from './logger.service.js'; @injectable() export class RedisService extends EventEmitter { diff --git a/meet-ce/backend/src/services/request-session.service.ts b/meet-ce/backend/src/services/request-session.service.ts index 2ee95296..fa9f7de4 100644 --- a/meet-ce/backend/src/services/request-session.service.ts +++ b/meet-ce/backend/src/services/request-session.service.ts @@ -1,7 +1,7 @@ import { LiveKitPermissions, MeetPermissions, MeetRoomMemberRole, MeetUser } from '@openvidu-meet/typings'; import { AsyncLocalStorage } from 'async_hooks'; import { injectable } from 'inversify'; -import { RequestContext } from '../models/index.js'; +import { RequestContext } from '../models/request-context.model.js'; /** * Service that manages request-scoped session data using Node.js AsyncLocalStorage. diff --git a/meet-ce/backend/src/services/room-member.service.ts b/meet-ce/backend/src/services/room-member.service.ts index 6a43b1e6..08dbfad2 100644 --- a/meet-ce/backend/src/services/room-member.service.ts +++ b/meet-ce/backend/src/services/room-member.service.ts @@ -10,16 +10,14 @@ import { inject, injectable } from 'inversify'; import { ParticipantInfo } from 'livekit-server-sdk'; import { uid } from 'uid/single'; import { MeetRoomHelper } from '../helpers/room.helper.js'; -import { validateRoomMemberTokenMetadata } from '../middlewares/index.js'; +import { validateRoomMemberTokenMetadata } from '../middlewares/request-validators/participant-validator.middleware.js'; import { errorInvalidRoomSecret, errorParticipantNotFound, errorRoomClosed } from '../models/error.model.js'; -import { - FrontendEventService, - LiveKitService, - LoggerService, - ParticipantNameService, - RoomService, - TokenService -} from './index.js'; +import { FrontendEventService } from './frontend-event.service.js'; +import { LiveKitService } from './livekit.service.js'; +import { LoggerService } from './logger.service.js'; +import { ParticipantNameService } from './participant-name.service.js'; +import { RoomService } from './room.service.js'; +import { TokenService } from './token.service.js'; /** * Service for managing room members and meeting participants. diff --git a/meet-ce/backend/src/services/room.service.ts b/meet-ce/backend/src/services/room.service.ts index bf2015aa..941969ed 100644 --- a/meet-ce/backend/src/services/room.service.ts +++ b/meet-ce/backend/src/services/room.service.ts @@ -18,7 +18,8 @@ import { uid as secureUid } from 'uid/secure'; import { uid } from 'uid/single'; import { INTERNAL_CONFIG } from '../config/internal-config.js'; import { MEET_ENV } from '../environment.js'; -import { MeetRoomHelper, UtilsHelper } from '../helpers/index.js'; +import { MeetRoomHelper } from '../helpers/room.helper.js'; +import { UtilsHelper } from '../helpers/utils.helper.js'; import { errorDeletingRoom, errorRoomActiveMeeting, @@ -26,16 +27,14 @@ import { internalError, OpenViduMeetError } from '../models/error.model.js'; -import { IScheduledTask } from '../models/index.js'; -import { RoomRepository } from '../repositories/index.js'; -import { - FrontendEventService, - LiveKitService, - LoggerService, - RecordingService, - RequestSessionService, - TaskSchedulerService -} from './index.js'; +import { IScheduledTask } from '../models/task-scheduler.model.js'; +import { RoomRepository } from '../repositories/room.repository.js'; +import { FrontendEventService } from './frontend-event.service.js'; +import { LiveKitService } from './livekit.service.js'; +import { LoggerService } from './logger.service.js'; +import { RecordingService } from './recording.service.js'; +import { RequestSessionService } from './request-session.service.js'; +import { TaskSchedulerService } from './task-scheduler.service.js'; /** * Service for managing OpenVidu Meet rooms. diff --git a/meet-ce/backend/src/services/storage/index.ts b/meet-ce/backend/src/services/storage/index.ts deleted file mode 100644 index c4cbf0a0..00000000 --- a/meet-ce/backend/src/services/storage/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export * from './providers/s3/s3.service.js'; -export * from './providers/s3/s3-storage-key.builder.js'; -export * from './providers/s3/s3-storage.provider.js'; -export * from './providers/abs/abs.service.js'; -export * from './providers/abs/abs-storage.provider.js'; -export * from './providers/gcp/gcs.service.js'; -export * from './providers/gcp/gcs-storage.provider.js'; - -export * from './mongodb.service.js'; -export * from './storage-init.service.js'; -export * from './storage.interface.js'; -export * from './storage.factory.js'; -export * from './blob-storage.service.js'; -export * from './legacy-storage.service.js'; diff --git a/meet-ce/backend/src/services/storage/legacy-storage.service.ts b/meet-ce/backend/src/services/storage/legacy-storage.service.ts index dfd074c0..ab6f3b42 100644 --- a/meet-ce/backend/src/services/storage/legacy-storage.service.ts +++ b/meet-ce/backend/src/services/storage/legacy-storage.service.ts @@ -1,7 +1,9 @@ import { GlobalConfig, MeetApiKey, MeetRecordingInfo, MeetRoom, MeetUser } from '@openvidu-meet/typings'; import { inject, injectable } from 'inversify'; -import { OpenViduMeetError, RedisKeyName } from '../../models/index.js'; -import { LoggerService, RedisService } from '../index.js'; +import { OpenViduMeetError } from '../../models/error.model.js'; +import { RedisKeyName } from '../../models/redis.model.js'; +import { LoggerService } from '../logger.service.js'; +import { RedisService } from '../redis.service.js'; import { StorageFactory } from './storage.factory.js'; import { StorageKeyBuilder, StorageProvider } from './storage.interface.js'; diff --git a/meet-ce/backend/src/services/storage/mongodb.service.ts b/meet-ce/backend/src/services/storage/mongodb.service.ts index 99f3f674..39b452e3 100644 --- a/meet-ce/backend/src/services/storage/mongodb.service.ts +++ b/meet-ce/backend/src/services/storage/mongodb.service.ts @@ -1,7 +1,7 @@ import { inject, injectable } from 'inversify'; import mongoose from 'mongoose'; import { MEET_ENV } from '../../environment.js'; -import { LoggerService } from '../index.js'; +import { LoggerService } from '../logger.service.js'; /** * Service responsible for managing MongoDB connection lifecycle. diff --git a/meet-ce/backend/src/services/storage/providers/abs/abs-storage.provider.ts b/meet-ce/backend/src/services/storage/providers/abs/abs-storage.provider.ts index 03808ec4..f6dc393a 100644 --- a/meet-ce/backend/src/services/storage/providers/abs/abs-storage.provider.ts +++ b/meet-ce/backend/src/services/storage/providers/abs/abs-storage.provider.ts @@ -1,7 +1,8 @@ import { inject, injectable } from 'inversify'; import { Readable } from 'stream'; -import { ABSService, LoggerService } from '../../../index.js'; +import { LoggerService } from '../../../logger.service.js'; import { StorageProvider } from '../../storage.interface.js'; +import { ABSService } from './abs.service.js'; /** * Basic Azure Blob Storage provider that implements only primitive storage operations. diff --git a/meet-ce/backend/src/services/storage/providers/abs/abs.service.ts b/meet-ce/backend/src/services/storage/providers/abs/abs.service.ts index 5de42484..f7eb4358 100644 --- a/meet-ce/backend/src/services/storage/providers/abs/abs.service.ts +++ b/meet-ce/backend/src/services/storage/providers/abs/abs.service.ts @@ -9,7 +9,7 @@ import { inject, injectable } from 'inversify'; import { Readable } from 'stream'; import { MEET_ENV } from '../../../../environment.js'; import { errorAzureNotAvailable, internalError } from '../../../../models/error.model.js'; -import { LoggerService } from '../../../index.js'; +import { LoggerService } from '../../../logger.service.js'; @injectable() export class ABSService { diff --git a/meet-ce/backend/src/services/storage/providers/gcp/gcs-storage.provider.ts b/meet-ce/backend/src/services/storage/providers/gcp/gcs-storage.provider.ts index ef768b61..381032dc 100644 --- a/meet-ce/backend/src/services/storage/providers/gcp/gcs-storage.provider.ts +++ b/meet-ce/backend/src/services/storage/providers/gcp/gcs-storage.provider.ts @@ -1,7 +1,8 @@ import { inject, injectable } from 'inversify'; import { Readable } from 'stream'; -import { GCSService, LoggerService } from '../../../index.js'; +import { LoggerService } from '../../../logger.service.js'; import { StorageProvider } from '../../storage.interface.js'; +import { GCSService } from './gcs.service.js'; /** * Basic GCS storage provider that implements only primitive storage operations. diff --git a/meet-ce/backend/src/services/storage/providers/gcp/gcs.service.ts b/meet-ce/backend/src/services/storage/providers/gcp/gcs.service.ts index bb7c9033..20920046 100644 --- a/meet-ce/backend/src/services/storage/providers/gcp/gcs.service.ts +++ b/meet-ce/backend/src/services/storage/providers/gcp/gcs.service.ts @@ -4,7 +4,7 @@ import { Readable } from 'stream'; import { INTERNAL_CONFIG } from '../../../../config/internal-config.js'; import { MEET_ENV } from '../../../../environment.js'; import { errorS3NotAvailable, internalError } from '../../../../models/error.model.js'; -import { LoggerService } from '../../../index.js'; +import { LoggerService } from '../../../logger.service.js'; @injectable() export class GCSService { diff --git a/meet-ce/backend/src/services/storage/providers/s3/s3-storage.provider.ts b/meet-ce/backend/src/services/storage/providers/s3/s3-storage.provider.ts index 2c32c519..08814421 100644 --- a/meet-ce/backend/src/services/storage/providers/s3/s3-storage.provider.ts +++ b/meet-ce/backend/src/services/storage/providers/s3/s3-storage.provider.ts @@ -1,7 +1,8 @@ import { inject, injectable } from 'inversify'; import { Readable } from 'stream'; -import { LoggerService, S3Service } from '../../../index.js'; +import { LoggerService } from '../../../logger.service.js'; import { StorageProvider } from '../../storage.interface.js'; +import { S3Service } from './s3.service.js'; /** * Basic S3 storage provider that implements only primitive storage operations. diff --git a/meet-ce/backend/src/services/storage/providers/s3/s3.service.ts b/meet-ce/backend/src/services/storage/providers/s3/s3.service.ts index 828a272f..d740eaa0 100644 --- a/meet-ce/backend/src/services/storage/providers/s3/s3.service.ts +++ b/meet-ce/backend/src/services/storage/providers/s3/s3.service.ts @@ -17,7 +17,7 @@ import { Readable } from 'stream'; import { INTERNAL_CONFIG } from '../../../../config/internal-config.js'; import { MEET_ENV } from '../../../../environment.js'; import { errorS3NotAvailable, internalError } from '../../../../models/error.model.js'; -import { LoggerService } from '../../../index.js'; +import { LoggerService } from '../../../logger.service.js'; @injectable() export class S3Service { diff --git a/meet-ce/backend/src/services/storage/storage-init.service.ts b/meet-ce/backend/src/services/storage/storage-init.service.ts index 389e0cce..1b708229 100644 --- a/meet-ce/backend/src/services/storage/storage-init.service.ts +++ b/meet-ce/backend/src/services/storage/storage-init.service.ts @@ -1,10 +1,14 @@ import { inject, injectable } from 'inversify'; import ms from 'ms'; import { MEET_ENV } from '../../environment.js'; -import { MeetLock } from '../../helpers/index.js'; -import { internalError } from '../../models/index.js'; -import { GlobalConfigRepository } from '../../repositories/index.js'; -import { ApiKeyService, GlobalConfigService, LoggerService, MutexService, UserService } from '../index.js'; +import { MeetLock } from '../../helpers/redis.helper.js'; +import { internalError } from '../../models/error.model.js'; +import { GlobalConfigRepository } from '../../repositories/global-config.repository.js'; +import { ApiKeyService } from '../api-key.service.js'; +import { GlobalConfigService } from '../global-config.service.js'; +import { LoggerService } from '../logger.service.js'; +import { MutexService } from '../mutex.service.js'; +import { UserService } from '../user.service.js'; /** * Service responsible for storage initialization. diff --git a/meet-ce/backend/src/services/storage/storage.factory.ts b/meet-ce/backend/src/services/storage/storage.factory.ts index 631e562f..57f14552 100644 --- a/meet-ce/backend/src/services/storage/storage.factory.ts +++ b/meet-ce/backend/src/services/storage/storage.factory.ts @@ -1,6 +1,6 @@ import { inject, injectable } from 'inversify'; import { container, STORAGE_TYPES } from '../../config/dependency-injector.config.js'; -import { LoggerService } from '../index.js'; +import { LoggerService } from '../logger.service.js'; import { StorageKeyBuilder, StorageProvider } from './storage.interface.js'; /** diff --git a/meet-ce/backend/src/services/task-scheduler.service.ts b/meet-ce/backend/src/services/task-scheduler.service.ts index be2d7109..45aed834 100644 --- a/meet-ce/backend/src/services/task-scheduler.service.ts +++ b/meet-ce/backend/src/services/task-scheduler.service.ts @@ -2,9 +2,11 @@ import { CronJob } from 'cron'; import { inject, injectable } from 'inversify'; import ms from 'ms'; import { INTERNAL_CONFIG } from '../config/internal-config.js'; -import { MeetLock } from '../helpers/index.js'; -import { IScheduledTask } from '../models/index.js'; -import { DistributedEventService, LoggerService, MutexService } from './index.js'; +import { MeetLock } from '../helpers/redis.helper.js'; +import { IScheduledTask } from '../models/task-scheduler.model.js'; +import { DistributedEventService } from './distributed-event.service.js'; +import { LoggerService } from './logger.service.js'; +import { MutexService } from './mutex.service.js'; @injectable() export class TaskSchedulerService { diff --git a/meet-ce/backend/src/services/token.service.ts b/meet-ce/backend/src/services/token.service.ts index cdec7c62..7ed0536d 100644 --- a/meet-ce/backend/src/services/token.service.ts +++ b/meet-ce/backend/src/services/token.service.ts @@ -9,7 +9,7 @@ import { jwtDecode } from 'jwt-decode'; import { AccessToken, AccessTokenOptions, ClaimGrants, TokenVerifier, VideoGrant } from 'livekit-server-sdk'; import { INTERNAL_CONFIG } from '../config/internal-config.js'; import { MEET_ENV } from '../environment.js'; -import { LoggerService } from './index.js'; +import { LoggerService } from './logger.service.js'; @injectable() export class TokenService { diff --git a/meet-ce/backend/src/services/user.service.ts b/meet-ce/backend/src/services/user.service.ts index 7ee48642..b0c5cde8 100644 --- a/meet-ce/backend/src/services/user.service.ts +++ b/meet-ce/backend/src/services/user.service.ts @@ -4,8 +4,8 @@ import { INTERNAL_CONFIG } from '../config/internal-config.js'; import { MEET_ENV } from '../environment.js'; import { PasswordHelper } from '../helpers/password.helper.js'; import { errorInvalidPassword, internalError } from '../models/error.model.js'; -import { UserRepository } from '../repositories/index.js'; -import { LoggerService } from './index.js'; +import { UserRepository } from '../repositories/user.repository.js'; +import { LoggerService } from './logger.service.js'; @injectable() export class UserService { diff --git a/meet-ce/backend/src/utils/index.ts b/meet-ce/backend/src/utils/index.ts deleted file mode 100644 index dbecc55e..00000000 --- a/meet-ce/backend/src/utils/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './array.utils.js'; -export * from './token.utils.js'; -export * from './url.utils.js'; -export * from './path.utils.js'; diff --git a/meet-ce/backend/tests/helpers/assertion-helpers.ts b/meet-ce/backend/tests/helpers/assertion-helpers.ts index cc4c70b8..4184c897 100644 --- a/meet-ce/backend/tests/helpers/assertion-helpers.ts +++ b/meet-ce/backend/tests/helpers/assertion-helpers.ts @@ -1,9 +1,4 @@ import { expect } from '@jest/globals'; -import { Response } from 'supertest'; -import { container } from '../../src/config/dependency-injector.config'; -import { INTERNAL_CONFIG } from '../../src/config/internal-config'; -import { TokenService } from '../../src/services'; - import { MeetingEndAction, MeetRecordingAccess, @@ -18,6 +13,10 @@ import { MeetRoomMemberRole, MeetRoomStatus } from '@openvidu-meet/typings'; +import { Response } from 'supertest'; +import { container } from '../../src/config/dependency-injector.config'; +import { INTERNAL_CONFIG } from '../../src/config/internal-config'; +import { TokenService } from '../../src/services/token.service'; export const expectErrorResponse = ( response: Response, diff --git a/meet-ce/backend/tests/helpers/event-controller.ts b/meet-ce/backend/tests/helpers/event-controller.ts index e4781f0a..b93e7ba5 100644 --- a/meet-ce/backend/tests/helpers/event-controller.ts +++ b/meet-ce/backend/tests/helpers/event-controller.ts @@ -1,6 +1,6 @@ -import { container } from '../../src/config/index.js'; -import { DistributedEventType } from '../../src/models'; -import { DistributedEventService } from '../../src/services'; +import { container } from '../../src/config/dependency-injector.config'; +import { DistributedEventType } from '../../src/models/distributed-event.model'; +import { DistributedEventService } from '../../src/services/distributed-event.service'; export const eventController = { systemEventService: undefined as unknown as DistributedEventService, diff --git a/meet-ce/backend/tests/helpers/request-helpers.ts b/meet-ce/backend/tests/helpers/request-helpers.ts index 4c454800..3a45b5ce 100644 --- a/meet-ce/backend/tests/helpers/request-helpers.ts +++ b/meet-ce/backend/tests/helpers/request-helpers.ts @@ -21,11 +21,14 @@ import { ChildProcess, spawn } from 'child_process'; import { Express } from 'express'; import ms, { StringValue } from 'ms'; import request, { Response } from 'supertest'; -import { container, initializeEagerServices } from '../../src/config/index.js'; +import { container, initializeEagerServices } from '../../src/config/dependency-injector.config.js'; import { INTERNAL_CONFIG } from '../../src/config/internal-config.js'; import { MEET_ENV } from '../../src/environment.js'; import { createApp, registerDependencies } from '../../src/server.js'; -import { ApiKeyService, GlobalConfigService, RecordingService, RoomService } from '../../src/services/index.js'; +import { ApiKeyService } from '../../src/services/api-key.service.js'; +import { GlobalConfigService } from '../../src/services/global-config.service.js'; +import { RecordingService } from '../../src/services/recording.service.js'; +import { RoomService } from '../../src/services/room.service.js'; const CREDENTIALS = { admin: { diff --git a/meet-ce/backend/tests/helpers/test-scenarios.ts b/meet-ce/backend/tests/helpers/test-scenarios.ts index ba68c8a9..e317c204 100644 --- a/meet-ce/backend/tests/helpers/test-scenarios.ts +++ b/meet-ce/backend/tests/helpers/test-scenarios.ts @@ -2,7 +2,7 @@ import { MeetRoom, MeetRoomConfig } from '@openvidu-meet/typings'; import express, { Request, Response } from 'express'; import http from 'http'; import { StringValue } from 'ms'; -import { MeetRoomHelper } from '../../src/helpers'; +import { MeetRoomHelper } from '../../src/helpers/room.helper'; import { expectValidStartRecordingResponse } from './assertion-helpers'; import { createRoom, diff --git a/meet-ce/backend/tests/integration/api/meetings/end-meeting.test.ts b/meet-ce/backend/tests/integration/api/meetings/end-meeting.test.ts index 049c9ee8..d6542a8f 100644 --- a/meet-ce/backend/tests/integration/api/meetings/end-meeting.test.ts +++ b/meet-ce/backend/tests/integration/api/meetings/end-meeting.test.ts @@ -1,7 +1,7 @@ import { afterAll, beforeAll, describe, expect, it } from '@jest/globals'; -import { container } from '../../../../src/config/index.js'; +import { container } from '../../../../src/config/dependency-injector.config.js'; import { OpenViduMeetError } from '../../../../src/models/error.model.js'; -import { LiveKitService } from '../../../../src/services/index.js'; +import { LiveKitService } from '../../../../src/services/livekit.service.js'; import { deleteAllRooms, deleteRoom, diff --git a/meet-ce/backend/tests/integration/api/meetings/kick-participant.test.ts b/meet-ce/backend/tests/integration/api/meetings/kick-participant.test.ts index 35f4e91a..f2100a27 100644 --- a/meet-ce/backend/tests/integration/api/meetings/kick-participant.test.ts +++ b/meet-ce/backend/tests/integration/api/meetings/kick-participant.test.ts @@ -1,7 +1,7 @@ import { afterAll, beforeAll, beforeEach, describe, expect, it } from '@jest/globals'; -import { container } from '../../../../src/config/index.js'; +import { container } from '../../../../src/config/dependency-injector.config.js'; import { OpenViduMeetError } from '../../../../src/models/error.model.js'; -import { LiveKitService } from '../../../../src/services/index.js'; +import { LiveKitService } from '../../../../src/services/livekit.service.js'; import { deleteAllRooms, deleteRoom, diff --git a/meet-ce/backend/tests/integration/api/meetings/participant-name.service.test.ts b/meet-ce/backend/tests/integration/api/meetings/participant-name.service.test.ts index 538eddd1..282c81b8 100644 --- a/meet-ce/backend/tests/integration/api/meetings/participant-name.service.test.ts +++ b/meet-ce/backend/tests/integration/api/meetings/participant-name.service.test.ts @@ -1,6 +1,6 @@ import { afterEach, beforeAll, describe, expect, it } from '@jest/globals'; import ms from 'ms'; -import { container, registerDependencies } from '../../../../src/config/index.js'; +import { container, registerDependencies } from '../../../../src/config/dependency-injector.config.js'; import { ParticipantNameService } from '../../../../src/services/participant-name.service.js'; import { RedisService } from '../../../../src/services/redis.service.js'; diff --git a/meet-ce/backend/tests/integration/api/meetings/update-participant.test.ts b/meet-ce/backend/tests/integration/api/meetings/update-participant.test.ts index b579e340..ccf842c6 100644 --- a/meet-ce/backend/tests/integration/api/meetings/update-participant.test.ts +++ b/meet-ce/backend/tests/integration/api/meetings/update-participant.test.ts @@ -1,8 +1,9 @@ import { afterAll, beforeAll, beforeEach, describe, expect, it, jest } from '@jest/globals'; import { MeetRoomMemberRole, MeetRoomMemberTokenMetadata, MeetSignalType } from '@openvidu-meet/typings'; -import { container } from '../../../../src/config/index.js'; +import { container } from '../../../../src/config/dependency-injector.config.js'; import { MEET_ENV } from '../../../../src/environment.js'; -import { FrontendEventService, LiveKitService } from '../../../../src/services/index.js'; +import { FrontendEventService } from '../../../../src/services/frontend-event.service.js'; +import { LiveKitService } from '../../../../src/services/livekit.service.js'; import { getPermissions } from '../../../helpers/assertion-helpers.js'; import { deleteAllRooms, diff --git a/meet-ce/backend/tests/integration/api/recordings/orphaned-locks-collector.test.ts b/meet-ce/backend/tests/integration/api/recordings/orphaned-locks-collector.test.ts index 9711319f..29e72b6d 100644 --- a/meet-ce/backend/tests/integration/api/recordings/orphaned-locks-collector.test.ts +++ b/meet-ce/backend/tests/integration/api/recordings/orphaned-locks-collector.test.ts @@ -1,17 +1,14 @@ import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, jest } from '@jest/globals'; +import { Lock } from '@sesamecare-oss/redlock'; import { EgressInfo, EgressStatus, Room } from 'livekit-server-sdk'; import ms from 'ms'; -import { Lock } from '@sesamecare-oss/redlock'; -import { container } from '../../../../src/config/index.js'; +import { container } from '../../../../src/config/dependency-injector.config.js'; import { INTERNAL_CONFIG } from '../../../../src/config/internal-config.js'; -import { MeetLock } from '../../../../src/helpers/index.js'; -import { - LiveKitService, - LoggerService, - MutexService, - RecordingService, - RedisLock -} from '../../../../src/services/index.js'; +import { MeetLock } from '../../../../src/helpers/redis.helper.js'; +import { LiveKitService } from '../../../../src/services/livekit.service.js'; +import { LoggerService } from '../../../../src/services/logger.service.js'; +import { MutexService, RedisLock } from '../../../../src/services/mutex.service.js'; +import { RecordingService } from '../../../../src/services/recording.service.js'; import { startTestServer } from '../../../helpers/request-helpers.js'; describe('Recording Garbage Collector Tests', () => { diff --git a/meet-ce/backend/tests/integration/api/recordings/race-conditions.test.ts b/meet-ce/backend/tests/integration/api/recordings/race-conditions.test.ts index a1db1b41..c03f910a 100644 --- a/meet-ce/backend/tests/integration/api/recordings/race-conditions.test.ts +++ b/meet-ce/backend/tests/integration/api/recordings/race-conditions.test.ts @@ -1,8 +1,6 @@ import { afterEach, beforeAll, describe, expect, it, jest } from '@jest/globals'; -import { container } from '../../../../src/config/index.js'; import { setInternalConfig } from '../../../../src/config/internal-config.js'; import { DistributedEventType } from '../../../../src/models/distributed-event.model.js'; -import { RecordingService } from '../../../../src/services'; import { expectValidStartRecordingResponse, expectValidStopRecordingResponse @@ -27,6 +25,8 @@ import { setupMultiRoomTestContext, TestContext } from '../../../helpers/test-scenarios'; +import { container } from '../../../../src/config/dependency-injector.config.js'; +import { RecordingService } from '../../../../src/services/recording.service.js'; describe('Recording API Race Conditions Tests', () => { let context: TestContext | null = null; diff --git a/meet-ce/backend/tests/integration/api/rooms/update-room-config.test.ts b/meet-ce/backend/tests/integration/api/rooms/update-room-config.test.ts index f5a3e0e5..03f16816 100644 --- a/meet-ce/backend/tests/integration/api/rooms/update-room-config.test.ts +++ b/meet-ce/backend/tests/integration/api/rooms/update-room-config.test.ts @@ -1,7 +1,7 @@ import { afterEach, beforeAll, describe, expect, it, jest } from '@jest/globals'; import { MeetRecordingAccess, MeetRoomConfig, MeetSignalType } from '@openvidu-meet/typings'; -import { container } from '../../../../src/config/index.js'; -import { FrontendEventService } from '../../../../src/services/index.js'; +import { container } from '../../../../src/config/dependency-injector.config.js'; +import { FrontendEventService } from '../../../../src/services/frontend-event.service.js'; import { createRoom, deleteAllRooms,