mirror of
https://github.com/portainer/portainer.git
synced 2025-07-24 15:59:41 +02:00
* feat(back): saved data in snapshot * feat(endpoints): adding interceptors to retrieve saved data on offline endpoints * feat(endpoints): offline dashboard working - need tests on offline views * refactor(endpoints): interceptors cleaning and saving/loading offline endpoints data in/from localstorage * feat(endpoints): browsing offline endpoints * feat(endpoints): removing all the link in offline mode - sidebar not working when switching between off and on modes w/ stateManager logic * feat(endpoints): endpoint status detection in real time * fix(endpoints): offline swarm endpoint are not accessible anymore * fix(endpoints): refactor message + disable offline browsing for an endpoint when no snapshot is available for it * fix(endpoints): adding timeout and enabling loading bar for offline requests * fix(endpoints): trying to access a down endpoint wont remove sidebar items if it fails * feat(endpoints): disable checkboxes on offline views for offline mode * feat(endpoints): updating endpoint status when detecting a change * refactor(host): moved offline status panel from engine view to new host view * fix(endpoints): missing endpoint update on ping from home view * fix(api): rework EndpointUpdate operation * refactor(offline): moved endpoint status to EndpointProvider and refactor the status-changed detection * fix(offline): moved status detection to callback on views -> prevent displaying the offline message when endpoint is back online on view change * fix(offline): offline message is now displayed online when browsing an offline endpoint * fix(offline): sidebar updates correctly on endpoint status change * fix(offline): offline panel not displayed and hidden on online mode * refactor(offline): rework of OfflineMode management * refactor(offline): extract information-panel for offlineMode into a component * refactor(offline): remove redundant binding of informationPanel + endpointStatusInterceptor patter as service * refactor(interceptors): moved interceptors pattern to service pattern * feat(stacks): prevent inspection of a stack in offline mode * feat(host): hide devices/disk panels in offline mode * feat(host): disable browse action in offline mode * refactor(home): remove comments
40 lines
1.8 KiB
JavaScript
40 lines
1.8 KiB
JavaScript
angular.module('portainer.docker')
|
|
.factory('Image', ['$resource', 'API_ENDPOINT_ENDPOINTS', 'EndpointProvider', 'HttpRequestHelper', 'ImagesInterceptor',
|
|
function ImageFactory($resource, API_ENDPOINT_ENDPOINTS, EndpointProvider, HttpRequestHelper, ImagesInterceptor) {
|
|
'use strict';
|
|
|
|
return $resource(API_ENDPOINT_ENDPOINTS + '/:endpointId/docker/images/:id/:action', {
|
|
endpointId: EndpointProvider.endpointID
|
|
},
|
|
{
|
|
query: {method: 'GET', params: {all: 0, action: 'json'}, isArray: true, interceptor: ImagesInterceptor, timeout: 10000},
|
|
get: {method: 'GET', params: {action: 'json'}},
|
|
search: {method: 'GET', params: {action: 'search'}},
|
|
history: {method: 'GET', params: {action: 'history'}, isArray: true},
|
|
insert: {method: 'POST', params: {id: '@id', action: 'insert'}},
|
|
tag: {method: 'POST', params: {id: '@id', action: 'tag', force: 0, repo: '@repo', tag: '@tag'}, ignoreLoadingBar: true},
|
|
inspect: {method: 'GET', params: {id: '@id', action: 'json'}},
|
|
push: {
|
|
method: 'POST', params: {action: 'push', id: '@tag'},
|
|
isArray: true, transformResponse: jsonObjectsToArrayHandler,
|
|
headers: { 'X-Registry-Auth': HttpRequestHelper.registryAuthenticationHeader },
|
|
ignoreLoadingBar: true
|
|
},
|
|
create: {
|
|
method: 'POST', params: {action: 'create', fromImage: '@fromImage', tag: '@tag'},
|
|
isArray: true, transformResponse: jsonObjectsToArrayHandler,
|
|
headers: { 'X-Registry-Auth': HttpRequestHelper.registryAuthenticationHeader },
|
|
ignoreLoadingBar: true
|
|
},
|
|
download: {
|
|
method: 'GET', params: {action:'get', names: '@names'},
|
|
transformResponse: imageGetResponse,
|
|
responseType: 'blob',
|
|
ignoreLoadingBar: true
|
|
},
|
|
remove: {
|
|
method: 'DELETE', params: {id: '@id', force: '@force'},
|
|
isArray: true, transformResponse: deleteImageHandler
|
|
}
|
|
});
|
|
}]);
|