Skip to content
Snippets Groups Projects
Daily.scala 932 B
Newer Older
package models

import repositories.DailyRepository
import org.bson.types.ObjectId
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future


case class Daily(
    id: Option[ObjectId],
    userId: ObjectId,
    questionId: ObjectId,
    content: String,
    likes: Int
)

object Daily {
    val dailyRepo = new DailyRepository()

    def createDaily(
        id: Option[ObjectId],
        userId: ObjectId,
        questionId: ObjectId,
        content: String,
        likes: Int
    ): Future[Daily] = {
        val daily: Daily = Daily(None, userId, questionId, content, likes)
        dailyRepo.insertDaily(daily)
    }

    def getAllDailies(): Future[Seq[Daily]] = {
        dailyRepo.getAllDailies()
    }

    def toString(daily: Daily): String =
        return s"Daily(${daily.id.toString()}, ${daily.userId.toString()}, ${daily.questionId.toString()}, ${daily.content}, ${daily.likes})"