1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-01-01 16:41:59 +00:00

chore(server): remove unused filename (#2517)

This commit is contained in:
Jason Rasmussen 2023-05-22 11:26:56 -04:00 committed by GitHub
parent 74353193f8
commit eefe5266a8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 17 additions and 45 deletions

View file

@ -41,7 +41,7 @@ export class AssetCore {
faces: [], faces: [],
}); });
await this.jobRepository.queue({ name: JobName.ASSET_UPLOADED, data: { asset, fileName: file.originalName } }); await this.jobRepository.queue({ name: JobName.ASSET_UPLOADED, data: { asset } });
return asset; return asset;
} }

View file

@ -328,18 +328,8 @@ describe('AssetService', () => {
}); });
expect(jobMock.queue.mock.calls).toEqual([ expect(jobMock.queue.mock.calls).toEqual([
[ [{ name: JobName.ASSET_UPLOADED, data: { asset: assetEntityStub.livePhotoMotionAsset } }],
{ [{ name: JobName.ASSET_UPLOADED, data: { asset: assetEntityStub.livePhotoStillAsset } }],
name: JobName.ASSET_UPLOADED,
data: { asset: assetEntityStub.livePhotoMotionAsset, fileName: 'asset_1.mp4' },
},
],
[
{
name: JobName.ASSET_UPLOADED,
data: { asset: assetEntityStub.livePhotoStillAsset, fileName: 'asset_1.jpeg' },
},
],
]); ]);
}); });
}); });

View file

@ -3,7 +3,6 @@ import {
FacialRecognitionService, FacialRecognitionService,
IAssetFaceJob, IAssetFaceJob,
IAssetJob, IAssetJob,
IAssetUploadedJob,
IBaseJob, IBaseJob,
IBulkEntityJob, IBulkEntityJob,
IDeleteFilesJob, IDeleteFilesJob,
@ -34,7 +33,7 @@ export class BackgroundTaskProcessor {
) {} ) {}
@Process(JobName.ASSET_UPLOADED) @Process(JobName.ASSET_UPLOADED)
async onAssetUpload(job: Job<IAssetUploadedJob>) { async onAssetUpload(job: Job<IAssetJob>) {
await this.assetService.handleAssetUpload(job.data); await this.assetService.handleAssetUpload(job.data);
} }

View file

@ -1,7 +1,7 @@
import { import {
AssetCore, AssetCore,
IAssetJob,
IAssetRepository, IAssetRepository,
IAssetUploadedJob,
IBaseJob, IBaseJob,
IGeocodingRepository, IGeocodingRepository,
IJobRepository, IJobRepository,
@ -79,9 +79,8 @@ export class MetadataExtractionProcessor {
: await this.assetRepository.getWithout(WithoutProperty.EXIF); : await this.assetRepository.getWithout(WithoutProperty.EXIF);
for (const asset of assets) { for (const asset of assets) {
const fileName = asset.originalFileName;
const name = asset.type === AssetType.VIDEO ? JobName.EXTRACT_VIDEO_METADATA : JobName.EXIF_EXTRACTION; const name = asset.type === AssetType.VIDEO ? JobName.EXTRACT_VIDEO_METADATA : JobName.EXIF_EXTRACTION;
await this.jobRepository.queue({ name, data: { asset, fileName } }); await this.jobRepository.queue({ name, data: { asset } });
} }
} catch (error: any) { } catch (error: any) {
this.logger.error(`Unable to queue metadata extraction`, error?.stack); this.logger.error(`Unable to queue metadata extraction`, error?.stack);
@ -89,7 +88,7 @@ export class MetadataExtractionProcessor {
} }
@Process(JobName.EXIF_EXTRACTION) @Process(JobName.EXIF_EXTRACTION)
async extractExifInfo(job: Job<IAssetUploadedJob>) { async extractExifInfo(job: Job<IAssetJob>) {
let asset = job.data.asset; let asset = job.data.asset;
try { try {
@ -194,7 +193,7 @@ export class MetadataExtractionProcessor {
} }
@Process({ name: JobName.EXTRACT_VIDEO_METADATA, concurrency: 2 }) @Process({ name: JobName.EXTRACT_VIDEO_METADATA, concurrency: 2 })
async extractVideoMetadata(job: Job<IAssetUploadedJob>) { async extractVideoMetadata(job: Job<IAssetJob>) {
let asset = job.data.asset; let asset = job.data.asset;
if (!asset.isVisible) { if (!asset.isVisible) {

View file

@ -20,7 +20,7 @@ describe(AssetService.name, () => {
describe(`handle asset upload`, () => { describe(`handle asset upload`, () => {
it('should process an uploaded video', async () => { it('should process an uploaded video', async () => {
const data = { asset: { type: AssetType.VIDEO } as AssetEntity, fileName: 'video.mp4' }; const data = { asset: { type: AssetType.VIDEO } as AssetEntity };
await expect(sut.handleAssetUpload(data)).resolves.toBeUndefined(); await expect(sut.handleAssetUpload(data)).resolves.toBeUndefined();
@ -33,7 +33,7 @@ describe(AssetService.name, () => {
}); });
it('should process an uploaded image', async () => { it('should process an uploaded image', async () => {
const data = { asset: { type: AssetType.IMAGE } as AssetEntity, fileName: 'image.jpg' }; const data = { asset: { type: AssetType.IMAGE } as AssetEntity };
await sut.handleAssetUpload(data); await sut.handleAssetUpload(data);

View file

@ -1,7 +1,7 @@
import { AssetEntity, AssetType } from '@app/infra/entities'; import { AssetEntity, AssetType } from '@app/infra/entities';
import { Inject } from '@nestjs/common'; import { Inject } from '@nestjs/common';
import { AuthUserDto } from '../auth'; import { AuthUserDto } from '../auth';
import { IAssetUploadedJob, IJobRepository, JobName } from '../job'; import { IAssetJob, IJobRepository, JobName } from '../job';
import { AssetCore } from './asset.core'; import { AssetCore } from './asset.core';
import { IAssetRepository } from './asset.repository'; import { IAssetRepository } from './asset.repository';
import { MapMarkerDto } from './dto/map-marker.dto'; import { MapMarkerDto } from './dto/map-marker.dto';
@ -17,7 +17,7 @@ export class AssetService {
this.assetCore = new AssetCore(assetRepository, jobRepository); this.assetCore = new AssetCore(assetRepository, jobRepository);
} }
async handleAssetUpload(data: IAssetUploadedJob) { async handleAssetUpload(data: IAssetJob) {
await this.jobRepository.queue({ name: JobName.GENERATE_JPEG_THUMBNAIL, data }); await this.jobRepository.queue({ name: JobName.GENERATE_JPEG_THUMBNAIL, data });
if (data.asset.type == AssetType.VIDEO) { if (data.asset.type == AssetType.VIDEO) {

View file

@ -30,11 +30,6 @@ export interface IBulkEntityJob extends IBaseJob {
ids: string[]; ids: string[];
} }
export interface IAssetUploadedJob extends IBaseJob {
asset: AssetEntity;
fileName: string;
}
export interface IDeleteFilesJob extends IBaseJob { export interface IDeleteFilesJob extends IBaseJob {
files: Array<string | null | undefined>; files: Array<string | null | undefined>;
} }

View file

@ -2,7 +2,6 @@ import { JobName, QueueName } from './job.constants';
import { import {
IAssetFaceJob, IAssetFaceJob,
IAssetJob, IAssetJob,
IAssetUploadedJob,
IBaseJob, IBaseJob,
IBulkEntityJob, IBulkEntityJob,
IDeleteFilesJob, IDeleteFilesJob,
@ -26,7 +25,7 @@ export interface QueueStatus {
export type JobItem = export type JobItem =
// Asset Upload // Asset Upload
| { name: JobName.ASSET_UPLOADED; data: IAssetUploadedJob } | { name: JobName.ASSET_UPLOADED; data: IAssetJob }
// Transcoding // Transcoding
| { name: JobName.QUEUE_VIDEO_CONVERSION; data: IBaseJob } | { name: JobName.QUEUE_VIDEO_CONVERSION; data: IBaseJob }
@ -48,8 +47,8 @@ export type JobItem =
// Metadata Extraction // Metadata Extraction
| { name: JobName.QUEUE_METADATA_EXTRACTION; data: IBaseJob } | { name: JobName.QUEUE_METADATA_EXTRACTION; data: IBaseJob }
| { name: JobName.EXIF_EXTRACTION; data: IAssetUploadedJob } | { name: JobName.EXIF_EXTRACTION; data: IAssetJob }
| { name: JobName.EXTRACT_VIDEO_METADATA; data: IAssetUploadedJob } | { name: JobName.EXTRACT_VIDEO_METADATA; data: IAssetJob }
// Object Tagging // Object Tagging
| { name: JobName.QUEUE_OBJECT_TAGGING; data: IBaseJob } | { name: JobName.QUEUE_OBJECT_TAGGING; data: IBaseJob }

View file

@ -1,14 +1,4 @@
import { import { IAssetJob, IBaseJob, IJobRepository, JobCounts, JobItem, JobName, QueueName, QueueStatus } from '@app/domain';
IAssetJob,
IAssetUploadedJob,
IBaseJob,
IJobRepository,
JobCounts,
JobItem,
JobName,
QueueName,
QueueStatus,
} from '@app/domain';
import { InjectQueue } from '@nestjs/bull'; import { InjectQueue } from '@nestjs/bull';
import { Logger } from '@nestjs/common'; import { Logger } from '@nestjs/common';
import { Queue, type JobCounts as BullJobCounts } from 'bull'; import { Queue, type JobCounts as BullJobCounts } from 'bull';
@ -31,7 +21,7 @@ export class JobRepository implements IJobRepository {
@InjectQueue(QueueName.BACKGROUND_TASK) private backgroundTask: Queue, @InjectQueue(QueueName.BACKGROUND_TASK) private backgroundTask: Queue,
@InjectQueue(QueueName.OBJECT_TAGGING) private objectTagging: Queue<IAssetJob | IBaseJob>, @InjectQueue(QueueName.OBJECT_TAGGING) private objectTagging: Queue<IAssetJob | IBaseJob>,
@InjectQueue(QueueName.CLIP_ENCODING) private clipEmbedding: Queue<IAssetJob | IBaseJob>, @InjectQueue(QueueName.CLIP_ENCODING) private clipEmbedding: Queue<IAssetJob | IBaseJob>,
@InjectQueue(QueueName.METADATA_EXTRACTION) private metadataExtraction: Queue<IAssetUploadedJob | IBaseJob>, @InjectQueue(QueueName.METADATA_EXTRACTION) private metadataExtraction: Queue<IAssetJob | IBaseJob>,
@InjectQueue(QueueName.RECOGNIZE_FACES) private recognizeFaces: Queue<IAssetJob | IBaseJob>, @InjectQueue(QueueName.RECOGNIZE_FACES) private recognizeFaces: Queue<IAssetJob | IBaseJob>,
@InjectQueue(QueueName.STORAGE_TEMPLATE_MIGRATION) private storageTemplateMigration: Queue, @InjectQueue(QueueName.STORAGE_TEMPLATE_MIGRATION) private storageTemplateMigration: Queue,
@InjectQueue(QueueName.THUMBNAIL_GENERATION) private generateThumbnail: Queue, @InjectQueue(QueueName.THUMBNAIL_GENERATION) private generateThumbnail: Queue,