chore(server): use absolute import paths (#8080)

update server to use absolute import paths
This commit is contained in:
Daniel Dietzler
2024-03-20 19:32:04 +01:00
committed by GitHub
parent 591a641d8d
commit 30f499cf2e
347 changed files with 1962 additions and 2274 deletions

View File

@@ -1,20 +1,18 @@
import { IAccessRepository } from '@app/domain';
import { InjectRepository } from '@nestjs/typeorm';
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';
import { AssetEntity } from 'src/infra/entities/asset.entity';
import { LibraryEntity } from 'src/infra/entities/library.entity';
import { PartnerEntity } from 'src/infra/entities/partner.entity';
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 { DummyValue, GenerateSql } from 'src/infra/infra.util';
import { ChunkedSet } from 'src/infra/infra.utils';
import { Instrumentation } from 'src/infra/instrumentation';
import { Brackets, In, Repository } from 'typeorm';
import {
ActivityEntity,
AlbumEntity,
AssetEntity,
AssetFaceEntity,
LibraryEntity,
PartnerEntity,
PersonEntity,
SharedLinkEntity,
UserTokenEntity,
} from '../entities';
import { DummyValue, GenerateSql } from '../infra.util';
import { ChunkedSet } from '../infra.utils';
import { Instrumentation } from '../instrumentation';
type IActivityAccess = IAccessRepository['activity'];
type IAlbumAccess = IAccessRepository['album'];

View File

@@ -1,10 +1,10 @@
import { IActivityRepository } from '@app/domain';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { IActivityRepository } from 'src/domain/repositories/activity.repository';
import { ActivityEntity } from 'src/infra/entities/activity.entity';
import { DummyValue, GenerateSql } from 'src/infra/infra.util';
import { Instrumentation } from 'src/infra/instrumentation';
import { IsNull, Repository } from 'typeorm';
import { ActivityEntity } from '../entities/activity.entity';
import { DummyValue, GenerateSql } from '../infra.util';
import { Instrumentation } from '../instrumentation';
export interface ActivitySearch {
albumId?: string;

View File

@@ -1,14 +1,21 @@
import { AlbumAsset, AlbumAssetCount, AlbumAssets, AlbumInfoOptions, IAlbumRepository } from '@app/domain';
import { Injectable } from '@nestjs/common';
import { InjectDataSource, InjectRepository } from '@nestjs/typeorm';
import _ from 'lodash';
import { setUnion } from 'src/domain/domain.util';
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 { DATABASE_PARAMETER_CHUNK_SIZE, DummyValue, GenerateSql } from 'src/infra/infra.util';
import { Chunked, ChunkedArray } from 'src/infra/infra.utils';
import { Instrumentation } from 'src/infra/instrumentation';
import { DataSource, FindOptionsOrder, FindOptionsRelations, In, IsNull, Not, Repository } from 'typeorm';
import { setUnion } from '../../domain/domain.util';
import { dataSource } from '../database.config';
import { AlbumEntity, AssetEntity } from '../entities';
import { DATABASE_PARAMETER_CHUNK_SIZE, DummyValue, GenerateSql } from '../infra.util';
import { Chunked, ChunkedArray } from '../infra.utils';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
@Injectable()

View File

@@ -1,10 +1,10 @@
import { IKeyRepository } from '@app/domain';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { IKeyRepository } from 'src/domain/repositories/api-key.repository';
import { APIKeyEntity } from 'src/infra/entities/api-key.entity';
import { DummyValue, GenerateSql } from 'src/infra/infra.util';
import { Instrumentation } from 'src/infra/instrumentation';
import { Repository } from 'typeorm';
import { APIKeyEntity } from '../entities';
import { DummyValue, GenerateSql } from '../infra.util';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
@Injectable()

View File

@@ -1,9 +1,9 @@
import { IAssetStackRepository } from '@app/domain';
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 { Repository } from 'typeorm';
import { AssetStackEntity } from '../entities';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
@Injectable()

View File

@@ -1,9 +1,13 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { DateTime } from 'luxon';
import path from 'node:path';
import { Paginated, PaginationMode, PaginationOptions } from 'src/domain/domain.util';
import {
AssetBuilderOptions,
AssetCreate,
AssetExploreFieldOptions,
AssetPathEntity,
AssetSearchOptions,
AssetStats,
AssetStatsOptions,
AssetUpdateAllOptions,
@@ -14,20 +18,28 @@ import {
MapMarkerSearchOptions,
MetadataSearchOptions,
MonthDay,
Paginated,
PaginationMode,
PaginationOptions,
SearchExploreItem,
TimeBucketItem,
TimeBucketOptions,
TimeBucketSize,
WithProperty,
WithoutProperty,
} from '@app/domain';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { DateTime } from 'luxon';
import path from 'node:path';
} 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 { DummyValue, GenerateSql } from 'src/infra/infra.util';
import {
Chunked,
ChunkedArray,
OptionalBetween,
paginate,
paginatedBuilder,
searchAssetBuilder,
} from 'src/infra/infra.utils';
import { Instrumentation } from 'src/infra/instrumentation';
import {
Brackets,
FindOptionsRelations,
@@ -38,10 +50,6 @@ import {
Not,
Repository,
} from 'typeorm';
import { AssetEntity, AssetJobStatusEntity, AssetOrder, AssetType, ExifEntity, SmartInfoEntity } from '../entities';
import { DummyValue, GenerateSql } from '../infra.util';
import { Chunked, ChunkedArray, OptionalBetween, paginate, paginatedBuilder, searchAssetBuilder } from '../infra.utils';
import { Instrumentation } from '../instrumentation';
const truncateMap: Record<TimeBucketSize, string> = {
[TimeBucketSize.DAY]: 'day',

View File

@@ -1,8 +1,8 @@
import { AuditSearch, IAuditRepository } from '@app/domain';
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 { LessThan, MoreThan, Repository } from 'typeorm';
import { AuditEntity } from '../entities';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
export class AuditRepository implements IAuditRepository {

View File

@@ -1,13 +1,3 @@
import {
AuthService,
ClientEvent,
ICommunicationRepository,
InternalEventMap,
OnConnectCallback,
OnServerEventCallback,
ServerEvent,
} from '@app/domain';
import { ImmichLogger } from '@app/infra/logger';
import { EventEmitter2 } from '@nestjs/event-emitter';
import {
OnGatewayConnection,
@@ -17,7 +7,17 @@ import {
WebSocketServer,
} from '@nestjs/websockets';
import { Server, Socket } from 'socket.io';
import { Instrumentation } from '../instrumentation';
import { AuthService } from 'src/domain/auth/auth.service';
import {
ClientEvent,
ICommunicationRepository,
InternalEventMap,
OnConnectCallback,
OnServerEventCallback,
ServerEvent,
} from 'src/domain/repositories/communication.repository';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
@Instrumentation()
@WebSocketGateway({

View File

@@ -1,9 +1,9 @@
import { ICryptoRepository } from '@app/domain';
import { Injectable } from '@nestjs/common';
import { compareSync, hash } from 'bcrypt';
import { createHash, randomBytes, randomUUID } from 'node:crypto';
import { createReadStream } from 'node:fs';
import { Instrumentation } from '../instrumentation';
import { ICryptoRepository } from 'src/domain/repositories/crypto.repository';
import { Instrumentation } from 'src/infra/instrumentation';
@Instrumentation()
@Injectable()

View File

@@ -1,3 +1,7 @@
import { Injectable } from '@nestjs/common';
import { InjectDataSource } from '@nestjs/typeorm';
import AsyncLock from 'async-lock';
import { Version, VersionType } from 'src/domain/domain.constant';
import {
DatabaseExtension,
DatabaseLock,
@@ -5,18 +9,13 @@ import {
VectorExtension,
VectorIndex,
VectorUpdateResult,
Version,
VersionType,
extName,
} from '@app/domain';
import { vectorExt } from '@app/infra/database.config';
import { Injectable } from '@nestjs/common';
import { InjectDataSource } from '@nestjs/typeorm';
import AsyncLock from 'async-lock';
} from 'src/domain/repositories/database.repository';
import { vectorExt } from 'src/infra/database.config';
import { isValidInteger } from 'src/infra/infra.utils';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
import { DataSource, EntityManager, QueryRunner } from 'typeorm';
import { isValidInteger } from '../infra.utils';
import { Instrumentation } from '../instrumentation';
import { ImmichLogger } from '../logger';
@Instrumentation()
@Injectable()

View File

@@ -1,6 +1,6 @@
import { CrawlOptionsDto } from '@app/domain';
import mockfs from 'mock-fs';
import { FilesystemProvider } from './filesystem.provider';
import { CrawlOptionsDto } from 'src/domain/library/library.dto';
import { FilesystemProvider } from 'src/infra/repositories/filesystem.provider';
interface Test {
test: string;

View File

@@ -1,21 +1,21 @@
import {
CrawlOptionsDto,
DiskUsage,
IStorageRepository,
ImmichReadStream,
ImmichZipStream,
StorageEventType,
WatchEvents,
mimeTypes,
} from '@app/domain';
import { ImmichLogger } from '@app/infra/logger';
import archiver from 'archiver';
import chokidar, { WatchOptions } from 'chokidar';
import { glob, globStream } from 'fast-glob';
import { constants, createReadStream, existsSync, mkdirSync } from 'node:fs';
import fs from 'node:fs/promises';
import path from 'node:path';
import { Instrumentation } from '../instrumentation';
import { mimeTypes } from 'src/domain/domain.constant';
import { CrawlOptionsDto } from 'src/domain/library/library.dto';
import {
DiskUsage,
IStorageRepository,
ImmichReadStream,
ImmichZipStream,
StorageEventType,
WatchEvents,
} from 'src/domain/repositories/storage.repository';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
@Instrumentation()
export class FilesystemProvider implements IStorageRepository {

View File

@@ -1,27 +0,0 @@
export * from './access.repository';
export * from './activity.repository';
export * from './album.repository';
export * from './api-key.repository';
export * from './asset-stack.repository';
export * from './asset.repository';
export * from './audit.repository';
export * from './communication.repository';
export * from './crypto.repository';
export * from './database.repository';
export * from './filesystem.provider';
export * from './job.repository';
export * from './library.repository';
export * from './machine-learning.repository';
export * from './media.repository';
export * from './metadata.repository';
export * from './move.repository';
export * from './partner.repository';
export * from './person.repository';
export * from './search.repository';
export * from './server-info.repository';
export * from './shared-link.repository';
export * from './system-config.repository';
export * from './system-metadata.repository';
export * from './tag.repository';
export * from './user-token.repository';
export * from './user.repository';

View File

@@ -1,14 +1,3 @@
import {
IJobRepository,
JobCounts,
JobItem,
JobName,
JOBS_TO_QUEUE,
QueueCleanType,
QueueName,
QueueStatus,
} from '@app/domain';
import { ImmichLogger } from '@app/infra/logger';
import { getQueueToken } from '@nestjs/bullmq';
import { Injectable } from '@nestjs/common';
import { ModuleRef } from '@nestjs/core';
@@ -16,8 +5,17 @@ import { SchedulerRegistry } from '@nestjs/schedule';
import { Job, JobsOptions, Processor, Queue, Worker, WorkerOptions } from 'bullmq';
import { CronJob, CronTime } from 'cron';
import { setTimeout } from 'node:timers/promises';
import { bullConfig } from '../infra.config';
import { Instrumentation } from '../instrumentation';
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 { bullConfig } from 'src/infra/infra.config';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
@Instrumentation()
@Injectable()

View File

@@ -1,11 +1,12 @@
import { ILibraryRepository, LibraryStatsResponseDto } from '@app/domain';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
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 { DummyValue, GenerateSql } from 'src/infra/infra.util';
import { Instrumentation } from 'src/infra/instrumentation';
import { IsNull, Not } from 'typeorm';
import { Repository } from 'typeorm/repository/Repository.js';
import { LibraryEntity, LibraryType } from '../entities';
import { DummyValue, GenerateSql } from '../infra.util';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
@Injectable()

View File

@@ -1,17 +1,15 @@
import { Injectable } from '@nestjs/common';
import { readFile } from 'node:fs/promises';
import {
CLIPConfig,
CLIPMode,
DetectFaceResult,
IMachineLearningRepository,
ModelConfig,
ModelType,
RecognitionConfig,
TextModelInput,
VisionModelInput,
} from '@app/domain';
import { Injectable } from '@nestjs/common';
import { readFile } from 'node:fs/promises';
import { Instrumentation } from '../instrumentation';
} 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';
const errorPrefix = 'Machine learning request';

View File

@@ -1,19 +1,19 @@
import ffmpeg, { FfprobeData } from 'fluent-ffmpeg';
import fs from 'node:fs/promises';
import { Writable } from 'node:stream';
import { promisify } from 'node:util';
import sharp from 'sharp';
import { handlePromiseError } from 'src/domain/domain.util';
import {
CropOptions,
IMediaRepository,
ResizeOptions,
TranscodeOptions,
VideoInfo,
handlePromiseError,
} from '@app/domain';
import { Colorspace } from '@app/infra/entities';
import { ImmichLogger } from '@app/infra/logger';
import ffmpeg, { FfprobeData } from 'fluent-ffmpeg';
import fs from 'node:fs/promises';
import { Writable } from 'node:stream';
import { promisify } from 'node:util';
import sharp from 'sharp';
import { Instrumentation } from '../instrumentation';
} 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';
const probe = promisify<string, FfprobeData>(ffmpeg.ffprobe);
sharp.concurrency(0);

View File

@@ -1,29 +1,33 @@
import { Inject } from '@nestjs/common';
import { InjectDataSource, InjectRepository } from '@nestjs/typeorm';
import { DefaultReadTaskOptions, Tags, exiftool } from 'exiftool-vendored';
import geotz from 'geo-tz';
import { getName } from 'i18n-iso-countries';
import { createReadStream, existsSync } from 'node:fs';
import { readFile } from 'node:fs/promises';
import readLine from 'node:readline';
import {
citiesFile,
geodataAdmin1Path,
geodataAdmin2Path,
geodataCities500Path,
geodataDatePath,
} from 'src/domain/domain.constant';
import {
GeoPoint,
IMetadataRepository,
ImmichTags,
ISystemMetadataRepository,
ReverseGeocodeResult,
} from '@app/domain';
import { ExifEntity, GeodataPlacesEntity, SystemMetadataKey } from '@app/infra/entities';
import { ImmichLogger } from '@app/infra/logger';
import { Inject } from '@nestjs/common';
import { InjectDataSource, InjectRepository } from '@nestjs/typeorm';
import { DefaultReadTaskOptions, exiftool, Tags } from 'exiftool-vendored';
import * as geotz from 'geo-tz';
import { getName } from 'i18n-iso-countries';
import { createReadStream, existsSync } from 'node:fs';
import { readFile } from 'node:fs/promises';
import * as readLine from 'node:readline';
} 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 { DummyValue, GenerateSql } from 'src/infra/infra.util';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
import { DataSource, QueryRunner, Repository } from 'typeorm';
import { QueryDeepPartialEntity } from 'typeorm/query-builder/QueryPartialEntity.js';
import { DummyValue, GenerateSql } from '../infra.util';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
export class MetadataRepository implements IMetadataRepository {

View File

@@ -1,10 +1,10 @@
import { IMoveRepository, MoveCreate } from '@app/domain';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { IMoveRepository, MoveCreate } from 'src/domain/repositories/move.repository';
import { MoveEntity, PathType } from 'src/infra/entities/move.entity';
import { DummyValue, GenerateSql } from 'src/infra/infra.util';
import { Instrumentation } from 'src/infra/instrumentation';
import { Repository } from 'typeorm';
import { MoveEntity, PathType } from '../entities';
import { DummyValue, GenerateSql } from '../infra.util';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
@Injectable()

View File

@@ -1,9 +1,9 @@
import { IPartnerRepository, PartnerIds } from '@app/domain';
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 { DeepPartial, Repository } from 'typeorm';
import { PartnerEntity } from '../entities';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
@Injectable()

View File

@@ -1,21 +1,22 @@
import { InjectRepository } from '@nestjs/typeorm';
import _ from 'lodash';
import { Paginated, PaginationOptions } from 'src/domain/domain.util';
import {
AssetFaceId,
IPersonRepository,
Paginated,
PaginationOptions,
PeopleStatistics,
PersonNameSearchOptions,
PersonSearchOptions,
PersonStatistics,
UpdateFacesData,
} from '@app/domain';
import { InjectRepository } from '@nestjs/typeorm';
import _ from 'lodash';
} 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 { DummyValue, GenerateSql } from 'src/infra/infra.util';
import { ChunkedArray, asVector, paginate } from 'src/infra/infra.utils';
import { Instrumentation } from 'src/infra/instrumentation';
import { FindManyOptions, FindOptionsRelations, FindOptionsSelect, In, Repository } from 'typeorm';
import { AssetEntity, AssetFaceEntity, PersonEntity } from '../entities';
import { DummyValue, GenerateSql } from '../infra.util';
import { ChunkedArray, asVector, paginate } from '../infra.utils';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
export class PersonRepository implements IPersonRepository {

View File

@@ -1,33 +1,28 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Paginated, PaginationMode, PaginationResult } from 'src/domain/domain.util';
import { DatabaseExtension } from 'src/domain/repositories/database.repository';
import {
AssetSearchOptions,
DatabaseExtension,
Embedding,
FaceEmbeddingSearch,
FaceSearchResult,
ISearchRepository,
Paginated,
PaginationMode,
PaginationResult,
SearchPaginationOptions,
SmartSearchOptions,
} from '@app/domain';
import { getCLIPModelInfo } from '@app/domain/smart-info/smart-info.constant';
import {
AssetEntity,
AssetFaceEntity,
AssetType,
GeodataPlacesEntity,
SmartInfoEntity,
SmartSearchEntity,
} from '@app/infra/entities';
import { ImmichLogger } from '@app/infra/logger';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
} 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';
import { AssetEntity, AssetType } from 'src/infra/entities/asset.entity';
import { GeodataPlacesEntity } from 'src/infra/entities/geodata-places.entity';
import { SmartInfoEntity } from 'src/infra/entities/smart-info.entity';
import { SmartSearchEntity } from 'src/infra/entities/smart-search.entity';
import { DummyValue, GenerateSql } from 'src/infra/infra.util';
import { asVector, isValidInteger, paginatedBuilder, searchAssetBuilder } from 'src/infra/infra.utils';
import { Instrumentation } from 'src/infra/instrumentation';
import { ImmichLogger } from 'src/infra/logger';
import { Repository, SelectQueryBuilder } from 'typeorm';
import { vectorExt } from '../database.config';
import { DummyValue, GenerateSql } from '../infra.util';
import { asVector, isValidInteger, paginatedBuilder, searchAssetBuilder } from '../infra.utils';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
@Injectable()
@@ -335,7 +330,7 @@ WITH RECURSIVE cte AS (
)
UNION ALL
SELECT l.city, l."assetId"
FROM cte c
, LATERAL (

View File

@@ -1,6 +1,6 @@
import { GitHubRelease, IServerInfoRepository } from '@app/domain';
import { Injectable } from '@nestjs/common';
import { Instrumentation } from '../instrumentation';
import { GitHubRelease, IServerInfoRepository } from 'src/domain/repositories/server-info.repository';
import { Instrumentation } from 'src/infra/instrumentation';
@Instrumentation()
@Injectable()

View File

@@ -1,10 +1,10 @@
import { ISharedLinkRepository } from '@app/domain';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { ISharedLinkRepository } from 'src/domain/repositories/shared-link.repository';
import { SharedLinkEntity } from 'src/infra/entities/shared-link.entity';
import { DummyValue, GenerateSql } from 'src/infra/infra.util';
import { Instrumentation } from 'src/infra/instrumentation';
import { Repository } from 'typeorm';
import { SharedLinkEntity } from '../entities';
import { DummyValue, GenerateSql } from '../infra.util';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
@Injectable()

View File

@@ -1,11 +1,11 @@
import { ISystemConfigRepository } from '@app/domain';
import { InjectRepository } from '@nestjs/typeorm';
import { readFile } from 'node:fs/promises';
import { ISystemConfigRepository } from 'src/domain/repositories/system-config.repository';
import { SystemConfigEntity } from 'src/infra/entities/system-config.entity';
import { DummyValue, GenerateSql } from 'src/infra/infra.util';
import { Chunked } from 'src/infra/infra.utils';
import { Instrumentation } from 'src/infra/instrumentation';
import { In, Repository } from 'typeorm';
import { SystemConfigEntity } from '../entities';
import { DummyValue, GenerateSql } from '../infra.util';
import { Chunked } from '../infra.utils';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
export class SystemConfigRepository implements ISystemConfigRepository {

View File

@@ -1,8 +1,8 @@
import { ISystemMetadataRepository } from '@app/domain/repositories/system-metadata.repository';
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 { Repository } from 'typeorm';
import { SystemMetadata, SystemMetadataEntity } from '../entities';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
export class SystemMetadataRepository implements ISystemMetadataRepository {

View File

@@ -1,9 +1,10 @@
import { ITagRepository } from '@app/domain';
import { AssetEntity, TagEntity } from '@app/infra/entities';
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 { Repository } from 'typeorm';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
@Injectable()

View File

@@ -1,10 +1,10 @@
import { IUserTokenRepository } from '@app/domain';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { IUserTokenRepository } from 'src/domain/repositories/user-token.repository';
import { UserTokenEntity } from 'src/infra/entities/user-token.entity';
import { DummyValue, GenerateSql } from 'src/infra/infra.util';
import { Instrumentation } from 'src/infra/instrumentation';
import { Repository } from 'typeorm';
import { UserTokenEntity } from '../entities';
import { DummyValue, GenerateSql } from '../infra.util';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
@Injectable()

View File

@@ -1,10 +1,16 @@
import { IUserRepository, UserFindOptions, UserListFilter, UserStatsQueryResponse } from '@app/domain';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
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 { DummyValue, GenerateSql } from 'src/infra/infra.util';
import { Instrumentation } from 'src/infra/instrumentation';
import { IsNull, Not, Repository } from 'typeorm';
import { AssetEntity, UserEntity } from '../entities';
import { DummyValue, GenerateSql } from '../infra.util';
import { Instrumentation } from '../instrumentation';
@Instrumentation()
@Injectable()