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