UNPKG

digitaltwin-core

Version:

Minimalist framework to collect and handle data in a Digital Twin project

36 lines 1.23 kB
import type { ConnectionOptions } from 'bullmq'; import type { StorageService } from '../storage/storage_service.js'; import type { DatabaseAdapter } from '../database/database_adapter.js'; export interface TilesetUploadJobData { type: 'tileset'; recordId: number; tempFilePath: string; componentName: string; userId: number; filename: string; description: string; } export type UploadJobData = TilesetUploadJobData; export type UploadStatus = 'pending' | 'processing' | 'completed' | 'failed'; /** * Background worker for processing large file uploads (tileset extraction). * Prevents HTTP timeout by queuing jobs and processing asynchronously. * * Flow: * 1. Read ZIP from temp file * 2. Extract and upload all files to storage (OVH S3) * 3. Update database with tileset_url and base_path * 4. Clean up temp file */ export declare class UploadProcessor { private worker; private storage; private db; constructor(storage: StorageService, db: DatabaseAdapter); start(connection: ConnectionOptions): void; stop(): Promise<void>; private processJob; private processTilesetUpload; private updateRecordStatus; } //# sourceMappingURL=upload_processor.d.ts.map