mirror of
https://github.com/immich-app/immich
synced 2025-11-14 17:36:12 +00: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:
parent
2336a6159c
commit
03457f5d32
15 changed files with 3823 additions and 4408 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue