import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { environment } from '../environments/environment'; @Injectable({ providedIn: 'root' }) export class VideoProcessingService { private apiUrl = environment.serviceEndpoint; constructor(private http: HttpClient) { } startProcess(data: any): Observable<{ jobId: string }> { return this.http.post<{ jobId: string }>(`${this.apiUrl}/start-process`, data); } load(data: any): Observable { return this.http.post(`${this.apiUrl}/processMPD`, data); } getJobsStatus(): Observable> { return this.http.get>(`${this.apiUrl}/jobs-status`); } hello(): Observable> { return this.http.get(`${this.apiUrl}/hello`); } processUpdate(data: any): Observable { return this.http.post(`${this.apiUrl}/processUpdate`, data); } downloadFile(filename: string): Observable { return this.http.get(`${this.apiUrl}/download?filename=${encodeURIComponent(filename)}`, { responseType: 'blob' }); } flushQueue(): Observable { return this.http.delete(`${this.apiUrl}/jobs/completed`, {}); } }