diff --git a/keel-front50/src/main/kotlin/com/netflix/spinnaker/keel/front50/Front50Service.kt b/keel-front50/src/main/kotlin/com/netflix/spinnaker/keel/front50/Front50Service.kt index 663efe327c..afd4d832e5 100644 --- a/keel-front50/src/main/kotlin/com/netflix/spinnaker/keel/front50/Front50Service.kt +++ b/keel-front50/src/main/kotlin/com/netflix/spinnaker/keel/front50/Front50Service.kt @@ -20,4 +20,9 @@ interface Front50Service { @Path("name") name: String, @Header("X-SPINNAKER-USER") user: String = DEFAULT_SERVICE_ACCOUNT ): Application + + @GET("/v2/applications") + suspend fun allApplications( + @Header("X-SPINNAKER-USER") user: String = DEFAULT_SERVICE_ACCOUNT + ): List } diff --git a/keel-front50/src/main/kotlin/com/netflix/spinnaker/keel/front50/model/Application.kt b/keel-front50/src/main/kotlin/com/netflix/spinnaker/keel/front50/model/Application.kt index dc595fd25c..d265eaf06b 100644 --- a/keel-front50/src/main/kotlin/com/netflix/spinnaker/keel/front50/model/Application.kt +++ b/keel-front50/src/main/kotlin/com/netflix/spinnaker/keel/front50/model/Application.kt @@ -1,13 +1,26 @@ package com.netflix.spinnaker.keel.front50.model +import com.fasterxml.jackson.annotation.JsonAnyGetter +import com.fasterxml.jackson.annotation.JsonAnySetter + +/** + * A Spinnaker application, as represented in Front50. + */ data class Application( val name: String, val email: String, val dataSources: DataSources?, val repoProjectKey: String? = null, val repoSlug: String? = null, - val repoType: String? = null -) + val repoType: String? = null, + val createTs: String? = null, + @get:JsonAnyGetter val details: MutableMap = mutableMapOf() +) { + @JsonAnySetter + fun setDetail(key: String, value: Any?) { + details[key] = value + } +} data class DataSources( val enabled: List,