From 99ad7129bb7995db99967481c5c192b5ed40344d Mon Sep 17 00:00:00 2001 From: Felipe D'Abrantes <felidabrantes@gmail> Date: Wed, 15 Mar 2023 02:56:06 +0000 Subject: [PATCH] Add insert method to Daily repository (#19) --- .../app/repositories/DailyRepository.scala | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/backend-services/feed-service/app/repositories/DailyRepository.scala b/backend-services/feed-service/app/repositories/DailyRepository.scala index 8daeddc4..fa8a8370 100644 --- a/backend-services/feed-service/app/repositories/DailyRepository.scala +++ b/backend-services/feed-service/app/repositories/DailyRepository.scala @@ -53,4 +53,27 @@ class DailyRepository extends MongoDBClient { )) }) } + + /** + * Inserts a Daily record into the database. + * + * @return A Future containing the inserted Daily object with the generated ID. + */ + def insertDaily(daily: Daily): Future[Daily] = { + // Don't supply an ID as Mongo will generate one for us + val document = Document( + "user_id" -> daily.userId, + "question_id" -> daily.questionId, + "content" -> daily.content, + "likes" -> daily.likes + ) + + val result = insertOne(dailiesCollection, document) + + // Return a Daily entity with the generated ID + result.flatMap(id => { + val updatedDaily = daily.copy(id = Some(new ObjectId(id))) + Future.successful(updatedDaily) + }) + } } -- GitLab