portainer/app/extensions/registry-management/rest/gitlab.js

39 lines
1.1 KiB
JavaScript

import gitlabResponseGetLink from './transform/gitlabResponseGetLink';
angular.module('portainer.extensions.registrymanagement').factory('Gitlab', [
'$resource',
'API_ENDPOINT_REGISTRIES',
function GitlabFactory($resource, API_ENDPOINT_REGISTRIES) {
'use strict';
return function (env) {
const headers = {};
if (env) {
headers['Private-Token'] = env.token;
headers['X-Gitlab-Domain'] = env.url;
}
const baseUrl = API_ENDPOINT_REGISTRIES + '/:id/proxies/gitlab/api/v4/projects';
return $resource(
baseUrl,
{ id: '@id' },
{
projects: {
method: 'GET',
params: { membership: 'true' },
transformResponse: gitlabResponseGetLink,
headers: headers,
},
repositories: {
method: 'GET',
url: baseUrl + '/:projectId/registry/repositories',
params: { tags: true },
headers: headers,
transformResponse: gitlabResponseGetLink,
},
}
);
};
},
]);