diff -r bbf4eb9a71f8 -r bf67e0ff7131 src/main/kotlin/de/uapcore/lightpit/viewmodel/PathInfos.kt --- a/src/main/kotlin/de/uapcore/lightpit/viewmodel/PathInfos.kt Mon Aug 05 17:41:56 2024 +0200 +++ b/src/main/kotlin/de/uapcore/lightpit/viewmodel/PathInfos.kt Mon Aug 05 18:40:47 2024 +0200 @@ -31,13 +31,13 @@ import de.uapcore.lightpit.entities.Component import de.uapcore.lightpit.entities.Version -data class PathInfos( +abstract class PathInfos(val issuesHref: String) +class PathInfosOnlyIssues(issuesHref: String): PathInfos(issuesHref) +data class PathInfosFull( val projectInfo: ProjectInfo, val versionInfo: OptionalPathInfo, val componentInfo: OptionalPathInfo -) { - val issuesHref by lazyOf("projects/${projectInfo.project.node}/issues/${versionInfo.node}/${componentInfo.node}/") -} +): PathInfos("projects/${projectInfo.project.node}/issues/${versionInfo.node}/${componentInfo.node}/") private fun obtainProjectInfo(http: HttpRequest, dao: DataAccessObject): ProjectInfo? { val pathParam = http.pathParams["project"] ?: return null @@ -54,7 +54,7 @@ ) } -fun withPathInfo(http: HttpRequest, dao: DataAccessObject): PathInfos? { +fun withPathInfo(http: HttpRequest, dao: DataAccessObject): PathInfosFull? { val projectInfo = obtainProjectInfo(http, dao) if (projectInfo == null) { http.response.sendError(404) @@ -69,5 +69,5 @@ return null } - return PathInfos(projectInfo, version, component) + return PathInfosFull(projectInfo, version, component) }