1
0
mirror of https://github.com/immich-app/immich.git synced 2025-08-09 23:17:29 +02:00

[WEB] Upload asset directly to album (#379)

* Added stores to get album assetId

* Upload assets and add to album

* Added comments

* resolve conflict when add assets from upload directly

* Filtered out duplicate asset before adding to the album
This commit is contained in:
Alex
2022-07-26 20:53:25 -05:00
committed by GitHub
parent 2336a6159c
commit 03457f5d32
15 changed files with 3823 additions and 4408 deletions

View File

@@ -202,8 +202,6 @@ export class AssetController {
@GetAuthUser() authUser: AuthUserDto,
@Body(ValidationPipe) checkDuplicateAssetDto: CheckDuplicateAssetDto,
): Promise<CheckDuplicateAssetResponseDto> {
const res = await this.assetService.checkDuplicatedAsset(authUser, checkDuplicateAssetDto);
return new CheckDuplicateAssetResponseDto(res);
return await this.assetService.checkDuplicatedAsset(authUser, checkDuplicateAssetDto);
}
}

View File

@@ -24,6 +24,7 @@ import { AssetFileUploadDto } from './dto/asset-file-upload.dto';
import { CreateAssetDto } from './dto/create-asset.dto';
import { DeleteAssetResponseDto, DeleteAssetStatusEnum } from './response-dto/delete-asset-response.dto';
import { GetAssetThumbnailDto, GetAssetThumbnailFormatEnum } from './dto/get-asset-thumbnail.dto';
import { CheckDuplicateAssetResponseDto } from './response-dto/check-duplicate-asset-response.dto';
const fileInfo = promisify(stat);
@@ -487,7 +488,10 @@ export class AssetService {
return curatedObjects;
}
async checkDuplicatedAsset(authUser: AuthUserDto, checkDuplicateAssetDto: CheckDuplicateAssetDto): Promise<boolean> {
async checkDuplicatedAsset(
authUser: AuthUserDto,
checkDuplicateAssetDto: CheckDuplicateAssetDto,
): Promise<CheckDuplicateAssetResponseDto> {
const res = await this.assetRepository.findOne({
where: {
deviceAssetId: checkDuplicateAssetDto.deviceAssetId,
@@ -496,6 +500,8 @@ export class AssetService {
},
});
return res ? true : false;
const isDuplicated = res ? true : false;
return new CheckDuplicateAssetResponseDto(isDuplicated, res?.id);
}
}

View File

@@ -1,6 +1,8 @@
export class CheckDuplicateAssetResponseDto {
constructor(isExist: boolean) {
constructor(isExist: boolean, id?: string) {
this.isExist = isExist;
this.id = id;
}
isExist: boolean;
id?: string;
}