geoserver-node-client 1.2.4 → 1.4.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 +5 -2
- package/dist/geoserver-rest-client.js +4 -25
- package/dist/package.json +15 -16
- package/dist/src/about.js +42 -70
- package/dist/src/datastore.js +513 -654
- package/dist/src/imagemosaic.js +112 -164
- package/dist/src/layer.js +591 -797
- package/dist/src/layergroup.js +275 -0
- package/dist/src/namespace.js +126 -186
- package/dist/src/reset-reload.js +49 -78
- package/dist/src/security.js +117 -169
- package/dist/src/settings.js +137 -198
- package/dist/src/style.js +260 -376
- package/dist/src/util/geoserver.js +12 -36
- package/dist/src/workspace.js +133 -190
- package/geoserver-rest-client.js +3 -0
- package/package.json +15 -16
- package/src/datastore.js +22 -1
- package/src/layergroup.js +176 -0
- package/src/workspace.js +4 -3
|
@@ -1,37 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.GeoServerResponseError = void 0;
|
|
9
8
|
exports.getGeoServerResponseText = getGeoServerResponseText;
|
|
10
|
-
|
|
11
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
-
|
|
13
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
14
|
-
|
|
15
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
16
|
-
|
|
17
12
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
18
|
-
|
|
19
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
20
|
-
|
|
21
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
22
|
-
|
|
23
15
|
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
24
|
-
|
|
25
16
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
26
|
-
|
|
27
17
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
28
|
-
|
|
29
18
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
30
|
-
|
|
31
19
|
/**
|
|
32
20
|
* Utility functions and classes
|
|
33
21
|
*/
|
|
34
|
-
|
|
35
22
|
/**
|
|
36
23
|
* Return the GeoServer response text if available.
|
|
37
24
|
*
|
|
@@ -45,53 +32,42 @@ function getGeoServerResponseText(_x) {
|
|
|
45
32
|
/**
|
|
46
33
|
* Generic GeoServer error
|
|
47
34
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
35
|
function _getGeoServerResponseText() {
|
|
51
36
|
_getGeoServerResponseText = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(response) {
|
|
52
37
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
53
|
-
while (1) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
case 6:
|
|
64
|
-
case "end":
|
|
65
|
-
return _context.stop();
|
|
66
|
-
}
|
|
38
|
+
while (1) switch (_context.prev = _context.next) {
|
|
39
|
+
case 0:
|
|
40
|
+
_context.prev = 0;
|
|
41
|
+
return _context.abrupt("return", response.text());
|
|
42
|
+
case 4:
|
|
43
|
+
_context.prev = 4;
|
|
44
|
+
_context.t0 = _context["catch"](0);
|
|
45
|
+
case 6:
|
|
46
|
+
case "end":
|
|
47
|
+
return _context.stop();
|
|
67
48
|
}
|
|
68
49
|
}, _callee, null, [[0, 4]]);
|
|
69
50
|
}));
|
|
70
51
|
return _getGeoServerResponseText.apply(this, arguments);
|
|
71
52
|
}
|
|
72
|
-
|
|
73
53
|
var GeoServerResponseError = /*#__PURE__*/function (_Error) {
|
|
74
54
|
(0, _inherits2["default"])(GeoServerResponseError, _Error);
|
|
75
|
-
|
|
76
55
|
var _super = _createSuper(GeoServerResponseError);
|
|
77
|
-
|
|
78
56
|
/**
|
|
79
57
|
* @param {String} [message=GeoServer Response Error] The error message
|
|
80
58
|
* @param {String} [geoServerOutput] The error output from GeoServer (useful for debugging)
|
|
81
59
|
*/
|
|
82
60
|
function GeoServerResponseError(message, geoServerOutput) {
|
|
83
61
|
var _this;
|
|
84
|
-
|
|
85
62
|
(0, _classCallCheck2["default"])(this, GeoServerResponseError);
|
|
86
63
|
_this = _super.call(this, message);
|
|
87
64
|
_this.name = 'GeoServerResponseError';
|
|
88
|
-
_this.message = message || 'GeoServer Response Error';
|
|
65
|
+
_this.message = message || 'GeoServer Response Error';
|
|
89
66
|
|
|
67
|
+
// custom property as explained here: https://xjamundx.medium.com/custom-javascript-errors-in-es6-aa891b173f87
|
|
90
68
|
_this.geoServerOutput = geoServerOutput;
|
|
91
69
|
return _this;
|
|
92
70
|
}
|
|
93
|
-
|
|
94
71
|
return (0, _createClass2["default"])(GeoServerResponseError);
|
|
95
72
|
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(Error));
|
|
96
|
-
|
|
97
73
|
exports.GeoServerResponseError = GeoServerResponseError;
|
package/dist/src/workspace.js
CHANGED
|
@@ -1,26 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
12
|
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
19
|
-
|
|
20
13
|
var _geoserver = require("./util/geoserver.js");
|
|
21
|
-
|
|
22
14
|
var _about = _interopRequireDefault(require("./about.js"));
|
|
23
|
-
|
|
24
15
|
/**
|
|
25
16
|
* Client for GeoServer workspaces
|
|
26
17
|
*
|
|
@@ -40,6 +31,7 @@ var WorkspaceClient = /*#__PURE__*/function () {
|
|
|
40
31
|
this.url = url;
|
|
41
32
|
this.auth = auth;
|
|
42
33
|
}
|
|
34
|
+
|
|
43
35
|
/**
|
|
44
36
|
* Returns all workspaces.
|
|
45
37
|
*
|
|
@@ -47,56 +39,44 @@ var WorkspaceClient = /*#__PURE__*/function () {
|
|
|
47
39
|
*
|
|
48
40
|
* @returns {Object} An Object describing the workspaces
|
|
49
41
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
42
|
(0, _createClass2["default"])(WorkspaceClient, [{
|
|
53
43
|
key: "getAll",
|
|
54
44
|
value: function () {
|
|
55
45
|
var _getAll = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
56
46
|
var response, geoServerResponse;
|
|
57
47
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
58
|
-
while (1) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
Authorization: this.auth
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
case 2:
|
|
71
|
-
response = _context.sent;
|
|
72
|
-
|
|
73
|
-
if (response.ok) {
|
|
74
|
-
_context.next = 8;
|
|
75
|
-
break;
|
|
48
|
+
while (1) switch (_context.prev = _context.next) {
|
|
49
|
+
case 0:
|
|
50
|
+
_context.next = 2;
|
|
51
|
+
return (0, _nodeFetch["default"])(this.url + 'workspaces.json', {
|
|
52
|
+
credentials: 'include',
|
|
53
|
+
method: 'GET',
|
|
54
|
+
headers: {
|
|
55
|
+
Authorization: this.auth
|
|
76
56
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
57
|
+
});
|
|
58
|
+
case 2:
|
|
59
|
+
response = _context.sent;
|
|
60
|
+
if (response.ok) {
|
|
61
|
+
_context.next = 8;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
_context.next = 6;
|
|
65
|
+
return (0, _geoserver.getGeoServerResponseText)(response);
|
|
66
|
+
case 6:
|
|
67
|
+
geoServerResponse = _context.sent;
|
|
68
|
+
throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
|
|
69
|
+
case 8:
|
|
70
|
+
return _context.abrupt("return", response.json());
|
|
71
|
+
case 9:
|
|
72
|
+
case "end":
|
|
73
|
+
return _context.stop();
|
|
92
74
|
}
|
|
93
75
|
}, _callee, this);
|
|
94
76
|
}));
|
|
95
|
-
|
|
96
77
|
function getAll() {
|
|
97
78
|
return _getAll.apply(this, arguments);
|
|
98
79
|
}
|
|
99
|
-
|
|
100
80
|
return getAll;
|
|
101
81
|
}()
|
|
102
82
|
/**
|
|
@@ -108,68 +88,54 @@ var WorkspaceClient = /*#__PURE__*/function () {
|
|
|
108
88
|
*
|
|
109
89
|
* @returns {Object} An object describing the workspaces
|
|
110
90
|
*/
|
|
111
|
-
|
|
112
91
|
}, {
|
|
113
92
|
key: "get",
|
|
114
93
|
value: function () {
|
|
115
94
|
var _get = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(name) {
|
|
116
95
|
var response, grc, geoServerResponse;
|
|
117
96
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
118
|
-
while (1) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
Authorization: this.auth
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
case 2:
|
|
131
|
-
response = _context2.sent;
|
|
132
|
-
|
|
133
|
-
if (response.ok) {
|
|
134
|
-
_context2.next = 15;
|
|
135
|
-
break;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
grc = new _about["default"](this.url, this.auth);
|
|
139
|
-
_context2.next = 7;
|
|
140
|
-
return grc.exists();
|
|
141
|
-
|
|
142
|
-
case 7:
|
|
143
|
-
if (!_context2.sent) {
|
|
144
|
-
_context2.next = 11;
|
|
145
|
-
break;
|
|
97
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
98
|
+
case 0:
|
|
99
|
+
_context2.next = 2;
|
|
100
|
+
return (0, _nodeFetch["default"])(this.url + 'workspaces/' + name + '.json', {
|
|
101
|
+
credentials: 'include',
|
|
102
|
+
method: 'GET',
|
|
103
|
+
headers: {
|
|
104
|
+
Authorization: this.auth
|
|
146
105
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
_context2.next =
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
106
|
+
});
|
|
107
|
+
case 2:
|
|
108
|
+
response = _context2.sent;
|
|
109
|
+
if (response.ok) {
|
|
110
|
+
_context2.next = 15;
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
grc = new _about["default"](this.url, this.auth);
|
|
114
|
+
_context2.next = 7;
|
|
115
|
+
return grc.exists();
|
|
116
|
+
case 7:
|
|
117
|
+
if (!_context2.sent) {
|
|
118
|
+
_context2.next = 11;
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
return _context2.abrupt("return");
|
|
122
|
+
case 11:
|
|
123
|
+
_context2.next = 13;
|
|
124
|
+
return (0, _geoserver.getGeoServerResponseText)(response);
|
|
125
|
+
case 13:
|
|
126
|
+
geoServerResponse = _context2.sent;
|
|
127
|
+
throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
|
|
128
|
+
case 15:
|
|
129
|
+
return _context2.abrupt("return", response.json());
|
|
130
|
+
case 16:
|
|
131
|
+
case "end":
|
|
132
|
+
return _context2.stop();
|
|
165
133
|
}
|
|
166
134
|
}, _callee2, this);
|
|
167
135
|
}));
|
|
168
|
-
|
|
169
136
|
function get(_x) {
|
|
170
137
|
return _get.apply(this, arguments);
|
|
171
138
|
}
|
|
172
|
-
|
|
173
139
|
return get;
|
|
174
140
|
}()
|
|
175
141
|
/**
|
|
@@ -181,70 +147,61 @@ var WorkspaceClient = /*#__PURE__*/function () {
|
|
|
181
147
|
*
|
|
182
148
|
* @returns {String} The name of the created workspace
|
|
183
149
|
*/
|
|
184
|
-
|
|
185
150
|
}, {
|
|
186
151
|
key: "create",
|
|
187
152
|
value: function () {
|
|
188
153
|
var _create = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name) {
|
|
189
|
-
var body, response, geoServerResponse;
|
|
154
|
+
var body, response, geoServerResponse, wsObject;
|
|
190
155
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
191
|
-
while (1) {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
name: name
|
|
197
|
-
}
|
|
198
|
-
};
|
|
199
|
-
_context3.next = 3;
|
|
200
|
-
return (0, _nodeFetch["default"])(this.url + 'workspaces', {
|
|
201
|
-
credentials: 'include',
|
|
202
|
-
method: 'POST',
|
|
203
|
-
headers: {
|
|
204
|
-
Authorization: this.auth,
|
|
205
|
-
'Content-Type': 'application/json'
|
|
206
|
-
},
|
|
207
|
-
body: JSON.stringify(body)
|
|
208
|
-
});
|
|
209
|
-
|
|
210
|
-
case 3:
|
|
211
|
-
response = _context3.sent;
|
|
212
|
-
|
|
213
|
-
if (response.ok) {
|
|
214
|
-
_context3.next = 13;
|
|
215
|
-
break;
|
|
156
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
157
|
+
case 0:
|
|
158
|
+
body = {
|
|
159
|
+
workspace: {
|
|
160
|
+
name: name
|
|
216
161
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
162
|
+
};
|
|
163
|
+
_context3.next = 3;
|
|
164
|
+
return (0, _nodeFetch["default"])(this.url + 'workspaces', {
|
|
165
|
+
credentials: 'include',
|
|
166
|
+
method: 'POST',
|
|
167
|
+
headers: {
|
|
168
|
+
Authorization: this.auth,
|
|
169
|
+
'Content-Type': 'application/json'
|
|
170
|
+
},
|
|
171
|
+
body: JSON.stringify(body)
|
|
172
|
+
});
|
|
173
|
+
case 3:
|
|
174
|
+
response = _context3.sent;
|
|
175
|
+
if (response.ok) {
|
|
176
|
+
_context3.next = 13;
|
|
225
177
|
break;
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
178
|
+
}
|
|
179
|
+
_context3.next = 7;
|
|
180
|
+
return (0, _geoserver.getGeoServerResponseText)(response);
|
|
181
|
+
case 7:
|
|
182
|
+
geoServerResponse = _context3.sent;
|
|
183
|
+
_context3.t0 = response.status;
|
|
184
|
+
_context3.next = _context3.t0 === 409 ? 11 : 12;
|
|
185
|
+
break;
|
|
186
|
+
case 11:
|
|
187
|
+
throw new _geoserver.GeoServerResponseError('Unable to add workspace as it already exists', geoServerResponse);
|
|
188
|
+
case 12:
|
|
189
|
+
throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
|
|
190
|
+
case 13:
|
|
191
|
+
_context3.next = 15;
|
|
192
|
+
return this.get(name);
|
|
193
|
+
case 15:
|
|
194
|
+
wsObject = _context3.sent;
|
|
195
|
+
return _context3.abrupt("return", wsObject.workspace.name);
|
|
196
|
+
case 17:
|
|
197
|
+
case "end":
|
|
198
|
+
return _context3.stop();
|
|
240
199
|
}
|
|
241
200
|
}, _callee3, this);
|
|
242
201
|
}));
|
|
243
|
-
|
|
244
202
|
function create(_x2) {
|
|
245
203
|
return _create.apply(this, arguments);
|
|
246
204
|
}
|
|
247
|
-
|
|
248
205
|
return create;
|
|
249
206
|
}()
|
|
250
207
|
/**
|
|
@@ -255,67 +212,53 @@ var WorkspaceClient = /*#__PURE__*/function () {
|
|
|
255
212
|
*
|
|
256
213
|
* @throws Error if request fails
|
|
257
214
|
*/
|
|
258
|
-
|
|
259
215
|
}, {
|
|
260
216
|
key: "delete",
|
|
261
217
|
value: function () {
|
|
262
218
|
var _delete2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name, recurse) {
|
|
263
219
|
var response, geoServerResponse;
|
|
264
220
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
265
|
-
while (1) {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
Authorization: this.auth
|
|
274
|
-
}
|
|
275
|
-
});
|
|
276
|
-
|
|
277
|
-
case 2:
|
|
278
|
-
response = _context4.sent;
|
|
279
|
-
|
|
280
|
-
if (response.ok) {
|
|
281
|
-
_context4.next = 13;
|
|
282
|
-
break;
|
|
221
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
222
|
+
case 0:
|
|
223
|
+
_context4.next = 2;
|
|
224
|
+
return (0, _nodeFetch["default"])(this.url + 'workspaces/' + name + '?recurse=' + recurse, {
|
|
225
|
+
credentials: 'include',
|
|
226
|
+
method: 'DELETE',
|
|
227
|
+
headers: {
|
|
228
|
+
Authorization: this.auth
|
|
283
229
|
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
geoServerResponse = _context4.sent;
|
|
290
|
-
_context4.t0 = response.status;
|
|
291
|
-
_context4.next = _context4.t0 === 400 ? 10 : _context4.t0 === 404 ? 11 : 12;
|
|
230
|
+
});
|
|
231
|
+
case 2:
|
|
232
|
+
response = _context4.sent;
|
|
233
|
+
if (response.ok) {
|
|
234
|
+
_context4.next = 13;
|
|
292
235
|
break;
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
236
|
+
}
|
|
237
|
+
_context4.next = 6;
|
|
238
|
+
return (0, _geoserver.getGeoServerResponseText)(response);
|
|
239
|
+
case 6:
|
|
240
|
+
geoServerResponse = _context4.sent;
|
|
241
|
+
_context4.t0 = response.status;
|
|
242
|
+
_context4.next = _context4.t0 === 400 ? 10 : _context4.t0 === 404 ? 11 : 12;
|
|
243
|
+
break;
|
|
244
|
+
case 10:
|
|
245
|
+
throw new _geoserver.GeoServerResponseError('Workspace or related Namespace is not empty (and recurse not true)', geoServerResponse);
|
|
246
|
+
case 11:
|
|
247
|
+
throw new _geoserver.GeoServerResponseError('Workspace doesn\'t exist', geoServerResponse);
|
|
248
|
+
case 12:
|
|
249
|
+
throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
|
|
250
|
+
case 13:
|
|
251
|
+
case "end":
|
|
252
|
+
return _context4.stop();
|
|
307
253
|
}
|
|
308
254
|
}, _callee4, this);
|
|
309
255
|
}));
|
|
310
|
-
|
|
311
256
|
function _delete(_x3, _x4) {
|
|
312
257
|
return _delete2.apply(this, arguments);
|
|
313
258
|
}
|
|
314
|
-
|
|
315
259
|
return _delete;
|
|
316
260
|
}()
|
|
317
261
|
}]);
|
|
318
262
|
return WorkspaceClient;
|
|
319
263
|
}();
|
|
320
|
-
|
|
321
264
|
exports["default"] = WorkspaceClient;
|
package/geoserver-rest-client.js
CHANGED
|
@@ -8,6 +8,7 @@ import SettingsClient from './src/settings.js';
|
|
|
8
8
|
import NamespaceClient from './src/namespace.js';
|
|
9
9
|
import AboutClient from './src/about.js';
|
|
10
10
|
import ResetReloadClient from './src/reset-reload.js';
|
|
11
|
+
import LayerGroupClient from './src/layergroup.js';
|
|
11
12
|
|
|
12
13
|
export { GeoServerResponseError } from './src/util/geoserver.js'
|
|
13
14
|
|
|
@@ -32,6 +33,8 @@ export class GeoServerRestClient {
|
|
|
32
33
|
|
|
33
34
|
/** @member {LayerClient} layers GeoServer REST client instance for layers */
|
|
34
35
|
this.layers = new LayerClient(this.url, this.auth);
|
|
36
|
+
/** @member {LayerGroupClient} layers GeoServer REST client instance for layergroups */
|
|
37
|
+
this.layergroups = new LayerGroupClient(this.url, this.auth);
|
|
35
38
|
/** @member {StyleClient} styles GeoServer REST client instance for styles */
|
|
36
39
|
this.styles = new StyleClient(this.url, this.auth);
|
|
37
40
|
/** @member {WorkspaceClient} workspaces GeoServer REST client instance for workspaces */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "geoserver-node-client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Node.js client for GeoServer REST API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "geoserver-rest-client.js",
|
|
@@ -34,23 +34,22 @@
|
|
|
34
34
|
"author": "C. Mayer, meggsimum (info_at*meggsimum?dot?de)",
|
|
35
35
|
"license": "BSD-2-Clause",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@babel/runtime": "^7.
|
|
38
|
-
"node-fetch": "^
|
|
37
|
+
"@babel/runtime": "^7.23.1",
|
|
38
|
+
"node-fetch": "^3.3.2"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@babel/cli": "^7.
|
|
42
|
-
"@babel/core": "^7.
|
|
43
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
44
|
-
"@babel/preset-env": "^7.
|
|
45
|
-
"chai": "^
|
|
46
|
-
"eslint": "^
|
|
47
|
-
"eslint-config-standard": "^
|
|
48
|
-
"eslint-plugin-import": "^2.
|
|
41
|
+
"@babel/cli": "^7.23.0",
|
|
42
|
+
"@babel/core": "^7.23.0",
|
|
43
|
+
"@babel/plugin-transform-runtime": "^7.22.15",
|
|
44
|
+
"@babel/preset-env": "^7.22.20",
|
|
45
|
+
"chai": "^5.0.3",
|
|
46
|
+
"eslint": "^8.51.0",
|
|
47
|
+
"eslint-config-standard": "^17.1.0",
|
|
48
|
+
"eslint-plugin-import": "^2.28.1",
|
|
49
49
|
"eslint-plugin-node": "^11.1.0",
|
|
50
|
-
"eslint-plugin-promise": "^
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"release-it": "^15.4.2"
|
|
50
|
+
"eslint-plugin-promise": "^6.1.1",
|
|
51
|
+
"jsdoc": "^4.0.2",
|
|
52
|
+
"mocha": "^10.2.0",
|
|
53
|
+
"release-it": "^17.0.3"
|
|
55
54
|
}
|
|
56
55
|
}
|
package/src/datastore.js
CHANGED
|
@@ -191,11 +191,32 @@ export default class DatastoreClient {
|
|
|
191
191
|
* @returns {String} The successful response text
|
|
192
192
|
*/
|
|
193
193
|
async createGeotiffFromFile (workspace, coverageStore, layerName, layerTitle, filePath) {
|
|
194
|
-
const lyrTitle = layerTitle || layerName;
|
|
195
194
|
const stats = fs.statSync(filePath);
|
|
196
195
|
const fileSizeInBytes = stats.size;
|
|
197
196
|
const readStream = fs.createReadStream(filePath);
|
|
198
197
|
|
|
198
|
+
return this.createGeotiffFromStream(workspace, coverageStore, layerName, layerTitle, readStream, fileSizeInBytes);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Creates a GeoTIFF store from a file by stream and publishes it as layer.
|
|
203
|
+
* The GeoTIFF file is placed on the server, where your GeoServer
|
|
204
|
+
* is running.
|
|
205
|
+
*
|
|
206
|
+
* @param {String} workspace The workspace to create GeoTIFF store in
|
|
207
|
+
* @param {String} coverageStore The name of the new GeoTIFF store
|
|
208
|
+
* @param {String} layerName The published name of the new layer
|
|
209
|
+
* @param {String} layerTitle The published title of the new layer
|
|
210
|
+
* @param {Stream} readStream The stream of the GeoTIFF file
|
|
211
|
+
* @param {Number} fileSizeInBytes The number of bytes of the stream
|
|
212
|
+
*
|
|
213
|
+
* @throws Error if request fails
|
|
214
|
+
*
|
|
215
|
+
* @returns {String} The successful response text
|
|
216
|
+
*/
|
|
217
|
+
async createGeotiffFromStream (workspace, coverageStore, layerName, layerTitle, readStream, fileSizeInBytes) {
|
|
218
|
+
const lyrTitle = layerTitle || layerName;
|
|
219
|
+
|
|
199
220
|
let url = this.url + 'workspaces/' + workspace + '/coveragestores/' +
|
|
200
221
|
coverageStore + '/file.geotiff';
|
|
201
222
|
url += '?filename=' + lyrTitle + '&coverageName=' + layerName;
|