From 754d824cb6794baf5a5f41f8722ee87499f49b22 Mon Sep 17 00:00:00 2001
From: Felipe D'Abrantes <felidabrantes@gmail>
Date: Mon, 10 Apr 2023 02:54:01 +0100
Subject: [PATCH] Implement relevant API calls to User functionality

---
 .../feed-service/app/models/User.scala        | 21 ++++++++++++-------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/backend-services/feed-service/app/models/User.scala b/backend-services/feed-service/app/models/User.scala
index 6e993551..542cc71c 100644
--- a/backend-services/feed-service/app/models/User.scala
+++ b/backend-services/feed-service/app/models/User.scala
@@ -1,21 +1,26 @@
 package models
 
+import models.HttpCall
+
+import play.api.libs.json.JsValue
 import org.bson.types.ObjectId
 import scala.concurrent.Future
+import scala.concurrent.ExecutionContext.Implicits.global
 
 
 object User {
     def getUserFriends(userId: ObjectId): Future[Seq[ObjectId]] = {
-        // TODO: Fetch user friends from Friend Service
-        println("Fetching friends for", userId.toString())
-        val friends: Seq[ObjectId] = Seq(new ObjectId("641128f7e80bcd1ba39d04af"))
-        Future.successful(friends)
+        println(s"Fetching friends for user with ID {$userId}")
+        
+        HttpCall.get("http://localhost:9000/test/getFriends").map[Seq[ObjectId]]((json: JsValue) => {
+            val sequence: Seq[String] = json.as[Seq[String]]
+            sequence.map[ObjectId](new ObjectId(_))
+        })
     }
 
     def userExists(userId: ObjectId): Future[Boolean] = {
-        // TODO: Fetch user verification from User Service
-        println("Verifying user with ID ", userId.toString(), " exists")
-        val exists: Boolean = true
-        Future.successful(exists)
+        println(s"Verifying user with ID {$userId} exists")
+        
+        HttpCall.get("http://localhost:9000/test/verifyUser").map[Boolean](_.as[Boolean])
     }
 }
-- 
GitLab