chore: remove asset entity (#17703)

This commit is contained in:
Daniel Dietzler
2025-04-18 23:39:56 +02:00
committed by GitHub
parent 52ae06c119
commit dd1fcd5be5
12 changed files with 281 additions and 299 deletions

View File

@@ -5,10 +5,9 @@ import { InjectKysely } from 'nestjs-kysely';
import { columns } from 'src/database';
import { DB } from 'src/db';
import { DummyValue, GenerateSql } from 'src/decorators';
import { withExifInner, withFaces, withFiles } from 'src/entities/asset.entity';
import { AssetFileType } from 'src/enum';
import { StorageAsset } from 'src/types';
import { anyUuid, asUuid } from 'src/utils/database';
import { anyUuid, asUuid, withExifInner, withFaces, withFiles } from 'src/utils/database';
@Injectable()
export class AssetJobRepository {

View File

@@ -6,11 +6,16 @@ import { Stack } from 'src/database';
import { AssetFiles, AssetJobStatus, Assets, DB, Exif } from 'src/db';
import { Chunked, ChunkedArray, DummyValue, GenerateSql } from 'src/decorators';
import { MapAsset } from 'src/dtos/asset-response.dto';
import { AssetFileType, AssetOrder, AssetStatus, AssetType } from 'src/enum';
import { AssetSearchOptions, SearchExploreItem, SearchExploreItemSet } from 'src/repositories/search.repository';
import {
AssetEntity,
anyUuid,
asUuid,
hasPeople,
removeUndefinedKeys,
searchAssetBuilder,
truncatedDate,
unnest,
withExif,
withFaces,
withFacesAndPeople,
@@ -20,10 +25,7 @@ import {
withSmartSearch,
withTagId,
withTags,
} from 'src/entities/asset.entity';
import { AssetFileType, AssetOrder, AssetStatus, AssetType } from 'src/enum';
import { AssetSearchOptions, SearchExploreItem, SearchExploreItemSet } from 'src/repositories/search.repository';
import { anyUuid, asUuid, removeUndefinedKeys, unnest } from 'src/utils/database';
} from 'src/utils/database';
import { globToSqlPattern } from 'src/utils/misc';
import { PaginationOptions, paginationHelper } from 'src/utils/pagination';
@@ -128,8 +130,6 @@ export interface AssetGetByChecksumOptions {
libraryId?: string;
}
export type AssetPathEntity = Pick<AssetEntity, 'id' | 'originalPath' | 'isOffline'>;
export interface GetByIdsRelations {
exifInfo?: boolean;
faces?: { person?: boolean; withDeleted?: boolean };
@@ -493,13 +493,13 @@ export class AssetRepository {
}
@GenerateSql({ params: [DummyValue.UUID, [DummyValue.BUFFER]] })
getByChecksums(userId: string, checksums: Buffer[]): Promise<AssetEntity[]> {
getByChecksums(userId: string, checksums: Buffer[]) {
return this.db
.selectFrom('assets')
.select(['id', 'checksum', 'deletedAt'])
.where('ownerId', '=', asUuid(userId))
.where('checksum', 'in', checksums)
.execute() as any as Promise<AssetEntity[]>;
.execute();
}
@GenerateSql({ params: [DummyValue.UUID, DummyValue.BUFFER] })

View File

@@ -5,9 +5,8 @@ import { randomUUID } from 'node:crypto';
import { DB, Exif } from 'src/db';
import { DummyValue, GenerateSql } from 'src/decorators';
import { MapAsset } from 'src/dtos/asset-response.dto';
import { searchAssetBuilder } from 'src/entities/asset.entity';
import { AssetStatus, AssetType } from 'src/enum';
import { anyUuid, asUuid } from 'src/utils/database';
import { anyUuid, asUuid, searchAssetBuilder } from 'src/utils/database';
import { isValidInteger } from 'src/validation';
export interface SearchResult<T> {

View File

@@ -2,8 +2,7 @@ import { Kysely } from 'kysely';
import { InjectKysely } from 'nestjs-kysely';
import { DB } from 'src/db';
import { DummyValue, GenerateSql } from 'src/decorators';
import { withExif } from 'src/entities/asset.entity';
import { asUuid } from 'src/utils/database';
import { asUuid, withExif } from 'src/utils/database';
export class ViewRepository {
constructor(@InjectKysely() private db: Kysely<DB>) {}