From 1f1197348193724bb2d5e01e43873868bea0f5e8 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 18 Dec 2019 23:24:20 +0100 Subject: [PATCH 1/5] tried to send userId to get all Posts --- src/app/components/feed/feed.component.ts | 21 ++++++++++---- src/app/services/feed/feed.service.ts | 35 +++++++++++++++++++++-- 2 files changed, 48 insertions(+), 8 deletions(-) diff --git a/src/app/components/feed/feed.component.ts b/src/app/components/feed/feed.component.ts index cc1c40e..ca4b875 100644 --- a/src/app/components/feed/feed.component.ts +++ b/src/app/components/feed/feed.component.ts @@ -2,6 +2,8 @@ import { Component, OnInit } from '@angular/core'; import { Post } from 'src/app/models/post'; import { FeedService } from 'src/app/services/feed/feed.service'; import { Actionlist } from 'src/app/models/actionlist'; +import { DatasharingService } from '../../services/datasharing.service'; +import { User } from 'src/app/models/user'; @Component({ selector: 'home-feed', @@ -22,10 +24,19 @@ export class FeedComponent implements OnInit { actionlist: Actionlist = new Actionlist(); - constructor(private feedService: FeedService) { } + loggedIn = false; + userId: number; + user: User; + + constructor(private feedService: FeedService,private data: DatasharingService) { } ngOnInit() { - this.feedService.getAllPostsRaw().subscribe(response => { + this.data.currentUserInfo.subscribe(user => { + this.user = user; + this.loggedIn = user.loggedIn; + this.userId = user.userID; + }); + this.feedService.getAllPostsRawByUserId(this.userId).subscribe(response => { this.feedNew = this.feedService.renderAllPosts(response.json()); this.parentSelectedPostList = this.feedNew; this.feedMostLiked = this.feedNew; @@ -44,7 +55,7 @@ export class FeedComponent implements OnInit { showNew() { console.log('showNew()'); - this.feedService.getAllPostsRaw().subscribe(response => { + this.feedService.getAllPostsRawByUserId(this.userId).subscribe(response => { this.feedNew = this.feedService.renderAllPosts(response.json()); this.parentSelectedPostList = this.feedNew; }); this.viewNew = true; @@ -53,7 +64,7 @@ export class FeedComponent implements OnInit { showMostLiked() { console.log('showMostLiked()'); - this.feedService.getAllPostsRaw().subscribe(response => { + this.feedService.getAllPostsRawByUserId(this.userId).subscribe(response => { this.feedMostLiked = this.feedService.renderAllPosts(response.json()); this.parentSelectedPostList = this.feedMostLiked; }); this.viewNew = false; @@ -62,7 +73,7 @@ export class FeedComponent implements OnInit { refresh($event) { - this.feedService.getAllPostsRaw().subscribe(response => { + this.feedService.getAllPostsRawByUserId(this.userId).subscribe(response => { this.parentSelectedPostList = this.feedService.renderAllPosts(response.json()); console.log('Refresh'); }); diff --git a/src/app/services/feed/feed.service.ts b/src/app/services/feed/feed.service.ts index 2b57a20..40351aa 100644 --- a/src/app/services/feed/feed.service.ts +++ b/src/app/services/feed/feed.service.ts @@ -85,6 +85,19 @@ export class FeedService { }); return this.posts; } + public getAllPostsById(userId: number): Array { + const url = environment.graphQLUrl; + + const headers = new Headers(); + headers.set('Content-Type', 'application/json'); + + this.http.post(url, this.getBodyForGetAllPostsByUserId(userId)) + .subscribe(response => { + this.posts = this.renderAllPosts(response.json()); + console.log(response); + }); + return this.posts; + } public getAllPostsRaw(): any { const url = environment.graphQLUrl; @@ -95,13 +108,29 @@ export class FeedService { return this.http.post(url, this.getBodyForGetAllPosts()); } + public getAllPostsRawByUserId(userId: number): any { + const url = environment.graphQLUrl; + + const headers = new Headers(); + headers.set('Content-Type', 'application/json'); + + return this.http.post(url, this.getBodyForGetAllPostsByUserId(userId)); + } + + getBodyForGetAllPostsByUserId(pUserId: number) { + const body = {query: `query ($userId: ID) { + getPosts (first: 1000, offset: 0) {id, content, htmlContent, upvotes, downvotes, userVote, author{name, handle, id}, createdAt} + }`, variables: { + userId: pUserId + }}; + return body + } getBodyForGetAllPosts() { const body = {query: `query { getPosts (first: 1000, offset: 0) {id, content, htmlContent, upvotes, downvotes, userVote, author{name, handle, id}, createdAt} }` - }; - - return body; + } + return body } public renderAllPosts(pResponse: any): Array { From ef0f26fdcc4d4bf5f199f3d699327ea459bd36da Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 18 Dec 2019 23:53:29 +0100 Subject: [PATCH 2/5] fixed user.ts --- src/app/components/feed/feed.component.ts | 2 +- src/app/models/user.ts | 28 ++++++++++---------- src/app/services/login/login.service.ts | 31 +++++++++++------------ 3 files changed, 30 insertions(+), 31 deletions(-) diff --git a/src/app/components/feed/feed.component.ts b/src/app/components/feed/feed.component.ts index ca4b875..aa6599e 100644 --- a/src/app/components/feed/feed.component.ts +++ b/src/app/components/feed/feed.component.ts @@ -34,7 +34,7 @@ export class FeedComponent implements OnInit { this.data.currentUserInfo.subscribe(user => { this.user = user; this.loggedIn = user.loggedIn; - this.userId = user.userID; + if(this.loggedIn) this.userId = user.userID; }); this.feedService.getAllPostsRawByUserId(this.userId).subscribe(response => { this.feedNew = this.feedService.renderAllPosts(response.json()); diff --git a/src/app/models/user.ts b/src/app/models/user.ts index 3b073b6..619d6b7 100644 --- a/src/app/models/user.ts +++ b/src/app/models/user.ts @@ -1,15 +1,15 @@ export class User { - constructor( - public userID: number, - public loggedIn: boolean, - public username: string, - public handle: string, - public email: string, - public points: number, - public level: number, - public friendIDs: number[], - public groupIDs: number[], - public chatIDs: number[], - public requestIDs: number[], - ) {} -} + loggedIn : boolean + userID : number + username : string + handle : string + email : string + points : number + level : number + + friendIDs : number[] + groupIDs : number[] + chatIDs : number[] + + requestIDs : number[] +} \ No newline at end of file diff --git a/src/app/services/login/login.service.ts b/src/app/services/login/login.service.ts index 195b56b..2c73a59 100644 --- a/src/app/services/login/login.service.ts +++ b/src/app/services/login/login.service.ts @@ -33,23 +33,22 @@ export class LoginService { this.router.navigateByUrl(''); } - public updateUserInfo(response: any) { - const loginData = response.data.login; - const user: User = new User( - loginData.login.id, - true, - loginData.name, - loginData.handle, - loginData.email, - loginData.points, - loginData.level, - loginData.friends, - loginData.groups, - loginData.chats, - loginData.requests, - ); + public updateUserInfo(response : any){ + const user: User = new User(); + user.loggedIn = true; + user.userID = response.data.login.id; + user.username = response.data.login.name; + user.handle = response.data.login.handle; + user.email = response.data.login.email; + user.points = response.data.login.points; + user.level = response.data.login.level; + user.friendIDs = response.data.login.friends; + user.groupIDs = response.data.login.groups; + user.chatIDs = response.data.login.chats; + user.requestIDs = response.data.login.requests; - this.data.changeUserInfo(user); + this.data.changeUserInfo(user) + } public buildJson(login: Login): any { From a78bcf96aa17d52019f4bc9af0796a84380a8fcb Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 19 Dec 2019 00:12:59 +0100 Subject: [PATCH 3/5] fix --- src/app/components/feed/feed.component.ts | 1 + src/app/services/feed/feed.service.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/components/feed/feed.component.ts b/src/app/components/feed/feed.component.ts index aa6599e..f374334 100644 --- a/src/app/components/feed/feed.component.ts +++ b/src/app/components/feed/feed.component.ts @@ -35,6 +35,7 @@ export class FeedComponent implements OnInit { this.user = user; this.loggedIn = user.loggedIn; if(this.loggedIn) this.userId = user.userID; + console.log("the userId is " + this.userId); }); this.feedService.getAllPostsRawByUserId(this.userId).subscribe(response => { this.feedNew = this.feedService.renderAllPosts(response.json()); diff --git a/src/app/services/feed/feed.service.ts b/src/app/services/feed/feed.service.ts index 40351aa..afb51be 100644 --- a/src/app/services/feed/feed.service.ts +++ b/src/app/services/feed/feed.service.ts @@ -119,7 +119,7 @@ export class FeedService { getBodyForGetAllPostsByUserId(pUserId: number) { const body = {query: `query ($userId: ID) { - getPosts (first: 1000, offset: 0) {id, content, htmlContent, upvotes, downvotes, userVote, author{name, handle, id}, createdAt} + getPosts (first: 1000, offset: 0, userId: $userId) {id, content, htmlContent, upvotes, downvotes, userVote, author{name, handle, id}, createdAt} }`, variables: { userId: pUserId }}; From 2fe48fef59c4dc1686f182e26994ac9e65dd2204 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 19 Dec 2019 00:29:29 +0100 Subject: [PATCH 4/5] fix --- src/app/services/feed/feed.service.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/app/services/feed/feed.service.ts b/src/app/services/feed/feed.service.ts index afb51be..c44ec9b 100644 --- a/src/app/services/feed/feed.service.ts +++ b/src/app/services/feed/feed.service.ts @@ -117,17 +117,26 @@ export class FeedService { return this.http.post(url, this.getBodyForGetAllPostsByUserId(userId)); } - getBodyForGetAllPostsByUserId(pUserId: number) { + /*getBodyForGetAllPostsByUserId(pUserId: number) { const body = {query: `query ($userId: ID) { getPosts (first: 1000, offset: 0, userId: $userId) {id, content, htmlContent, upvotes, downvotes, userVote, author{name, handle, id}, createdAt} }`, variables: { userId: pUserId }}; return body + }*/ + + getBodyForGetAllPostsByUserId(pUserId: number) { + const body = {query: `query ($userId: ID) { + getPosts (first: 1000, offset: 0) {id, content, htmlContent, upvotes, downvotes, userVote(userId: $userId), author{name, handle, id}, createdAt} + }`, variables: { + userId: pUserId + }}; + return body } getBodyForGetAllPosts() { const body = {query: `query { - getPosts (first: 1000, offset: 0) {id, content, htmlContent, upvotes, downvotes, userVote, author{name, handle, id}, createdAt} + getPosts (first: 1000, offset: 0) {id, content, htmlContent, upvotes, downvotes, author{name, handle, id}, createdAt} }` } return body From 9813301bacf1b39451a362818daaae9a01e18aae Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 19 Dec 2019 00:30:33 +0100 Subject: [PATCH 5/5] final fix --- src/app/services/feed/feed.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/services/feed/feed.service.ts b/src/app/services/feed/feed.service.ts index c44ec9b..19fb90f 100644 --- a/src/app/services/feed/feed.service.ts +++ b/src/app/services/feed/feed.service.ts @@ -127,7 +127,7 @@ export class FeedService { }*/ getBodyForGetAllPostsByUserId(pUserId: number) { - const body = {query: `query ($userId: ID) { + const body = {query: `query ($userId: ID!) { getPosts (first: 1000, offset: 0) {id, content, htmlContent, upvotes, downvotes, userVote(userId: $userId), author{name, handle, id}, createdAt} }`, variables: { userId: pUserId