import { Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http'; import { map, catchError } from 'rxjs/operators'; import { apiConfig } from '../../environments/server.config'; import { SubjectService } from './subject.service'; import { Router, ActivatedRoute } from '@angular/router'; const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Auth': 'my_key' }) }; const httplive = { headers: new HttpHeaders({ 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS', 'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization' }) }; @Injectable({ providedIn: 'root' }) export class WebService { constructor(private http: HttpClient, public subjectService: SubjectService, private router: Router) { } post_data(url: string, data) { return this.http.post(`${apiConfig + url}`, data).pipe(map((response: any) => response)); } get_data(url) { return this.http.get(`${apiConfig + url}`).pipe(map((response: any) => response)); } setLocalStorageItem(id: string, data: string) { localStorage.setItem(id, data); } getLocalStorageItem(data: string): string { return localStorage.getItem(data); } removeLocalStorageItem(data) { localStorage.removeItem(data); localStorage.clear(); } ObjArray(data: any) { if (data instanceof Array !== true) { if (data !== undefined) { return new Array(data); } else { return undefined; } } else { return data; } } logout() { const userData = this.getLocalStorageItem('userData'); this.removeLocalStorageItem(userData); this.subjectService.sendLoginData('logged_out'); this.router.navigate(['/start/login']); } }