Newer
Older
gitbucket_jkp / src / main / scala / model / BasicTemplate.scala
  1. package model
  2.  
  3. import scala.slick.driver.H2Driver.simple._
  4.  
  5. protected[model] trait BasicTemplate { self: Table[_] =>
  6. def userName = column[String]("USER_NAME")
  7. def repositoryName = column[String]("REPOSITORY_NAME")
  8.  
  9. def byRepository(owner: String, repository: String) =
  10. (userName is owner.bind) && (repositoryName is repository.bind)
  11.  
  12. def byRepository(userName: Column[String], repositoryName: Column[String]) =
  13. (this.userName is userName) && (this.repositoryName is repositoryName)
  14. }
  15.  
  16. protected[model] trait IssueTemplate extends BasicTemplate { self: Table[_] =>
  17. def issueId = column[Int]("ISSUE_ID")
  18.  
  19. def byIssue(owner: String, repository: String, issueId: Int) =
  20. byRepository(owner, repository) && (this.issueId is issueId.bind)
  21.  
  22. def byIssue(userName: Column[String], repositoryName: Column[String], issueId: Column[Int]) =
  23. byRepository(userName, repositoryName) && (this.issueId is issueId)
  24. }
  25.  
  26. protected[model] trait LabelTemplate extends BasicTemplate { self: Table[_] =>
  27. def labelId = column[Int]("LABEL_ID")
  28.  
  29. def byLabel(owner: String, repository: String, labelId: Int) =
  30. byRepository(owner, repository) && (this.labelId is labelId.bind)
  31.  
  32. def byLabel(userName: Column[String], repositoryName: Column[String], labelId: Column[Int]) =
  33. byRepository(userName, repositoryName) && (this.labelId is labelId)
  34. }
  35.  
  36. protected[model] trait MilestoneTemplate extends BasicTemplate { self: Table[_] =>
  37. def milestoneId = column[Int]("MILESTONE_ID")
  38.  
  39. def byMilestone(owner: String, repository: String, milestoneId: Int) =
  40. byRepository(owner, repository) && (this.milestoneId is milestoneId.bind)
  41.  
  42. def byMilestone(userName: Column[String], repositoryName: Column[String], milestoneId: Column[Int]) =
  43. byRepository(userName, repositoryName) && (this.milestoneId is milestoneId)
  44. }