src/main/kotlin/de/uapcore/lightpit/dao/PostgresDataAccessObject.kt

changeset 242
b7f3e972b13c
parent 241
1ca4f27cefe8
child 244
28052f3b9cf9
equal deleted inserted replaced
241:1ca4f27cefe8 242:b7f3e972b13c
595 override fun insertHistoryEvent(issue: Issue, newId: Int) { 595 override fun insertHistoryEvent(issue: Issue, newId: Int) {
596 val type = if (newId > 0) IssueHistoryType.New else IssueHistoryType.Update 596 val type = if (newId > 0) IssueHistoryType.New else IssueHistoryType.Update
597 val issueid = if (newId > 0) newId else issue.id 597 val issueid = if (newId > 0) newId else issue.id
598 598
599 val eventid = 599 val eventid =
600 withStatement("insert into lpit_issue_history_event(issueid, type) values (?,?::issue_history_event) returning eventid") { 600 withStatement("insert into lpit_issue_history_event(issueid, subject, type) values (?,?,?::issue_history_event) returning eventid") {
601 setInt(1, issueid) 601 setInt(1, issueid)
602 setEnum(2, type) 602 setString(2, issue.subject)
603 setEnum(3, type)
603 querySingle { it.getInt(1) }!! 604 querySingle { it.getInt(1) }!!
604 } 605 }
605 withStatement( 606 withStatement(
606 """ 607 """
607 insert into lpit_issue_history_data (component, status, category, subject, description, assignee, assignee_username, eta, affected, resolved, eventid) 608 insert into lpit_issue_history_data (component, status, category, description, assignee, eta, affected, resolved, eventid)
608 values (?, ?::issue_status, ?::issue_category, ?, ?, ?, ?, ?, ?, ?, ?) 609 values (?, ?::issue_status, ?::issue_category, ?, ?, ?, ?, ?, ?)
609 """.trimIndent() 610 """.trimIndent()
610 ) { 611 ) {
611 setStringOrNull(1, issue.component?.name) 612 setStringOrNull(1, issue.component?.name)
612 setEnum(2, issue.status) 613 setEnum(2, issue.status)
613 setEnum(3, issue.category) 614 setEnum(3, issue.category)
614 setString(4, issue.subject) 615 setStringOrNull(4, issue.description)
615 setStringOrNull(5, issue.description) 616 setStringOrNull(5, issue.assignee?.shortDisplayname)
616 setStringOrNull(6, issue.assignee?.shortDisplayname) 617 setDateOrNull(6, issue.eta)
617 setStringOrNull(7, issue.assignee?.username) 618 setStringOrNull(7, issue.affected?.name)
618 setDateOrNull(8, issue.eta) 619 setStringOrNull(8, issue.resolved?.name)
619 setStringOrNull(9, issue.affected?.name) 620 setInt(9, eventid)
620 setStringOrNull(10, issue.resolved?.name)
621 setInt(11, eventid)
622 executeUpdate() 621 executeUpdate()
623 } 622 }
624 } 623 }
625 624
626 //</editor-fold> 625 //</editor-fold>
676 } 675 }
677 } 676 }
678 } 677 }
679 678
680 679
681 override fun insertHistoryEvent(issueComment: IssueComment, newId: Int) { 680 override fun insertHistoryEvent(issue: Issue, issueComment: IssueComment, newId: Int) {
682 val type = if (newId > 0) IssueHistoryType.NewComment else IssueHistoryType.UpdateComment 681 val type = if (newId > 0) IssueHistoryType.NewComment else IssueHistoryType.UpdateComment
683 val commentid = if (newId > 0) newId else issueComment.id 682 val commentid = if (newId > 0) newId else issueComment.id
684 683
685 val eventid = 684 val eventid =
686 withStatement("insert into lpit_issue_history_event(issueid, type) values (?,?::issue_history_event) returning eventid") { 685 withStatement("insert into lpit_issue_history_event(issueid, subject, type) values (?,?,?::issue_history_event) returning eventid") {
687 setInt(1, issueComment.issueid) 686 setInt(1, issueComment.issueid)
688 setEnum(2, type) 687 setString(1, issue.subject)
688 setEnum(3, type)
689 querySingle { it.getInt(1) }!! 689 querySingle { it.getInt(1) }!!
690 } 690 }
691 withStatement("insert into lpit_issue_comment_history (commentid, eventid, comment) values (?,?,?)") { 691 withStatement("insert into lpit_issue_comment_history (commentid, eventid, comment) values (?,?,?,?)") {
692 setInt(1, commentid) 692 setInt(1, commentid)
693 setInt(2, eventid) 693 setInt(2, eventid)
694 setString(3, issueComment.comment) 694 setString(3, issueComment.comment)
695 executeUpdate() 695 executeUpdate()
696 } 696 }
716 setInt(1, projectId) 716 setInt(1, projectId)
717 setInt(2, days) 717 setInt(2, days)
718 queryAll { rs-> 718 queryAll { rs->
719 with(rs) { 719 with(rs) {
720 IssueHistoryEntry( 720 IssueHistoryEntry(
721 getTimestamp("time"), 721 subject = getString("subject"),
722 getEnum("type"), 722 time = getTimestamp("time"),
723 getString("current_assignee"), 723 type = getEnum("type"),
724 IssueHistoryData(getInt("issueid"), 724 currentAssignee = getString("current_assignee"),
725 component = getString("component") ?: "", 725 issueid = getInt("issueid"),
726 status = getEnum("status"), 726 component = getString("component") ?: "",
727 category = getEnum("category"), 727 status = getEnum("status"),
728 subject = getString("subject"), 728 category = getEnum("category"),
729 description = getString("description") ?: "", 729 description = getString("description") ?: "",
730 assignee = getString("assignee") ?: "", 730 assignee = getString("assignee") ?: "",
731 eta = getDate("eta"), 731 eta = getDate("eta"),
732 affected = getString("affected") ?: "", 732 affected = getString("affected") ?: "",
733 resolved = getString("resolved") ?: "" 733 resolved = getString("resolved") ?: ""
734 )
735 ) 734 )
736 } 735 }
737 } 736 }
738 } 737 }
739 738
753 setInt(1, projectId) 752 setInt(1, projectId)
754 setInt(2, days) 753 setInt(2, days)
755 queryAll { rs-> 754 queryAll { rs->
756 with(rs) { 755 with(rs) {
757 IssueCommentHistoryEntry( 756 IssueCommentHistoryEntry(
758 getTimestamp("time"), 757 subject = getString("subject"),
759 getEnum("type"), 758 time = getTimestamp("time"),
760 getString("current_assignee"), 759 type = getEnum("type"),
761 IssueCommentHistoryData( 760 currentAssignee = getString("current_assignee"),
762 getInt("commentid"), 761 issueid = getInt("issueid"),
763 getString("comment") 762 commentid = getInt("commentid"),
764 ) 763 comment = getString("comment")
765 ) 764 )
766 } 765 }
767 } 766 }
768 } 767 }
769 768

mercurial