From 0b41684e57c79374aee3a564307cd4fdef603e7c Mon Sep 17 00:00:00 2001 From: Akash Keshav <112591754+domesticchores@users.noreply.github.com> Date: Tue, 18 Mar 2025 11:41:04 -0400 Subject: THE UPDATE USER WORKS! -ak --- ufund-ui/src/app/services/users.service.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'ufund-ui/src/app/services/users.service.ts') diff --git a/ufund-ui/src/app/services/users.service.ts b/ufund-ui/src/app/services/users.service.ts index bc31870..2a95202 100644 --- a/ufund-ui/src/app/services/users.service.ts +++ b/ufund-ui/src/app/services/users.service.ts @@ -40,10 +40,11 @@ export class UsersService { return this.http.get(`${this.url}/${id}`, this.httpOptions) } - updateUser(id: string, user: User): Observable { - console.log(id, user) + updateUser(user: User): Observable { + console.log(user, user.basket) console.log(this.apiKey) - return this.http.put(`${this.url}/${id}`,user, this.httpOptions) + + return this.http.put(`${this.url}/${user.username}`,user, this.httpOptions2) } deleteUser(id: number): Observable { -- cgit v1.2.3 From 98431cd75078fd671270039ad9fa4d42759dc502 Mon Sep 17 00:00:00 2001 From: Akash Keshav <112591754+domesticchores@users.noreply.github.com> Date: Tue, 18 Mar 2025 12:42:37 -0400 Subject: reworked funding basket to accept need-list component. -ak --- ufund-ui/src/app/services/users.service.ts | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'ufund-ui/src/app/services/users.service.ts') diff --git a/ufund-ui/src/app/services/users.service.ts b/ufund-ui/src/app/services/users.service.ts index 2a95202..a0d316c 100644 --- a/ufund-ui/src/app/services/users.service.ts +++ b/ufund-ui/src/app/services/users.service.ts @@ -2,6 +2,8 @@ import { Injectable } from '@angular/core'; import {HttpClient, HttpHeaders} from '@angular/common/http'; import {BehaviorSubject, firstValueFrom, Observable} from 'rxjs'; import {User} from '../models/User'; +import { Need } from '../models/Need'; +import { CupboardService } from './cupboard.service'; @Injectable({ providedIn: 'root' @@ -10,6 +12,7 @@ export class UsersService { private currentUser : BehaviorSubject = new BehaviorSubject(null); private apiKey: string = ""; + private basket = new BehaviorSubject([]); private url = "http://localhost:8080/users" private authUrl = "http://localhost:8080/auth" @@ -29,7 +32,8 @@ export class UsersService { }; constructor( - private http: HttpClient + private http: HttpClient, + private cupboardService: CupboardService, ) {} async createUser(username:string, password:string) { @@ -73,4 +77,18 @@ export class UsersService { this.currentUser.next(currentU); // this.currentUser.subscribe(r => console.log("currentUser: "+r.username)) } + + refreshBasket() { + let promiseArr = this.getCurrentUser()!.basket.map(async needID => { + return await firstValueFrom(this.cupboardService.getNeed(needID)); + }) + Promise.all(promiseArr).then(r => this.basket.next(r)); + } + + removeNeed(id: number) { + let newArr = this.basket.getValue().filter(v => v.id != id); + this.basket.next(newArr); + this.getCurrentUser()!.basket = newArr.map(need => need.id); + this.updateUser(this.getCurrentUser()!); + } } -- cgit v1.2.3 From 28a8fde7d57ee5ef762bd20f41c728966ab74d06 Mon Sep 17 00:00:00 2001 From: Akash Keshav <112591754+domesticchores@users.noreply.github.com> Date: Tue, 18 Mar 2025 12:59:11 -0400 Subject: connected backend to frontend for funding basket. -ak --- ufund-ui/src/app/services/users.service.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'ufund-ui/src/app/services/users.service.ts') diff --git a/ufund-ui/src/app/services/users.service.ts b/ufund-ui/src/app/services/users.service.ts index a0d316c..62aea79 100644 --- a/ufund-ui/src/app/services/users.service.ts +++ b/ufund-ui/src/app/services/users.service.ts @@ -83,12 +83,17 @@ export class UsersService { return await firstValueFrom(this.cupboardService.getNeed(needID)); }) Promise.all(promiseArr).then(r => this.basket.next(r)); - } + } - removeNeed(id: number) { + removeNeed(id: number) { let newArr = this.basket.getValue().filter(v => v.id != id); this.basket.next(newArr); this.getCurrentUser()!.basket = newArr.map(need => need.id); this.updateUser(this.getCurrentUser()!); } + + getBasket() { + return this.basket; + } + } -- cgit v1.2.3 From 81b93fc671ba35d67c414937e18b686fd6d5f861 Mon Sep 17 00:00:00 2001 From: Akash Keshav <112591754+domesticchores@users.noreply.github.com> Date: Tue, 18 Mar 2025 16:53:39 -0400 Subject: idk but it works. funding basket worsk. -ak --- ufund-ui/src/app/services/users.service.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'ufund-ui/src/app/services/users.service.ts') diff --git a/ufund-ui/src/app/services/users.service.ts b/ufund-ui/src/app/services/users.service.ts index 62aea79..ddbd322 100644 --- a/ufund-ui/src/app/services/users.service.ts +++ b/ufund-ui/src/app/services/users.service.ts @@ -45,6 +45,7 @@ export class UsersService { } updateUser(user: User): Observable { + console.log("REMOVING USER IN ANGULAR: ", user) console.log(user, user.basket) console.log(this.apiKey) @@ -89,7 +90,13 @@ export class UsersService { let newArr = this.basket.getValue().filter(v => v.id != id); this.basket.next(newArr); this.getCurrentUser()!.basket = newArr.map(need => need.id); - this.updateUser(this.getCurrentUser()!); + console.log(this.getCurrentUser()!.basket) + this.updateUser(this.getCurrentUser()!).subscribe(() => { + this.refreshBasket(); + error: (err: any) => { + console.error(err); + } + }); } getBasket() { -- cgit v1.2.3 From 0268894e5b80c908d2c3eb5c2228ee22fde52904 Mon Sep 17 00:00:00 2001 From: Akash Keshav <112591754+domesticchores@users.noreply.github.com> Date: Tue, 18 Mar 2025 17:10:10 -0400 Subject: cleaned up outputs. -ak --- ufund-ui/src/app/services/users.service.ts | 5 ----- 1 file changed, 5 deletions(-) (limited to 'ufund-ui/src/app/services/users.service.ts') diff --git a/ufund-ui/src/app/services/users.service.ts b/ufund-ui/src/app/services/users.service.ts index ddbd322..dba8185 100644 --- a/ufund-ui/src/app/services/users.service.ts +++ b/ufund-ui/src/app/services/users.service.ts @@ -45,10 +45,6 @@ export class UsersService { } updateUser(user: User): Observable { - console.log("REMOVING USER IN ANGULAR: ", user) - console.log(user, user.basket) - console.log(this.apiKey) - return this.http.put(`${this.url}/${user.username}`,user, this.httpOptions2) } @@ -90,7 +86,6 @@ export class UsersService { let newArr = this.basket.getValue().filter(v => v.id != id); this.basket.next(newArr); this.getCurrentUser()!.basket = newArr.map(need => need.id); - console.log(this.getCurrentUser()!.basket) this.updateUser(this.getCurrentUser()!).subscribe(() => { this.refreshBasket(); error: (err: any) => { -- cgit v1.2.3