mirror of https://github.com/portainer/portainer
53 lines
1.4 KiB
JavaScript
53 lines
1.4 KiB
JavaScript
angular.module('portainer.agent').factory('HostBrowserService', [
|
|
'Browse', 'Upload', 'API_ENDPOINT_ENDPOINTS', 'EndpointProvider', '$q', 'StateManager',
|
|
function HostBrowserServiceFactory(Browse, Upload, API_ENDPOINT_ENDPOINTS, EndpointProvider, $q, StateManager) {
|
|
var service = {};
|
|
|
|
service.ls = ls;
|
|
service.get = get;
|
|
service.delete = deletePath;
|
|
service.rename = rename;
|
|
service.upload = upload;
|
|
|
|
function ls(path) {
|
|
return Browse.ls({ path: path }).$promise;
|
|
}
|
|
|
|
function get(path) {
|
|
return Browse.get({ path: path }).$promise;
|
|
}
|
|
|
|
function deletePath(path) {
|
|
return Browse.delete({ path: path }).$promise;
|
|
}
|
|
|
|
function rename(path, newPath) {
|
|
var payload = {
|
|
CurrentFilePath: path,
|
|
NewFilePath: newPath
|
|
};
|
|
return Browse.rename({}, payload).$promise;
|
|
}
|
|
|
|
function upload(path, file, onProgress) {
|
|
var deferred = $q.defer();
|
|
var agentVersion = StateManager.getAgentApiVersion();
|
|
var url =
|
|
API_ENDPOINT_ENDPOINTS +
|
|
'/' +
|
|
EndpointProvider.endpointID() +
|
|
'/docker' +
|
|
(agentVersion > 1 ? '/v' + agentVersion : '') +
|
|
'/browse/put';
|
|
|
|
Upload.upload({
|
|
url: url,
|
|
data: { file: file, Path: path }
|
|
}).then(deferred.resolve, deferred.reject, onProgress);
|
|
return deferred.promise;
|
|
}
|
|
|
|
return service;
|
|
}
|
|
]);
|