import axios from "axios";
import semver from "semver";

export default async function ({projectId, includePrerelease = false}) {
  return axios.get(`https://git.fitko.de/api/v4/projects/${projectId}/repository/tags`)
    .catch((error) => {
      throw `Fetching of tags failed with ${error.response.status}`
    })
    .then(async ({data}) => {
      const versionRange = `~*.*.*`
      const suitableVersions = await data
        .filter(({name}) => semver.satisfies(name, versionRange, {includePrerelease}))
        .map(({name}) => name)
        .sort()

      return suitableVersions
    })
}