src/main/kotlin/de/uapcore/lightpit/servlet/FeedServlet.kt

changeset 311
bf67e0ff7131
parent 260
fb2ae2d63a56
child 315
4fe3f61744cf
--- a/src/main/kotlin/de/uapcore/lightpit/servlet/FeedServlet.kt	Mon Aug 05 17:41:56 2024 +0200
+++ b/src/main/kotlin/de/uapcore/lightpit/servlet/FeedServlet.kt	Mon Aug 05 18:40:47 2024 +0200
@@ -32,6 +32,7 @@
 import de.uapcore.lightpit.dao.DataAccessObject
 import de.uapcore.lightpit.entities.IssueCommentHistoryEntry
 import de.uapcore.lightpit.entities.IssueHistoryEntry
+import de.uapcore.lightpit.entities.Project
 import de.uapcore.lightpit.types.IssueHistoryType
 import de.uapcore.lightpit.viewmodel.CommentDiff
 import de.uapcore.lightpit.viewmodel.IssueDiff
@@ -79,6 +80,7 @@
     private fun fullContent(issue: IssueHistoryEntry) = IssueDiff(
         issue.issueid,
         issue.subject,
+        issue.project,
         issue.component,
         issue.status.name,
         issue.category.name,
@@ -162,21 +164,27 @@
         }
 
     private fun issues(http: HttpRequest, dao: DataAccessObject) {
-        val project = http.pathParams["project"]?.let { dao.findProjectByNode(it) }
-        if (project == null) {
-            http.response.sendError(404)
-            return
+        val projectNode = http.pathParams["project"].orEmpty()
+        val project: Project?
+        if (projectNode == "-") {
+            project = null
+        } else {
+            project = dao.findProjectByNode(projectNode)
+            if (project == null) {
+                http.response.sendError(404)
+                return
+            }
         }
         val assignees = http.param("assignee")?.split(',')
         val comments = http.param("comments") ?: "all"
 
         val days = http.param("days")?.toIntOrNull() ?: 30
 
-        val issuesFromDb = dao.listIssueHistory(project.id, days)
+        val issuesFromDb = dao.listIssueHistory(project, days)
         val issueHistory = if (assignees == null) issuesFromDb else
             issuesFromDb.filter { assignees.contains(it.currentAssignee) }
 
-        val commentsFromDb = dao.listIssueCommentHistory(project.id, days)
+        val commentsFromDb = dao.listIssueCommentHistory(project, days)
         val commentHistory = when (comments) {
             "all" -> commentsFromDb
             "new" -> commentsFromDb.filter { it.type == IssueHistoryType.NewComment }

mercurial