From f165a91e3c5f2a9acc64924750d882217b4d6b7d Mon Sep 17 00:00:00 2001 From: Piet Ostendorp Date: Fri, 14 Nov 2025 01:15:41 +0100 Subject: [PATCH] Add APIs for Bestellung and Eintrittskarte entities Introduced CRUD and filter methods for Bestellung and Eintrittskarte in HttpService, enabling interaction with their respective backend endpoints. Also renamed getPerformaces to getAllPerformaces for consistency. --- src/app/http.service.ts | 70 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git a/src/app/http.service.ts b/src/app/http.service.ts index 5e7b342..d189716 100644 --- a/src/app/http.service.ts +++ b/src/app/http.service.ts @@ -1,4 +1,4 @@ -import { Kinosaal, Sitzplatz, Vorstellung, Film, OmdbSearch } from '@infinimotion/model-frontend'; +import { Kinosaal, Sitzplatz, Vorstellung, Film, OmdbSearch, Bestellung, Eintrittskarte } from '@infinimotion/model-frontend'; import { HttpClient } from "@angular/common/http"; import { inject, Injectable } from "@angular/core"; import { Observable } from "rxjs"; @@ -11,6 +11,72 @@ export class HttpService { private baseUrl = 'https://infinimotion.de/api/'; + /* Bestellung APIs */ + + /* GET /api/bestellung/{id} */ + getAllOrder(id: number): Observable { + return this.http.get(`${this.baseUrl}bestellung`); + } + + /* GET /api/bestellung/{id} */ + getOrderById(id: number): Observable { + return this.http.get(`${this.baseUrl}bestellung/${id}`); + } + + /* POST /api/bestellung/filter */ + getOrdersByFilter(filter: string[]): Observable { + return this.http.post(`${this.baseUrl}bestellung/filter`, filter); + } + + /* POST /api/bestellung */ + addOrder(order: Omit): Observable { + return this.http.post(`${this.baseUrl}bestellung`, order); + } + + /* PUT /api/bestellung/{id} */ + updateOrder(id: number, order: Partial): Observable { + return this.http.put(`${this.baseUrl}bestellung/${id}`, order); + } + + /* DELETE /api/bestellung/{id} */ + deleteOrder(id: number): Observable { + return this.http.delete(`${this.baseUrl}bestellung/${id}`); + } + + + /* Eintrittskarte APIs */ + + /* GET /api/eintrittskarte/{id} */ + getAllTickets(id: number): Observable { + return this.http.get(`${this.baseUrl}eintrittskarte`); + } + + /* GET /api/eintrittskarte/{id} */ + getTicketById(id: number): Observable { + return this.http.get(`${this.baseUrl}eintrittskarte/${id}`); + } + + /* POST /api/eintrittskarte/filter */ + getTicketsByFilter(filter: string[]): Observable { + return this.http.post(`${this.baseUrl}eintrittskarte/filter`, filter); + } + + /* POST /api/eintrittskarte */ + addTicket(order: Omit): Observable { + return this.http.post(`${this.baseUrl}eintrittskarte`, order); + } + + /* PUT /api/eintrittskarte/{id} */ + updateTicket(id: number, order: Partial): Observable { + return this.http.put(`${this.baseUrl}eintrittskarte/${id}`, order); + } + + /* DELETE /api/eintrittskarte/{id} */ + deleteTicket(id: number): Observable { + return this.http.delete(`${this.baseUrl}eintrittskarte/${id}`); + } + + /* Kinosaal APIs */ /* GET /api/kinosaal */ @@ -42,7 +108,7 @@ export class HttpService { /* Vorstellung APIs */ /* GET /api/vorstellung */ - getPerformaces(): Observable { + getAllPerformaces(): Observable { return this.http.get(`${this.baseUrl}vorstellung`); }