geoserver-node-client 0.0.6 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -8
- package/dist/geoserver-rest-client.js +87 -0
- package/dist/package.json +56 -0
- package/dist/src/about.js +145 -0
- package/dist/src/datastore.js +1050 -0
- package/dist/src/imagemosaic.js +297 -0
- package/dist/src/layer.js +1040 -0
- package/dist/src/namespace.js +315 -0
- package/dist/src/security.js +297 -0
- package/dist/src/settings.js +345 -0
- package/dist/src/style.js +597 -0
- package/dist/src/util/geoserver.js +97 -0
- package/dist/src/workspace.js +321 -0
- package/geoserver-rest-client.js +15 -52
- package/package.json +24 -5
- package/src/about.js +59 -0
- package/src/datastore.js +161 -200
- package/src/imagemosaic.js +74 -97
- package/src/layer.js +376 -332
- package/src/namespace.js +84 -83
- package/src/security.js +61 -84
- package/src/settings.js +76 -91
- package/src/style.js +200 -147
- package/src/util/geoserver.js +41 -0
- package/src/workspace.js +89 -81
- package/.eslintrc.json +0 -20
- package/.github/workflows/ci-geoserver-node-client.yml +0 -54
- package/.github/workflows/ci-publish-docs.yml +0 -24
- package/.github/workflows/wait-for.sh +0 -145
- package/.vscode/settings.json +0 -3
- package/DOCS_HOME.md +0 -26
- package/demo/index.js +0 -188
- package/release-it.json +0 -8
- package/test/sample_data/iceland.gpkg +0 -0
- package/test/sample_data/world.geotiff +0 -0
- package/test/test.js +0 -491
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
18
|
+
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
19
|
+
|
|
20
|
+
var _geoserver = require("./util/geoserver.js");
|
|
21
|
+
|
|
22
|
+
var _about = _interopRequireDefault(require("./about.js"));
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Client for GeoServer namespace
|
|
26
|
+
*
|
|
27
|
+
* @module NamespaceClient
|
|
28
|
+
*/
|
|
29
|
+
var NamespaceClient = /*#__PURE__*/function () {
|
|
30
|
+
/**
|
|
31
|
+
* Creates a GeoServer REST NamespaceClient instance.
|
|
32
|
+
*
|
|
33
|
+
* @param {String} url The URL of the GeoServer REST API endpoint
|
|
34
|
+
* @param {String} auth The Basic Authentication string
|
|
35
|
+
*/
|
|
36
|
+
function NamespaceClient(url, auth) {
|
|
37
|
+
(0, _classCallCheck2["default"])(this, NamespaceClient);
|
|
38
|
+
this.url = url;
|
|
39
|
+
this.auth = auth;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Returns all namespaces.
|
|
43
|
+
*
|
|
44
|
+
* @throws Error if request fails
|
|
45
|
+
*
|
|
46
|
+
* @returns {Object} An object describing the namespace
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
(0, _createClass2["default"])(NamespaceClient, [{
|
|
51
|
+
key: "getAll",
|
|
52
|
+
value: function () {
|
|
53
|
+
var _getAll = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
54
|
+
var response, geoServerResponse;
|
|
55
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
56
|
+
while (1) {
|
|
57
|
+
switch (_context.prev = _context.next) {
|
|
58
|
+
case 0:
|
|
59
|
+
_context.next = 2;
|
|
60
|
+
return (0, _nodeFetch["default"])(this.url + 'namespaces.json', {
|
|
61
|
+
credentials: 'include',
|
|
62
|
+
method: 'GET',
|
|
63
|
+
headers: {
|
|
64
|
+
Authorization: this.auth
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
case 2:
|
|
69
|
+
response = _context.sent;
|
|
70
|
+
|
|
71
|
+
if (response.ok) {
|
|
72
|
+
_context.next = 8;
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
_context.next = 6;
|
|
77
|
+
return (0, _geoserver.getGeoServerResponseText)(response);
|
|
78
|
+
|
|
79
|
+
case 6:
|
|
80
|
+
geoServerResponse = _context.sent;
|
|
81
|
+
throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
|
|
82
|
+
|
|
83
|
+
case 8:
|
|
84
|
+
return _context.abrupt("return", response.json());
|
|
85
|
+
|
|
86
|
+
case 9:
|
|
87
|
+
case "end":
|
|
88
|
+
return _context.stop();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}, _callee, this);
|
|
92
|
+
}));
|
|
93
|
+
|
|
94
|
+
function getAll() {
|
|
95
|
+
return _getAll.apply(this, arguments);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return getAll;
|
|
99
|
+
}()
|
|
100
|
+
/**
|
|
101
|
+
* Creates a new namespace.
|
|
102
|
+
*
|
|
103
|
+
* @param {String} prefix Prefix of the new namespace
|
|
104
|
+
* @param {String} uri Uri of the new namespace
|
|
105
|
+
*
|
|
106
|
+
* @throws Error if request fails
|
|
107
|
+
*
|
|
108
|
+
* @returns {String} The name of the created namespace
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
}, {
|
|
112
|
+
key: "create",
|
|
113
|
+
value: function () {
|
|
114
|
+
var _create = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefix, uri) {
|
|
115
|
+
var body, response, geoServerResponse;
|
|
116
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
117
|
+
while (1) {
|
|
118
|
+
switch (_context2.prev = _context2.next) {
|
|
119
|
+
case 0:
|
|
120
|
+
body = {
|
|
121
|
+
namespace: {
|
|
122
|
+
prefix: prefix,
|
|
123
|
+
uri: uri
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
_context2.next = 3;
|
|
127
|
+
return (0, _nodeFetch["default"])(this.url + 'namespaces', {
|
|
128
|
+
credentials: 'include',
|
|
129
|
+
method: 'POST',
|
|
130
|
+
headers: {
|
|
131
|
+
Authorization: this.auth,
|
|
132
|
+
'Content-Type': 'application/json'
|
|
133
|
+
},
|
|
134
|
+
body: JSON.stringify(body)
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
case 3:
|
|
138
|
+
response = _context2.sent;
|
|
139
|
+
|
|
140
|
+
if (response.ok) {
|
|
141
|
+
_context2.next = 9;
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
_context2.next = 7;
|
|
146
|
+
return (0, _geoserver.getGeoServerResponseText)(response);
|
|
147
|
+
|
|
148
|
+
case 7:
|
|
149
|
+
geoServerResponse = _context2.sent;
|
|
150
|
+
throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
|
|
151
|
+
|
|
152
|
+
case 9:
|
|
153
|
+
return _context2.abrupt("return", response.text());
|
|
154
|
+
|
|
155
|
+
case 10:
|
|
156
|
+
case "end":
|
|
157
|
+
return _context2.stop();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}, _callee2, this);
|
|
161
|
+
}));
|
|
162
|
+
|
|
163
|
+
function create(_x, _x2) {
|
|
164
|
+
return _create.apply(this, arguments);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return create;
|
|
168
|
+
}()
|
|
169
|
+
/**
|
|
170
|
+
* Returns a namespace.
|
|
171
|
+
*
|
|
172
|
+
* @param {String} name Name of the namespace
|
|
173
|
+
*
|
|
174
|
+
* @throws Error if request fails
|
|
175
|
+
*
|
|
176
|
+
* @returns {Object} An object describing the namespace or undefined if it cannot be found
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
}, {
|
|
180
|
+
key: "get",
|
|
181
|
+
value: function () {
|
|
182
|
+
var _get = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name) {
|
|
183
|
+
var response, grc, geoServerResponse;
|
|
184
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
185
|
+
while (1) {
|
|
186
|
+
switch (_context3.prev = _context3.next) {
|
|
187
|
+
case 0:
|
|
188
|
+
_context3.next = 2;
|
|
189
|
+
return (0, _nodeFetch["default"])(this.url + 'namespaces/' + name + '.json', {
|
|
190
|
+
credentials: 'include',
|
|
191
|
+
method: 'GET',
|
|
192
|
+
headers: {
|
|
193
|
+
Authorization: this.auth
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
case 2:
|
|
198
|
+
response = _context3.sent;
|
|
199
|
+
|
|
200
|
+
if (response.ok) {
|
|
201
|
+
_context3.next = 15;
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
grc = new _about["default"](this.url, this.auth);
|
|
206
|
+
_context3.next = 7;
|
|
207
|
+
return grc.exists();
|
|
208
|
+
|
|
209
|
+
case 7:
|
|
210
|
+
if (!_context3.sent) {
|
|
211
|
+
_context3.next = 11;
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
return _context3.abrupt("return");
|
|
216
|
+
|
|
217
|
+
case 11:
|
|
218
|
+
_context3.next = 13;
|
|
219
|
+
return (0, _geoserver.getGeoServerResponseText)(response);
|
|
220
|
+
|
|
221
|
+
case 13:
|
|
222
|
+
geoServerResponse = _context3.sent;
|
|
223
|
+
throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
|
|
224
|
+
|
|
225
|
+
case 15:
|
|
226
|
+
return _context3.abrupt("return", response.json());
|
|
227
|
+
|
|
228
|
+
case 16:
|
|
229
|
+
case "end":
|
|
230
|
+
return _context3.stop();
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}, _callee3, this);
|
|
234
|
+
}));
|
|
235
|
+
|
|
236
|
+
function get(_x3) {
|
|
237
|
+
return _get.apply(this, arguments);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
return get;
|
|
241
|
+
}()
|
|
242
|
+
/**
|
|
243
|
+
* Deletes a namespace.
|
|
244
|
+
*
|
|
245
|
+
* @param {String} name Name of the namespace to delete
|
|
246
|
+
*
|
|
247
|
+
* @throws Error if request fails
|
|
248
|
+
*/
|
|
249
|
+
|
|
250
|
+
}, {
|
|
251
|
+
key: "delete",
|
|
252
|
+
value: function () {
|
|
253
|
+
var _delete2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name) {
|
|
254
|
+
var response, geoServerResponse;
|
|
255
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
256
|
+
while (1) {
|
|
257
|
+
switch (_context4.prev = _context4.next) {
|
|
258
|
+
case 0:
|
|
259
|
+
_context4.next = 2;
|
|
260
|
+
return (0, _nodeFetch["default"])(this.url + 'namespaces/' + name, {
|
|
261
|
+
credentials: 'include',
|
|
262
|
+
method: 'DELETE',
|
|
263
|
+
headers: {
|
|
264
|
+
Authorization: this.auth
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
case 2:
|
|
269
|
+
response = _context4.sent;
|
|
270
|
+
|
|
271
|
+
if (response.ok) {
|
|
272
|
+
_context4.next = 14;
|
|
273
|
+
break;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
_context4.next = 6;
|
|
277
|
+
return (0, _geoserver.getGeoServerResponseText)(response);
|
|
278
|
+
|
|
279
|
+
case 6:
|
|
280
|
+
geoServerResponse = _context4.sent;
|
|
281
|
+
_context4.t0 = response.status;
|
|
282
|
+
_context4.next = _context4.t0 === 403 ? 10 : _context4.t0 === 404 ? 11 : _context4.t0 === 405 ? 12 : 13;
|
|
283
|
+
break;
|
|
284
|
+
|
|
285
|
+
case 10:
|
|
286
|
+
throw new _geoserver.GeoServerResponseError('Namespace or related Workspace is not empty (and recurse not true)', geoServerResponse);
|
|
287
|
+
|
|
288
|
+
case 11:
|
|
289
|
+
throw new _geoserver.GeoServerResponseError('Namespace doesn\'t exist', geoServerResponse);
|
|
290
|
+
|
|
291
|
+
case 12:
|
|
292
|
+
throw new _geoserver.GeoServerResponseError('Can\'t delete default namespace', geoServerResponse);
|
|
293
|
+
|
|
294
|
+
case 13:
|
|
295
|
+
throw new _geoserver.GeoServerResponseError('Response not recognized', geoServerResponse);
|
|
296
|
+
|
|
297
|
+
case 14:
|
|
298
|
+
case "end":
|
|
299
|
+
return _context4.stop();
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}, _callee4, this);
|
|
303
|
+
}));
|
|
304
|
+
|
|
305
|
+
function _delete(_x4) {
|
|
306
|
+
return _delete2.apply(this, arguments);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
return _delete;
|
|
310
|
+
}()
|
|
311
|
+
}]);
|
|
312
|
+
return NamespaceClient;
|
|
313
|
+
}();
|
|
314
|
+
|
|
315
|
+
exports["default"] = NamespaceClient;
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
18
|
+
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
19
|
+
|
|
20
|
+
var _geoserver = require("./util/geoserver.js");
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Client for GeoServer security.
|
|
24
|
+
*
|
|
25
|
+
* @module SecurityClient
|
|
26
|
+
*/
|
|
27
|
+
var SecurityClient = /*#__PURE__*/function () {
|
|
28
|
+
/**
|
|
29
|
+
* Creates a GeoServer REST SecurityClient instance.
|
|
30
|
+
*
|
|
31
|
+
* @param {String} url The URL of the GeoServer REST API endpoint
|
|
32
|
+
* @param {String} auth The Basic Authentication string
|
|
33
|
+
*/
|
|
34
|
+
function SecurityClient(url, auth) {
|
|
35
|
+
(0, _classCallCheck2["default"])(this, SecurityClient);
|
|
36
|
+
this.url = url;
|
|
37
|
+
this.auth = auth;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Returns all users registered in GeoServer.
|
|
41
|
+
*
|
|
42
|
+
* @throws Error if request fails
|
|
43
|
+
*
|
|
44
|
+
* @returns {Object} An object with all users
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
(0, _createClass2["default"])(SecurityClient, [{
|
|
49
|
+
key: "getAllUsers",
|
|
50
|
+
value: function () {
|
|
51
|
+
var _getAllUsers = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
52
|
+
var response, geoServerResponse;
|
|
53
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
54
|
+
while (1) {
|
|
55
|
+
switch (_context.prev = _context.next) {
|
|
56
|
+
case 0:
|
|
57
|
+
_context.next = 2;
|
|
58
|
+
return (0, _nodeFetch["default"])(this.url + 'security/usergroup/users.json', {
|
|
59
|
+
credentials: 'include',
|
|
60
|
+
method: 'GET',
|
|
61
|
+
headers: {
|
|
62
|
+
Authorization: this.auth
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
case 2:
|
|
67
|
+
response = _context.sent;
|
|
68
|
+
|
|
69
|
+
if (response.ok) {
|
|
70
|
+
_context.next = 8;
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
_context.next = 6;
|
|
75
|
+
return (0, _geoserver.getGeoServerResponseText)(response);
|
|
76
|
+
|
|
77
|
+
case 6:
|
|
78
|
+
geoServerResponse = _context.sent;
|
|
79
|
+
throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
|
|
80
|
+
|
|
81
|
+
case 8:
|
|
82
|
+
return _context.abrupt("return", response.json());
|
|
83
|
+
|
|
84
|
+
case 9:
|
|
85
|
+
case "end":
|
|
86
|
+
return _context.stop();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}, _callee, this);
|
|
90
|
+
}));
|
|
91
|
+
|
|
92
|
+
function getAllUsers() {
|
|
93
|
+
return _getAllUsers.apply(this, arguments);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return getAllUsers;
|
|
97
|
+
}()
|
|
98
|
+
/**
|
|
99
|
+
* Creates a new user.
|
|
100
|
+
*
|
|
101
|
+
* @param {String} username The name of the user to be created
|
|
102
|
+
* @param {String} password The password of the user to be created
|
|
103
|
+
*
|
|
104
|
+
* @throws Error if request fails
|
|
105
|
+
*/
|
|
106
|
+
|
|
107
|
+
}, {
|
|
108
|
+
key: "createUser",
|
|
109
|
+
value: function () {
|
|
110
|
+
var _createUser = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(username, password) {
|
|
111
|
+
var body, response, geoServerResponse;
|
|
112
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
113
|
+
while (1) {
|
|
114
|
+
switch (_context2.prev = _context2.next) {
|
|
115
|
+
case 0:
|
|
116
|
+
body = {
|
|
117
|
+
user: {
|
|
118
|
+
userName: username,
|
|
119
|
+
password: password,
|
|
120
|
+
enabled: true
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
_context2.next = 3;
|
|
124
|
+
return (0, _nodeFetch["default"])(this.url + 'security/usergroup/users.json', {
|
|
125
|
+
credentials: 'include',
|
|
126
|
+
method: 'POST',
|
|
127
|
+
headers: {
|
|
128
|
+
Authorization: this.auth,
|
|
129
|
+
'Content-Type': 'application/json'
|
|
130
|
+
},
|
|
131
|
+
body: JSON.stringify(body)
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
case 3:
|
|
135
|
+
response = _context2.sent;
|
|
136
|
+
|
|
137
|
+
if (response.ok) {
|
|
138
|
+
_context2.next = 13;
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
_context2.next = 7;
|
|
143
|
+
return (0, _geoserver.getGeoServerResponseText)(response);
|
|
144
|
+
|
|
145
|
+
case 7:
|
|
146
|
+
geoServerResponse = _context2.sent;
|
|
147
|
+
_context2.t0 = response.status;
|
|
148
|
+
_context2.next = _context2.t0 === 404 ? 11 : 12;
|
|
149
|
+
break;
|
|
150
|
+
|
|
151
|
+
case 11:
|
|
152
|
+
throw new _geoserver.GeoServerResponseError("User ".concat(username, " might already exists."), geoServerResponse);
|
|
153
|
+
|
|
154
|
+
case 12:
|
|
155
|
+
throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
|
|
156
|
+
|
|
157
|
+
case 13:
|
|
158
|
+
case "end":
|
|
159
|
+
return _context2.stop();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}, _callee2, this);
|
|
163
|
+
}));
|
|
164
|
+
|
|
165
|
+
function createUser(_x, _x2) {
|
|
166
|
+
return _createUser.apply(this, arguments);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
return createUser;
|
|
170
|
+
}()
|
|
171
|
+
/**
|
|
172
|
+
* Updates an existing user. User name is only taken for identification and
|
|
173
|
+
* cannot be changed with this API call.
|
|
174
|
+
*
|
|
175
|
+
* @param {String} username The name of the user to be created
|
|
176
|
+
* @param {String} password The password of the user to be created
|
|
177
|
+
* @param {Boolean} enabled Enable / disable the user
|
|
178
|
+
*
|
|
179
|
+
* @throws Error if request fails
|
|
180
|
+
*/
|
|
181
|
+
|
|
182
|
+
}, {
|
|
183
|
+
key: "updateUser",
|
|
184
|
+
value: function () {
|
|
185
|
+
var _updateUser = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(username, password, enabled) {
|
|
186
|
+
var body, response, geoServerResponse;
|
|
187
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
188
|
+
while (1) {
|
|
189
|
+
switch (_context3.prev = _context3.next) {
|
|
190
|
+
case 0:
|
|
191
|
+
body = {
|
|
192
|
+
user: {
|
|
193
|
+
password: password,
|
|
194
|
+
enabled: enabled
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
_context3.next = 3;
|
|
198
|
+
return (0, _nodeFetch["default"])(this.url + 'security/usergroup/user/' + username, {
|
|
199
|
+
credentials: 'include',
|
|
200
|
+
method: 'POST',
|
|
201
|
+
headers: {
|
|
202
|
+
Authorization: this.auth,
|
|
203
|
+
'Content-Type': 'application/json'
|
|
204
|
+
},
|
|
205
|
+
body: JSON.stringify(body)
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
case 3:
|
|
209
|
+
response = _context3.sent;
|
|
210
|
+
|
|
211
|
+
if (response.ok) {
|
|
212
|
+
_context3.next = 9;
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
_context3.next = 7;
|
|
217
|
+
return (0, _geoserver.getGeoServerResponseText)(response);
|
|
218
|
+
|
|
219
|
+
case 7:
|
|
220
|
+
geoServerResponse = _context3.sent;
|
|
221
|
+
throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
|
|
222
|
+
|
|
223
|
+
case 9:
|
|
224
|
+
case "end":
|
|
225
|
+
return _context3.stop();
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}, _callee3, this);
|
|
229
|
+
}));
|
|
230
|
+
|
|
231
|
+
function updateUser(_x3, _x4, _x5) {
|
|
232
|
+
return _updateUser.apply(this, arguments);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return updateUser;
|
|
236
|
+
}()
|
|
237
|
+
/**
|
|
238
|
+
* Associates the given role to the user.
|
|
239
|
+
*
|
|
240
|
+
* @param {String} username The name of the user to add the role to
|
|
241
|
+
* @param {String} role The role to associate
|
|
242
|
+
*
|
|
243
|
+
* @throws Error if request fails
|
|
244
|
+
*/
|
|
245
|
+
|
|
246
|
+
}, {
|
|
247
|
+
key: "associateUserRole",
|
|
248
|
+
value: function () {
|
|
249
|
+
var _associateUserRole = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(username, role) {
|
|
250
|
+
var response, geoServerResponse;
|
|
251
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
252
|
+
while (1) {
|
|
253
|
+
switch (_context4.prev = _context4.next) {
|
|
254
|
+
case 0:
|
|
255
|
+
_context4.next = 2;
|
|
256
|
+
return (0, _nodeFetch["default"])("".concat(this.url, "security/roles/role/").concat(role, "/user/").concat(username), {
|
|
257
|
+
credentials: 'include',
|
|
258
|
+
method: 'POST',
|
|
259
|
+
headers: {
|
|
260
|
+
Authorization: this.auth
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
case 2:
|
|
265
|
+
response = _context4.sent;
|
|
266
|
+
|
|
267
|
+
if (response.ok) {
|
|
268
|
+
_context4.next = 8;
|
|
269
|
+
break;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
_context4.next = 6;
|
|
273
|
+
return (0, _geoserver.getGeoServerResponseText)(response);
|
|
274
|
+
|
|
275
|
+
case 6:
|
|
276
|
+
geoServerResponse = _context4.sent;
|
|
277
|
+
throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
|
|
278
|
+
|
|
279
|
+
case 8:
|
|
280
|
+
case "end":
|
|
281
|
+
return _context4.stop();
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}, _callee4, this);
|
|
285
|
+
}));
|
|
286
|
+
|
|
287
|
+
function associateUserRole(_x6, _x7) {
|
|
288
|
+
return _associateUserRole.apply(this, arguments);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
return associateUserRole;
|
|
292
|
+
}()
|
|
293
|
+
}]);
|
|
294
|
+
return SecurityClient;
|
|
295
|
+
}();
|
|
296
|
+
|
|
297
|
+
exports["default"] = SecurityClient;
|