import { HttpClient } from '@angular/common/http'; import { Injectable, inject } from '@angular/core'; import { Observable } from 'rxjs'; import { environment } from '../../../environments/environment'; import { CreateVehicule, Reaffectation, Vehicule, VehiculeCree } from '../models'; /** * Service HTTP des véhicules (historique, véhicule courant, création, * réaffectation des trajets). */ @Injectable({ providedIn: 'root' }) export class VehiculeService { private readonly http = inject(HttpClient); private readonly baseUrl = `${environment.apiUrl}/vehicules`; /** Historique des véhicules (GET /api/vehicules). */ getVehicules(): Observable { return this.http.get(this.baseUrl); } /** Véhicule courant (GET /api/vehicules/courant). */ getVehiculeCourant(): Observable { return this.http.get(`${this.baseUrl}/courant`); } /** * Enregistre un véhicule (POST /api/vehicules). * La réponse indique si une réaffectation des trajets doit être proposée. */ createVehicule(dto: CreateVehicule): Observable { return this.http.post(this.baseUrl, dto); } /** Accepte ou refuse la réaffectation des trajets (POST /api/vehicules/reaffectation). */ reaffecter(dto: Reaffectation): Observable { return this.http.post(`${this.baseUrl}/reaffectation`, dto); } }