import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { Pasajero } from '../interfaces/pasajeros.inteface';

@Injectable({
  providedIn: 'root'
})
export class PasajerosService {

  private baseUrl: string = "http://localhost:8080/pasajeros";

  constructor(private httpClient: HttpClient) { }
  
  getPasajeros(): Observable<Pasajero[]>{
    return this.httpClient.get<Pasajero[]>(`${ this.baseUrl }/listar`);
  }

  getPasajero(id: number): Observable<Pasajero>{
    return this.httpClient.get<Pasajero>(`${ this.baseUrl }/byId/${ id }`);
  }

  getPasajeroArray(id: number): Observable<Pasajero[]>{
    return this.httpClient.get<Pasajero[]>(`${ this.baseUrl }/byId/${ id }`);
  }

  addPasajero(pasajero: any): Observable<Object>{
    return this.httpClient.post(this.baseUrl+"/agregar",pasajero);
  }

  updatePasajero(id:number,pasajero:Pasajero):Observable<Object>{
    return this.httpClient.put(`${this.baseUrl+ "/actualizar"}/${id}`,pasajero);
  }

  deletePasajero(id:number):Observable<Object>{
    return this.httpClient.delete(`${this.baseUrl+ "/eliminar"}/${id}`);
  }

}
