fix(web): show trash indicator (#12521)

This commit is contained in:
Jason Rasmussen
2024-09-09 16:03:17 -04:00
committed by GitHub
parent 8c3c3357fe
commit d39917a4db
14 changed files with 77 additions and 24 deletions

View File

@@ -589,8 +589,20 @@ describe(AssetMediaService.name, () => {
}),
).resolves.toEqual({
results: [
{ id: '1', assetId: 'asset-1', action: AssetUploadAction.REJECT, reason: AssetRejectReason.DUPLICATE },
{ id: '2', assetId: 'asset-2', action: AssetUploadAction.REJECT, reason: AssetRejectReason.DUPLICATE },
{
id: '1',
assetId: 'asset-1',
action: AssetUploadAction.REJECT,
reason: AssetRejectReason.DUPLICATE,
isTrashed: false,
},
{
id: '2',
assetId: 'asset-2',
action: AssetUploadAction.REJECT,
reason: AssetRejectReason.DUPLICATE,
isTrashed: false,
},
],
});

View File

@@ -289,10 +289,10 @@ export class AssetMediaService {
async bulkUploadCheck(auth: AuthDto, dto: AssetBulkUploadCheckDto): Promise<AssetBulkUploadCheckResponseDto> {
const checksums: Buffer[] = dto.assets.map((asset) => fromChecksum(asset.checksum));
const results = await this.assetRepository.getByChecksums(auth.user.id, checksums);
const checksumMap: Record<string, string> = {};
const checksumMap: Record<string, { id: string; isTrashed: boolean }> = {};
for (const { id, checksum } of results) {
checksumMap[checksum.toString('hex')] = id;
for (const { id, deletedAt, checksum } of results) {
checksumMap[checksum.toString('hex')] = { id, isTrashed: !!deletedAt };
}
return {
@@ -301,14 +301,13 @@ export class AssetMediaService {
if (duplicate) {
return {
id,
assetId: duplicate,
action: AssetUploadAction.REJECT,
reason: AssetRejectReason.DUPLICATE,
assetId: duplicate.id,
isTrashed: duplicate.isTrashed,
};
}
// TODO mime-check
return {
id,
action: AssetUploadAction.ACCEPT,