mirror of https://github.com/portainer/portainer
116 lines
3.2 KiB
JavaScript
116 lines
3.2 KiB
JavaScript
import { genericHandler, logsHandler } from './response/handlers';
|
|
|
|
angular.module('portainer.docker').factory('Container', [
|
|
'$resource',
|
|
'API_ENDPOINT_ENDPOINTS',
|
|
'EndpointProvider',
|
|
'ContainersInterceptor',
|
|
function ContainerFactory($resource, API_ENDPOINT_ENDPOINTS, EndpointProvider, ContainersInterceptor) {
|
|
'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,
|
|
interceptor: ContainersInterceptor,
|
|
timeout: 15000,
|
|
},
|
|
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' },
|
|
},
|
|
resize: {
|
|
method: 'POST',
|
|
params: { id: '@id', action: 'resize', h: '@height', w: '@width' },
|
|
transformResponse: genericHandler,
|
|
ignoreLoadingBar: true,
|
|
},
|
|
}
|
|
);
|
|
},
|
|
]);
|