| 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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94 |
1×
1×
1×
1×
1×
| '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 {
updateGroupModerator: function updateGroupModerator(groupId, userId, onOff) {
var url = '/group/' + groupId + '/moderator?userId=' + userId;
return onOff ? client._.post(url) : client._.delete(url);
},
updateGroupAdmin: function updateGroupAdmin(groupdId, userId, onOff) {
var url = '/group/' + groupdId + '/admin?userId=' + userId;
return onOff ? client._.post(url) : client._.delete(url);
},
createGroup: function createGroup(group) {
var expected = ['name', 'description', 'public'];
var params = filterQuery.apply(undefined, [group].concat(expected));
var _mustContain = mustContain(params, 'name'),
missingKeys = _mustContain.missingKeys,
promise = _mustContain.promise;
return missingKeys ? promise : busy(client._.post('/group' + encodeQueryAsString(params)));
},
getGroups: function getGroups() {
return busy(client._.get('/group'));
},
getGroup: function getGroup(id) {
return busy(client._.get('/group/' + id));
},
deleteGroup: function deleteGroup(id) {
return busy(client._.delete('/group/' + id));
},
editGroup: function editGroup() {
var group = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var expected = ['name', 'description', 'public'];
var params = filterQuery.apply(undefined, [group].concat(expected));
var _mustContain2 = mustContain(group, '_id'),
missingKeys = _mustContain2.missingKeys,
promise = _mustContain2.promise;
return missingKeys ? promise : busy(client._.put('/group/' + group._id + encodeQueryAsString(params)));
},
listGroupInvitations: function listGroupInvitations(id) {
var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var allowed = ['limit', 'offset', 'sort', 'sortdir'];
var params = filterQuery.apply(undefined, [query].concat(allowed));
return busy(client._.get('/group/' + id + '/invitation', { params: params }));
},
addGroupInvitation: function addGroupInvitation(id) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var allowed = ['userId', 'level', 'quiet', 'force'];
var params = filterQuery.apply(undefined, [options].concat(allowed));
var _mustContain3 = mustContain(params, 'userId'),
missingKeys = _mustContain3.missingKeys,
promise = _mustContain3.promise;
return missingKeys ? promise : busy(client._.post('/group/' + id + '/invitation' + encodeQueryAsString(params)));
},
listGroupMembers: function listGroupMembers(id) {
var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var allowed = ['limit', 'offset', 'sort', 'sortdir'];
var params = filterQuery.apply(undefined, [query].concat(allowed));
return busy(client._.get('/group/' + id + '/member', { params: params }));
},
removeUserFromGroup: function removeUserFromGroup(id, userId) {
var params = { userId: userId };
return busy(client._.delete('/group/' + id + '/member', { params: params }));
},
joinGroup: function joinGroup(id) {
return busy(client._.post('/group/' + id + '/member'));
},
getGroupAccess: function getGroupAccess(id) {
return busy(client._.get('/group/' + id + '/access'));
}
};
};
|