juice-shop
38 строк · 1.0 Кб
1import { Injectable } from '@angular/core'
2import { environment } from '../../environments/environment'
3import { HttpClient } from '@angular/common/http'
4import { catchError, map } from 'rxjs/operators'
5import { type Observable } from 'rxjs'
6
7export interface result {
8verdict: boolean
9}
10
11export interface Fixes {
12fixes: string[]
13}
14
15export interface Solved {
16challenges: string[]
17}
18
19@Injectable({
20providedIn: 'root'
21})
22export class CodeFixesService {
23private readonly hostServer = environment.hostServer
24private readonly host = this.hostServer + '/snippets/fixes'
25
26constructor (private readonly http: HttpClient) { }
27
28get (key: string): Observable<Fixes> {
29return this.http.get(this.host + `/${key}`).pipe(map((response: Fixes) => response), catchError((error: any) => { throw error }))
30}
31
32check (key: string, selectedFix: number): any {
33return this.http.post(this.host, {
34key,
35selectedFix
36}).pipe(map((response: result) => response), catchError((error: any) => { throw error }))
37}
38}
39