mirror of
				https://github.com/gitbucket/gitbucket.git
				synced 2025-11-03 20:15:59 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Scala
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Scala
		
	
	
	
	
	
package model
 | 
						|
 | 
						|
protected[model] trait TemplateComponent { self: Profile =>
 | 
						|
  import profile.simple._
 | 
						|
 | 
						|
  trait BasicTemplate { self: Table[_] =>
 | 
						|
    val userName = column[String]("USER_NAME")
 | 
						|
    val repositoryName = column[String]("REPOSITORY_NAME")
 | 
						|
 | 
						|
    def byRepository(owner: String, repository: String) =
 | 
						|
      (userName === owner.bind) && (repositoryName === repository.bind)
 | 
						|
 | 
						|
    def byRepository(userName: Column[String], repositoryName: Column[String]) =
 | 
						|
      (this.userName === userName) && (this.repositoryName === repositoryName)
 | 
						|
  }
 | 
						|
 | 
						|
  trait IssueTemplate extends BasicTemplate { self: Table[_] =>
 | 
						|
    val issueId = column[Int]("ISSUE_ID")
 | 
						|
 | 
						|
    def byIssue(owner: String, repository: String, issueId: Int) =
 | 
						|
      byRepository(owner, repository) && (this.issueId === issueId.bind)
 | 
						|
 | 
						|
    def byIssue(userName: Column[String], repositoryName: Column[String], issueId: Column[Int]) =
 | 
						|
      byRepository(userName, repositoryName) && (this.issueId === issueId)
 | 
						|
  }
 | 
						|
 | 
						|
  trait LabelTemplate extends BasicTemplate { self: Table[_] =>
 | 
						|
    val labelId = column[Int]("LABEL_ID")
 | 
						|
 | 
						|
    def byLabel(owner: String, repository: String, labelId: Int) =
 | 
						|
      byRepository(owner, repository) && (this.labelId === labelId.bind)
 | 
						|
 | 
						|
    def byLabel(userName: Column[String], repositoryName: Column[String], labelId: Column[Int]) =
 | 
						|
      byRepository(userName, repositoryName) && (this.labelId === labelId)
 | 
						|
  }
 | 
						|
 | 
						|
  trait MilestoneTemplate extends BasicTemplate { self: Table[_] =>
 | 
						|
    val milestoneId = column[Int]("MILESTONE_ID")
 | 
						|
 | 
						|
    def byMilestone(owner: String, repository: String, milestoneId: Int) =
 | 
						|
      byRepository(owner, repository) && (this.milestoneId === milestoneId.bind)
 | 
						|
 | 
						|
    def byMilestone(userName: Column[String], repositoryName: Column[String], milestoneId: Column[Int]) =
 | 
						|
      byRepository(userName, repositoryName) && (this.milestoneId === milestoneId)
 | 
						|
  }
 | 
						|
 | 
						|
}
 |