49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
import axios from '~/lib/utils/axios_utils';
|
|
import { buildApiUrl } from '~/api/api_utils';
|
|
|
|
// the :request_path is loading API-like resources, not part of our REST API.
|
|
// https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82784#note_1077703806
|
|
const HARBOR_REPOSITORIES_PATH = '/:request_path.json';
|
|
const HARBOR_ARTIFACTS_PATH = '/:request_path/:repo_name/artifacts.json';
|
|
const HARBOR_TAGS_PATH = '/:request_path/:repo_name/artifacts/:digest/tags.json';
|
|
|
|
export function getHarborRepositoriesList({ requestPath, limit, page, sort, search = '' }) {
|
|
const url = buildApiUrl(HARBOR_REPOSITORIES_PATH).replace('/:request_path', requestPath);
|
|
|
|
return axios.get(url, {
|
|
params: {
|
|
limit,
|
|
page,
|
|
search,
|
|
sort,
|
|
},
|
|
});
|
|
}
|
|
|
|
export function getHarborArtifacts({ requestPath, repoName, limit, page, sort, search = '' }) {
|
|
const url = buildApiUrl(HARBOR_ARTIFACTS_PATH)
|
|
.replace('/:request_path', requestPath)
|
|
.replace(':repo_name', repoName);
|
|
|
|
return axios.get(url, {
|
|
params: {
|
|
limit,
|
|
page,
|
|
search,
|
|
sort,
|
|
},
|
|
});
|
|
}
|
|
|
|
export function getHarborTags({ requestPath, repoName, digest, page }) {
|
|
const url = buildApiUrl(HARBOR_TAGS_PATH)
|
|
.replace('/:request_path', requestPath)
|
|
.replace(':repo_name', repoName)
|
|
.replace(':digest', digest);
|
|
|
|
return axios.get(url, {
|
|
params: {
|
|
page,
|
|
},
|
|
});
|
|
}
|