all files / src/network/remote/ folder.js

38.46% Statements 10/26
30% Branches 3/10
30% Functions 3/10
38.46% Lines 10/26
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72                                                                                                                           
'use strict';
 
Object.defineProperty(exports, "__esModule", {
  value: true
});
 
exports.default = function (_ref) {
  var client = _ref.client,
      filterQuery = _ref.filterQuery,
      mustContain = _ref.mustContain,
      busy = _ref.busy,
      encodeQueryAsString = _ref.encodeQueryAsString;
 
  return {
    listFolders: function listFolders() {
      var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
 
      var allowed = ['parentType', 'parentId', 'text', 'limit', 'offset', 'sort', 'sortdir'];
      var params = filterQuery.apply(undefined, [query].concat(allowed));
 
      return busy(client._.get('/folder' + encodeQueryAsString(params)));
    },
    createFolder: function createFolder(folder) {
      var allowed = ['parentType', 'parentId', 'name', 'description', 'public'];
      var params = filterQuery.apply(undefined, [folder].concat(allowed));
 
      var _mustContain = mustContain(folder, 'parentType', 'parentId', 'name'),
          missingKeys = _mustContain.missingKeys,
          promise = _mustContain.promise;
 
      return missingKeys ? promise : busy(client._.post('/folder' + encodeQueryAsString(params)));
    },
    editFolderMetaData: function editFolderMetaData(id, metadata) {
      return busy(client._.put('/folder/' + id, metadata, { transformRequest: _utils.transformRequest }));
    },
    deleteFolder: function deleteFolder(id) {
      return busy(client._.delete('/folder/' + id));
    },
    getFolder: function getFolder(id) {
      return busy(client._.get('/folder/' + id));
    },
    editFolder: function editFolder(folder) {
      var allowed = ['parentType', 'parentId', 'name', 'description'];
      var params = filterQuery.apply(undefined, [folder].concat(allowed));
 
      var _mustContain2 = mustContain(folder, '_id'),
          missingKeys = _mustContain2.missingKeys,
          promise = _mustContain2.promise;
 
      return missingKeys ? promise : busy(client._.put('/folder/' + folder._id + encodeQueryAsString(params)));
    },
    downloadFolder: function downloadFolder(id) {
      return busy(client._.get('/folder/' + id + '/download'));
    },
    getFolderAccess: function getFolderAccess(id) {
      return busy(client._.get('/folder/' + id + '/access'));
    },
    editFolderAccess: function editFolderAccess(folder) {
      var allowed = ['access', 'public'];
      var params = filterQuery.apply(undefined, [folder].concat(allowed));
 
      var _mustContain3 = mustContain(folder, '_id'),
          missingKeys = _mustContain3.missingKeys,
          promise = _mustContain3.promise;
 
      return missingKeys ? promise : busy(client._.put('/folder/' + folder._id + '/access' + encodeQueryAsString(params)));
    }
  };
};
 
var _utils = require('./utils');