refactor(server): Move metadata extraction to domain (#4243)

* use storageRepository in metadata extraction

* move metadata extraction processor to domain

* cleanup infra/domain

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
This commit is contained in:
Daniel Dietzler 2023-09-27 20:44:51 +02:00 committed by GitHub
parent 9bada51d56
commit 3a44e8f8d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 410 additions and 396 deletions

View file

@ -6,13 +6,12 @@ import {
ICommunicationRepository,
ICryptoRepository,
IFaceRepository,
IGeocodingRepository,
IJobRepository,
IKeyRepository,
ILibraryRepository,
IMachineLearningRepository,
IMediaRepository,
immichAppConfig,
IMetadataRepository,
IPartnerRepository,
IPersonRepository,
ISearchRepository,
@ -23,6 +22,7 @@ import {
ITagRepository,
IUserRepository,
IUserTokenRepository,
immichAppConfig,
} from '@app/domain';
import { BullModule } from '@nestjs/bullmq';
import { Global, Module, Provider } from '@nestjs/common';
@ -33,20 +33,20 @@ import { databaseConfig } from './database.config';
import { databaseEntities } from './entities';
import { bullConfig, bullQueues } from './infra.config';
import {
APIKeyRepository,
AccessRepository,
AlbumRepository,
APIKeyRepository,
AssetRepository,
AuditRepository,
CommunicationRepository,
CryptoRepository,
FaceRepository,
FilesystemProvider,
GeocodingRepository,
JobRepository,
LibraryRepository,
MachineLearningRepository,
MediaRepository,
MetadataRepository,
PartnerRepository,
PersonRepository,
SharedLinkRepository,
@ -66,11 +66,11 @@ const providers: Provider[] = [
{ provide: ICommunicationRepository, useClass: CommunicationRepository },
{ provide: ICryptoRepository, useClass: CryptoRepository },
{ provide: IFaceRepository, useClass: FaceRepository },
{ provide: IGeocodingRepository, useClass: GeocodingRepository },
{ provide: IJobRepository, useClass: JobRepository },
{ provide: ILibraryRepository, useClass: LibraryRepository },
{ provide: IKeyRepository, useClass: APIKeyRepository },
{ provide: IMachineLearningRepository, useClass: MachineLearningRepository },
{ provide: IMetadataRepository, useClass: MetadataRepository },
{ provide: IPartnerRepository, useClass: PartnerRepository },
{ provide: IPersonRepository, useClass: PersonRepository },
{ provide: ISearchRepository, useClass: TypesenseRepository },