mirror of https://github.com/portainer/portainer
41 lines
1.7 KiB
JavaScript
41 lines
1.7 KiB
JavaScript
import { logsHandler } from './response/handlers';
|
|
|
|
angular.module('portainer.docker')
|
|
.factory('Service', ['$resource', 'API_ENDPOINT_ENDPOINTS', 'EndpointProvider', 'HttpRequestHelper',
|
|
function ServiceFactory($resource, API_ENDPOINT_ENDPOINTS, EndpointProvider, HttpRequestHelper) {
|
|
'use strict';
|
|
return $resource(API_ENDPOINT_ENDPOINTS + '/:endpointId/docker/services/:id/:action', {
|
|
endpointId: EndpointProvider.endpointID
|
|
},
|
|
{
|
|
get: { method: 'GET', params: {id: '@id'} },
|
|
query: { method: 'GET', isArray: true, params: {filters: '@filters'} },
|
|
create: {
|
|
method: 'POST', params: {action: 'create'},
|
|
headers: {
|
|
'X-Registry-Auth': HttpRequestHelper.registryAuthenticationHeader,
|
|
// TODO: This is a temporary work-around that allows us to leverage digest pinning on
|
|
// the Docker daemon side. It has been moved client-side since Docker API version > 1.29.
|
|
// We should introduce digest pinning in Portainer as well.
|
|
'version': '1.29'
|
|
},
|
|
ignoreLoadingBar: true
|
|
},
|
|
update: {
|
|
method: 'POST', params: { id: '@id', action: 'update', version: '@version' },
|
|
headers: {
|
|
// TODO: This is a temporary work-around that allows us to leverage digest pinning on
|
|
// the Docker daemon side. It has been moved client-side since Docker API version > 1.29.
|
|
// We should introduce digest pinning in Portainer as well.
|
|
'version': '1.29'
|
|
}
|
|
},
|
|
remove: { method: 'DELETE', params: {id: '@id'} },
|
|
logs: {
|
|
method: 'GET', params: { id: '@id', action: 'logs' },
|
|
timeout: 4500, ignoreLoadingBar: true,
|
|
transformResponse: logsHandler
|
|
}
|
|
});
|
|
}]);
|