You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
portainer/app/docker/rest/container.js

116 lines
3.2 KiB

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