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
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";
import semver from "semver";
export default async function ({siteVersion, projectId, includePrerelease = false}) {
return axios.get(`https://git.fitko.de/api/v4/projects/${projectId}/repository/tags`)
.catch((error) => {
throw `Fetching of latest tags failed with ${error.response.status}`
})
.then(async ({data}) => {
const versionRange = `~${siteVersion}`
const suitableVersions = await data
.filter(({name}) => semver.satisfies(name, versionRange, {includePrerelease}))
.map(({name}) => name)
.sort()
if (siteVersion === 'latest') {
return 'latest'
} else {
return axios.get(`https://git.fitko.de/api/v4/projects/${projectId}/repository/tags`)
.catch((error) => {
throw `Fetching of latest tags failed with ${error.response.status}`
})
.then(async ({data}) => {
const versionRange = `~${siteVersion}`
const suitableVersions = await data
.filter(({name}) => semver.satisfies(name, versionRange, {includePrerelease}))
.map(({name}) => name)
.sort()
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)
return result_version
})
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)
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