gitbucket.core.api.ApiWebhook.scala Maven / Gradle / Ivy
The newest version!
package gitbucket.core.api
import gitbucket.core.model.{RepositoryWebHook, WebHook}
/**
* https://docs.github.com/en/rest/reference/repos#webhooks
*/
case class ApiWebhookConfig(
content_type: String,
// insecure_ssl: String,
url: String
)
case class ApiWebhook(
`type`: String,
id: Int,
name: String,
active: Boolean,
events: List[String],
config: ApiWebhookConfig,
// updated_at: Option[Date],
// created_at: Option[Date],
url: ApiPath,
// test_url: ApiPath,
// ping_url: ApiPath,
// last_response: ...
)
object ApiWebhook {
def apply(
_type: String,
hook: RepositoryWebHook,
hookEvents: Set[WebHook.Event]
): ApiWebhook =
ApiWebhook(
`type` = _type,
id = hook.hookId,
name = "web", // dummy
active = true, // dummy
events = hookEvents.toList.map(_.name),
config = ApiWebhookConfig(hook.ctype.code, hook.url),
url = ApiPath(s"/api/v3/${hook.userName}/${hook.repositoryName}/hooks/${hook.hookId}")
)
}