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

This commit is contained in:
Alex 2022-10-30 11:03:17 -05:00 committed by GitHub
parent 6fcc1d7685
commit 6e638cd673
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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));
} }
} }