Added model classes for priorities.

This commit is contained in:
Istvan Meszaros
2017-06-06 20:24:50 +02:00
parent 626113affa
commit 54f6a68a8a
3 changed files with 54 additions and 0 deletions

View File

@@ -38,6 +38,20 @@ protected[model] trait TemplateComponent { self: Profile =>
byRepository(owner, repository) && (this.labelName === labelName.bind)
}
trait PriorityTemplate extends BasicTemplate { self: Table[_] =>
val priorityId = column[Int]("PRIORITY_ID")
val priorityName = column[String]("PRIORITY_NAME")
def byPriority(owner: String, repository: String, priorityId: Int) =
byRepository(owner, repository) && (this.priorityId === priorityId.bind)
def byPriority(userName: Rep[String], repositoryName: Rep[String], priorityId: Rep[Int]) =
byRepository(userName, repositoryName) && (this.priorityId === priorityId)
def byPriority(owner: String, repository: String, priorityName: String) =
byRepository(owner, repository) && (this.priorityName === priorityName.bind)
}
trait MilestoneTemplate extends BasicTemplate { self: Table[_] =>
val milestoneId = column[Int]("MILESTONE_ID")

View File

@@ -0,0 +1,39 @@
package gitbucket.core.model
trait PriorityComponent extends TemplateComponent { self: Profile =>
import profile.api._
lazy val Priorities = TableQuery[Priorities]
class Priorities(tag: Tag) extends Table[Priority](tag, "PRIORITY") with PriorityTemplate {
override val priorityId = column[Int]("PRIORITY_ID", O AutoInc)
override val priorityName = column[String]("PRIORITY_NAME")
val ordering = column[Int]("ORDERING")
val color = column[String]("COLOR")
def * = (userName, repositoryName, priorityId, priorityName, ordering, color) <> (Priority.tupled, Priority.unapply)
def byPrimaryKey(owner: String, repository: String, priorityId: Int) = byPriority(owner, repository, priorityId)
def byPrimaryKey(userName: Rep[String], repositoryName: Rep[String], priorityId: Rep[Int]) = byPriority(userName, repositoryName, priorityId)
}
}
case class Priority (
userName: String,
repositoryName: String,
priorityId: Int = 0,
priorityName: String,
ordering: Int = 0,
color: String){
val fontColor = {
val r = color.substring(0, 2)
val g = color.substring(2, 4)
val b = color.substring(4, 6)
if(Integer.parseInt(r, 16) + Integer.parseInt(g, 16) + Integer.parseInt(b, 16) > 408){
"000000"
} else {
"ffffff"
}
}
}

View File

@@ -47,6 +47,7 @@ trait CoreProfile extends ProfileProvider with Profile
with IssueCommentComponent
with IssueLabelComponent
with LabelComponent
with PriorityComponent
with MilestoneComponent
with PullRequestComponent
with RepositoryComponent