Refactoring
This commit is contained in:
@@ -3,8 +3,8 @@ import { HttpClient } from "@angular/common/http";
|
||||
import { Observable, BehaviorSubject, ReplaySubject, Subscription } from 'rxjs';
|
||||
import { distinctUntilChanged, take, tap } from 'rxjs/operators';
|
||||
|
||||
import { User } from 'src/app/core/models';
|
||||
import { JwtService } from 'src/app/core/services';
|
||||
import { User } from '@models';
|
||||
import { JwtService } from '@services';
|
||||
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class UserService implements OnDestroy {
|
||||
@@ -17,6 +17,7 @@ export class UserService implements OnDestroy {
|
||||
public isAuthenticated = this.isAuthenticatedSubject.asObservable();
|
||||
|
||||
|
||||
private apiVersion = '/v2';
|
||||
constructor(
|
||||
private readonly http: HttpClient,
|
||||
private readonly jwtService: JwtService
|
||||
@@ -31,7 +32,7 @@ export class UserService implements OnDestroy {
|
||||
populate() {
|
||||
// If JWT detected, attempt to get & store user's info
|
||||
if (this.jwtService.getToken()) {
|
||||
const user$: Observable<{ user: User }> = this.http.get<{ user: User }>('/user').pipe(take(1));
|
||||
const user$: Observable<{ user: User }> = this.http.get<{ user: User }>(`${this.apiVersion}/user`).pipe(take(1));
|
||||
this._user = user$.subscribe({
|
||||
next: (data) => this.setAuth(data.user),
|
||||
error: () => this.purgeAuth()
|
||||
@@ -63,7 +64,7 @@ export class UserService implements OnDestroy {
|
||||
|
||||
attemptAuth(type: string, credentials?: { email: string; password: string; }): Observable<{ user: User }> {
|
||||
const route = (type === 'login') ? '/login' : '';
|
||||
const user$: Observable<{ user: User }> = this.http.post<{ user: User }>(`/user${route}`, { user: credentials });
|
||||
const user$: Observable<{ user: User }> = this.http.post<{ user: User }>(`${this.apiVersion}/user${route}`, { user: credentials });
|
||||
/*return user$.pipe(map(
|
||||
(data: any) => {
|
||||
this.setAuth(data.user);
|
||||
@@ -83,7 +84,7 @@ export class UserService implements OnDestroy {
|
||||
|
||||
// Update the user on the server (email, pass, etc)
|
||||
update(user: Partial<User>): Observable<{ user: User }> {
|
||||
return this.http.put<{ user: User }>("/user", { user }).pipe(
|
||||
return this.http.put<{ user: User }>(`${this.apiVersion}/user`, { user }).pipe(
|
||||
tap(({ user }) => {
|
||||
this.currentUserSubject.next(user);
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user