juice-shop
39 строк · 1.2 Кб
1/*
2* Copyright (c) 2014-2024 Bjoern Kimminich & the OWASP Juice Shop contributors.
3* SPDX-License-Identifier: MIT
4*/
5
6import { environment } from '../../environments/environment'
7import { Injectable } from '@angular/core'
8import { HttpClient } from '@angular/common/http'
9import { catchError, map } from 'rxjs/operators'
10import { type DeliveryMethod } from '../Models/deliveryMethod.model'
11
12interface DeliveryMultipleMethodResponse {
13status: string
14data: DeliveryMethod[]
15}
16
17interface DeliverySingleMethodResponse {
18status: string
19data: DeliveryMethod
20}
21
22@Injectable({
23providedIn: 'root'
24})
25export class DeliveryService {
26private readonly hostServer = environment.hostServer
27private readonly host = this.hostServer + '/api/Deliverys'
28
29constructor (private readonly http: HttpClient) { }
30
31get () {
32return this.http.get(this.host).pipe(map((response: DeliveryMultipleMethodResponse) => response.data), catchError((err) => { throw err }))
33}
34
35getById (id) {
36// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
37return this.http.get(`${this.host}/${id}`).pipe(map((response: DeliverySingleMethodResponse) => response.data), catchError((err) => { throw err }))
38}
39}
40