src/main/kotlin/de/uapcore/lightpit/viewmodel/Feeds.kt

Sat, 09 Oct 2021 20:05:39 +0200

author
Mike Becker <universe@uap-core.de>
date
Sat, 09 Oct 2021 20:05:39 +0200
changeset 235
4258b9e010ae
parent 199
59393c8cc557
child 242
b7f3e972b13c
permissions
-rw-r--r--

change rss feed to display the issue history

TODO: diffs and comments

universe@195 1 /*
universe@195 2 * Copyright 2021 Mike Becker. All rights reserved.
universe@195 3 *
universe@195 4 * Redistribution and use in source and binary forms, with or without
universe@195 5 * modification, are permitted provided that the following conditions are met:
universe@195 6 *
universe@195 7 * 1. Redistributions of source code must retain the above copyright
universe@195 8 * notice, this list of conditions and the following disclaimer.
universe@195 9 *
universe@195 10 * 2. Redistributions in binary form must reproduce the above copyright
universe@195 11 * notice, this list of conditions and the following disclaimer in the
universe@195 12 * documentation and/or other materials provided with the distribution.
universe@195 13 *
universe@195 14 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
universe@195 15 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
universe@195 16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
universe@195 17 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
universe@195 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
universe@195 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
universe@195 20 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
universe@195 21 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
universe@195 22 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
universe@195 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
universe@195 24 */
universe@195 25
universe@195 26 package de.uapcore.lightpit.viewmodel
universe@195 27
universe@195 28 import de.uapcore.lightpit.entities.Project
universe@235 29 import de.uapcore.lightpit.types.IssueHistoryType
universe@199 30 import java.sql.Timestamp
universe@199 31 import java.time.Instant
universe@198 32
universe@235 33 class IssueDiff(
universe@235 34 val id: Int,
universe@235 35 val currentSubject: String,
universe@235 36 var component: String,
universe@235 37 var status: String,
universe@235 38 var category: String,
universe@235 39 var subject: String,
universe@235 40 var description: String,
universe@235 41 var assignee: String,
universe@235 42 var eta: String,
universe@235 43 var affected: String,
universe@235 44 var resolved: String,
universe@235 45 )
universe@235 46
universe@235 47 class IssueFeedEntry(
universe@235 48 val time: Timestamp,
universe@235 49 val type: IssueHistoryType,
universe@235 50 val issue: IssueDiff
universe@235 51 )
universe@235 52
universe@195 53 class IssueFeed(
universe@198 54 val project: Project,
universe@235 55 val entries: List<IssueFeedEntry>
universe@199 56 ) : View() {
universe@235 57 val lastModified: Timestamp =
universe@235 58 entries.map(IssueFeedEntry::time).maxOrNull() ?: Timestamp.from(Instant.now())
universe@199 59 }

mercurial