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

18.52% Statements 5/27
0% Branches 0/10
11.11% Functions 1/9
22.73% Lines 5/22
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                                                                                                           
'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 {
    listUsers: function listUsers() {
      var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
 
      var params = filterQuery(query, 'text', 'limit', 'offset', 'sort', 'sortdir');
      return busy(client._.get('/user', { params: params }));
    },
    createUser: function createUser(user) {
      var expected = ['login', 'email', 'firstName', 'lastName', 'password', 'admin'];
      var params = filterQuery.apply(undefined, [user].concat(expected));
 
      var _mustContain = mustContain.apply(undefined, [user].concat(expected)),
          missingKeys = _mustContain.missingKeys,
          promise = _mustContain.promise;
 
      return missingKeys ? promise : busy(client._.post('/user' + encodeQueryAsString(params)));
    },
    changePassword: function changePassword(old, newPassword) {
      var params = { old: old, new: newPassword };
      return busy(client._.put('/user/password' + encodeQueryAsString(params)));
    },
    resetPassword: function resetPassword(email) {
      var params = { email: email };
      return busy(client._.delete('/user/password', { params: params }));
    },
    deleteUser: function deleteUser(id) {
      return busy(client._.delete('/user/' + id));
    },
    getUser: function getUser(id) {
      return busy(client._.get('/user/' + id));
    },
    updateUser: function updateUser(user) {
      var expected = ['email', 'firstName', 'lastName', '_id'];
      var params = filterQuery.apply(undefined, [user].concat(_toConsumableArray(expected.slice(0, 3)))); // Remove '_id'
 
      var _mustContain2 = mustContain.apply(undefined, [user].concat(expected)),
          missingKeys = _mustContain2.missingKeys,
          promise = _mustContain2.promise;
 
      return missingKeys ? promise : busy(client._.put('/user/' + user._id + encodeQueryAsString(params)));
    }
  };
};
 
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }