package model import scala.slick.driver.H2Driver.simple._ object Milestones extends Table[Milestone]("MILESTONE") { def userName = column[String]("USER_NAME", O PrimaryKey) def repositoryName = column[String]("REPOSITORY_NAME", O PrimaryKey) def milestoneId = column[Int]("MILESTONE_ID", O PrimaryKey) def title = column[String]("TITLE") def description = column[String]("DESCRIPTION") def dueDate = column[java.sql.Date]("DUE_DATE") // TODO convert java.util.Date later def closed = column[Boolean]("CLOSED") def ins = userName ~ repositoryName ~ title ~ description.? ~ dueDate.? ~ closed def * = userName ~ repositoryName ~ milestoneId ~ title ~ description.? ~ dueDate.? ~ closed <> (Milestone, Milestone.unapply _) } case class Milestone( userName: String, repositoryName: String, milestoneId: Int, title: String, description: Option[String], dueDate: Option[java.sql.Date], closed: Boolean)