Restore API token if expired

This commit is contained in:
2023-01-12 18:14:40 +01:00
parent ee2f371b21
commit b5b35dd44b
6 changed files with 41 additions and 14 deletions

View File

@@ -3,6 +3,7 @@ import { Injectable } from '@angular/core';
import moment, { Moment } from 'moment';
import { environment } from 'src/environments/environment';
import { User } from '../models/user.model';
import { from, Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
@@ -43,10 +44,6 @@ export class AuthService {
this.user.id = data.id;
this.apiToken = data.token;
this.expirationTime = moment(data.expirationTime);
const ms = this.expirationTime.subtract(29, 'minutes').diff(moment.utc(), 'milliseconds');
setTimeout(() => {
this.getAPIToken();
}, ms);
resolve(data);
},
error: (e: HttpErrorResponse) => {
@@ -56,4 +53,8 @@ export class AuthService {
);
});
}
getAPITokenObservable(): Observable<void> {
return from(this.getAPIToken());
}
}