mirror of
https://github.com/portainer/portainer.git
synced 2025-07-24 15:59:41 +02:00
* feat(jobs): adding the ability to run scripts on endpoints fix(job): click on containerId in JobsDatatable redirects to container's logs refactor(job): remove the jobs datatable settings + texts changes on JobCreation view fix(jobs): jobs payloads are now following API rules and case feat(jobs): adding the capability to run scripts on hosts * feat(jobs): adding the ability to purge jobs containers * refactor(job): apply review changes * feat(job-creation): store image name in local storage * feat(host): disable job exec link in non-agent Swarm setup * feat(host): only display execute job in agent setups or standalone * feat(job): job execution overhaul * docs(swagger): update EndpointJob documentation
76 lines
2.3 KiB
JavaScript
76 lines
2.3 KiB
JavaScript
angular.module('portainer.docker')
|
|
.factory('Container', ['$resource', 'API_ENDPOINT_ENDPOINTS', 'EndpointProvider',
|
|
function ContainerFactory($resource, API_ENDPOINT_ENDPOINTS, EndpointProvider) {
|
|
'use strict';
|
|
return $resource(API_ENDPOINT_ENDPOINTS + '/:endpointId/docker/containers/:id/:action', {
|
|
name: '@name',
|
|
endpointId: EndpointProvider.endpointID
|
|
},
|
|
{
|
|
query: {
|
|
method: 'GET', params: { all: 0, action: 'json', filters: '@filters' },
|
|
isArray: true
|
|
},
|
|
get: {
|
|
method: 'GET', params: { action: 'json' }
|
|
},
|
|
stop: {
|
|
method: 'POST', params: { id: '@id', action: 'stop' }
|
|
},
|
|
restart: {
|
|
method: 'POST', params: { id: '@id', action: 'restart' }
|
|
},
|
|
kill: {
|
|
method: 'POST', params: { id: '@id', action: 'kill' }
|
|
},
|
|
pause: {
|
|
method: 'POST', params: { id: '@id', action: 'pause' }
|
|
},
|
|
unpause: {
|
|
method: 'POST', params: { id: '@id', action: 'unpause' }
|
|
},
|
|
logs: {
|
|
method: 'GET', params: { id: '@id', action: 'logs' },
|
|
timeout: 4500, ignoreLoadingBar: true,
|
|
transformResponse: logsHandler
|
|
},
|
|
stats: {
|
|
method: 'GET', params: { id: '@id', stream: false, action: 'stats' },
|
|
timeout: 4500, ignoreLoadingBar: true
|
|
},
|
|
top: {
|
|
method: 'GET', params: { id: '@id', action: 'top' },
|
|
timeout: 4500, ignoreLoadingBar: true
|
|
},
|
|
start: {
|
|
method: 'POST', params: {id: '@id', action: 'start'},
|
|
transformResponse: genericHandler
|
|
},
|
|
create: {
|
|
method: 'POST', params: {action: 'create'},
|
|
transformResponse: genericHandler,
|
|
ignoreLoadingBar: true
|
|
},
|
|
remove: {
|
|
method: 'DELETE', params: {id: '@id', v: '@v', force: '@force'},
|
|
transformResponse: genericHandler
|
|
},
|
|
rename: {
|
|
method: 'POST', params: { id: '@id', action: 'rename', name: '@name' },
|
|
transformResponse: genericHandler
|
|
},
|
|
exec: {
|
|
method: 'POST', params: {id: '@id', action: 'exec'},
|
|
transformResponse: genericHandler, ignoreLoadingBar: true
|
|
},
|
|
inspect: {
|
|
method: 'GET', params: { id: '@id', action: 'json' }
|
|
},
|
|
update: {
|
|
method: 'POST', params: { id: '@id', action: 'update'}
|
|
},
|
|
prune: {
|
|
method: 'POST', params: { action: 'prune', filters: '@filters' }
|
|
}
|
|
});
|
|
}]);
|