IP: RC Code Review

This commit is contained in:
Unknown
2014-03-27 12:48:29 -04:00
parent 442996f032
commit 3144fac03c
8 changed files with 88 additions and 61 deletions

View File

@ -37,7 +37,7 @@ type Issue struct {
}
// CreateIssue creates new issue for repository.
func CreateIssue(userId, repoId, milestoneId, assigneeId int64, name, labels, content string, isPull bool) (*Issue, error) {
func CreateIssue(userId, repoId, milestoneId, assigneeId int64, issueCount int, name, labels, content string, isPull bool) (*Issue, error) {
count, err := GetIssueCount(repoId)
if err != nil {
return nil, err
@ -46,6 +46,10 @@ func CreateIssue(userId, repoId, milestoneId, assigneeId int64, name, labels, co
// TODO: find out mentions
mentions := ""
sess := orm.NewSession()
defer sess.Close()
sess.Begin()
issue := &Issue{
Index: count + 1,
Name: name,
@ -58,8 +62,23 @@ func CreateIssue(userId, repoId, milestoneId, assigneeId int64, name, labels, co
Mentions: mentions,
Content: content,
}
_, err = orm.Insert(issue)
return issue, err
if _, err = sess.Insert(issue); err != nil {
sess.Rollback()
return nil, err
}
rawSql := "UPDATE `repository` SET num_issues = num_issues + 1 WHERE id = ?"
if _, err = sess.Exec(rawSql, repoId); err != nil {
sess.Rollback()
return nil, err
}
if err = sess.Commit(); err != nil {
sess.Rollback()
return nil, err
}
return issue, nil
}
// GetIssueCount returns count of issues in the repository.