Skip to content
Snippets Groups Projects
Commit 6f260b8e authored by Felipe D'Abrantes's avatar Felipe D'Abrantes
Browse files

Reduce code duplication

parent 16feb458
No related branches found
No related tags found
1 merge request!14Add endpoints to manage Dailies
......@@ -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))
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment