mirror of
https://github.com/immich-app/immich.git
synced 2026-05-19 22:02:25 -04:00
897d49f734
* refactor serving file function asset service * Remove PhotoViewer for now since it creates a problem in 2.10 * Added error message for wrong decode file and logo for failed to load file * Fixed error when read stream cannot be created and crash server * Added method to get all assets as a raw array * Implemented cleaner way of grouping image * Implemented operation to delete assets in the database * Implemented delete on database operation * Implemented delete on device operation * Fixed issue display wrong information when the auto backup is enabled after deleting all assets
36 lines
857 B
TypeScript
36 lines
857 B
TypeScript
import { InjectQueue } from '@nestjs/bull/dist/decorators';
|
|
import { Injectable } from '@nestjs/common';
|
|
import { Queue } from 'bull';
|
|
import { randomUUID } from 'node:crypto';
|
|
import { AssetEntity } from '../../api-v1/asset/entities/asset.entity';
|
|
|
|
@Injectable()
|
|
export class BackgroundTaskService {
|
|
constructor(
|
|
@InjectQueue('background-task')
|
|
private backgroundTaskQueue: Queue,
|
|
) {}
|
|
|
|
async extractExif(savedAsset: AssetEntity, fileName: string, fileSize: number) {
|
|
await this.backgroundTaskQueue.add(
|
|
'extract-exif',
|
|
{
|
|
savedAsset,
|
|
fileName,
|
|
fileSize,
|
|
},
|
|
{ jobId: randomUUID() },
|
|
);
|
|
}
|
|
|
|
async deleteFileOnDisk(assets: AssetEntity[]) {
|
|
await this.backgroundTaskQueue.add(
|
|
'delete-file-on-disk',
|
|
{
|
|
assets,
|
|
},
|
|
{ jobId: randomUUID() },
|
|
);
|
|
}
|
|
}
|