import { Injectable, inject } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { environment } from '../../environments/environment'; @Injectable({ providedIn: 'root' }) export class ActivityService { private http = inject(HttpClient); private apiUrl = environment.apiUrl + '/activities'; getActivities(projectId?: number, specialtyId?: number) { const params: any = {}; if (projectId) params.project_id = projectId; if (specialtyId) params.specialty_id = specialtyId; return this.http.get(this.apiUrl, { params }); } getActivity(id: number) { return this.http.get(`${this.apiUrl}/${id}`); } createActivity(activity: any) { return this.http.post(this.apiUrl, activity); } uploadEvidence(activityId: number, file: File, description?: string, capturedAt?: string) { const formData = new FormData(); formData.append('file', file); if (description) formData.append('description', description); if (capturedAt) formData.append('captured_at', capturedAt); return this.http.post(`${this.apiUrl}/${activityId}/upload`, formData); } updateActivity(id: number, activity: any) { return this.http.put(`${this.apiUrl}/${id}`, activity); } retryTranscription(evidenceId: number) { return this.http.post(`${this.apiUrl}/evidence/${evidenceId}/retry-transcription`, {}); } updateEvidence(evidenceId: number, data: any) { return this.http.put(`${this.apiUrl}/evidence/${evidenceId}`, data); } deleteEvidence(evidenceId: number) { return this.http.delete(`${this.apiUrl}/evidence/${evidenceId}`); } }