diff options
Diffstat (limited to 'ufund-ui/src/app/services')
-rw-r--r-- | ufund-ui/src/app/services/auth.service.ts | 14 | ||||
-rw-r--r-- | ufund-ui/src/app/services/toasts.service.ts | 12 |
2 files changed, 22 insertions, 4 deletions
diff --git a/ufund-ui/src/app/services/auth.service.ts b/ufund-ui/src/app/services/auth.service.ts index 6bc7145..b75c931 100644 --- a/ufund-ui/src/app/services/auth.service.ts +++ b/ufund-ui/src/app/services/auth.service.ts @@ -1,7 +1,8 @@ -import {Injectable} from '@angular/core'; +import {Injectable, Injector} from '@angular/core'; import {BehaviorSubject, firstValueFrom} from 'rxjs'; import {User} from '../models/User'; import {HttpClient, HttpHeaders} from '@angular/common/http'; +import {UsersService} from './users.service'; @Injectable({ providedIn: 'root' @@ -24,7 +25,9 @@ export class AuthService { }); constructor( - private http: HttpClient + private http: HttpClient, + // private userService: UsersService + private injector: Injector ) {} async login(username: string, password: string) { @@ -42,6 +45,13 @@ export class AuthService { // this.currentUser.subscribe(r => console.log("currentUser: "+r.username)) } + async restoreLogin(username: string, key: string) { + + const userService = this.injector.get(UsersService); + this.apiKey = key; + this.currentUser.next(await firstValueFrom(userService.getUser(username))) + } + getCurrentUserSubject() { return this.currentUser; } diff --git a/ufund-ui/src/app/services/toasts.service.ts b/ufund-ui/src/app/services/toasts.service.ts index 0c35e45..4fd024e 100644 --- a/ufund-ui/src/app/services/toasts.service.ts +++ b/ufund-ui/src/app/services/toasts.service.ts @@ -1,4 +1,5 @@ -import {Injectable} from '@angular/core'; +import {Injectable, ViewContainerRef} from '@angular/core'; +import {ToastComponent} from '../components/toast/toast.component'; export enum ToastType { INFO, @@ -11,9 +12,16 @@ export enum ToastType { }) export class ToastsService { - constructor() {} + private vcr?: ViewContainerRef sendToast(type: ToastType, message: string, action?: {label: string, onAction: () => void}) { + let compRef = this.vcr?.createComponent(ToastComponent)! + compRef.setInput("message", message) + compRef.setInput("type", type) + compRef.setInput("action", action) + } + setRootViewContainerRef(vcr: ViewContainerRef) { + this.vcr = vcr } } |