aboutsummaryrefslogtreecommitdiff
path: root/ufund-ui/src/app/services
diff options
context:
space:
mode:
authorGunther6070 <haydenhartman10@yahoo.com>2025-04-05 13:44:33 -0400
committerGunther6070 <haydenhartman10@yahoo.com>2025-04-05 13:44:33 -0400
commitef52495d781a3adcec79bfbc9067f70f5ec3c8ab (patch)
treee16e8cf36f1cafcf198d21d57a0b3a908116b3df /ufund-ui/src/app/services
parentd7c974a98de42f41f3ca16f961d2dee96a3c4313 (diff)
parent0103ffc6f84d04433943c644ab759c1d04b5e681 (diff)
downloadJellySolutions-ef52495d781a3adcec79bfbc9067f70f5ec3c8ab.tar.gz
JellySolutions-ef52495d781a3adcec79bfbc9067f70f5ec3c8ab.tar.bz2
JellySolutions-ef52495d781a3adcec79bfbc9067f70f5ec3c8ab.zip
Merge branch 'main' into checkout-improvement
# Conflicts: # ufund-ui/src/app/components/funding-basket/funding-basket.component.html # ufund-ui/src/app/components/funding-basket/funding-basket.component.ts
Diffstat (limited to 'ufund-ui/src/app/services')
-rw-r--r--ufund-ui/src/app/services/cupboard.service.ts4
-rw-r--r--ufund-ui/src/app/services/modal.service.ts25
-rw-r--r--ufund-ui/src/app/services/users.service.ts18
3 files changed, 43 insertions, 4 deletions
diff --git a/ufund-ui/src/app/services/cupboard.service.ts b/ufund-ui/src/app/services/cupboard.service.ts
index 1060476..a87dee2 100644
--- a/ufund-ui/src/app/services/cupboard.service.ts
+++ b/ufund-ui/src/app/services/cupboard.service.ts
@@ -23,8 +23,8 @@ export class CupboardService {
private authService: AuthService
) {}
- createNeed(need: Need): Observable<boolean> {
- return this.http.post<boolean>(this.url, need, this.httpOptions())
+ createNeed(need: Need): Observable<Need> {
+ return this.http.post<Need>(this.url, need, this.httpOptions())
}
getNeeds(): Observable<Need[]> {
diff --git a/ufund-ui/src/app/services/modal.service.ts b/ufund-ui/src/app/services/modal.service.ts
new file mode 100644
index 0000000..04f2f3a
--- /dev/null
+++ b/ufund-ui/src/app/services/modal.service.ts
@@ -0,0 +1,25 @@
+import {Injectable, TemplateRef} from '@angular/core';
+import {BehaviorSubject} from 'rxjs';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class ModalService {
+
+ private modal = new BehaviorSubject<TemplateRef<any> | null>(null)
+
+ constructor() {}
+
+ showModal(template: TemplateRef<any>) {
+ console.log("got here", template)
+ this.modal.next(template)
+ }
+
+ hideModal() {
+ this.modal.next(null)
+ }
+
+ getModalBehaviorSubject() {
+ return this.modal;
+ }
+}
diff --git a/ufund-ui/src/app/services/users.service.ts b/ufund-ui/src/app/services/users.service.ts
index 080c394..35d080d 100644
--- a/ufund-ui/src/app/services/users.service.ts
+++ b/ufund-ui/src/app/services/users.service.ts
@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import {HttpClient, HttpHeaders} from '@angular/common/http';
import {BehaviorSubject, catchError, firstValueFrom, Observable, of} from 'rxjs';
-import {User} from '../models/User';
+import {User, userType} from '../models/User';
import { Need } from '../models/Need';
import { CupboardService } from './cupboard.service';
import {AuthService} from './auth.service';
@@ -34,7 +34,9 @@ export class UsersService {
private http: HttpClient,
private cupboardService: CupboardService,
private authService: AuthService
- ) {}
+ ) {
+ authService.getCurrentUserSubject().subscribe(() => this.refreshBasket())
+ }
async createUser(username:string, password:string) {
await firstValueFrom(this.http.post<User>(this.url, {username: username, password: password}, this.httpOptions()))
@@ -84,4 +86,16 @@ export class UsersService {
return this.basket;
}
+ isManager() {
+ return this.authService.getCurrentUser()?.type === userType.MANAGER
+ }
+
+ isHelper() {
+ return this.authService.getCurrentUser()?.type === userType.HELPER
+ }
+
+ inBasket(basket: Need[] | null, need: Need) {
+ return basket?.map(r => r.id).includes(need.id);
+ }
+
}