Files
Progetto-m152-Angular/src/app/service/http/waypoint.service.ts
2023-04-30 14:10:58 +02:00

50 lines
1.2 KiB
TypeScript

import {Injectable} from "@angular/core";
import {HttpClient} from "@angular/common/http";
import {WaypointsEntity} from "../../interface/WaypointsEntity";
import {catchError, throwError} from "rxjs";
const BASE_URL = "progetto152";
const WAYPOINT = BASE_URL + "/waypoint";
const GET_WAYPOINT_BY_ID = WAYPOINT + "id/";
@Injectable({
providedIn: 'root',
})
export class WaypointService {
constructor(
private http: HttpClient,
) {
}
getAllWaypoints() {
return this.http.get<WaypointsEntity[]>(WAYPOINT);
}
getWaypoints(location: string) {
return this.http.get<WaypointsEntity[]>(WAYPOINT + "/" + location)
}
getWaypoint(location: string, id: number) {
return this.http.get<WaypointsEntity>(WAYPOINT + "/" + location + "/" + id);
}
getWaypointById(id: number) {
return this.http.get<WaypointsEntity>(GET_WAYPOINT_BY_ID + id);
}
createWaypoint(waypoint: WaypointsEntity) {
return this.http.post<WaypointsEntity>(WAYPOINT, waypoint);
}
updateWaypoint(waypoint: WaypointsEntity, id: number) {
return this.http.put<WaypointsEntity>(WAYPOINT + "/" + id, waypoint);
}
deleteWaypoint(id: number) {
return this.http.delete<WaypointsEntity>(WAYPOINT + id);
}
}