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

changeset 235
4258b9e010ae
parent 199
59393c8cc557
child 242
b7f3e972b13c
equal deleted inserted replaced
234:d71bc6db42ef 235:4258b9e010ae
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 package de.uapcore.lightpit.viewmodel 26 package de.uapcore.lightpit.viewmodel
27 27
28 import de.uapcore.lightpit.entities.Issue
29 import de.uapcore.lightpit.entities.Project 28 import de.uapcore.lightpit.entities.Project
29 import de.uapcore.lightpit.types.IssueHistoryType
30 import java.sql.Timestamp 30 import java.sql.Timestamp
31 import java.time.Instant 31 import java.time.Instant
32 32
33 class IssueDiff(
34 val id: Int,
35 val currentSubject: String,
36 var component: String,
37 var status: String,
38 var category: String,
39 var subject: String,
40 var description: String,
41 var assignee: String,
42 var eta: String,
43 var affected: String,
44 var resolved: String,
45 )
46
47 class IssueFeedEntry(
48 val time: Timestamp,
49 val type: IssueHistoryType,
50 val issue: IssueDiff
51 )
52
33 class IssueFeed( 53 class IssueFeed(
34 val project: Project, 54 val project: Project,
35 val issues: List<Issue> 55 val entries: List<IssueFeedEntry>
36 ) : View() { 56 ) : View() {
37 val lastModified = issues.map(Issue::updated).maxOrNull() ?: Timestamp.from(Instant.now()) 57 val lastModified: Timestamp =
58 entries.map(IssueFeedEntry::time).maxOrNull() ?: Timestamp.from(Instant.now())
38 } 59 }

mercurial