| 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
95
96
97
98
99
100
101
102
103 |
1×
1×
1×
1×
2×
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;
return {
listProjects: function listProjects() {
return busy(client._.get('/projects'));
},
createProject: function createProject(project) {
var expected = ['name', 'type', 'steps', 'metadata'];
var _mustContain = mustContain.apply(undefined, [project].concat(expected)),
missingKeys = _mustContain.missingKeys,
promise = _mustContain.promise;
return missingKeys ? promise : busy(client._.post('/projects', project));
},
getProject: function getProject(id) {
return busy(client._.get('/projects/' + id));
},
updateProject: function updateProject(project) {
var expected = ['name', 'description', 'metadata', '_id'];
var pfiltered = filterQuery.apply(undefined, [project].concat(_toConsumableArray(expected.slice(0, 3)))); // Remove '_id'
var _mustContain2 = mustContain.apply(undefined, [project].concat(expected)),
missingKeys = _mustContain2.missingKeys,
promise = _mustContain2.promise;
return missingKeys ? promise : busy(client._.patch('/projects/' + project._id, pfiltered, {
headers: headers,
transformRequest: _utils.transformRequest
}));
},
deleteProject: function deleteProject(id) {
return busy(client._.delete('/projects/' + id));
},
getProjectAccess: function getProjectAccess(_id) {
return busy(client._.get('/projects/' + _id + '/access'));
},
setProjectAccess: function setProjectAccess(_id, users, groups) {
var level = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
var flags = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
return busy(client._.put('/projects/' + _id + '/access', {
users: users,
groups: groups,
level: parseInt(level, 10),
flags: flags
}));
},
patchProjectAccess: function patchProjectAccess(_id, users, groups) {
var level = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
var flags = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
return busy(client._.patch('/projects/' + _id + '/access', {
users: users,
groups: groups,
level: parseInt(level, 10),
flags: flags
}));
},
revokeProjectAccess: function revokeProjectAccess(_id, users, groups) {
console.log(users, groups);
return busy(client._.patch('/projects/' + _id + '/access/revoke', { users: users, groups: groups }));
},
// List all the simulations associated with a project
listSimulations: function listSimulations(projectId) {
return busy(client._.get('/projects/' + projectId + '/simulations'));
},
// post /projects/{id}/simulations
// Create a simulation associated with a project
createSimulation: function createSimulation(projectId, simualtion) {
var expected = ['name', 'description', 'steps', 'active', 'disabled'];
var sfiltered = filterQuery.apply(undefined, [simualtion].concat(expected));
return busy(client._.post('/projects/' + projectId + '/simulations', sfiltered, {
headers: headers,
transformRequest: _utils.transformRequest
}));
}
};
};
var _utils = require('./utils');
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); } }
var headers = {
'Content-Type': 'application/json'
};
|