chore(server): move domain interfaces (#8124)

move domain interfaces
This commit is contained in:
Daniel Dietzler
2024-03-20 21:42:58 +01:00
committed by GitHub
parent 2dcce03352
commit 84f7ca855a
150 changed files with 436 additions and 447 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
import { DatabaseExtension } from 'src/domain/repositories/database.repository';
import { DatabaseExtension } from 'src/interfaces/database.repository';
import { DataSource } from 'typeorm';
import { PostgresConnectionOptions } from 'typeorm/driver/postgres/PostgresConnectionOptions.js';
+27 -27
View File
@@ -6,33 +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 { IAccessRepository } from 'src/domain/repositories/access.repository';
import { IActivityRepository } from 'src/domain/repositories/activity.repository';
import { IAlbumRepository } from 'src/domain/repositories/album.repository';
import { IKeyRepository } from 'src/domain/repositories/api-key.repository';
import { IAssetStackRepository } from 'src/domain/repositories/asset-stack.repository';
import { IAssetRepository } from 'src/domain/repositories/asset.repository';
import { IAuditRepository } from 'src/domain/repositories/audit.repository';
import { ICommunicationRepository } from 'src/domain/repositories/communication.repository';
import { ICryptoRepository } from 'src/domain/repositories/crypto.repository';
import { IDatabaseRepository } from 'src/domain/repositories/database.repository';
import { IJobRepository } from 'src/domain/repositories/job.repository';
import { ILibraryRepository } from 'src/domain/repositories/library.repository';
import { IMachineLearningRepository } from 'src/domain/repositories/machine-learning.repository';
import { IMediaRepository } from 'src/domain/repositories/media.repository';
import { IMetadataRepository } from 'src/domain/repositories/metadata.repository';
import { IMoveRepository } from 'src/domain/repositories/move.repository';
import { IPartnerRepository } from 'src/domain/repositories/partner.repository';
import { IPersonRepository } from 'src/domain/repositories/person.repository';
import { ISearchRepository } from 'src/domain/repositories/search.repository';
import { IServerInfoRepository } from 'src/domain/repositories/server-info.repository';
import { ISharedLinkRepository } from 'src/domain/repositories/shared-link.repository';
import { IStorageRepository } from 'src/domain/repositories/storage.repository';
import { ISystemConfigRepository } from 'src/domain/repositories/system-config.repository';
import { ISystemMetadataRepository } from 'src/domain/repositories/system-metadata.repository';
import { ITagRepository } from 'src/domain/repositories/tag.repository';
import { IUserTokenRepository } from 'src/domain/repositories/user-token.repository';
import { IUserRepository } from 'src/domain/repositories/user.repository';
import { databaseConfig } from 'src/infra/database.config';
import { databaseEntities } from 'src/infra/entities';
import { otelConfig } from 'src/infra/instrumentation';
@@ -63,6 +36,33 @@ import { SystemMetadataRepository } from 'src/infra/repositories/system-metadata
import { TagRepository } from 'src/infra/repositories/tag.repository';
import { UserTokenRepository } from 'src/infra/repositories/user-token.repository';
import { UserRepository } from 'src/infra/repositories/user.repository';
import { IAccessRepository } from 'src/interfaces/access.repository';
import { IActivityRepository } from 'src/interfaces/activity.repository';
import { IAlbumRepository } from 'src/interfaces/album.repository';
import { IKeyRepository } from 'src/interfaces/api-key.repository';
import { IAssetStackRepository } from 'src/interfaces/asset-stack.repository';
import { IAssetRepository } from 'src/interfaces/asset.repository';
import { IAuditRepository } from 'src/interfaces/audit.repository';
import { ICommunicationRepository } from 'src/interfaces/communication.repository';
import { ICryptoRepository } from 'src/interfaces/crypto.repository';
import { IDatabaseRepository } from 'src/interfaces/database.repository';
import { IJobRepository } from 'src/interfaces/job.repository';
import { ILibraryRepository } from 'src/interfaces/library.repository';
import { IMachineLearningRepository } from 'src/interfaces/machine-learning.repository';
import { IMediaRepository } from 'src/interfaces/media.repository';
import { IMetadataRepository } from 'src/interfaces/metadata.repository';
import { IMoveRepository } from 'src/interfaces/move.repository';
import { IPartnerRepository } from 'src/interfaces/partner.repository';
import { IPersonRepository } from 'src/interfaces/person.repository';
import { ISearchRepository } from 'src/interfaces/search.repository';
import { IServerInfoRepository } from 'src/interfaces/server-info.repository';
import { ISharedLinkRepository } from 'src/interfaces/shared-link.repository';
import { IStorageRepository } from 'src/interfaces/storage.repository';
import { ISystemConfigRepository } from 'src/interfaces/system-config.repository';
import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.repository';
import { ITagRepository } from 'src/interfaces/tag.repository';
import { IUserTokenRepository } from 'src/interfaces/user-token.repository';
import { IUserRepository } from 'src/interfaces/user.repository';
const providers: Provider[] = [
{ provide: IActivityRepository, useClass: ActivityRepository },
+1 -1
View File
@@ -1,6 +1,6 @@
import _ from 'lodash';
import { AssetSearchBuilderOptions } from 'src/domain/repositories/search.repository';
import { AssetEntity } from 'src/infra/entities/asset.entity';
import { AssetSearchBuilderOptions } from 'src/interfaces/search.repository';
import { Paginated, PaginatedBuilderOptions, PaginationMode, PaginationOptions, PaginationResult } from 'src/utils';
import {
Between,
@@ -1,5 +1,5 @@
import { DatabaseExtension } from 'src/domain/repositories/database.repository';
import { vectorExt } from 'src/infra/database.config';
import { DatabaseExtension } from 'src/interfaces/database.repository';
import { MigrationInterface, QueryRunner } from 'typeorm';
export class AddCLIPEmbeddingIndex1700713994428 implements MigrationInterface {
@@ -1,5 +1,5 @@
import { DatabaseExtension } from 'src/domain/repositories/database.repository';
import { vectorExt } from 'src/infra/database.config';
import { DatabaseExtension } from 'src/interfaces/database.repository';
import { MigrationInterface, QueryRunner } from 'typeorm';
export class AddFaceEmbeddingIndex1700714033632 implements MigrationInterface {
@@ -1,6 +1,5 @@
import { InjectRepository } from '@nestjs/typeorm';
import { ChunkedSet, DummyValue, GenerateSql } from 'src/decorators';
import { IAccessRepository } from 'src/domain/repositories/access.repository';
import { ActivityEntity } from 'src/infra/entities/activity.entity';
import { AlbumEntity } from 'src/infra/entities/album.entity';
import { AssetFaceEntity } from 'src/infra/entities/asset-face.entity';
@@ -11,6 +10,7 @@ import { PersonEntity } from 'src/infra/entities/person.entity';
import { SharedLinkEntity } from 'src/infra/entities/shared-link.entity';
import { UserTokenEntity } from 'src/infra/entities/user-token.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { IAccessRepository } from 'src/interfaces/access.repository';
import { Brackets, In, Repository } from 'typeorm';
type IActivityAccess = IAccessRepository['activity'];
@@ -1,9 +1,9 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { DummyValue, GenerateSql } from 'src/decorators';
import { IActivityRepository } from 'src/domain/repositories/activity.repository';
import { ActivityEntity } from 'src/infra/entities/activity.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { IActivityRepository } from 'src/interfaces/activity.repository';
import { IsNull, Repository } from 'typeorm';
export interface ActivitySearch {
@@ -2,17 +2,17 @@ import { Injectable } from '@nestjs/common';
import { InjectDataSource, InjectRepository } from '@nestjs/typeorm';
import _ from 'lodash';
import { Chunked, ChunkedArray, DATABASE_PARAMETER_CHUNK_SIZE, DummyValue, GenerateSql } from 'src/decorators';
import { dataSource } from 'src/infra/database.config';
import { AlbumEntity } from 'src/infra/entities/album.entity';
import { AssetEntity } from 'src/infra/entities/asset.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import {
AlbumAsset,
AlbumAssetCount,
AlbumAssets,
AlbumInfoOptions,
IAlbumRepository,
} from 'src/domain/repositories/album.repository';
import { dataSource } from 'src/infra/database.config';
import { AlbumEntity } from 'src/infra/entities/album.entity';
import { AssetEntity } from 'src/infra/entities/asset.entity';
import { Instrumentation } from 'src/infra/instrumentation';
} from 'src/interfaces/album.repository';
import { setUnion } from 'src/utils';
import { DataSource, FindOptionsOrder, FindOptionsRelations, In, IsNull, Not, Repository } from 'typeorm';
@@ -1,9 +1,9 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { DummyValue, GenerateSql } from 'src/decorators';
import { IKeyRepository } from 'src/domain/repositories/api-key.repository';
import { APIKeyEntity } from 'src/infra/entities/api-key.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { IKeyRepository } from 'src/interfaces/api-key.repository';
import { Repository } from 'typeorm';
@Instrumentation()
@@ -1,8 +1,8 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { IAssetStackRepository } from 'src/domain/repositories/asset-stack.repository';
import { AssetStackEntity } from 'src/infra/entities/asset-stack.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { IAssetStackRepository } from 'src/interfaces/asset-stack.repository';
import { Repository } from 'typeorm';
@Instrumentation()
@@ -3,6 +3,13 @@ import { InjectRepository } from '@nestjs/typeorm';
import { DateTime } from 'luxon';
import path from 'node:path';
import { Chunked, ChunkedArray, DummyValue, GenerateSql } from 'src/decorators';
import { AssetOrder } from 'src/infra/entities/album.entity';
import { AssetJobStatusEntity } from 'src/infra/entities/asset-job-status.entity';
import { AssetEntity, AssetType } from 'src/infra/entities/asset.entity';
import { ExifEntity } from 'src/infra/entities/exif.entity';
import { SmartInfoEntity } from 'src/infra/entities/smart-info.entity';
import { OptionalBetween, paginate, paginatedBuilder, searchAssetBuilder } from 'src/infra/infra.utils';
import { Instrumentation } from 'src/infra/instrumentation';
import {
AssetBuilderOptions,
AssetCreate,
@@ -23,15 +30,8 @@ import {
TimeBucketSize,
WithProperty,
WithoutProperty,
} from 'src/domain/repositories/asset.repository';
import { AssetSearchOptions, SearchExploreItem } from 'src/domain/repositories/search.repository';
import { AssetOrder } from 'src/infra/entities/album.entity';
import { AssetJobStatusEntity } from 'src/infra/entities/asset-job-status.entity';
import { AssetEntity, AssetType } from 'src/infra/entities/asset.entity';
import { ExifEntity } from 'src/infra/entities/exif.entity';
import { SmartInfoEntity } from 'src/infra/entities/smart-info.entity';
import { OptionalBetween, paginate, paginatedBuilder, searchAssetBuilder } from 'src/infra/infra.utils';
import { Instrumentation } from 'src/infra/instrumentation';
} from 'src/interfaces/asset.repository';
import { AssetSearchOptions, SearchExploreItem } from 'src/interfaces/search.repository';
import { Paginated, PaginationMode, PaginationOptions } from 'src/utils';
import {
Brackets,
@@ -1,7 +1,7 @@
import { InjectRepository } from '@nestjs/typeorm';
import { AuditSearch, IAuditRepository } from 'src/domain/repositories/audit.repository';
import { AuditEntity } from 'src/infra/entities/audit.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { AuditSearch, IAuditRepository } from 'src/interfaces/audit.repository';
import { LessThan, MoreThan, Repository } from 'typeorm';
@Instrumentation()
@@ -8,6 +8,8 @@ import {
} 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 {
ClientEvent,
ICommunicationRepository,
@@ -15,9 +17,7 @@ import {
OnConnectCallback,
OnServerEventCallback,
ServerEvent,
} from 'src/domain/repositories/communication.repository';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
} from 'src/interfaces/communication.repository';
@Instrumentation()
@WebSocketGateway({
@@ -2,8 +2,8 @@ import { Injectable } from '@nestjs/common';
import { compareSync, hash } from 'bcrypt';
import { createHash, randomBytes, randomUUID } from 'node:crypto';
import { createReadStream } from 'node:fs';
import { ICryptoRepository } from 'src/domain/repositories/crypto.repository';
import { Instrumentation } from 'src/infra/instrumentation';
import { ICryptoRepository } from 'src/interfaces/crypto.repository';
@Instrumentation()
@Injectable()
@@ -2,6 +2,9 @@ import { Injectable } from '@nestjs/common';
import { InjectDataSource } from '@nestjs/typeorm';
import AsyncLock from 'async-lock';
import { Version, VersionType } from 'src/domain/domain.constant';
import { vectorExt } from 'src/infra/database.config';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
import {
DatabaseExtension,
DatabaseLock,
@@ -10,10 +13,7 @@ import {
VectorIndex,
VectorUpdateResult,
extName,
} from 'src/domain/repositories/database.repository';
import { vectorExt } from 'src/infra/database.config';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
} from 'src/interfaces/database.repository';
import { isValidInteger } from 'src/validation';
import { DataSource, EntityManager, QueryRunner } from 'typeorm';
@@ -6,6 +6,8 @@ import fs from 'node:fs/promises';
import path from 'node:path';
import { mimeTypes } from 'src/domain/domain.constant';
import { CrawlOptionsDto } from 'src/domain/library/library.dto';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
import {
DiskUsage,
IStorageRepository,
@@ -13,9 +15,7 @@ import {
ImmichZipStream,
StorageEventType,
WatchEvents,
} from 'src/domain/repositories/storage.repository';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
} from 'src/interfaces/storage.repository';
@Instrumentation()
export class FilesystemProvider implements IStorageRepository {
@@ -7,15 +7,9 @@ import { CronJob, CronTime } from 'cron';
import { setTimeout } from 'node:timers/promises';
import { bullConfig } from 'src/config';
import { JOBS_TO_QUEUE, JobName, QueueName } from 'src/domain/job/job.constants';
import {
IJobRepository,
JobCounts,
JobItem,
QueueCleanType,
QueueStatus,
} from 'src/domain/repositories/job.repository';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
import { IJobRepository, JobCounts, JobItem, QueueCleanType, QueueStatus } from 'src/interfaces/job.repository';
@Instrumentation()
@Injectable()
@@ -2,9 +2,9 @@ import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { DummyValue, GenerateSql } from 'src/decorators';
import { LibraryStatsResponseDto } from 'src/domain/library/library.dto';
import { ILibraryRepository } from 'src/domain/repositories/library.repository';
import { LibraryEntity, LibraryType } from 'src/infra/entities/library.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { ILibraryRepository } from 'src/interfaces/library.repository';
import { IsNull, Not } from 'typeorm';
import { Repository } from 'typeorm/repository/Repository.js';
@@ -1,5 +1,7 @@
import { Injectable } from '@nestjs/common';
import { readFile } from 'node:fs/promises';
import { CLIPConfig, ModelConfig, RecognitionConfig } from 'src/domain/smart-info/dto/model-config.dto';
import { Instrumentation } from 'src/infra/instrumentation';
import {
CLIPMode,
DetectFaceResult,
@@ -7,9 +9,7 @@ import {
ModelType,
TextModelInput,
VisionModelInput,
} from 'src/domain/repositories/machine-learning.repository';
import { CLIPConfig, ModelConfig, RecognitionConfig } from 'src/domain/smart-info/dto/model-config.dto';
import { Instrumentation } from 'src/infra/instrumentation';
} from 'src/interfaces/machine-learning.repository';
const errorPrefix = 'Machine learning request';
@@ -3,16 +3,16 @@ import fs from 'node:fs/promises';
import { Writable } from 'node:stream';
import { promisify } from 'node:util';
import sharp from 'sharp';
import { Colorspace } from 'src/infra/entities/system-config.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
import {
CropOptions,
IMediaRepository,
ResizeOptions,
TranscodeOptions,
VideoInfo,
} from 'src/domain/repositories/media.repository';
import { Colorspace } from 'src/infra/entities/system-config.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
} from 'src/interfaces/media.repository';
import { handlePromiseError } from 'src/utils';
const probe = promisify<string, FfprobeData>(ffmpeg.ffprobe);
@@ -14,18 +14,13 @@ import {
geodataCities500Path,
geodataDatePath,
} from 'src/domain/domain.constant';
import {
GeoPoint,
IMetadataRepository,
ImmichTags,
ReverseGeocodeResult,
} from 'src/domain/repositories/metadata.repository';
import { ISystemMetadataRepository } from 'src/domain/repositories/system-metadata.repository';
import { ExifEntity } from 'src/infra/entities/exif.entity';
import { GeodataPlacesEntity } from 'src/infra/entities/geodata-places.entity';
import { SystemMetadataKey } from 'src/infra/entities/system-metadata.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
import { GeoPoint, IMetadataRepository, ImmichTags, ReverseGeocodeResult } from 'src/interfaces/metadata.repository';
import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.repository';
import { DataSource, QueryRunner, Repository } from 'typeorm';
import { QueryDeepPartialEntity } from 'typeorm/query-builder/QueryPartialEntity.js';
@@ -1,9 +1,9 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { DummyValue, GenerateSql } from 'src/decorators';
import { IMoveRepository, MoveCreate } from 'src/domain/repositories/move.repository';
import { MoveEntity, PathType } from 'src/infra/entities/move.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { IMoveRepository, MoveCreate } from 'src/interfaces/move.repository';
import { Repository } from 'typeorm';
@Instrumentation()
@@ -1,8 +1,8 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { IPartnerRepository, PartnerIds } from 'src/domain/repositories/partner.repository';
import { PartnerEntity } from 'src/infra/entities/partner.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { IPartnerRepository, PartnerIds } from 'src/interfaces/partner.repository';
import { DeepPartial, Repository } from 'typeorm';
@Instrumentation()
@@ -1,6 +1,11 @@
import { InjectRepository } from '@nestjs/typeorm';
import _ from 'lodash';
import { ChunkedArray, DummyValue, GenerateSql } from 'src/decorators';
import { AssetFaceEntity } from 'src/infra/entities/asset-face.entity';
import { AssetEntity } from 'src/infra/entities/asset.entity';
import { PersonEntity } from 'src/infra/entities/person.entity';
import { asVector, paginate } from 'src/infra/infra.utils';
import { Instrumentation } from 'src/infra/instrumentation';
import {
AssetFaceId,
IPersonRepository,
@@ -9,12 +14,7 @@ import {
PersonSearchOptions,
PersonStatistics,
UpdateFacesData,
} from 'src/domain/repositories/person.repository';
import { AssetFaceEntity } from 'src/infra/entities/asset-face.entity';
import { AssetEntity } from 'src/infra/entities/asset.entity';
import { PersonEntity } from 'src/infra/entities/person.entity';
import { asVector, paginate } from 'src/infra/infra.utils';
import { Instrumentation } from 'src/infra/instrumentation';
} from 'src/interfaces/person.repository';
import { Paginated, PaginationOptions } from 'src/utils';
import { FindManyOptions, FindOptionsRelations, FindOptionsSelect, In, Repository } from 'typeorm';
@@ -1,16 +1,6 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { DummyValue, GenerateSql } from 'src/decorators';
import { DatabaseExtension } from 'src/domain/repositories/database.repository';
import {
AssetSearchOptions,
Embedding,
FaceEmbeddingSearch,
FaceSearchResult,
ISearchRepository,
SearchPaginationOptions,
SmartSearchOptions,
} from 'src/domain/repositories/search.repository';
import { getCLIPModelInfo } from 'src/domain/smart-info/smart-info.constant';
import { vectorExt } from 'src/infra/database.config';
import { AssetFaceEntity } from 'src/infra/entities/asset-face.entity';
@@ -21,6 +11,16 @@ import { SmartSearchEntity } from 'src/infra/entities/smart-search.entity';
import { asVector, paginatedBuilder, searchAssetBuilder } from 'src/infra/infra.utils';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
import { DatabaseExtension } from 'src/interfaces/database.repository';
import {
AssetSearchOptions,
Embedding,
FaceEmbeddingSearch,
FaceSearchResult,
ISearchRepository,
SearchPaginationOptions,
SmartSearchOptions,
} from 'src/interfaces/search.repository';
import { Paginated, PaginationMode, PaginationResult } from 'src/utils';
import { isValidInteger } from 'src/validation';
import { Repository, SelectQueryBuilder } from 'typeorm';
@@ -1,6 +1,6 @@
import { Injectable } from '@nestjs/common';
import { GitHubRelease, IServerInfoRepository } from 'src/domain/repositories/server-info.repository';
import { Instrumentation } from 'src/infra/instrumentation';
import { GitHubRelease, IServerInfoRepository } from 'src/interfaces/server-info.repository';
@Instrumentation()
@Injectable()
@@ -1,9 +1,9 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { DummyValue, GenerateSql } from 'src/decorators';
import { ISharedLinkRepository } from 'src/domain/repositories/shared-link.repository';
import { SharedLinkEntity } from 'src/infra/entities/shared-link.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { ISharedLinkRepository } from 'src/interfaces/shared-link.repository';
import { Repository } from 'typeorm';
@Instrumentation()
@@ -1,9 +1,9 @@
import { InjectRepository } from '@nestjs/typeorm';
import { readFile } from 'node:fs/promises';
import { Chunked, DummyValue, GenerateSql } from 'src/decorators';
import { ISystemConfigRepository } from 'src/domain/repositories/system-config.repository';
import { SystemConfigEntity } from 'src/infra/entities/system-config.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { ISystemConfigRepository } from 'src/interfaces/system-config.repository';
import { In, Repository } from 'typeorm';
@Instrumentation()
@@ -1,7 +1,7 @@
import { InjectRepository } from '@nestjs/typeorm';
import { ISystemMetadataRepository } from 'src/domain/repositories/system-metadata.repository';
import { SystemMetadata, SystemMetadataEntity } from 'src/infra/entities/system-metadata.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.repository';
import { Repository } from 'typeorm';
@Instrumentation()
@@ -1,9 +1,9 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { ITagRepository } from 'src/domain/repositories/tag.repository';
import { AssetEntity } from 'src/infra/entities/asset.entity';
import { TagEntity } from 'src/infra/entities/tag.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { ITagRepository } from 'src/interfaces/tag.repository';
import { Repository } from 'typeorm';
@Instrumentation()
@@ -1,9 +1,9 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { DummyValue, GenerateSql } from 'src/decorators';
import { IUserTokenRepository } from 'src/domain/repositories/user-token.repository';
import { UserTokenEntity } from 'src/infra/entities/user-token.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import { IUserTokenRepository } from 'src/interfaces/user-token.repository';
import { Repository } from 'typeorm';
@Instrumentation()
@@ -1,15 +1,15 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { DummyValue, GenerateSql } from 'src/decorators';
import { AssetEntity } from 'src/infra/entities/asset.entity';
import { UserEntity } from 'src/infra/entities/user.entity';
import { Instrumentation } from 'src/infra/instrumentation';
import {
IUserRepository,
UserFindOptions,
UserListFilter,
UserStatsQueryResponse,
} from 'src/domain/repositories/user.repository';
import { AssetEntity } from 'src/infra/entities/asset.entity';
import { UserEntity } from 'src/infra/entities/user.entity';
import { Instrumentation } from 'src/infra/instrumentation';
} from 'src/interfaces/user.repository';
import { IsNull, Not, Repository } from 'typeorm';
@Instrumentation()
+1 -1
View File
@@ -6,7 +6,6 @@ import { TypeOrmModule } from '@nestjs/typeorm';
import { mkdir, rm, writeFile } from 'node:fs/promises';
import { join } from 'node:path';
import { GENERATE_SQL_KEY, GenerateSqlQueries } from 'src/decorators';
import { ISystemConfigRepository } from 'src/domain/repositories/system-config.repository';
import { databaseConfig } from 'src/infra/database.config';
import { databaseEntities } from 'src/infra/entities';
import { AccessRepository } from 'src/infra/repositories/access.repository';
@@ -26,6 +25,7 @@ import { TagRepository } from 'src/infra/repositories/tag.repository';
import { UserTokenRepository } from 'src/infra/repositories/user-token.repository';
import { UserRepository } from 'src/infra/repositories/user.repository';
import { SqlLogger } from 'src/infra/sql-generator/sql.logger';
import { ISystemConfigRepository } from 'src/interfaces/system-config.repository';
const reflector = new Reflector();
const repositories = [