Add information for uploading asset and error indication with error message for each failed upload. (#315)

* Added info box

* Fixed upload endpoint doesn't report error status code

* Added chip to show update error

* Added chip to show failed upload

* Add duplication check for upload

* Better duplication-checking placement

* Remove check for duplicated asset

* Added failed backup status route

* added page

* Display error card with thumbnail

* Improved styling

* Set thumbnail with better quality

* Remove force upload error
This commit is contained in:
Alex
2022-07-06 16:12:55 -05:00
committed by GitHub
parent 357f7d1c31
commit 58ec7553ea
19 changed files with 706 additions and 87 deletions
@@ -18,6 +18,7 @@ import { promisify } from 'util';
import { DeleteAssetDto } from './dto/delete-asset.dto';
import { SearchAssetDto } from './dto/search-asset.dto';
import fs from 'fs/promises';
import { CheckDuplicateAssetDto } from './dto/check-duplicate-asset.dto';
const fileInfo = promisify(stat);
@@ -58,15 +59,11 @@ export class AssetService {
asset.mimeType = mimeType;
asset.duration = assetInfo.duration || null;
try {
const createdAsset = await this.assetRepository.save(asset);
if (!createdAsset) {
throw new Error('Asset not created');
}
return createdAsset;
} catch (e) {
Logger.error(`Error Create New Asset ${e}`, 'createUserAsset');
const createdAsset = await this.assetRepository.save(asset);
if (!createdAsset) {
throw new Error('Asset not created');
}
return createdAsset;
}
public async getUserAssetsByDeviceId(authUser: AuthUserDto, deviceId: string) {
@@ -439,10 +436,11 @@ export class AssetService {
);
}
async checkDuplicatedAsset(authUser: AuthUserDto, deviceAssetId: string) {
async checkDuplicatedAsset(authUser: AuthUserDto, checkDuplicateAssetDto: CheckDuplicateAssetDto) {
const res = await this.assetRepository.findOne({
where: {
deviceAssetId,
deviceAssetId: checkDuplicateAssetDto.deviceAssetId,
deviceId: checkDuplicateAssetDto.deviceId,
userId: authUser.id,
},
});