Added support for mail notifications and WIP JIRA export.

This commit is contained in:
Šesták Vít
2016-02-12 19:50:40 +01:00
parent f4fa0ee948
commit 2fb2c3fd72
32 changed files with 728 additions and 51 deletions

View File

@@ -0,0 +1,22 @@
package models
import models.profile.api._
import slick.lifted.Tag
import com.mohiva.play.silhouette.api.LoginInfo
case class VulnerabilitySubscription(user: LoginInfo, project: String)
class LoginInfoColumns(prefix: String, table: Table[_]) {
import table.column
def providerId = column[String](s"${prefix}_provider_id")
def providerKey = column[String](s"${prefix}_provider_key")
def apply() = (providerId, providerKey) <> (LoginInfo.tupled, LoginInfo.unapply)
def === (other: LoginInfo): Rep[Boolean] = (providerId === other.providerID) && (providerKey === other.providerKey)
}
class VulnerabilitySubscriptions(tag: Tag) extends Table[VulnerabilitySubscription](tag, "vulnerability_subscription"){
val user = new LoginInfoColumns("subscriber", this)
def project = column[String]("project")
def * = (user(), project) <> (VulnerabilitySubscription.tupled, VulnerabilitySubscription.unapply)
def idx = index("all", (user(), project), unique = true)
}