import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { environment } from 'src/environments/environment'; import { User } from '../models/user.model'; @Injectable({ providedIn: 'root' }) export class AuthService { apiToken!: string; user!: User; constructor( private http$: HttpClient, ) { } ping() { return new Promise((resolve, reject) => { this.http$.get(`${environment.api.url}/ping/ping`).subscribe({ next: (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'); // eslint-disable-next-line @typescript-eslint/no-explicit-any this.http$.post(`${environment.api.url}/auth/apiToken`, JSON.stringify(credentials), { headers: header }).subscribe({ next: (data) => { this.user.id = data.id; this.apiToken = data.token; resolve(data); }, error: (e: HttpErrorResponse) => { reject(e); } } ); }); } }