hunk.code_window: 		}
   	}
   	return nil
   }
hunk.labels: keep keep replace replace keep
hunk.file_path: api/kubernetes/cli/exec.go
hunk.type: replace
file: import { StoridgeDriveModel } from '../models/drive';
  
  angular.module('portainer.integrations.storidge').factory('StoridgeDriveService', [
    '$q',
    'Storidge',
    function StoridgeDriveServiceFactory($q, Storidge) {
      'use strict';
      var service = {};
  
      service.drives = function () {
        var deferred = $q.defer();
  
        Storidge.queryDrives()
          .$promise.then(function success(data) {
            var driveData = data.drives;
            var drives = driveData.map(function (drive) {
              return new StoridgeDriveModel(drive);
            });
  
            deferred.resolve(drives);
          })
          .catch(function error(err) {
            deferred.reject({ msg: 'Unable to retrieve Storidge drives', err: err });
          });
  
        return deferred.promise;
      };
  
      service.drive = function (id) {
        var deferred = $q.defer();
  
        Storidge.getDrive({ id: id })
          .$promise.then(function success(data) {
            var drive = new StoridgeDriveModel(data);
            Storidge.getNode({ id: data.nodeid }).$promise.then(function (data) {
              drive.Node = data.name;
              deferred.resolve(drive);
            });
          })
          .catch(function error(err) {
            deferred.reject({ msg: 'Unable to retrieve Storidge drive', err: err });
          });
  
        return deferred.promise;
      };
  
      service.add = function (device, node) {
        var deferred = $q.defer();
  
        Storidge.addDrive({ device: device, node: node })
          .$promise.then(function success() {
            deferred.resolve();
          })
          .catch(function error(err) {
            deferred.reject({ msg: 'Unable to add Storidge drive', err: err });
          });
  
        return deferred.promise;
      };
  
      service.remove = function (id) {
        var deferred = $q.defer();
  
        Storidge.removeDrive({ id: id })
          .$promise.then(function success() {
            deferred.resolve();
          })
          .catch(function error(err) {
            deferred.reject({ msg: 'Unable to remove Storidge drive', err: err });
          });
  
        return deferred.promise;
      };
  
      service.rescan = function () {
        return Storidge.rescanDrives().$promise;
      };
  
      return service;
    },
  ]);
  