From dc357045964054bef6f0beb1079298026f35f528 Mon Sep 17 00:00:00 2001
From: Felipe D'Abrantes <felidabrantes@gmail>
Date: Tue, 21 Mar 2023 22:43:02 +0000
Subject: [PATCH] Add endpoint to fetch user's feed

---
 .../app/controllers/DailyController.scala      | 18 +++++++++++++++++-
 backend-services/feed-service/conf/routes      |  2 ++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/backend-services/feed-service/app/controllers/DailyController.scala b/backend-services/feed-service/app/controllers/DailyController.scala
index 6b0541c8..072382f8 100644
--- a/backend-services/feed-service/app/controllers/DailyController.scala
+++ b/backend-services/feed-service/app/controllers/DailyController.scala
@@ -4,7 +4,7 @@ import javax.inject._
 import play.api._
 import play.api.mvc._
 
-import models.Daily
+import models.{Daily, User}
 
 import scala.concurrent.TimeoutException
 import scala.concurrent.duration._
@@ -48,6 +48,22 @@ class DailyController @Inject()(val controllerComponents: ControllerComponents)
     }
   }
 
+  /**
+   * Create an Action to fetch the user's Feed.
+   */
+  def getUserFeed() = Action { implicit request: Request[AnyContent] =>
+    println("DailyController:getUserFeed")
+
+    try {
+        val result: Seq[Daily] = Daily.getUserFeedAsync(new ObjectId("641128f7e80bcd1ba39d04ae"))
+        val jsonResult = Daily.toJson(result)
+        Ok(jsonResult)
+    } catch {
+        case ex: TimeoutException => BadRequest("Request timed out")
+        case ex => BadRequest("Exception raised")
+    }
+  }
+
   def create() = Action { implicit request: Request[AnyContent] =>
     println("DailyController:create")
 
diff --git a/backend-services/feed-service/conf/routes b/backend-services/feed-service/conf/routes
index aed38ba7..ffb9bfe6 100644
--- a/backend-services/feed-service/conf/routes
+++ b/backend-services/feed-service/conf/routes
@@ -15,4 +15,6 @@ GET     /daily/getAll      controllers.DailyController.getAll()
 
 GET     /daily/users       controllers.DailyController.getUserDailies()
 
+GET     /feed              controllers.DailyController.getUserFeed()
+
 POST     /daily/create      controllers.DailyController.create()
-- 
GitLab