portainer/js/services.js

65 lines
3.2 KiB
JavaScript
Raw Normal View History

2013-06-09 00:12:14 +00:00
'use strict';
2013-06-09 01:20:29 +00:00
angular.module('dockerui.services', ['ngResource'])
2013-06-11 00:10:43 +00:00
.factory('Container', function($resource, Settings) {
2013-06-09 01:20:29 +00:00
// Resource for interacting with the docker containers
// http://docs.docker.io/en/latest/api/docker_remote_api.html#containers
2013-06-11 00:10:43 +00:00
return $resource(Settings.url + '/containers/:id/:action', {}, {
2013-06-09 01:20:29 +00:00
query: {method: 'GET', params:{ all: 0, action: 'json'}, isArray: true},
get :{method: 'GET', params: { action:'json'}},
2013-06-09 23:56:54 +00:00
start: {method: 'POST', params: {id: '@id', action: 'start'}},
stop: {method: 'POST', params: {id: '@id', t: 5, action: 'stop'}},
restart: {method: 'POST', params: {id: '@id', t: 5, action: 'restart' }},
kill :{method: 'POST', params: {id: '@id', action:'kill'}},
2013-06-09 01:20:29 +00:00
changes :{method: 'GET', params: {action:'changes'}, isArray: true},
create :{method: 'POST', params: {action:'create'}},
2013-06-09 23:56:54 +00:00
remove :{method: 'DELETE', params: {id: '@id', v:0}}
2013-06-09 01:20:29 +00:00
});
})
2013-06-11 00:10:43 +00:00
.factory('Image', function($resource, Settings) {
2013-06-09 01:20:29 +00:00
// Resource for docker images
// http://docs.docker.io/en/latest/api/docker_remote_api.html#images
2013-06-11 00:10:43 +00:00
return $resource(Settings.url + '/images/:id/:action', {}, {
2013-06-09 01:20:29 +00:00
query: {method: 'GET', params:{ all: 0, action: 'json'}, isArray: true},
get :{method: 'GET', params: { action:'json'}},
search :{method: 'GET', params: { action:'search'}},
2013-06-09 23:11:40 +00:00
history :{method: 'GET', params: { action:'history'}, isArray: true},
2013-06-09 01:20:29 +00:00
create :{method: 'POST', params: {action:'create'}},
2013-06-09 23:56:54 +00:00
insert :{method: 'POST', params: {id: '@id', action:'insert'}},
push :{method: 'POST', params: {id: '@id', action:'push'}},
2013-06-15 01:02:22 +00:00
tag :{method: 'POST', params: {id: '@id', action:'tag', force: 0, repo: '@repo'}},
2013-06-09 23:56:54 +00:00
delete :{id: '@id', method: 'DELETE'}
2013-06-09 01:20:29 +00:00
});
2013-06-09 23:56:54 +00:00
})
2013-06-11 00:10:43 +00:00
.factory('Docker', function($resource, Settings) {
2013-06-10 01:31:05 +00:00
// Information for docker
// http://docs.docker.io/en/latest/api/docker_remote_api.html#display-system-wide-information
2013-06-11 00:10:43 +00:00
return $resource(Settings.url + '/version', {}, {
2013-06-10 01:31:05 +00:00
get: {method: 'GET'}
});
})
2013-06-11 00:10:43 +00:00
.factory('Auth', function($resource, Settings) {
2013-06-10 01:31:05 +00:00
// Auto Information for docker
// http://docs.docker.io/en/latest/api/docker_remote_api.html#set-auth-configuration
2013-06-11 00:10:43 +00:00
return $resource(Settings.url + '/auth', {}, {
2013-06-10 01:31:05 +00:00
get: {method: 'GET'},
update: {method: 'POST'}
});
})
2013-06-11 00:10:43 +00:00
.factory('System', function($resource, Settings) {
2013-06-10 01:31:05 +00:00
// System for docker
// http://docs.docker.io/en/latest/api/docker_remote_api.html#display-system-wide-information
2013-06-11 00:10:43 +00:00
return $resource(Settings.url + '/info', {}, {
2013-06-10 01:31:05 +00:00
get: {method: 'GET'}
});
})
.factory('Settings', function(DOCKER_ENDPOINT, DOCKER_API_VERSION, UI_VERSION) {
2013-06-09 23:56:54 +00:00
return {
2013-06-10 12:59:57 +00:00
displayAll: false,
2013-06-11 00:10:43 +00:00
endpoint: DOCKER_ENDPOINT,
version: DOCKER_API_VERSION,
url: DOCKER_ENDPOINT + '/' + DOCKER_API_VERSION,
uiVersion: UI_VERSION
2013-06-09 23:56:54 +00:00
};
2013-06-09 00:12:14 +00:00
});