Newer
Older
gitbucket_jkp / src / main / scala / api / ApiCommitStatus.scala
@nazoking nazoking on 1 Mar 2015 1 KB move api classes to api package
package api

import java.util.Date
import model.CommitStatus
import util.RepositoryName

/**
 * https://developer.github.com/v3/repos/statuses/#create-a-status
 * https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref
 */
case class ApiCommitStatus(
  created_at: Date,
  updated_at: Date,
  state: String,
  target_url: Option[String],
  description: Option[String],
  id: Int,
  context: String,
  creator: ApiUser
)(sha: String,repositoryName: RepositoryName) {
  val url = ApiPath(s"/api/v3/repos/${repositoryName.fullName}/commits/${sha}/statuses")
}

object ApiCommitStatus {
  def apply(status: CommitStatus, creator:ApiUser): ApiCommitStatus = ApiCommitStatus(
    created_at = status.registeredDate,
    updated_at = status.updatedDate,
    state      = status.state.name,
    target_url = status.targetUrl,
    description= status.description,
    id         = status.commitStatusId,
    context    = status.context,
    creator    = creator
  )(status.commitId, RepositoryName(status))
}