diff --git a/docs/apis/submission-api.mdx b/docs/apis/submission-api.mdx index 389bfb1f97e81ffc3be1d387d1102bd1bdb61a33..d148f24af94f629a4dba5498b8f35502c44f9cb4 100644 --- a/docs/apis/submission-api.mdx +++ b/docs/apis/submission-api.mdx @@ -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"} /> diff --git a/src/utils/getLatestVersion.js b/src/utils/getLatestVersion.js index 32b221dc1125cbf81c77c3a9e4022ac183ff0bdb..8e57cdafd8f857fdd1038c013b09cdf48b0795bb 100644 --- a/src/utils/getLatestVersion.js +++ b/src/utils/getLatestVersion.js @@ -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 + }) + } }