瀏覽代碼

fix(web) getting asset with avaialble thumbnail when getting asset count by time bucket (#900)

Alex 2 年之前
父節點
當前提交
6e638cd673
共有 1 個文件被更改,包括 12 次插入5 次删除
  1. 12 5
      server/apps/immich/src/api-v1/asset/asset-repository.ts

+ 12 - 5
server/apps/immich/src/api-v1/asset/asset-repository.ts

@@ -35,7 +35,10 @@ export interface IAssetRepository {
   getAssetWithNoThumbnail(): Promise<AssetEntity[]>;
   getAssetWithNoThumbnail(): Promise<AssetEntity[]>;
   getAssetWithNoEXIF(): Promise<AssetEntity[]>;
   getAssetWithNoEXIF(): Promise<AssetEntity[]>;
   getAssetWithNoSmartInfo(): Promise<AssetEntity[]>;
   getAssetWithNoSmartInfo(): Promise<AssetEntity[]>;
-  getExistingAssets(userId: string, checkDuplicateAssetDto: CheckExistingAssetsDto): Promise<CheckExistingAssetsResponseDto>;
+  getExistingAssets(
+    userId: string,
+    checkDuplicateAssetDto: CheckExistingAssetsDto,
+  ): Promise<CheckExistingAssetsResponseDto>;
 }
 }
 
 
 export const ASSET_REPOSITORY = 'ASSET_REPOSITORY';
 export const ASSET_REPOSITORY = 'ASSET_REPOSITORY';
@@ -118,6 +121,7 @@ export class AssetRepository implements IAssetRepository {
         .select(`COUNT(asset.id)::int`, 'count')
         .select(`COUNT(asset.id)::int`, 'count')
         .addSelect(`date_trunc('month', "createdAt")`, 'timeBucket')
         .addSelect(`date_trunc('month', "createdAt")`, 'timeBucket')
         .where('"userId" = :userId', { userId: userId })
         .where('"userId" = :userId', { userId: userId })
+        .andWhere('asset.resizePath is not NULL')
         .groupBy(`date_trunc('month', "createdAt")`)
         .groupBy(`date_trunc('month', "createdAt")`)
         .orderBy(`date_trunc('month', "createdAt")`, 'DESC')
         .orderBy(`date_trunc('month', "createdAt")`, 'DESC')
         .getRawMany();
         .getRawMany();
@@ -127,6 +131,7 @@ export class AssetRepository implements IAssetRepository {
         .select(`COUNT(asset.id)::int`, 'count')
         .select(`COUNT(asset.id)::int`, 'count')
         .addSelect(`date_trunc('day', "createdAt")`, 'timeBucket')
         .addSelect(`date_trunc('day', "createdAt")`, 'timeBucket')
         .where('"userId" = :userId', { userId: userId })
         .where('"userId" = :userId', { userId: userId })
+        .andWhere('asset.resizePath is not NULL')
         .groupBy(`date_trunc('day', "createdAt")`)
         .groupBy(`date_trunc('day', "createdAt")`)
         .orderBy(`date_trunc('day', "createdAt")`, 'DESC')
         .orderBy(`date_trunc('day', "createdAt")`, 'DESC')
         .getRawMany();
         .getRawMany();
@@ -284,16 +289,18 @@ export class AssetRepository implements IAssetRepository {
     });
     });
   }
   }
 
 
-  async getExistingAssets(userId: string, checkDuplicateAssetDto: CheckExistingAssetsDto): Promise<CheckExistingAssetsResponseDto> {
+  async getExistingAssets(
+    userId: string,
+    checkDuplicateAssetDto: CheckExistingAssetsDto,
+  ): Promise<CheckExistingAssetsResponseDto> {
     const existingAssets = await this.assetRepository.find({
     const existingAssets = await this.assetRepository.find({
-      select: {deviceAssetId: true},
+      select: { deviceAssetId: true },
       where: {
       where: {
         deviceAssetId: In(checkDuplicateAssetDto.deviceAssetIds),
         deviceAssetId: In(checkDuplicateAssetDto.deviceAssetIds),
         deviceId: checkDuplicateAssetDto.deviceId,
         deviceId: checkDuplicateAssetDto.deviceId,
         userId,
         userId,
       },
       },
     });
     });
-    return new CheckExistingAssetsResponseDto(existingAssets.map(a => a.deviceAssetId));
+    return new CheckExistingAssetsResponseDto(existingAssets.map((a) => a.deviceAssetId));
   }
   }
-
 }
 }