juice-shop
36 строк · 1.3 Кб
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'
10
11@Injectable({
12providedIn: 'root'
13})
14export class ProductService {
15private readonly hostServer = environment.hostServer
16private readonly host = this.hostServer + '/api/Products'
17
18constructor (private readonly http: HttpClient) { }
19
20search (criteria: string) {
21return this.http.get(`${this.hostServer}/rest/products/search?q=${criteria}`).pipe(map((response: any) => response.data), catchError((err) => { throw err }))
22}
23
24find (params: any) {
25return this.http.get(this.host + '/', { params }).pipe(map((response: any) => response.data), catchError((err) => { throw err }))
26}
27
28get (id: number) {
29return this.http.get(`${this.host}/${id}?d=${encodeURIComponent(new Date().toDateString())}`).pipe(map((response: any) =>
30response.data), catchError((err) => { throw err }))
31}
32
33put (id: number, params) {
34return this.http.put(`${this.host}/${id}`, params).pipe(map((response: any) => response.data), catchError((err) => { throw err }))
35}
36}
37