import { HttpClient, HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { environment } from 'src/environments/environment'; import { User } from '../models/user'; @Injectable({ providedIn: 'root' }) export class AuthService { apiToken: string | null = null; user: User | null = null; constructor( private http$: HttpClient ) { } ping() { return new Promise((resolve, reject) => { const headers = new HttpHeaders({ 'Authorization': `Bearer ${this.apiToken}` }) this.http$.get(`${environment.api.url}/ping/ping`, { headers, withCredentials: true }).subscribe({ next: (data) => { console.log('Ping', data); resolve(data); }, error: (e) => { console.error('Ping error', e); reject(e); } } ); }); } getAPIToken(credentials: string): Promise { return new Promise((resolve, reject) => { const header = new HttpHeaders().set('Content-type', 'application/json'); this.http$.post(`${environment.api.url}/auth/apiToken`, JSON.stringify(credentials), { headers: header }).subscribe({ next: (data) => { if (this.user) { this.user.id = data.id } this.apiToken = data.token; resolve(data); }, error: (e) => { console.error('apiToken error', e); reject(e); } } ); }); //const header = new HttpHeaders().set('Content-type', 'application/json'); //return this.httpClient.post(this.path + "LoginWithGoogle", JSON.stringify(credentials), { headers: header }); } }