mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-05 04:56:02 +01:00
50 lines
1.6 KiB
Scala
50 lines
1.6 KiB
Scala
package service
|
|
|
|
import scala.slick.jdbc.{StaticQuery => Q}
|
|
import Q.interpolation
|
|
|
|
import model.Profile._
|
|
import profile.simple._
|
|
import model.CommitComment
|
|
import util.Implicits._
|
|
import util.StringUtil._
|
|
|
|
|
|
trait CommitsService {
|
|
|
|
def getCommitComments(owner: String, repository: String, commitId: String)(implicit s: Session) =
|
|
CommitComments filter (_.byCommit(owner, repository, commitId)) list
|
|
|
|
def getCommitComment(owner: String, repository: String, commentId: String)(implicit s: Session) =
|
|
if (commentId forall (_.isDigit))
|
|
CommitComments filter { t =>
|
|
t.byPrimaryKey(commentId.toInt) && t.byRepository(owner, repository)
|
|
} firstOption
|
|
else
|
|
None
|
|
|
|
def createCommitComment(owner: String, repository: String, commitId: String, loginUser: String,
|
|
content: String, fileName: Option[String], oldLine: Option[Int], newLine: Option[Int])(implicit s: Session): Int =
|
|
CommitComments.autoInc insert CommitComment(
|
|
userName = owner,
|
|
repositoryName = repository,
|
|
commitId = commitId,
|
|
commentedUserName = loginUser,
|
|
content = content,
|
|
fileName = fileName,
|
|
oldLine = oldLine,
|
|
newLine = newLine,
|
|
registeredDate = currentDate,
|
|
updatedDate = currentDate)
|
|
|
|
def updateCommitComment(commentId: Int, content: String)(implicit s: Session) =
|
|
CommitComments
|
|
.filter (_.byPrimaryKey(commentId))
|
|
.map { t =>
|
|
t.content -> t.updatedDate
|
|
}.update (content, currentDate)
|
|
|
|
def deleteCommitComment(commentId: Int)(implicit s: Session) =
|
|
CommitComments filter (_.byPrimaryKey(commentId)) delete
|
|
}
|