Skip to content
Snippets Groups Projects
Verified Commit 054b0381 authored by Florian Kaufmann's avatar Florian Kaufmann
Browse files

Wiedereinführung der latest version für die Submission Api

parent 21e11996
No related branches found
No related tags found
1 merge request!71Wiedereinführung der latest version für die Submission Api
...@@ -5,4 +5,4 @@ hide_table_of_contents: true ...@@ -5,4 +5,4 @@ hide_table_of_contents: true
import ApiSpec from '@site/src/components/ApiSpec' import ApiSpec from '@site/src/components/ApiSpec'
<ApiSpec gitlabProjectId={"1"} path={"submission-api"} artifact={"submission-api.yaml"} includePrerelease = {true} /> <ApiSpec gitlabProjectId={"1"} path={"submission-api"} artifact={"submission-api.yaml"} includePrerelease = {true} version = {"latest"} />
...@@ -2,19 +2,23 @@ import axios from "axios"; ...@@ -2,19 +2,23 @@ import axios from "axios";
import semver from "semver"; import semver from "semver";
export default async function ({siteVersion, projectId, includePrerelease = false}) { export default async function ({siteVersion, projectId, includePrerelease = false}) {
return axios.get(`https://git.fitko.de/api/v4/projects/${projectId}/repository/tags`) if (siteVersion === 'latest') {
.catch((error) => { return 'latest'
throw `Fetching of latest tags failed with ${error.response.status}` } else {
}) return axios.get(`https://git.fitko.de/api/v4/projects/${projectId}/repository/tags`)
.then(async ({data}) => { .catch((error) => {
const versionRange = `~${siteVersion}` throw `Fetching of latest tags failed with ${error.response.status}`
const suitableVersions = await data })
.filter(({name}) => semver.satisfies(name, versionRange, {includePrerelease})) .then(async ({data}) => {
.map(({name}) => name) const versionRange = `~${siteVersion}`
.sort() const suitableVersions = await data
.filter(({name}) => semver.satisfies(name, versionRange, {includePrerelease}))
.map(({name}) => name)
.sort()
const result_version = semver.maxSatisfying(suitableVersions, versionRange, {includePrerelease}) const result_version = semver.maxSatisfying(suitableVersions, versionRange, {includePrerelease})
console.log('Get version for project: %s, requested version: %s, includePrerelease: %s, available versions: %s, selected version: %s', projectId, siteVersion, includePrerelease, suitableVersions, result_version) console.log('Get version for project: %s, requested version: %s, includePrerelease: %s, available versions: %s, selected version: %s', projectId, siteVersion, includePrerelease, suitableVersions, result_version)
return result_version return result_version
}) })
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment