diff --git a/backend-services/feed-service/app/repositories/DailyRepository.scala b/backend-services/feed-service/app/repositories/DailyRepository.scala index 53519dad7796d88a0b918489a4c3189dd9de5a9e..94c1021cc390ca890f6c08057e3748e029585bed 100644 --- a/backend-services/feed-service/app/repositories/DailyRepository.scala +++ b/backend-services/feed-service/app/repositories/DailyRepository.scala @@ -43,17 +43,7 @@ class DailyRepository extends MongoDBClient { */ def getAllDailies(): Future[Seq[Daily]] = { val documents: Future[Seq[Document]] = find(dailiesCollection) - - documents.map(document => { - document.map(doc => Daily( - Some(doc.getObjectId("_id")), - doc.getObjectId("user_id"), - doc.getObjectId("question_id"), - doc.getString("content"), - doc.getInteger("likes"), - doc.getDate("createdAt") - )) - }) + documents.map(docs => DailyRepository.fromMongoDocument(docs)) } /** @@ -64,17 +54,8 @@ class DailyRepository extends MongoDBClient { def getUserDailies(userId: ObjectId): Future[Seq[Daily]] = { val userFilter = Filters.equal("user_id", userId) val documents: Future[Seq[Document]] = find(dailiesCollection, userFilter) - - documents.map(document => { - document.map(doc => Daily( - Some(doc.getObjectId("_id")), - doc.getObjectId("user_id"), - doc.getObjectId("question_id"), - doc.getString("content"), - doc.getInteger("likes"), - doc.getDate("createdAt") - )) - }) + + documents.map(docs => DailyRepository.fromMongoDocument(docs)) } /** @@ -87,17 +68,7 @@ class DailyRepository extends MongoDBClient { val userFilter = Filters.in("user_id", userIds: _*) val documents: Future[Seq[Document]] = find(dailiesCollection, userFilter) - documents.map(document => { - println(documents) - document.map(doc => Daily( - Some(doc.getObjectId("_id")), - doc.getObjectId("user_id"), - doc.getObjectId("question_id"), - doc.getString("content"), - doc.getInteger("likes"), - doc.getDate("createdAt") - )) - }) + documents.map(docs => DailyRepository.fromMongoDocument(docs)) } /** @@ -124,3 +95,21 @@ class DailyRepository extends MongoDBClient { }) } } + + +object DailyRepository { + def fromMongoDocument(document: Document): Daily = { + Daily( + Some(document.getObjectId("_id")), + document.getObjectId("user_id"), + document.getObjectId("question_id"), + document.getString("content"), + document.getInteger("likes"), + document.getDate("createdAt") + ) + } + + def fromMongoDocument(documents: Seq[Document]): Seq[Daily] = { + documents.map(document => DailyRepository.fromMongoDocument(document)) + } +}