From ef4a492cb14424de3a791004af6604a795e1eae9 Mon Sep 17 00:00:00 2001 From: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com> Date: Thu, 21 Mar 2024 00:07:30 +0100 Subject: [PATCH] chore(server): move services (#8133) move services --- .vscode/settings.json | 4 ++ .../jobs/specs/library-watcher.e2e-spec.ts | 2 +- server/src/apps/api.service.ts | 14 +++--- server/src/apps/app.module.ts | 48 +++++++++---------- server/src/apps/microservices.service.ts | 26 +++++----- server/src/commands/list-users.command.ts | 2 +- server/src/commands/oauth-login.ts | 2 +- server/src/commands/password-login.ts | 2 +- .../commands/reset-admin-password.command.ts | 2 +- server/src/controllers/activity.controller.ts | 2 +- server/src/controllers/album.controller.ts | 2 +- server/src/controllers/api-key.controller.ts | 2 +- server/src/controllers/app.controller.ts | 2 +- server/src/controllers/asset.controller.ts | 4 +- server/src/controllers/audit.controller.ts | 2 +- server/src/controllers/auth.controller.ts | 2 +- server/src/controllers/download.controller.ts | 2 +- server/src/controllers/face.controller.ts | 2 +- server/src/controllers/job.controller.ts | 2 +- server/src/controllers/library.controller.ts | 2 +- server/src/controllers/oauth.controller.ts | 2 +- server/src/controllers/partner.controller.ts | 2 +- server/src/controllers/person.controller.ts | 2 +- server/src/controllers/search.controller.ts | 2 +- .../src/controllers/server-info.controller.ts | 2 +- .../src/controllers/shared-link.controller.ts | 2 +- .../controllers/system-config.controller.ts | 4 +- server/src/controllers/tag.controller.ts | 2 +- server/src/controllers/trash.controller.ts | 2 +- server/src/controllers/user.controller.ts | 2 +- .../system-config-map-theme.dto.ts | 0 .../src/immich/api-v1/asset/asset.service.ts | 2 +- server/src/middleware/auth.guard.ts | 2 +- .../src/middleware/file-upload.interceptor.ts | 2 +- .../repositories/communication.repository.ts | 2 +- .../activity.service.spec.ts} | 2 +- .../activity => services}/activity.service.ts | 0 .../album => services}/album.service.spec.ts | 2 +- .../album => services}/album.service.ts | 0 .../api-key.service.spec.ts | 2 +- .../api-key => services}/api-key.service.ts | 0 .../asset => services}/asset.service.spec.ts | 2 +- .../asset => services}/asset.service.ts | 0 .../audit => services}/audit.service.spec.ts | 2 +- .../audit => services}/audit.service.ts | 0 .../auth => services}/auth.service.spec.ts | 2 +- .../{domain/auth => services}/auth.service.ts | 0 .../database.service.spec.ts | 2 +- .../database => services}/database.service.ts | 0 .../download.service.spec.ts | 2 +- .../download => services}/download.service.ts | 0 .../job => services}/job.service.spec.ts | 2 +- .../{domain/job => services}/job.service.ts | 0 .../library.service.spec.ts | 2 +- .../library => services}/library.service.ts | 0 .../media => services}/media.service.spec.ts | 2 +- .../media => services}/media.service.ts | 0 .../metadata.service.spec.ts | 2 +- .../metadata => services}/metadata.service.ts | 0 .../partner.service.spec.ts | 2 +- .../partner => services}/partner.service.ts | 0 .../person.service.spec.ts | 2 +- .../person => services}/person.service.ts | 0 .../search.service.spec.ts | 2 +- .../search => services}/search.service.ts | 0 .../server-info.service.spec.ts | 2 +- .../server-info.service.ts | 0 .../shared-link.service.spec.ts | 2 +- .../shared-link.service.ts | 0 .../smart-info.service.spec.ts | 2 +- .../smart-info.service.ts | 0 .../storage-template.service.spec.ts | 2 +- .../storage-template.service.ts | 0 .../storage.service.spec.ts | 2 +- .../storage => services}/storage.service.ts | 0 .../system-config.service.spec.ts | 2 +- .../system-config.service.ts | 0 .../tag => services}/tag.service.spec.ts | 2 +- .../{domain/tag => services}/tag.service.ts | 0 .../trash => services}/trash.service.spec.ts | 2 +- .../trash => services}/trash.service.ts | 0 .../user => services}/user.service.spec.ts | 2 +- .../{domain/user => services}/user.service.ts | 0 83 files changed, 104 insertions(+), 100 deletions(-) rename server/src/{domain/system-config => dtos}/system-config-map-theme.dto.ts (100%) rename server/src/{domain/activity/activity.spec.ts => services/activity.service.spec.ts} (98%) rename server/src/{domain/activity => services}/activity.service.ts (100%) rename server/src/{domain/album => services}/album.service.spec.ts (99%) rename server/src/{domain/album => services}/album.service.ts (100%) rename server/src/{domain/api-key => services}/api-key.service.spec.ts (98%) rename server/src/{domain/api-key => services}/api-key.service.ts (100%) rename server/src/{domain/asset => services}/asset.service.spec.ts (99%) rename server/src/{domain/asset => services}/asset.service.ts (100%) rename server/src/{domain/audit => services}/audit.service.spec.ts (98%) rename server/src/{domain/audit => services}/audit.service.ts (100%) rename server/src/{domain/auth => services}/auth.service.spec.ts (99%) rename server/src/{domain/auth => services}/auth.service.ts (100%) rename server/src/{domain/database => services}/database.service.spec.ts (99%) rename server/src/{domain/database => services}/database.service.ts (100%) rename server/src/{domain/download => services}/download.service.spec.ts (99%) rename server/src/{domain/download => services}/download.service.ts (100%) rename server/src/{domain/job => services}/job.service.spec.ts (99%) rename server/src/{domain/job => services}/job.service.ts (100%) rename server/src/{domain/library => services}/library.service.spec.ts (99%) rename server/src/{domain/library => services}/library.service.ts (100%) rename server/src/{domain/media => services}/media.service.spec.ts (99%) rename server/src/{domain/media => services}/media.service.ts (100%) rename server/src/{domain/metadata => services}/metadata.service.spec.ts (99%) rename server/src/{domain/metadata => services}/metadata.service.ts (100%) rename server/src/{domain/partner => services}/partner.service.spec.ts (98%) rename server/src/{domain/partner => services}/partner.service.ts (100%) rename server/src/{domain/person => services}/person.service.spec.ts (99%) rename server/src/{domain/person => services}/person.service.ts (100%) rename server/src/{domain/search => services}/search.service.spec.ts (99%) rename server/src/{domain/search => services}/search.service.ts (100%) rename server/src/{domain/server-info => services}/server-info.service.spec.ts (99%) rename server/src/{domain/server-info => services}/server-info.service.ts (100%) rename server/src/{domain/shared-link => services}/shared-link.service.spec.ts (99%) rename server/src/{domain/shared-link => services}/shared-link.service.ts (100%) rename server/src/{domain/smart-info => services}/smart-info.service.spec.ts (98%) rename server/src/{domain/smart-info => services}/smart-info.service.ts (100%) rename server/src/{domain/storage-template => services}/storage-template.service.spec.ts (99%) rename server/src/{domain/storage-template => services}/storage-template.service.ts (100%) rename server/src/{domain/storage => services}/storage.service.spec.ts (95%) rename server/src/{domain/storage => services}/storage.service.ts (100%) rename server/src/{domain/system-config => services}/system-config.service.spec.ts (99%) rename server/src/{domain/system-config => services}/system-config.service.ts (100%) rename server/src/{domain/tag => services}/tag.service.spec.ts (99%) rename server/src/{domain/tag => services}/tag.service.ts (100%) rename server/src/{domain/trash => services}/trash.service.spec.ts (98%) rename server/src/{domain/trash => services}/trash.service.ts (100%) rename server/src/{domain/user => services}/user.service.spec.ts (99%) rename server/src/{domain/user => services}/user.service.ts (100%) diff --git a/.vscode/settings.json b/.vscode/settings.json index eae6e1a16dd9e..3267c67132636 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -27,4 +27,8 @@ "cSpell.words": [ "immich" ], + "explorer.fileNesting.enabled": true, + "explorer.fileNesting.patterns": { + "*.ts": "${capture}.spec.ts,${capture}.mock.ts" + } } \ No newline at end of file diff --git a/server/e2e/jobs/specs/library-watcher.e2e-spec.ts b/server/e2e/jobs/specs/library-watcher.e2e-spec.ts index 0a005c7d540be..5ce0868b9f3e5 100644 --- a/server/e2e/jobs/specs/library-watcher.e2e-spec.ts +++ b/server/e2e/jobs/specs/library-watcher.e2e-spec.ts @@ -1,12 +1,12 @@ import { api } from 'e2e/client'; import fs from 'node:fs/promises'; import path from 'node:path'; -import { LibraryService } from 'src/domain/library/library.service'; import { LoginResponseDto } from 'src/dtos/auth.dto'; import { LibraryResponseDto } from 'src/dtos/library.dto'; import { AssetType } from 'src/entities/asset.entity'; import { LibraryType } from 'src/entities/library.entity'; import { StorageEventType } from 'src/interfaces/storage.repository'; +import { LibraryService } from 'src/services/library.service'; import { IMMICH_TEST_ASSET_PATH, IMMICH_TEST_ASSET_TEMP_PATH, diff --git a/server/src/apps/api.service.ts b/server/src/apps/api.service.ts index 31134cefad121..fbd0d0e4a7d8b 100644 --- a/server/src/apps/api.service.ts +++ b/server/src/apps/api.service.ts @@ -3,15 +3,15 @@ import { Cron, CronExpression, Interval } from '@nestjs/schedule'; import { NextFunction, Request, Response } from 'express'; import { readFileSync } from 'node:fs'; import { join } from 'node:path'; -import { AuthService } from 'src/domain/auth/auth.service'; -import { DatabaseService } from 'src/domain/database/database.service'; import { ONE_HOUR, WEB_ROOT } from 'src/domain/domain.constant'; -import { JobService } from 'src/domain/job/job.service'; -import { ServerInfoService } from 'src/domain/server-info/server-info.service'; -import { SharedLinkService } from 'src/domain/shared-link/shared-link.service'; -import { StorageService } from 'src/domain/storage/storage.service'; -import { SystemConfigService } from 'src/domain/system-config/system-config.service'; import { ImmichLogger } from 'src/infra/logger'; +import { AuthService } from 'src/services/auth.service'; +import { DatabaseService } from 'src/services/database.service'; +import { JobService } from 'src/services/job.service'; +import { ServerInfoService } from 'src/services/server-info.service'; +import { SharedLinkService } from 'src/services/shared-link.service'; +import { StorageService } from 'src/services/storage.service'; +import { SystemConfigService } from 'src/services/system-config.service'; import { OpenGraphTags } from 'src/utils'; const render = (index: string, meta: OpenGraphTags) => { diff --git a/server/src/apps/app.module.ts b/server/src/apps/app.module.ts index f134d33632a48..964e2d4e11671 100644 --- a/server/src/apps/app.module.ts +++ b/server/src/apps/app.module.ts @@ -6,30 +6,6 @@ import { ScheduleModule, SchedulerRegistry } from '@nestjs/schedule'; import { TypeOrmModule } from '@nestjs/typeorm'; import { OpenTelemetryModule } from 'nestjs-otel'; import { bullConfig, bullQueues, immichAppConfig } from 'src/config'; -import { ActivityService } from 'src/domain/activity/activity.service'; -import { AlbumService } from 'src/domain/album/album.service'; -import { APIKeyService } from 'src/domain/api-key/api-key.service'; -import { AssetService } from 'src/domain/asset/asset.service'; -import { AuditService } from 'src/domain/audit/audit.service'; -import { AuthService } from 'src/domain/auth/auth.service'; -import { DatabaseService } from 'src/domain/database/database.service'; -import { DownloadService } from 'src/domain/download/download.service'; -import { JobService } from 'src/domain/job/job.service'; -import { LibraryService } from 'src/domain/library/library.service'; -import { MediaService } from 'src/domain/media/media.service'; -import { MetadataService } from 'src/domain/metadata/metadata.service'; -import { PartnerService } from 'src/domain/partner/partner.service'; -import { PersonService } from 'src/domain/person/person.service'; -import { SearchService } from 'src/domain/search/search.service'; -import { ServerInfoService } from 'src/domain/server-info/server-info.service'; -import { SharedLinkService } from 'src/domain/shared-link/shared-link.service'; -import { SmartInfoService } from 'src/domain/smart-info/smart-info.service'; -import { StorageTemplateService } from 'src/domain/storage-template/storage-template.service'; -import { StorageService } from 'src/domain/storage/storage.service'; -import { SystemConfigService } from 'src/domain/system-config/system-config.service'; -import { TagService } from 'src/domain/tag/tag.service'; -import { TrashService } from 'src/domain/trash/trash.service'; -import { UserService } from 'src/domain/user/user.service'; import { databaseEntities } from 'src/entities'; import { databaseConfig } from 'src/infra/database.config'; import { otelConfig } from 'src/infra/instrumentation'; @@ -88,6 +64,30 @@ import { SystemMetadataRepository } from 'src/repositories/system-metadata.repos import { TagRepository } from 'src/repositories/tag.repository'; import { UserTokenRepository } from 'src/repositories/user-token.repository'; import { UserRepository } from 'src/repositories/user.repository'; +import { ActivityService } from 'src/services/activity.service'; +import { AlbumService } from 'src/services/album.service'; +import { APIKeyService } from 'src/services/api-key.service'; +import { AssetService } from 'src/services/asset.service'; +import { AuditService } from 'src/services/audit.service'; +import { AuthService } from 'src/services/auth.service'; +import { DatabaseService } from 'src/services/database.service'; +import { DownloadService } from 'src/services/download.service'; +import { JobService } from 'src/services/job.service'; +import { LibraryService } from 'src/services/library.service'; +import { MediaService } from 'src/services/media.service'; +import { MetadataService } from 'src/services/metadata.service'; +import { PartnerService } from 'src/services/partner.service'; +import { PersonService } from 'src/services/person.service'; +import { SearchService } from 'src/services/search.service'; +import { ServerInfoService } from 'src/services/server-info.service'; +import { SharedLinkService } from 'src/services/shared-link.service'; +import { SmartInfoService } from 'src/services/smart-info.service'; +import { StorageTemplateService } from 'src/services/storage-template.service'; +import { StorageService } from 'src/services/storage.service'; +import { SystemConfigService } from 'src/services/system-config.service'; +import { TagService } from 'src/services/tag.service'; +import { TrashService } from 'src/services/trash.service'; +import { UserService } from 'src/services/user.service'; const services: Provider[] = [ APIKeyService, diff --git a/server/src/apps/microservices.service.ts b/server/src/apps/microservices.service.ts index bfdc37576b5f2..8f11583bebc7b 100644 --- a/server/src/apps/microservices.service.ts +++ b/server/src/apps/microservices.service.ts @@ -1,20 +1,20 @@ import { Injectable } from '@nestjs/common'; -import { AssetService } from 'src/domain/asset/asset.service'; -import { AuditService } from 'src/domain/audit/audit.service'; -import { DatabaseService } from 'src/domain/database/database.service'; import { JobName } from 'src/domain/job/job.constants'; import { IDeleteFilesJob } from 'src/domain/job/job.interface'; -import { JobService } from 'src/domain/job/job.service'; -import { LibraryService } from 'src/domain/library/library.service'; -import { MediaService } from 'src/domain/media/media.service'; -import { MetadataService } from 'src/domain/metadata/metadata.service'; -import { PersonService } from 'src/domain/person/person.service'; -import { SmartInfoService } from 'src/domain/smart-info/smart-info.service'; -import { StorageTemplateService } from 'src/domain/storage-template/storage-template.service'; -import { StorageService } from 'src/domain/storage/storage.service'; -import { SystemConfigService } from 'src/domain/system-config/system-config.service'; -import { UserService } from 'src/domain/user/user.service'; import { otelSDK } from 'src/infra/instrumentation'; +import { AssetService } from 'src/services/asset.service'; +import { AuditService } from 'src/services/audit.service'; +import { DatabaseService } from 'src/services/database.service'; +import { JobService } from 'src/services/job.service'; +import { LibraryService } from 'src/services/library.service'; +import { MediaService } from 'src/services/media.service'; +import { MetadataService } from 'src/services/metadata.service'; +import { PersonService } from 'src/services/person.service'; +import { SmartInfoService } from 'src/services/smart-info.service'; +import { StorageTemplateService } from 'src/services/storage-template.service'; +import { StorageService } from 'src/services/storage.service'; +import { SystemConfigService } from 'src/services/system-config.service'; +import { UserService } from 'src/services/user.service'; @Injectable() export class MicroservicesService { diff --git a/server/src/commands/list-users.command.ts b/server/src/commands/list-users.command.ts index 222833fad2fcd..32bcc35d951cb 100644 --- a/server/src/commands/list-users.command.ts +++ b/server/src/commands/list-users.command.ts @@ -1,6 +1,6 @@ import { Command, CommandRunner } from 'nest-commander'; -import { UserService } from 'src/domain/user/user.service'; import { UserEntity } from 'src/entities/user.entity'; +import { UserService } from 'src/services/user.service'; @Command({ name: 'list-users', diff --git a/server/src/commands/oauth-login.ts b/server/src/commands/oauth-login.ts index 12562fae18369..c9bb4d5ef43ff 100644 --- a/server/src/commands/oauth-login.ts +++ b/server/src/commands/oauth-login.ts @@ -1,5 +1,5 @@ import { Command, CommandRunner } from 'nest-commander'; -import { SystemConfigService } from 'src/domain/system-config/system-config.service'; +import { SystemConfigService } from 'src/services/system-config.service'; @Command({ name: 'enable-oauth-login', diff --git a/server/src/commands/password-login.ts b/server/src/commands/password-login.ts index 953a1293ad47e..3d992f85838ab 100644 --- a/server/src/commands/password-login.ts +++ b/server/src/commands/password-login.ts @@ -1,5 +1,5 @@ import { Command, CommandRunner } from 'nest-commander'; -import { SystemConfigService } from 'src/domain/system-config/system-config.service'; +import { SystemConfigService } from 'src/services/system-config.service'; @Command({ name: 'enable-password-login', diff --git a/server/src/commands/reset-admin-password.command.ts b/server/src/commands/reset-admin-password.command.ts index b67ef418e596a..a186603a3f13b 100644 --- a/server/src/commands/reset-admin-password.command.ts +++ b/server/src/commands/reset-admin-password.command.ts @@ -1,6 +1,6 @@ import { Command, CommandRunner, InquirerService, Question, QuestionSet } from 'nest-commander'; -import { UserService } from 'src/domain/user/user.service'; import { UserResponseDto } from 'src/dtos/user.dto'; +import { UserService } from 'src/services/user.service'; @Command({ name: 'reset-admin-password', diff --git a/server/src/controllers/activity.controller.ts b/server/src/controllers/activity.controller.ts index 92e8797aadde9..a65b284ca1e91 100644 --- a/server/src/controllers/activity.controller.ts +++ b/server/src/controllers/activity.controller.ts @@ -1,7 +1,6 @@ import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Query, Res } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { Response } from 'express'; -import { ActivityService } from 'src/domain/activity/activity.service'; import { ActivityCreateDto, ActivityDto, @@ -11,6 +10,7 @@ import { } from 'src/dtos/activity.dto'; import { AuthDto } from 'src/dtos/auth.dto'; import { Auth, Authenticated } from 'src/middleware/auth.guard'; +import { ActivityService } from 'src/services/activity.service'; import { UUIDParamDto } from 'src/validation'; @ApiTags('Activity') diff --git a/server/src/controllers/album.controller.ts b/server/src/controllers/album.controller.ts index 7cc39a860db1d..c4b11fbb4cd8e 100644 --- a/server/src/controllers/album.controller.ts +++ b/server/src/controllers/album.controller.ts @@ -1,6 +1,5 @@ import { Body, Controller, Delete, Get, Param, Patch, Post, Put, Query } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; -import { AlbumService } from 'src/domain/album/album.service'; import { AddUsersDto, AlbumCountResponseDto, @@ -13,6 +12,7 @@ import { import { BulkIdResponseDto, BulkIdsDto } from 'src/dtos/asset-ids.response.dto'; import { AuthDto } from 'src/dtos/auth.dto'; import { Auth, Authenticated, SharedLinkRoute } from 'src/middleware/auth.guard'; +import { AlbumService } from 'src/services/album.service'; import { ParseMeUUIDPipe, UUIDParamDto } from 'src/validation'; @ApiTags('Album') diff --git a/server/src/controllers/api-key.controller.ts b/server/src/controllers/api-key.controller.ts index 9b6838f8d2da5..564b90387412c 100644 --- a/server/src/controllers/api-key.controller.ts +++ b/server/src/controllers/api-key.controller.ts @@ -1,9 +1,9 @@ import { Body, Controller, Delete, Get, Param, Post, Put } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; -import { APIKeyService } from 'src/domain/api-key/api-key.service'; import { APIKeyCreateDto, APIKeyCreateResponseDto, APIKeyResponseDto, APIKeyUpdateDto } from 'src/dtos/api-key.dto'; import { AuthDto } from 'src/dtos/auth.dto'; import { Auth, Authenticated } from 'src/middleware/auth.guard'; +import { APIKeyService } from 'src/services/api-key.service'; import { UUIDParamDto } from 'src/validation'; @ApiTags('API Key') diff --git a/server/src/controllers/app.controller.ts b/server/src/controllers/app.controller.ts index d4c7ea5b48ad5..472d0da3f7749 100644 --- a/server/src/controllers/app.controller.ts +++ b/server/src/controllers/app.controller.ts @@ -1,7 +1,7 @@ import { Controller, Get, Header } from '@nestjs/common'; import { ApiExcludeEndpoint } from '@nestjs/swagger'; -import { SystemConfigService } from 'src/domain/system-config/system-config.service'; import { PublicRoute } from 'src/middleware/auth.guard'; +import { SystemConfigService } from 'src/services/system-config.service'; @Controller() export class AppController { diff --git a/server/src/controllers/asset.controller.ts b/server/src/controllers/asset.controller.ts index ca44aedfe92e9..37e169113740e 100644 --- a/server/src/controllers/asset.controller.ts +++ b/server/src/controllers/asset.controller.ts @@ -1,7 +1,5 @@ import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put, Query } from '@nestjs/common'; import { ApiOperation, ApiTags } from '@nestjs/swagger'; -import { AssetService } from 'src/domain/asset/asset.service'; -import { SearchService } from 'src/domain/search/search.service'; import { AssetResponseDto, MemoryLaneResponseDto } from 'src/dtos/asset-response.dto'; import { AssetBulkDeleteDto, @@ -19,6 +17,8 @@ import { UpdateStackParentDto } from 'src/dtos/stack.dto'; import { TimeBucketAssetDto, TimeBucketDto, TimeBucketResponseDto } from 'src/dtos/time-bucket.dto'; import { Auth, Authenticated, SharedLinkRoute } from 'src/middleware/auth.guard'; import { Route } from 'src/middleware/file-upload.interceptor'; +import { AssetService } from 'src/services/asset.service'; +import { SearchService } from 'src/services/search.service'; import { UUIDParamDto } from 'src/validation'; @ApiTags('Asset') diff --git a/server/src/controllers/audit.controller.ts b/server/src/controllers/audit.controller.ts index b4d27b4ce73fd..1487e78d47781 100644 --- a/server/src/controllers/audit.controller.ts +++ b/server/src/controllers/audit.controller.ts @@ -1,6 +1,5 @@ import { Body, Controller, Get, Post, Query } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; -import { AuditService } from 'src/domain/audit/audit.service'; import { AuditDeletesDto, AuditDeletesResponseDto, @@ -11,6 +10,7 @@ import { } from 'src/dtos/audit.dto'; import { AuthDto } from 'src/dtos/auth.dto'; import { AdminRoute, Auth, Authenticated } from 'src/middleware/auth.guard'; +import { AuditService } from 'src/services/audit.service'; @ApiTags('Audit') @Controller('audit') diff --git a/server/src/controllers/auth.controller.ts b/server/src/controllers/auth.controller.ts index 6197c1e5fef70..cbb649dc0851a 100644 --- a/server/src/controllers/auth.controller.ts +++ b/server/src/controllers/auth.controller.ts @@ -2,7 +2,6 @@ import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Req, import { ApiTags } from '@nestjs/swagger'; import { Request, Response } from 'express'; import { IMMICH_ACCESS_COOKIE, IMMICH_AUTH_TYPE_COOKIE, IMMICH_IS_AUTHENTICATED } from 'src/domain/auth/auth.constant'; -import { AuthService, LoginDetails } from 'src/domain/auth/auth.service'; import { AuthDeviceResponseDto, AuthDto, @@ -15,6 +14,7 @@ import { } from 'src/dtos/auth.dto'; import { UserResponseDto, mapUser } from 'src/dtos/user.dto'; import { Auth, Authenticated, GetLoginDetails, PublicRoute } from 'src/middleware/auth.guard'; +import { AuthService, LoginDetails } from 'src/services/auth.service'; import { UUIDParamDto } from 'src/validation'; @ApiTags('Authentication') diff --git a/server/src/controllers/download.controller.ts b/server/src/controllers/download.controller.ts index 8ba5d4281acf0..66cdc1facd28e 100644 --- a/server/src/controllers/download.controller.ts +++ b/server/src/controllers/download.controller.ts @@ -1,12 +1,12 @@ import { Body, Controller, HttpCode, HttpStatus, Next, Param, Post, Res, StreamableFile } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { NextFunction, Response } from 'express'; -import { DownloadService } from 'src/domain/download/download.service'; import { AssetIdsDto } from 'src/dtos/asset.dto'; import { AuthDto } from 'src/dtos/auth.dto'; import { DownloadInfoDto, DownloadResponseDto } from 'src/dtos/download.dto'; import { asStreamableFile, sendFile } from 'src/immich/app.utils'; import { Auth, Authenticated, FileResponse, SharedLinkRoute } from 'src/middleware/auth.guard'; +import { DownloadService } from 'src/services/download.service'; import { UUIDParamDto } from 'src/validation'; @ApiTags('Download') diff --git a/server/src/controllers/face.controller.ts b/server/src/controllers/face.controller.ts index d5712d6b79280..a3f33fb867498 100644 --- a/server/src/controllers/face.controller.ts +++ b/server/src/controllers/face.controller.ts @@ -1,9 +1,9 @@ import { Body, Controller, Get, Param, Put, Query } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; -import { PersonService } from 'src/domain/person/person.service'; import { AuthDto } from 'src/dtos/auth.dto'; import { AssetFaceResponseDto, FaceDto, PersonResponseDto } from 'src/dtos/person.dto'; import { Auth, Authenticated } from 'src/middleware/auth.guard'; +import { PersonService } from 'src/services/person.service'; import { UUIDParamDto } from 'src/validation'; @ApiTags('Face') diff --git a/server/src/controllers/job.controller.ts b/server/src/controllers/job.controller.ts index 04dea79eec2e0..d6bd45b1e8460 100644 --- a/server/src/controllers/job.controller.ts +++ b/server/src/controllers/job.controller.ts @@ -1,8 +1,8 @@ import { Body, Controller, Get, Param, Put } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; -import { JobService } from 'src/domain/job/job.service'; import { AllJobStatusResponseDto, JobCommandDto, JobIdParamDto, JobStatusDto } from 'src/dtos/job.dto'; import { Authenticated } from 'src/middleware/auth.guard'; +import { JobService } from 'src/services/job.service'; @ApiTags('Job') @Controller('jobs') diff --git a/server/src/controllers/library.controller.ts b/server/src/controllers/library.controller.ts index 96c5f74152c87..70d357187ef9c 100644 --- a/server/src/controllers/library.controller.ts +++ b/server/src/controllers/library.controller.ts @@ -1,6 +1,5 @@ import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put, Query } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; -import { LibraryService } from 'src/domain/library/library.service'; import { CreateLibraryDto, LibraryResponseDto, @@ -12,6 +11,7 @@ import { ValidateLibraryResponseDto, } from 'src/dtos/library.dto'; import { AdminRoute, Authenticated } from 'src/middleware/auth.guard'; +import { LibraryService } from 'src/services/library.service'; import { UUIDParamDto } from 'src/validation'; @ApiTags('Library') diff --git a/server/src/controllers/oauth.controller.ts b/server/src/controllers/oauth.controller.ts index 6da9faa1730e1..debbd4e67649d 100644 --- a/server/src/controllers/oauth.controller.ts +++ b/server/src/controllers/oauth.controller.ts @@ -1,7 +1,6 @@ import { Body, Controller, Get, HttpStatus, Post, Redirect, Req, Res } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { Request, Response } from 'express'; -import { AuthService, LoginDetails } from 'src/domain/auth/auth.service'; import { AuthDto, LoginResponseDto, @@ -11,6 +10,7 @@ import { } from 'src/dtos/auth.dto'; import { UserResponseDto } from 'src/dtos/user.dto'; import { Auth, Authenticated, GetLoginDetails, PublicRoute } from 'src/middleware/auth.guard'; +import { AuthService, LoginDetails } from 'src/services/auth.service'; @ApiTags('OAuth') @Controller('oauth') diff --git a/server/src/controllers/partner.controller.ts b/server/src/controllers/partner.controller.ts index c4f22a04f045a..c7d5613f70ddc 100644 --- a/server/src/controllers/partner.controller.ts +++ b/server/src/controllers/partner.controller.ts @@ -1,10 +1,10 @@ import { Body, Controller, Delete, Get, Param, Post, Put, Query } from '@nestjs/common'; import { ApiQuery, ApiTags } from '@nestjs/swagger'; -import { PartnerService } from 'src/domain/partner/partner.service'; import { AuthDto } from 'src/dtos/auth.dto'; import { PartnerResponseDto, UpdatePartnerDto } from 'src/dtos/partner.dto'; import { PartnerDirection } from 'src/interfaces/partner.repository'; import { Auth, Authenticated } from 'src/middleware/auth.guard'; +import { PartnerService } from 'src/services/partner.service'; import { UUIDParamDto } from 'src/validation'; @ApiTags('Partner') diff --git a/server/src/controllers/person.controller.ts b/server/src/controllers/person.controller.ts index 9c5602091ab67..5e45fc929afaa 100644 --- a/server/src/controllers/person.controller.ts +++ b/server/src/controllers/person.controller.ts @@ -1,7 +1,6 @@ import { Body, Controller, Get, Next, Param, Post, Put, Query, Res } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { NextFunction, Response } from 'express'; -import { PersonService } from 'src/domain/person/person.service'; import { BulkIdResponseDto } from 'src/dtos/asset-ids.response.dto'; import { AssetResponseDto } from 'src/dtos/asset-response.dto'; import { AuthDto } from 'src/dtos/auth.dto'; @@ -18,6 +17,7 @@ import { } from 'src/dtos/person.dto'; import { sendFile } from 'src/immich/app.utils'; import { Auth, Authenticated, FileResponse } from 'src/middleware/auth.guard'; +import { PersonService } from 'src/services/person.service'; import { UUIDParamDto } from 'src/validation'; @ApiTags('Person') diff --git a/server/src/controllers/search.controller.ts b/server/src/controllers/search.controller.ts index 6b88f5ad81b1e..eaf45be293789 100644 --- a/server/src/controllers/search.controller.ts +++ b/server/src/controllers/search.controller.ts @@ -1,6 +1,5 @@ import { Body, Controller, Get, HttpCode, HttpStatus, Post, Query } from '@nestjs/common'; import { ApiOperation, ApiTags } from '@nestjs/swagger'; -import { SearchService } from 'src/domain/search/search.service'; import { AssetResponseDto } from 'src/dtos/asset-response.dto'; import { AuthDto } from 'src/dtos/auth.dto'; import { PersonResponseDto } from 'src/dtos/person.dto'; @@ -16,6 +15,7 @@ import { SmartSearchDto, } from 'src/dtos/search.dto'; import { Auth, Authenticated } from 'src/middleware/auth.guard'; +import { SearchService } from 'src/services/search.service'; @ApiTags('Search') @Controller('search') diff --git a/server/src/controllers/server-info.controller.ts b/server/src/controllers/server-info.controller.ts index 9937acde8a467..e32b0d191cb6b 100644 --- a/server/src/controllers/server-info.controller.ts +++ b/server/src/controllers/server-info.controller.ts @@ -1,6 +1,5 @@ import { Controller, Get, HttpCode, HttpStatus, Post } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; -import { ServerInfoService } from 'src/domain/server-info/server-info.service'; import { ServerConfigDto, ServerFeaturesDto, @@ -12,6 +11,7 @@ import { ServerVersionResponseDto, } from 'src/dtos/server-info.dto'; import { AdminRoute, Authenticated, PublicRoute } from 'src/middleware/auth.guard'; +import { ServerInfoService } from 'src/services/server-info.service'; @ApiTags('Server Info') @Controller('server-info') diff --git a/server/src/controllers/shared-link.controller.ts b/server/src/controllers/shared-link.controller.ts index 90bbd6ee13020..61dd6605a09af 100644 --- a/server/src/controllers/shared-link.controller.ts +++ b/server/src/controllers/shared-link.controller.ts @@ -2,7 +2,6 @@ import { Body, Controller, Delete, Get, Param, Patch, Post, Put, Query, Req, Res import { ApiTags } from '@nestjs/swagger'; import { Request, Response } from 'express'; import { IMMICH_SHARED_LINK_ACCESS_COOKIE } from 'src/domain/auth/auth.constant'; -import { SharedLinkService } from 'src/domain/shared-link/shared-link.service'; import { AssetIdsResponseDto } from 'src/dtos/asset-ids.response.dto'; import { AssetIdsDto } from 'src/dtos/asset.dto'; import { AuthDto } from 'src/dtos/auth.dto'; @@ -13,6 +12,7 @@ import { SharedLinkResponseDto, } from 'src/dtos/shared-link.dto'; import { Auth, Authenticated, SharedLinkRoute } from 'src/middleware/auth.guard'; +import { SharedLinkService } from 'src/services/shared-link.service'; import { UUIDParamDto } from 'src/validation'; @ApiTags('Shared Link') diff --git a/server/src/controllers/system-config.controller.ts b/server/src/controllers/system-config.controller.ts index 34f9f2e0eda03..ca2bbb5f51a71 100644 --- a/server/src/controllers/system-config.controller.ts +++ b/server/src/controllers/system-config.controller.ts @@ -1,10 +1,10 @@ import { Body, Controller, Get, Put, Query } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; -import { MapThemeDto } from 'src/domain/system-config/system-config-map-theme.dto'; -import { SystemConfigService } from 'src/domain/system-config/system-config.service'; +import { MapThemeDto } from 'src/dtos/system-config-map-theme.dto'; import { SystemConfigTemplateStorageOptionDto } from 'src/dtos/system-config-storage-template.dto'; import { SystemConfigDto } from 'src/dtos/system-config.dto'; import { AdminRoute, Authenticated } from 'src/middleware/auth.guard'; +import { SystemConfigService } from 'src/services/system-config.service'; @ApiTags('System Config') @Controller('system-config') diff --git a/server/src/controllers/tag.controller.ts b/server/src/controllers/tag.controller.ts index bbca4a05d8c63..1caed8d528b83 100644 --- a/server/src/controllers/tag.controller.ts +++ b/server/src/controllers/tag.controller.ts @@ -1,12 +1,12 @@ import { Body, Controller, Delete, Get, Param, Patch, Post, Put } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; -import { TagService } from 'src/domain/tag/tag.service'; import { AssetIdsResponseDto } from 'src/dtos/asset-ids.response.dto'; import { AssetResponseDto } from 'src/dtos/asset-response.dto'; import { AssetIdsDto } from 'src/dtos/asset.dto'; import { AuthDto } from 'src/dtos/auth.dto'; import { CreateTagDto, TagResponseDto, UpdateTagDto } from 'src/dtos/tag.dto'; import { Auth, Authenticated } from 'src/middleware/auth.guard'; +import { TagService } from 'src/services/tag.service'; import { UUIDParamDto } from 'src/validation'; @ApiTags('Tag') diff --git a/server/src/controllers/trash.controller.ts b/server/src/controllers/trash.controller.ts index 5ea692d486d64..25df3543cc547 100644 --- a/server/src/controllers/trash.controller.ts +++ b/server/src/controllers/trash.controller.ts @@ -1,9 +1,9 @@ import { Body, Controller, HttpCode, HttpStatus, Post } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; -import { TrashService } from 'src/domain/trash/trash.service'; import { BulkIdsDto } from 'src/dtos/asset-ids.response.dto'; import { AuthDto } from 'src/dtos/auth.dto'; import { Auth, Authenticated } from 'src/middleware/auth.guard'; +import { TrashService } from 'src/services/trash.service'; @ApiTags('Trash') @Controller('trash') diff --git a/server/src/controllers/user.controller.ts b/server/src/controllers/user.controller.ts index 9fc0ff320e409..0663ae197be1e 100644 --- a/server/src/controllers/user.controller.ts +++ b/server/src/controllers/user.controller.ts @@ -16,13 +16,13 @@ import { } from '@nestjs/common'; import { ApiBody, ApiConsumes, ApiTags } from '@nestjs/swagger'; import { NextFunction, Response } from 'express'; -import { UserService } from 'src/domain/user/user.service'; import { AuthDto } from 'src/dtos/auth.dto'; import { CreateProfileImageDto, CreateProfileImageResponseDto } from 'src/dtos/user-profile.dto'; import { CreateUserDto, DeleteUserDto, UpdateUserDto, UserResponseDto } from 'src/dtos/user.dto'; import { sendFile } from 'src/immich/app.utils'; import { AdminRoute, Auth, Authenticated, FileResponse } from 'src/middleware/auth.guard'; import { FileUploadInterceptor, Route } from 'src/middleware/file-upload.interceptor'; +import { UserService } from 'src/services/user.service'; import { UUIDParamDto } from 'src/validation'; @ApiTags('User') diff --git a/server/src/domain/system-config/system-config-map-theme.dto.ts b/server/src/dtos/system-config-map-theme.dto.ts similarity index 100% rename from server/src/domain/system-config/system-config-map-theme.dto.ts rename to server/src/dtos/system-config-map-theme.dto.ts diff --git a/server/src/immich/api-v1/asset/asset.service.ts b/server/src/immich/api-v1/asset/asset.service.ts index ee310c37719fa..023017130ec36 100644 --- a/server/src/immich/api-v1/asset/asset.service.ts +++ b/server/src/immich/api-v1/asset/asset.service.ts @@ -6,7 +6,6 @@ import { NotFoundException, } from '@nestjs/common'; import { AccessCore, Permission } from 'src/cores/access.core'; -import { UploadFile } from 'src/domain/asset/asset.service'; import { mimeTypes } from 'src/domain/domain.constant'; import { JobName } from 'src/domain/job/job.constants'; import { AssetResponseDto, mapAsset } from 'src/dtos/asset-response.dto'; @@ -36,6 +35,7 @@ import { IJobRepository } from 'src/interfaces/job.repository'; import { ILibraryRepository } from 'src/interfaces/library.repository'; import { IStorageRepository } from 'src/interfaces/storage.repository'; import { IUserRepository } from 'src/interfaces/user.repository'; +import { UploadFile } from 'src/services/asset.service'; import { CacheControl, ImmichFileResponse, getLivePhotoMotionFilename } from 'src/utils'; import { QueryFailedError } from 'typeorm'; diff --git a/server/src/middleware/auth.guard.ts b/server/src/middleware/auth.guard.ts index 765e2435431b6..48befd9a2e0a0 100644 --- a/server/src/middleware/auth.guard.ts +++ b/server/src/middleware/auth.guard.ts @@ -10,9 +10,9 @@ import { Reflector } from '@nestjs/core'; import { ApiBearerAuth, ApiCookieAuth, ApiOkResponse, ApiQuery, ApiSecurity } from '@nestjs/swagger'; import { Request } from 'express'; import { IMMICH_API_KEY_NAME } from 'src/domain/auth/auth.constant'; -import { AuthService, LoginDetails } from 'src/domain/auth/auth.service'; import { AuthDto } from 'src/dtos/auth.dto'; import { ImmichLogger } from 'src/infra/logger'; +import { AuthService, LoginDetails } from 'src/services/auth.service'; import { UAParser } from 'ua-parser-js'; export enum Metadata { diff --git a/server/src/middleware/file-upload.interceptor.ts b/server/src/middleware/file-upload.interceptor.ts index 9d6abaa3d1140..f1d5c5c3453a6 100644 --- a/server/src/middleware/file-upload.interceptor.ts +++ b/server/src/middleware/file-upload.interceptor.ts @@ -6,10 +6,10 @@ import { NextFunction, RequestHandler } from 'express'; import multer, { StorageEngine, diskStorage } from 'multer'; import { createHash, randomUUID } from 'node:crypto'; import { Observable } from 'rxjs'; -import { AssetService, UploadFile } from 'src/domain/asset/asset.service'; import { UploadFieldName } from 'src/dtos/asset.dto'; import { ImmichLogger } from 'src/infra/logger'; import { AuthRequest } from 'src/middleware/auth.guard'; +import { AssetService, UploadFile } from 'src/services/asset.service'; export enum Route { ASSET = 'asset', diff --git a/server/src/repositories/communication.repository.ts b/server/src/repositories/communication.repository.ts index e92fe138731f3..549975c74c92c 100644 --- a/server/src/repositories/communication.repository.ts +++ b/server/src/repositories/communication.repository.ts @@ -7,7 +7,6 @@ import { WebSocketServer, } from '@nestjs/websockets'; import { Server, Socket } from 'socket.io'; -import { AuthService } from 'src/domain/auth/auth.service'; import { Instrumentation } from 'src/infra/instrumentation'; import { ImmichLogger } from 'src/infra/logger'; import { @@ -18,6 +17,7 @@ import { OnServerEventCallback, ServerEvent, } from 'src/interfaces/communication.repository'; +import { AuthService } from 'src/services/auth.service'; @Instrumentation() @WebSocketGateway({ diff --git a/server/src/domain/activity/activity.spec.ts b/server/src/services/activity.service.spec.ts similarity index 98% rename from server/src/domain/activity/activity.spec.ts rename to server/src/services/activity.service.spec.ts index 6013f0ff0431f..a36d8255469ba 100644 --- a/server/src/domain/activity/activity.spec.ts +++ b/server/src/services/activity.service.spec.ts @@ -1,7 +1,7 @@ import { BadRequestException } from '@nestjs/common'; -import { ActivityService } from 'src/domain/activity/activity.service'; import { ReactionType } from 'src/dtos/activity.dto'; import { IActivityRepository } from 'src/interfaces/activity.repository'; +import { ActivityService } from 'src/services/activity.service'; import { activityStub } from 'test/fixtures/activity.stub'; import { authStub } from 'test/fixtures/auth.stub'; import { IAccessRepositoryMock, newAccessRepositoryMock } from 'test/repositories/access.repository.mock'; diff --git a/server/src/domain/activity/activity.service.ts b/server/src/services/activity.service.ts similarity index 100% rename from server/src/domain/activity/activity.service.ts rename to server/src/services/activity.service.ts diff --git a/server/src/domain/album/album.service.spec.ts b/server/src/services/album.service.spec.ts similarity index 99% rename from server/src/domain/album/album.service.spec.ts rename to server/src/services/album.service.spec.ts index 41b505ea6d4a2..6a09f54d168df 100644 --- a/server/src/domain/album/album.service.spec.ts +++ b/server/src/services/album.service.spec.ts @@ -1,10 +1,10 @@ import { BadRequestException } from '@nestjs/common'; import _ from 'lodash'; -import { AlbumService } from 'src/domain/album/album.service'; import { BulkIdErrorReason } from 'src/dtos/asset-ids.response.dto'; import { IAlbumRepository } from 'src/interfaces/album.repository'; import { IAssetRepository } from 'src/interfaces/asset.repository'; import { IUserRepository } from 'src/interfaces/user.repository'; +import { AlbumService } from 'src/services/album.service'; import { albumStub } from 'test/fixtures/album.stub'; import { authStub } from 'test/fixtures/auth.stub'; import { userStub } from 'test/fixtures/user.stub'; diff --git a/server/src/domain/album/album.service.ts b/server/src/services/album.service.ts similarity index 100% rename from server/src/domain/album/album.service.ts rename to server/src/services/album.service.ts diff --git a/server/src/domain/api-key/api-key.service.spec.ts b/server/src/services/api-key.service.spec.ts similarity index 98% rename from server/src/domain/api-key/api-key.service.spec.ts rename to server/src/services/api-key.service.spec.ts index 0400c13a204ed..66dd70d0f9515 100644 --- a/server/src/domain/api-key/api-key.service.spec.ts +++ b/server/src/services/api-key.service.spec.ts @@ -1,7 +1,7 @@ import { BadRequestException } from '@nestjs/common'; -import { APIKeyService } from 'src/domain/api-key/api-key.service'; import { IKeyRepository } from 'src/interfaces/api-key.repository'; import { ICryptoRepository } from 'src/interfaces/crypto.repository'; +import { APIKeyService } from 'src/services/api-key.service'; import { keyStub } from 'test/fixtures/api-key.stub'; import { authStub } from 'test/fixtures/auth.stub'; import { newKeyRepositoryMock } from 'test/repositories/api-key.repository.mock'; diff --git a/server/src/domain/api-key/api-key.service.ts b/server/src/services/api-key.service.ts similarity index 100% rename from server/src/domain/api-key/api-key.service.ts rename to server/src/services/api-key.service.ts diff --git a/server/src/domain/asset/asset.service.spec.ts b/server/src/services/asset.service.spec.ts similarity index 99% rename from server/src/domain/asset/asset.service.spec.ts rename to server/src/services/asset.service.spec.ts index a3603c3dac12d..3a6385c03f31c 100644 --- a/server/src/domain/asset/asset.service.spec.ts +++ b/server/src/services/asset.service.spec.ts @@ -1,6 +1,5 @@ import { BadRequestException, UnauthorizedException } from '@nestjs/common'; import { when } from 'jest-when'; -import { AssetService } from 'src/domain/asset/asset.service'; import { JobName } from 'src/domain/job/job.constants'; import { mapAsset } from 'src/dtos/asset-response.dto'; import { AssetJobName, AssetStatsResponseDto, UploadFieldName } from 'src/dtos/asset.dto'; @@ -13,6 +12,7 @@ import { IPartnerRepository } from 'src/interfaces/partner.repository'; import { IStorageRepository } from 'src/interfaces/storage.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; import { IUserRepository } from 'src/interfaces/user.repository'; +import { AssetService } from 'src/services/asset.service'; import { assetStackStub, assetStub } from 'test/fixtures/asset.stub'; import { authStub } from 'test/fixtures/auth.stub'; import { faceStub } from 'test/fixtures/face.stub'; diff --git a/server/src/domain/asset/asset.service.ts b/server/src/services/asset.service.ts similarity index 100% rename from server/src/domain/asset/asset.service.ts rename to server/src/services/asset.service.ts diff --git a/server/src/domain/audit/audit.service.spec.ts b/server/src/services/audit.service.spec.ts similarity index 98% rename from server/src/domain/audit/audit.service.spec.ts rename to server/src/services/audit.service.spec.ts index ecda57b089b06..14d08f91668af 100644 --- a/server/src/domain/audit/audit.service.spec.ts +++ b/server/src/services/audit.service.spec.ts @@ -1,4 +1,3 @@ -import { AuditService } from 'src/domain/audit/audit.service'; import { DatabaseAction, EntityType } from 'src/entities/audit.entity'; import { IAssetRepository } from 'src/interfaces/asset.repository'; import { IAuditRepository } from 'src/interfaces/audit.repository'; @@ -7,6 +6,7 @@ import { JobStatus } from 'src/interfaces/job.repository'; import { IPersonRepository } from 'src/interfaces/person.repository'; import { IStorageRepository } from 'src/interfaces/storage.repository'; import { IUserRepository } from 'src/interfaces/user.repository'; +import { AuditService } from 'src/services/audit.service'; import { auditStub } from 'test/fixtures/audit.stub'; import { authStub } from 'test/fixtures/auth.stub'; import { IAccessRepositoryMock, newAccessRepositoryMock } from 'test/repositories/access.repository.mock'; diff --git a/server/src/domain/audit/audit.service.ts b/server/src/services/audit.service.ts similarity index 100% rename from server/src/domain/audit/audit.service.ts rename to server/src/services/audit.service.ts diff --git a/server/src/domain/auth/auth.service.spec.ts b/server/src/services/auth.service.spec.ts similarity index 99% rename from server/src/domain/auth/auth.service.spec.ts rename to server/src/services/auth.service.spec.ts index 37c759937f956..dc7565e4dd19f 100644 --- a/server/src/domain/auth/auth.service.spec.ts +++ b/server/src/services/auth.service.spec.ts @@ -3,7 +3,6 @@ import { IncomingHttpHeaders } from 'node:http'; import { Issuer, generators } from 'openid-client'; import { Socket } from 'socket.io'; import { AuthType } from 'src/domain/auth/auth.constant'; -import { AuthService } from 'src/domain/auth/auth.service'; import { AuthDto, SignUpDto } from 'src/dtos/auth.dto'; import { UserEntity } from 'src/entities/user.entity'; import { IKeyRepository } from 'src/interfaces/api-key.repository'; @@ -13,6 +12,7 @@ import { ISharedLinkRepository } from 'src/interfaces/shared-link.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; import { IUserTokenRepository } from 'src/interfaces/user-token.repository'; import { IUserRepository } from 'src/interfaces/user.repository'; +import { AuthService } from 'src/services/auth.service'; import { keyStub } from 'test/fixtures/api-key.stub'; import { authStub, loginResponseStub } from 'test/fixtures/auth.stub'; import { sharedLinkStub } from 'test/fixtures/shared-link.stub'; diff --git a/server/src/domain/auth/auth.service.ts b/server/src/services/auth.service.ts similarity index 100% rename from server/src/domain/auth/auth.service.ts rename to server/src/services/auth.service.ts diff --git a/server/src/domain/database/database.service.spec.ts b/server/src/services/database.service.spec.ts similarity index 99% rename from server/src/domain/database/database.service.spec.ts rename to server/src/services/database.service.spec.ts index 191c0221b3ccc..dac857a079c91 100644 --- a/server/src/domain/database/database.service.spec.ts +++ b/server/src/services/database.service.spec.ts @@ -1,7 +1,7 @@ -import { DatabaseService } from 'src/domain/database/database.service'; import { Version, VersionType } from 'src/domain/domain.constant'; import { ImmichLogger } from 'src/infra/logger'; import { DatabaseExtension, IDatabaseRepository, VectorIndex } from 'src/interfaces/database.repository'; +import { DatabaseService } from 'src/services/database.service'; import { newDatabaseRepositoryMock } from 'test/repositories/database.repository.mock'; describe(DatabaseService.name, () => { diff --git a/server/src/domain/database/database.service.ts b/server/src/services/database.service.ts similarity index 100% rename from server/src/domain/database/database.service.ts rename to server/src/services/database.service.ts diff --git a/server/src/domain/download/download.service.spec.ts b/server/src/services/download.service.spec.ts similarity index 99% rename from server/src/domain/download/download.service.spec.ts rename to server/src/services/download.service.spec.ts index cfdff82b912fc..ab83899556580 100644 --- a/server/src/domain/download/download.service.spec.ts +++ b/server/src/services/download.service.spec.ts @@ -1,9 +1,9 @@ import { BadRequestException } from '@nestjs/common'; import { when } from 'jest-when'; -import { DownloadService } from 'src/domain/download/download.service'; import { DownloadResponseDto } from 'src/dtos/download.dto'; import { IAssetRepository } from 'src/interfaces/asset.repository'; import { IStorageRepository } from 'src/interfaces/storage.repository'; +import { DownloadService } from 'src/services/download.service'; import { CacheControl, ImmichFileResponse } from 'src/utils'; import { assetStub } from 'test/fixtures/asset.stub'; import { authStub } from 'test/fixtures/auth.stub'; diff --git a/server/src/domain/download/download.service.ts b/server/src/services/download.service.ts similarity index 100% rename from server/src/domain/download/download.service.ts rename to server/src/services/download.service.ts diff --git a/server/src/domain/job/job.service.spec.ts b/server/src/services/job.service.spec.ts similarity index 99% rename from server/src/domain/job/job.service.spec.ts rename to server/src/services/job.service.spec.ts index ec905b062dd33..4be9786a2d98a 100644 --- a/server/src/domain/job/job.service.spec.ts +++ b/server/src/services/job.service.spec.ts @@ -1,13 +1,13 @@ import { BadRequestException } from '@nestjs/common'; import { FeatureFlag, SystemConfigCore } from 'src/cores/system-config.core'; import { JobCommand, JobName, QueueName } from 'src/domain/job/job.constants'; -import { JobService } from 'src/domain/job/job.service'; import { SystemConfig, SystemConfigKey } from 'src/entities/system-config.entity'; import { IAssetRepository } from 'src/interfaces/asset.repository'; import { ICommunicationRepository } from 'src/interfaces/communication.repository'; import { IJobRepository, JobHandler, JobItem, JobStatus } from 'src/interfaces/job.repository'; import { IPersonRepository } from 'src/interfaces/person.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; +import { JobService } from 'src/services/job.service'; import { assetStub } from 'test/fixtures/asset.stub'; import { newAssetRepositoryMock } from 'test/repositories/asset.repository.mock'; import { newCommunicationRepositoryMock } from 'test/repositories/communication.repository.mock'; diff --git a/server/src/domain/job/job.service.ts b/server/src/services/job.service.ts similarity index 100% rename from server/src/domain/job/job.service.ts rename to server/src/services/job.service.ts diff --git a/server/src/domain/library/library.service.spec.ts b/server/src/services/library.service.spec.ts similarity index 99% rename from server/src/domain/library/library.service.spec.ts rename to server/src/services/library.service.spec.ts index 81bf1cc8670a2..2382d83c20a08 100644 --- a/server/src/domain/library/library.service.spec.ts +++ b/server/src/services/library.service.spec.ts @@ -5,7 +5,6 @@ import { Stats } from 'node:fs'; import { SystemConfigCore } from 'src/cores/system-config.core'; import { JobName } from 'src/domain/job/job.constants'; import { ILibraryFileJob, ILibraryRefreshJob } from 'src/domain/job/job.interface'; -import { LibraryService } from 'src/domain/library/library.service'; import { mapLibrary } from 'src/dtos/library.dto'; import { AssetType } from 'src/entities/asset.entity'; import { LibraryType } from 'src/entities/library.entity'; @@ -18,6 +17,7 @@ import { IJobRepository, JobStatus } from 'src/interfaces/job.repository'; import { ILibraryRepository } from 'src/interfaces/library.repository'; import { IStorageRepository, StorageEventType } from 'src/interfaces/storage.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; +import { LibraryService } from 'src/services/library.service'; import { assetStub } from 'test/fixtures/asset.stub'; import { authStub } from 'test/fixtures/auth.stub'; import { libraryStub } from 'test/fixtures/library.stub'; diff --git a/server/src/domain/library/library.service.ts b/server/src/services/library.service.ts similarity index 100% rename from server/src/domain/library/library.service.ts rename to server/src/services/library.service.ts diff --git a/server/src/domain/media/media.service.spec.ts b/server/src/services/media.service.spec.ts similarity index 99% rename from server/src/domain/media/media.service.spec.ts rename to server/src/services/media.service.spec.ts index 97a6d161b501a..eb9407e1271ad 100644 --- a/server/src/domain/media/media.service.spec.ts +++ b/server/src/services/media.service.spec.ts @@ -1,6 +1,5 @@ import { Stats } from 'node:fs'; import { JobName } from 'src/domain/job/job.constants'; -import { MediaService } from 'src/domain/media/media.service'; import { AssetType } from 'src/entities/asset.entity'; import { ExifEntity } from 'src/entities/exif.entity'; import { @@ -20,6 +19,7 @@ import { IMoveRepository } from 'src/interfaces/move.repository'; import { IPersonRepository } from 'src/interfaces/person.repository'; import { IStorageRepository } from 'src/interfaces/storage.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; +import { MediaService } from 'src/services/media.service'; import { assetStub } from 'test/fixtures/asset.stub'; import { faceStub } from 'test/fixtures/face.stub'; import { probeStub } from 'test/fixtures/media.stub'; diff --git a/server/src/domain/media/media.service.ts b/server/src/services/media.service.ts similarity index 100% rename from server/src/domain/media/media.service.ts rename to server/src/services/media.service.ts diff --git a/server/src/domain/metadata/metadata.service.spec.ts b/server/src/services/metadata.service.spec.ts similarity index 99% rename from server/src/domain/metadata/metadata.service.spec.ts rename to server/src/services/metadata.service.spec.ts index 2108c5fc48218..a235aca040121 100644 --- a/server/src/domain/metadata/metadata.service.spec.ts +++ b/server/src/services/metadata.service.spec.ts @@ -4,7 +4,6 @@ import { randomBytes } from 'node:crypto'; import { Stats } from 'node:fs'; import { constants } from 'node:fs/promises'; import { JobName } from 'src/domain/job/job.constants'; -import { MetadataService, Orientation } from 'src/domain/metadata/metadata.service'; import { AssetType } from 'src/entities/asset.entity'; import { ExifEntity } from 'src/entities/exif.entity'; import { SystemConfigKey } from 'src/entities/system-config.entity'; @@ -20,6 +19,7 @@ import { IMoveRepository } from 'src/interfaces/move.repository'; import { IPersonRepository } from 'src/interfaces/person.repository'; import { IStorageRepository } from 'src/interfaces/storage.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; +import { MetadataService, Orientation } from 'src/services/metadata.service'; import { assetStub } from 'test/fixtures/asset.stub'; import { fileStub } from 'test/fixtures/file.stub'; import { probeStub } from 'test/fixtures/media.stub'; diff --git a/server/src/domain/metadata/metadata.service.ts b/server/src/services/metadata.service.ts similarity index 100% rename from server/src/domain/metadata/metadata.service.ts rename to server/src/services/metadata.service.ts diff --git a/server/src/domain/partner/partner.service.spec.ts b/server/src/services/partner.service.spec.ts similarity index 98% rename from server/src/domain/partner/partner.service.spec.ts rename to server/src/services/partner.service.spec.ts index 1256a9ca04643..94ec3b0997519 100644 --- a/server/src/domain/partner/partner.service.spec.ts +++ b/server/src/services/partner.service.spec.ts @@ -1,9 +1,9 @@ import { BadRequestException } from '@nestjs/common'; -import { PartnerService } from 'src/domain/partner/partner.service'; import { PartnerResponseDto } from 'src/dtos/partner.dto'; import { UserAvatarColor } from 'src/entities/user.entity'; import { IAccessRepository } from 'src/interfaces/access.repository'; import { IPartnerRepository, PartnerDirection } from 'src/interfaces/partner.repository'; +import { PartnerService } from 'src/services/partner.service'; import { authStub } from 'test/fixtures/auth.stub'; import { partnerStub } from 'test/fixtures/partner.stub'; import { newPartnerRepositoryMock } from 'test/repositories/partner.repository.mock'; diff --git a/server/src/domain/partner/partner.service.ts b/server/src/services/partner.service.ts similarity index 100% rename from server/src/domain/partner/partner.service.ts rename to server/src/services/partner.service.ts diff --git a/server/src/domain/person/person.service.spec.ts b/server/src/services/person.service.spec.ts similarity index 99% rename from server/src/domain/person/person.service.spec.ts rename to server/src/services/person.service.spec.ts index 3f555e34f16eb..7abc9f3d9af90 100644 --- a/server/src/domain/person/person.service.spec.ts +++ b/server/src/services/person.service.spec.ts @@ -1,6 +1,5 @@ import { BadRequestException, NotFoundException } from '@nestjs/common'; import { JobName } from 'src/domain/job/job.constants'; -import { PersonService } from 'src/domain/person/person.service'; import { BulkIdErrorReason } from 'src/dtos/asset-ids.response.dto'; import { PersonResponseDto, mapFaces, mapPerson } from 'src/dtos/person.dto'; import { AssetFaceEntity } from 'src/entities/asset-face.entity'; @@ -15,6 +14,7 @@ import { IPersonRepository } from 'src/interfaces/person.repository'; import { FaceSearchResult, ISearchRepository } from 'src/interfaces/search.repository'; import { IStorageRepository } from 'src/interfaces/storage.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; +import { PersonService } from 'src/services/person.service'; import { CacheControl, ImmichFileResponse } from 'src/utils'; import { assetStub } from 'test/fixtures/asset.stub'; import { authStub } from 'test/fixtures/auth.stub'; diff --git a/server/src/domain/person/person.service.ts b/server/src/services/person.service.ts similarity index 100% rename from server/src/domain/person/person.service.ts rename to server/src/services/person.service.ts diff --git a/server/src/domain/search/search.service.spec.ts b/server/src/services/search.service.spec.ts similarity index 99% rename from server/src/domain/search/search.service.spec.ts rename to server/src/services/search.service.spec.ts index 7f83f2ff09172..c7566ea9455ec 100644 --- a/server/src/domain/search/search.service.spec.ts +++ b/server/src/services/search.service.spec.ts @@ -1,4 +1,3 @@ -import { SearchService } from 'src/domain/search/search.service'; import { mapAsset } from 'src/dtos/asset-response.dto'; import { SearchDto } from 'src/dtos/search.dto'; import { SystemConfigKey } from 'src/entities/system-config.entity'; @@ -9,6 +8,7 @@ import { IPartnerRepository } from 'src/interfaces/partner.repository'; import { IPersonRepository } from 'src/interfaces/person.repository'; import { ISearchRepository } from 'src/interfaces/search.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; +import { SearchService } from 'src/services/search.service'; import { assetStub } from 'test/fixtures/asset.stub'; import { authStub } from 'test/fixtures/auth.stub'; import { personStub } from 'test/fixtures/person.stub'; diff --git a/server/src/domain/search/search.service.ts b/server/src/services/search.service.ts similarity index 100% rename from server/src/domain/search/search.service.ts rename to server/src/services/search.service.ts diff --git a/server/src/domain/server-info/server-info.service.spec.ts b/server/src/services/server-info.service.spec.ts similarity index 99% rename from server/src/domain/server-info/server-info.service.spec.ts rename to server/src/services/server-info.service.spec.ts index 1685f8bdaf58e..0db7597b82b9a 100644 --- a/server/src/domain/server-info/server-info.service.spec.ts +++ b/server/src/services/server-info.service.spec.ts @@ -1,5 +1,4 @@ import { serverVersion } from 'src/domain/domain.constant'; -import { ServerInfoService } from 'src/domain/server-info/server-info.service'; import { SystemMetadataKey } from 'src/entities/system-metadata.entity'; import { ICommunicationRepository } from 'src/interfaces/communication.repository'; import { IServerInfoRepository } from 'src/interfaces/server-info.repository'; @@ -7,6 +6,7 @@ import { IStorageRepository } from 'src/interfaces/storage.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.repository'; import { IUserRepository } from 'src/interfaces/user.repository'; +import { ServerInfoService } from 'src/services/server-info.service'; import { newCommunicationRepositoryMock } from 'test/repositories/communication.repository.mock'; import { newStorageRepositoryMock } from 'test/repositories/storage.repository.mock'; import { newSystemConfigRepositoryMock } from 'test/repositories/system-config.repository.mock'; diff --git a/server/src/domain/server-info/server-info.service.ts b/server/src/services/server-info.service.ts similarity index 100% rename from server/src/domain/server-info/server-info.service.ts rename to server/src/services/server-info.service.ts diff --git a/server/src/domain/shared-link/shared-link.service.spec.ts b/server/src/services/shared-link.service.spec.ts similarity index 99% rename from server/src/domain/shared-link/shared-link.service.spec.ts rename to server/src/services/shared-link.service.spec.ts index e5e3ea6e2e35c..611d9b6707879 100644 --- a/server/src/domain/shared-link/shared-link.service.spec.ts +++ b/server/src/services/shared-link.service.spec.ts @@ -1,10 +1,10 @@ import { BadRequestException, ForbiddenException, UnauthorizedException } from '@nestjs/common'; import _ from 'lodash'; -import { SharedLinkService } from 'src/domain/shared-link/shared-link.service'; import { AssetIdErrorReason } from 'src/dtos/asset-ids.response.dto'; import { SharedLinkType } from 'src/entities/shared-link.entity'; import { ICryptoRepository } from 'src/interfaces/crypto.repository'; import { ISharedLinkRepository } from 'src/interfaces/shared-link.repository'; +import { SharedLinkService } from 'src/services/shared-link.service'; import { albumStub } from 'test/fixtures/album.stub'; import { assetStub } from 'test/fixtures/asset.stub'; import { authStub } from 'test/fixtures/auth.stub'; diff --git a/server/src/domain/shared-link/shared-link.service.ts b/server/src/services/shared-link.service.ts similarity index 100% rename from server/src/domain/shared-link/shared-link.service.ts rename to server/src/services/shared-link.service.ts diff --git a/server/src/domain/smart-info/smart-info.service.spec.ts b/server/src/services/smart-info.service.spec.ts similarity index 98% rename from server/src/domain/smart-info/smart-info.service.spec.ts rename to server/src/services/smart-info.service.spec.ts index 29ce75fb47020..a1b8943f2e5a0 100644 --- a/server/src/domain/smart-info/smart-info.service.spec.ts +++ b/server/src/services/smart-info.service.spec.ts @@ -1,6 +1,5 @@ import { JobName } from 'src/domain/job/job.constants'; import { cleanModelName, getCLIPModelInfo } from 'src/domain/smart-info/smart-info.constant'; -import { SmartInfoService } from 'src/domain/smart-info/smart-info.service'; import { AssetEntity } from 'src/entities/asset.entity'; import { SystemConfigKey } from 'src/entities/system-config.entity'; import { IAssetRepository, WithoutProperty } from 'src/interfaces/asset.repository'; @@ -9,6 +8,7 @@ import { IJobRepository } from 'src/interfaces/job.repository'; import { IMachineLearningRepository } from 'src/interfaces/machine-learning.repository'; import { ISearchRepository } from 'src/interfaces/search.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; +import { SmartInfoService } from 'src/services/smart-info.service'; import { assetStub } from 'test/fixtures/asset.stub'; import { newAssetRepositoryMock } from 'test/repositories/asset.repository.mock'; import { newDatabaseRepositoryMock } from 'test/repositories/database.repository.mock'; diff --git a/server/src/domain/smart-info/smart-info.service.ts b/server/src/services/smart-info.service.ts similarity index 100% rename from server/src/domain/smart-info/smart-info.service.ts rename to server/src/services/smart-info.service.ts diff --git a/server/src/domain/storage-template/storage-template.service.spec.ts b/server/src/services/storage-template.service.spec.ts similarity index 99% rename from server/src/domain/storage-template/storage-template.service.spec.ts rename to server/src/services/storage-template.service.spec.ts index ecadb3e864c5a..b11d1f534ea3f 100644 --- a/server/src/domain/storage-template/storage-template.service.spec.ts +++ b/server/src/services/storage-template.service.spec.ts @@ -1,7 +1,6 @@ import { when } from 'jest-when'; import { Stats } from 'node:fs'; import { SystemConfigCore, defaults } from 'src/cores/system-config.core'; -import { StorageTemplateService } from 'src/domain/storage-template/storage-template.service'; import { AssetPathType } from 'src/entities/move.entity'; import { SystemConfig, SystemConfigKey } from 'src/entities/system-config.entity'; import { IAlbumRepository } from 'src/interfaces/album.repository'; @@ -14,6 +13,7 @@ import { IPersonRepository } from 'src/interfaces/person.repository'; import { IStorageRepository } from 'src/interfaces/storage.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; import { IUserRepository } from 'src/interfaces/user.repository'; +import { StorageTemplateService } from 'src/services/storage-template.service'; import { assetStub } from 'test/fixtures/asset.stub'; import { userStub } from 'test/fixtures/user.stub'; import { newAlbumRepositoryMock } from 'test/repositories/album.repository.mock'; diff --git a/server/src/domain/storage-template/storage-template.service.ts b/server/src/services/storage-template.service.ts similarity index 100% rename from server/src/domain/storage-template/storage-template.service.ts rename to server/src/services/storage-template.service.ts diff --git a/server/src/domain/storage/storage.service.spec.ts b/server/src/services/storage.service.spec.ts similarity index 95% rename from server/src/domain/storage/storage.service.spec.ts rename to server/src/services/storage.service.spec.ts index 2791c963005a3..4a5607efe475c 100644 --- a/server/src/domain/storage/storage.service.spec.ts +++ b/server/src/services/storage.service.spec.ts @@ -1,5 +1,5 @@ -import { StorageService } from 'src/domain/storage/storage.service'; import { IStorageRepository } from 'src/interfaces/storage.repository'; +import { StorageService } from 'src/services/storage.service'; import { newStorageRepositoryMock } from 'test/repositories/storage.repository.mock'; describe(StorageService.name, () => { diff --git a/server/src/domain/storage/storage.service.ts b/server/src/services/storage.service.ts similarity index 100% rename from server/src/domain/storage/storage.service.ts rename to server/src/services/storage.service.ts diff --git a/server/src/domain/system-config/system-config.service.spec.ts b/server/src/services/system-config.service.spec.ts similarity index 99% rename from server/src/domain/system-config/system-config.service.spec.ts rename to server/src/services/system-config.service.spec.ts index f81d726eb0de0..b5b5875d712a0 100644 --- a/server/src/domain/system-config/system-config.service.spec.ts +++ b/server/src/services/system-config.service.spec.ts @@ -1,7 +1,6 @@ import { BadRequestException } from '@nestjs/common'; import { defaults } from 'src/cores/system-config.core'; import { QueueName } from 'src/domain/job/job.constants'; -import { SystemConfigService } from 'src/domain/system-config/system-config.service'; import { AudioCodec, CQMode, @@ -19,6 +18,7 @@ import { ImmichLogger } from 'src/infra/logger'; import { ICommunicationRepository, ServerEvent } from 'src/interfaces/communication.repository'; import { ISearchRepository } from 'src/interfaces/search.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; +import { SystemConfigService } from 'src/services/system-config.service'; import { newCommunicationRepositoryMock } from 'test/repositories/communication.repository.mock'; import { newSystemConfigRepositoryMock } from 'test/repositories/system-config.repository.mock'; diff --git a/server/src/domain/system-config/system-config.service.ts b/server/src/services/system-config.service.ts similarity index 100% rename from server/src/domain/system-config/system-config.service.ts rename to server/src/services/system-config.service.ts diff --git a/server/src/domain/tag/tag.service.spec.ts b/server/src/services/tag.service.spec.ts similarity index 99% rename from server/src/domain/tag/tag.service.spec.ts rename to server/src/services/tag.service.spec.ts index c7aeba9f1d8c6..0dca425c3e013 100644 --- a/server/src/domain/tag/tag.service.spec.ts +++ b/server/src/services/tag.service.spec.ts @@ -1,9 +1,9 @@ import { BadRequestException } from '@nestjs/common'; import { when } from 'jest-when'; -import { TagService } from 'src/domain/tag/tag.service'; import { AssetIdErrorReason } from 'src/dtos/asset-ids.response.dto'; import { TagType } from 'src/entities/tag.entity'; import { ITagRepository } from 'src/interfaces/tag.repository'; +import { TagService } from 'src/services/tag.service'; import { assetStub } from 'test/fixtures/asset.stub'; import { authStub } from 'test/fixtures/auth.stub'; import { tagResponseStub, tagStub } from 'test/fixtures/tag.stub'; diff --git a/server/src/domain/tag/tag.service.ts b/server/src/services/tag.service.ts similarity index 100% rename from server/src/domain/tag/tag.service.ts rename to server/src/services/tag.service.ts diff --git a/server/src/domain/trash/trash.service.spec.ts b/server/src/services/trash.service.spec.ts similarity index 98% rename from server/src/domain/trash/trash.service.spec.ts rename to server/src/services/trash.service.spec.ts index 021c8e526a4e1..09f668e6fdfa2 100644 --- a/server/src/domain/trash/trash.service.spec.ts +++ b/server/src/services/trash.service.spec.ts @@ -1,9 +1,9 @@ import { BadRequestException } from '@nestjs/common'; import { JobName } from 'src/domain/job/job.constants'; -import { TrashService } from 'src/domain/trash/trash.service'; import { IAssetRepository } from 'src/interfaces/asset.repository'; import { ClientEvent, ICommunicationRepository } from 'src/interfaces/communication.repository'; import { IJobRepository } from 'src/interfaces/job.repository'; +import { TrashService } from 'src/services/trash.service'; import { assetStub } from 'test/fixtures/asset.stub'; import { authStub } from 'test/fixtures/auth.stub'; import { IAccessRepositoryMock, newAccessRepositoryMock } from 'test/repositories/access.repository.mock'; diff --git a/server/src/domain/trash/trash.service.ts b/server/src/services/trash.service.ts similarity index 100% rename from server/src/domain/trash/trash.service.ts rename to server/src/services/trash.service.ts diff --git a/server/src/domain/user/user.service.spec.ts b/server/src/services/user.service.spec.ts similarity index 99% rename from server/src/domain/user/user.service.spec.ts rename to server/src/services/user.service.spec.ts index 804a892c7da27..51457b201eb8c 100644 --- a/server/src/domain/user/user.service.spec.ts +++ b/server/src/services/user.service.spec.ts @@ -6,7 +6,6 @@ import { } from '@nestjs/common'; import { when } from 'jest-when'; import { JobName } from 'src/domain/job/job.constants'; -import { UserService } from 'src/domain/user/user.service'; import { UpdateUserDto, mapUser } from 'src/dtos/user.dto'; import { UserEntity, UserStatus } from 'src/entities/user.entity'; import { IAlbumRepository } from 'src/interfaces/album.repository'; @@ -16,6 +15,7 @@ import { ILibraryRepository } from 'src/interfaces/library.repository'; import { IStorageRepository } from 'src/interfaces/storage.repository'; import { ISystemConfigRepository } from 'src/interfaces/system-config.repository'; import { IUserRepository } from 'src/interfaces/user.repository'; +import { UserService } from 'src/services/user.service'; import { CacheControl, ImmichFileResponse } from 'src/utils'; import { authStub } from 'test/fixtures/auth.stub'; import { systemConfigStub } from 'test/fixtures/system-config.stub'; diff --git a/server/src/domain/user/user.service.ts b/server/src/services/user.service.ts similarity index 100% rename from server/src/domain/user/user.service.ts rename to server/src/services/user.service.ts