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

34 lines
961 B
JavaScript
Raw Normal View History

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
}
});
};
}]);