@nymphjs/server 1.0.0-alpha.2 → 1.0.0-alpha.20
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/CHANGELOG.md +84 -0
- package/README.md +8 -4
- package/dist/index.js +121 -37
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +36 -33
- package/dist/index.test.js.map +1 -1
- package/dist/testArtifacts.js +2 -24
- package/dist/testArtifacts.js.map +1 -1
- package/package.json +11 -11
- package/src/index.test.ts +36 -33
- package/src/index.ts +173 -46
- package/src/testArtifacts.ts +2 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,90 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.0.0-alpha.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2021-11-24)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
9
|
+
|
|
10
|
+
# [1.0.0-alpha.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2021-11-18)
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- update smui and other packages to latest versions ([2465340](https://github.com/sciactive/nymphjs/commit/24653400d887bc04c41c3c4ee0c73ce2f2289e0d))
|
|
15
|
+
|
|
16
|
+
# [1.0.0-alpha.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2021-11-09)
|
|
17
|
+
|
|
18
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
19
|
+
|
|
20
|
+
# [1.0.0-alpha.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2021-10-14)
|
|
21
|
+
|
|
22
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
23
|
+
|
|
24
|
+
# [1.0.0-alpha.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2021-10-14)
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
- don't ignore built files in npm packages ([7d688db](https://github.com/sciactive/nymphjs/commit/7d688dbec362f1f71fb451a1d0dbcaecc15d99fc))
|
|
29
|
+
|
|
30
|
+
# [1.0.0-alpha.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2021-10-14)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
33
|
+
|
|
34
|
+
# [1.0.0-alpha.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2021-10-14)
|
|
35
|
+
|
|
36
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
37
|
+
|
|
38
|
+
# [1.0.0-alpha.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2021-10-14)
|
|
39
|
+
|
|
40
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
41
|
+
|
|
42
|
+
# [1.0.0-alpha.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2021-10-13)
|
|
43
|
+
|
|
44
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
45
|
+
|
|
46
|
+
# [1.0.0-alpha.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2021-10-13)
|
|
47
|
+
|
|
48
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
49
|
+
|
|
50
|
+
# [1.0.0-alpha.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2021-10-12)
|
|
51
|
+
|
|
52
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
53
|
+
|
|
54
|
+
# [1.0.0-alpha.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2021-10-12)
|
|
55
|
+
|
|
56
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
57
|
+
|
|
58
|
+
# [1.0.0-alpha.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2021-10-12)
|
|
59
|
+
|
|
60
|
+
### Bug Fixes
|
|
61
|
+
|
|
62
|
+
- server not running potentially important delete functions ([ce7521d](https://github.com/sciactive/nymphjs/commit/ce7521d89ca655f72f6842abf25c2817ce7b1513))
|
|
63
|
+
|
|
64
|
+
# [1.0.0-alpha.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2021-10-05)
|
|
65
|
+
|
|
66
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
67
|
+
|
|
68
|
+
# [1.0.0-alpha.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2021-10-05)
|
|
69
|
+
|
|
70
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
71
|
+
|
|
72
|
+
# [1.0.0-alpha.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2021-09-30)
|
|
73
|
+
|
|
74
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
75
|
+
|
|
76
|
+
# [1.0.0-alpha.4](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2021-09-27)
|
|
77
|
+
|
|
78
|
+
### Features
|
|
79
|
+
|
|
80
|
+
- gate UIDs on Tilmeld with config and abilities ([99a9141](https://github.com/sciactive/nymphjs/commit/99a9141cc92fe3d1ad68d21e42de4e9b5493e4d9))
|
|
81
|
+
- use new instances of nymph for server and pubsub requests ([0c18fab](https://github.com/sciactive/nymphjs/commit/0c18faba2b55fe82c16806d221fc54d2cd42c992))
|
|
82
|
+
|
|
83
|
+
# [1.0.0-alpha.3](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2021-09-22)
|
|
84
|
+
|
|
85
|
+
### Features
|
|
86
|
+
|
|
87
|
+
- allow multiple instances of Nymph Client ([81eacd7](https://github.com/sciactive/nymphjs/commit/81eacd7caff6f3c209d7d6dbfdac0414a1857c6d))
|
|
88
|
+
- move to fully instance based design, no more globals ([c036220](https://github.com/sciactive/nymphjs/commit/c0362209b90a475b8b85269a829b0ec6bed4465f))
|
|
89
|
+
|
|
6
90
|
# [1.0.0-alpha.2](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2021-09-21)
|
|
7
91
|
|
|
8
92
|
### Features
|
package/README.md
CHANGED
|
@@ -16,20 +16,21 @@ You need to install Express, Nymph, and a Nymph driver, then you can use the RES
|
|
|
16
16
|
|
|
17
17
|
```ts
|
|
18
18
|
import express from 'express';
|
|
19
|
+
import { Nymph } from '@nymphjs/nymph';
|
|
19
20
|
import SQLite3Driver from '@nymphjs/driver-sqlite3';
|
|
20
|
-
import nymph from '@nymphjs/nymph';
|
|
21
21
|
import createServer from '@nymphjs/server';
|
|
22
22
|
|
|
23
23
|
// Import all the entities you will be using on the server.
|
|
24
|
-
import './entities/MyEntity';
|
|
24
|
+
import MyEntity from './entities/MyEntity';
|
|
25
25
|
|
|
26
26
|
// Configure Nymph.
|
|
27
|
-
nymph
|
|
27
|
+
const nymph = new Nymph(
|
|
28
28
|
{},
|
|
29
29
|
new SQLite3Driver({
|
|
30
30
|
filename: ':memory:',
|
|
31
31
|
})
|
|
32
32
|
);
|
|
33
|
+
nymph.addEntityClass(MyEntity);
|
|
33
34
|
|
|
34
35
|
// Create your Express app.
|
|
35
36
|
const app = express();
|
|
@@ -50,11 +51,14 @@ Now you can configure your client using your server's address (and the optional
|
|
|
50
51
|
```ts
|
|
51
52
|
import { Nymph } from '@nymphjs/client';
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
import MyEntity from './entities/MyEntityClient';
|
|
55
|
+
|
|
56
|
+
const nymph = new Nymph({
|
|
54
57
|
// You should configure your Express server to
|
|
55
58
|
// use HTTPS, but you don't have to.
|
|
56
59
|
restUrl: 'https://mydomain.tld/rest',
|
|
57
60
|
});
|
|
61
|
+
nymph.addEntityClass(MyEntity);
|
|
58
62
|
```
|
|
59
63
|
|
|
60
64
|
# License
|
package/dist/index.js
CHANGED
|
@@ -16,16 +16,21 @@ const express_1 = __importDefault(require("express"));
|
|
|
16
16
|
const cookie_parser_1 = __importDefault(require("cookie-parser"));
|
|
17
17
|
const nymph_1 = require("@nymphjs/nymph");
|
|
18
18
|
const nymph_2 = require("@nymphjs/nymph");
|
|
19
|
+
const NOT_FOUND_ERROR = 'Entity is not found.';
|
|
19
20
|
function createServer(nymph) {
|
|
20
21
|
const rest = (0, express_1.default)();
|
|
21
22
|
rest.use((0, cookie_parser_1.default)());
|
|
22
23
|
rest.use(express_1.default.json());
|
|
24
|
+
function instantiateNymph(_request, response, next) {
|
|
25
|
+
response.locals.nymph = nymph.clone();
|
|
26
|
+
next();
|
|
27
|
+
}
|
|
23
28
|
function authenticateTilmeld(request, response, next) {
|
|
24
|
-
if (nymph.tilmeld) {
|
|
25
|
-
nymph.tilmeld.request = request;
|
|
26
|
-
nymph.tilmeld.response = response;
|
|
29
|
+
if (response.locals.nymph.tilmeld) {
|
|
30
|
+
response.locals.nymph.tilmeld.request = request;
|
|
31
|
+
response.locals.nymph.tilmeld.response = response;
|
|
27
32
|
try {
|
|
28
|
-
nymph.tilmeld.authenticate();
|
|
33
|
+
response.locals.nymph.tilmeld.authenticate();
|
|
29
34
|
}
|
|
30
35
|
catch (e) {
|
|
31
36
|
httpError(response, 500, 'Internal Server Error', e);
|
|
@@ -35,11 +40,11 @@ function createServer(nymph) {
|
|
|
35
40
|
next();
|
|
36
41
|
}
|
|
37
42
|
function unauthenticateTilmeld(_request, response, next) {
|
|
38
|
-
if (nymph.tilmeld) {
|
|
39
|
-
nymph.tilmeld.request = null;
|
|
40
|
-
nymph.tilmeld.response = null;
|
|
43
|
+
if (response.locals.nymph.tilmeld) {
|
|
44
|
+
response.locals.nymph.tilmeld.request = null;
|
|
45
|
+
response.locals.nymph.tilmeld.response = null;
|
|
41
46
|
try {
|
|
42
|
-
nymph.tilmeld.clearSession();
|
|
47
|
+
response.locals.nymph.tilmeld.clearSession();
|
|
43
48
|
}
|
|
44
49
|
catch (e) {
|
|
45
50
|
httpError(response, 500, 'Internal Server Error', e);
|
|
@@ -70,6 +75,7 @@ function createServer(nymph) {
|
|
|
70
75
|
};
|
|
71
76
|
}
|
|
72
77
|
}
|
|
78
|
+
rest.use(instantiateNymph);
|
|
73
79
|
rest.use(authenticateTilmeld);
|
|
74
80
|
rest.get('/', (request, response) => __awaiter(this, void 0, void 0, function* () {
|
|
75
81
|
try {
|
|
@@ -94,7 +100,7 @@ function createServer(nymph) {
|
|
|
94
100
|
}
|
|
95
101
|
let EntityClass;
|
|
96
102
|
try {
|
|
97
|
-
EntityClass = nymph.getEntityClass(data[0].class);
|
|
103
|
+
EntityClass = response.locals.nymph.getEntityClass(data[0].class);
|
|
98
104
|
}
|
|
99
105
|
catch (e) {
|
|
100
106
|
httpError(response, 400, 'Bad Request', e);
|
|
@@ -106,10 +112,10 @@ function createServer(nymph) {
|
|
|
106
112
|
let result;
|
|
107
113
|
try {
|
|
108
114
|
if (action === 'entity') {
|
|
109
|
-
result = yield nymph.getEntity(data[0], ...data.slice(1));
|
|
115
|
+
result = yield response.locals.nymph.getEntity(data[0], ...data.slice(1));
|
|
110
116
|
}
|
|
111
117
|
else {
|
|
112
|
-
result = yield nymph.getEntities(...data);
|
|
118
|
+
result = yield response.locals.nymph.getEntities(...data);
|
|
113
119
|
}
|
|
114
120
|
}
|
|
115
121
|
catch (e) {
|
|
@@ -117,7 +123,8 @@ function createServer(nymph) {
|
|
|
117
123
|
return;
|
|
118
124
|
}
|
|
119
125
|
if (result === [] || result == null) {
|
|
120
|
-
if (action === 'entity' ||
|
|
126
|
+
if (action === 'entity' ||
|
|
127
|
+
response.locals.nymph.config.emptyListError) {
|
|
121
128
|
httpError(response, 404, 'Not Found');
|
|
122
129
|
return;
|
|
123
130
|
}
|
|
@@ -126,9 +133,19 @@ function createServer(nymph) {
|
|
|
126
133
|
response.send(JSON.stringify(result));
|
|
127
134
|
}
|
|
128
135
|
else {
|
|
136
|
+
if (typeof data !== 'string') {
|
|
137
|
+
httpError(response, 400, 'Bad Request');
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
if (response.locals.nymph.tilmeld) {
|
|
141
|
+
if (!response.locals.nymph.tilmeld.checkClientUIDPermissions(data, nymph_1.TilmeldAccessLevels.READ_ACCESS)) {
|
|
142
|
+
httpError(response, 403, 'Forbidden');
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
129
146
|
let result;
|
|
130
147
|
try {
|
|
131
|
-
result = yield nymph.getUID(
|
|
148
|
+
result = yield response.locals.nymph.getUID(data);
|
|
132
149
|
}
|
|
133
150
|
catch (e) {
|
|
134
151
|
httpError(response, 500, 'Internal Server Error', e);
|
|
@@ -167,6 +184,7 @@ function createServer(nymph) {
|
|
|
167
184
|
let hadSuccess = false;
|
|
168
185
|
let invalidRequest = false;
|
|
169
186
|
let conflict = false;
|
|
187
|
+
let notfound = false;
|
|
170
188
|
let lastException = null;
|
|
171
189
|
for (let entData of data) {
|
|
172
190
|
if (entData.guid) {
|
|
@@ -176,12 +194,15 @@ function createServer(nymph) {
|
|
|
176
194
|
}
|
|
177
195
|
let entity;
|
|
178
196
|
try {
|
|
179
|
-
entity = yield loadEntity(entData);
|
|
197
|
+
entity = yield loadEntity(entData, response.locals.nymph);
|
|
180
198
|
}
|
|
181
199
|
catch (e) {
|
|
182
200
|
if (e instanceof nymph_1.EntityConflictError) {
|
|
183
201
|
conflict = true;
|
|
184
202
|
}
|
|
203
|
+
else if (e.message === NOT_FOUND_ERROR) {
|
|
204
|
+
notfound = true;
|
|
205
|
+
}
|
|
185
206
|
else if (e instanceof nymph_1.InvalidParametersError) {
|
|
186
207
|
invalidRequest = true;
|
|
187
208
|
lastException = e;
|
|
@@ -225,6 +246,10 @@ function createServer(nymph) {
|
|
|
225
246
|
httpError(response, 409, 'Conflict');
|
|
226
247
|
return;
|
|
227
248
|
}
|
|
249
|
+
else if (notfound) {
|
|
250
|
+
httpError(response, 404, 'Not Found');
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
228
253
|
else {
|
|
229
254
|
httpError(response, 500, 'Internal Server Error', lastException);
|
|
230
255
|
return;
|
|
@@ -244,11 +269,11 @@ function createServer(nymph) {
|
|
|
244
269
|
httpError(response, 400, 'Bad Request');
|
|
245
270
|
return;
|
|
246
271
|
}
|
|
247
|
-
const params = referencesToEntities([...data.params]);
|
|
272
|
+
const params = referencesToEntities([...data.params], response.locals.nymph);
|
|
248
273
|
if (data.static) {
|
|
249
274
|
let EntityClass;
|
|
250
275
|
try {
|
|
251
|
-
EntityClass = nymph.getEntityClass(data.class);
|
|
276
|
+
EntityClass = response.locals.nymph.getEntityClass(data.class);
|
|
252
277
|
}
|
|
253
278
|
catch (e) {
|
|
254
279
|
httpError(response, 400, 'Bad Request');
|
|
@@ -285,12 +310,15 @@ function createServer(nymph) {
|
|
|
285
310
|
else {
|
|
286
311
|
let entity;
|
|
287
312
|
try {
|
|
288
|
-
entity = yield loadEntity(data.entity);
|
|
313
|
+
entity = yield loadEntity(data.entity, response.locals.nymph);
|
|
289
314
|
}
|
|
290
315
|
catch (e) {
|
|
291
316
|
if (e instanceof nymph_1.EntityConflictError) {
|
|
292
317
|
httpError(response, 409, 'Conflict');
|
|
293
318
|
}
|
|
319
|
+
else if (e.message === NOT_FOUND_ERROR) {
|
|
320
|
+
httpError(response, 404, 'Not Found', e);
|
|
321
|
+
}
|
|
294
322
|
else if (e instanceof nymph_1.InvalidParametersError) {
|
|
295
323
|
httpError(response, 400, 'Bad Request', e);
|
|
296
324
|
}
|
|
@@ -334,9 +362,19 @@ function createServer(nymph) {
|
|
|
334
362
|
}
|
|
335
363
|
}
|
|
336
364
|
else {
|
|
365
|
+
if (typeof data !== 'string') {
|
|
366
|
+
httpError(response, 400, 'Bad Request');
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
if (response.locals.nymph.tilmeld) {
|
|
370
|
+
if (!response.locals.nymph.tilmeld.checkClientUIDPermissions(data, nymph_1.TilmeldAccessLevels.WRITE_ACCESS)) {
|
|
371
|
+
httpError(response, 403, 'Forbidden');
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
337
375
|
let result;
|
|
338
376
|
try {
|
|
339
|
-
result = yield nymph.newUID(
|
|
377
|
+
result = yield response.locals.nymph.newUID(data);
|
|
340
378
|
}
|
|
341
379
|
catch (e) {
|
|
342
380
|
httpError(response, 500, 'Internal Server Error', e);
|
|
@@ -391,9 +429,15 @@ function createServer(nymph) {
|
|
|
391
429
|
httpError(response, 400, 'Bad Request');
|
|
392
430
|
return;
|
|
393
431
|
}
|
|
432
|
+
if (response.locals.nymph.tilmeld) {
|
|
433
|
+
if (!response.locals.nymph.tilmeld.checkClientUIDPermissions(data.name, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
|
|
434
|
+
httpError(response, 403, 'Forbidden');
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
394
438
|
let result;
|
|
395
439
|
try {
|
|
396
|
-
result = yield nymph.setUID(data.name, data.value);
|
|
440
|
+
result = yield response.locals.nymph.setUID(data.name, data.value);
|
|
397
441
|
}
|
|
398
442
|
catch (e) {
|
|
399
443
|
httpError(response, 500, 'Internal Server Error', e);
|
|
@@ -425,16 +469,22 @@ function createServer(nymph) {
|
|
|
425
469
|
}
|
|
426
470
|
let entity;
|
|
427
471
|
try {
|
|
428
|
-
entity = yield loadEntity(entData, patch);
|
|
472
|
+
entity = yield loadEntity(entData, response.locals.nymph, patch);
|
|
429
473
|
}
|
|
430
474
|
catch (e) {
|
|
431
475
|
if (e instanceof nymph_1.EntityConflictError) {
|
|
432
476
|
conflict = true;
|
|
433
477
|
}
|
|
434
|
-
if (e
|
|
478
|
+
else if (e.message === NOT_FOUND_ERROR) {
|
|
479
|
+
notfound = true;
|
|
480
|
+
}
|
|
481
|
+
else if (e instanceof nymph_1.InvalidParametersError) {
|
|
435
482
|
invalidRequest = true;
|
|
436
483
|
lastException = e;
|
|
437
484
|
}
|
|
485
|
+
else {
|
|
486
|
+
lastException = e;
|
|
487
|
+
}
|
|
438
488
|
saved.push(null);
|
|
439
489
|
continue;
|
|
440
490
|
}
|
|
@@ -502,30 +552,58 @@ function createServer(nymph) {
|
|
|
502
552
|
}
|
|
503
553
|
const deleted = [];
|
|
504
554
|
let failures = false;
|
|
555
|
+
let hadSuccess = false;
|
|
505
556
|
let invalidRequest = false;
|
|
557
|
+
let notfound = false;
|
|
506
558
|
let lastException = null;
|
|
507
|
-
for (let
|
|
559
|
+
for (let entData of data) {
|
|
560
|
+
if (entData.guid && entData.guid.length != 24) {
|
|
561
|
+
invalidRequest = true;
|
|
562
|
+
continue;
|
|
563
|
+
}
|
|
564
|
+
let EntityClass;
|
|
508
565
|
try {
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
566
|
+
EntityClass = response.locals.nymph.getEntityClass(entData.class);
|
|
567
|
+
}
|
|
568
|
+
catch (e) {
|
|
569
|
+
invalidRequest = true;
|
|
570
|
+
failures = true;
|
|
571
|
+
continue;
|
|
572
|
+
}
|
|
573
|
+
let entity;
|
|
574
|
+
try {
|
|
575
|
+
entity = yield response.locals.nymph.getEntity({ class: EntityClass }, { type: '&', guid: entData.guid });
|
|
576
|
+
}
|
|
577
|
+
catch (e) {
|
|
578
|
+
lastException = e;
|
|
579
|
+
failures = true;
|
|
580
|
+
continue;
|
|
581
|
+
}
|
|
582
|
+
if (!entity) {
|
|
583
|
+
notfound = true;
|
|
584
|
+
failures = true;
|
|
585
|
+
continue;
|
|
586
|
+
}
|
|
587
|
+
try {
|
|
588
|
+
if (yield entity.$delete()) {
|
|
589
|
+
deleted.push(entData.guid);
|
|
590
|
+
hadSuccess = true;
|
|
516
591
|
}
|
|
517
592
|
else {
|
|
518
593
|
failures = true;
|
|
519
594
|
}
|
|
520
595
|
}
|
|
521
596
|
catch (e) {
|
|
522
|
-
failures = true;
|
|
523
597
|
lastException = e;
|
|
598
|
+
failures = true;
|
|
524
599
|
}
|
|
525
600
|
}
|
|
526
601
|
if (deleted.length === 0) {
|
|
527
602
|
if (invalidRequest || !failures) {
|
|
528
|
-
httpError(response, 400, 'Bad Request');
|
|
603
|
+
httpError(response, 400, 'Bad Request', lastException);
|
|
604
|
+
}
|
|
605
|
+
else if (notfound) {
|
|
606
|
+
httpError(response, 404, 'Not Found');
|
|
529
607
|
}
|
|
530
608
|
else {
|
|
531
609
|
httpError(response, 500, 'Internal Server Error', lastException);
|
|
@@ -546,9 +624,15 @@ function createServer(nymph) {
|
|
|
546
624
|
httpError(response, 400, 'Bad Request');
|
|
547
625
|
return;
|
|
548
626
|
}
|
|
627
|
+
if (response.locals.nymph.tilmeld) {
|
|
628
|
+
if (!response.locals.nymph.tilmeld.checkClientUIDPermissions(data, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
|
|
629
|
+
httpError(response, 403, 'Forbidden');
|
|
630
|
+
return;
|
|
631
|
+
}
|
|
632
|
+
}
|
|
549
633
|
let result;
|
|
550
634
|
try {
|
|
551
|
-
result = yield nymph.deleteUID(data);
|
|
635
|
+
result = yield response.locals.nymph.deleteUID(data);
|
|
552
636
|
}
|
|
553
637
|
catch (e) {
|
|
554
638
|
httpError(response, 500, 'Internal Server Error', e);
|
|
@@ -569,7 +653,7 @@ function createServer(nymph) {
|
|
|
569
653
|
}
|
|
570
654
|
}));
|
|
571
655
|
rest.use(unauthenticateTilmeld);
|
|
572
|
-
function loadEntity(entityData, patch = false, allowConflict = false) {
|
|
656
|
+
function loadEntity(entityData, nymph, patch = false, allowConflict = false) {
|
|
573
657
|
return __awaiter(this, void 0, void 0, function* () {
|
|
574
658
|
if (entityData.class === 'Entity') {
|
|
575
659
|
throw new nymph_1.InvalidParametersError("Can't use Entity class directly from the front end.");
|
|
@@ -582,7 +666,7 @@ function createServer(nymph) {
|
|
|
582
666
|
guid: `${entityData['guid']}`,
|
|
583
667
|
});
|
|
584
668
|
if (entity === null) {
|
|
585
|
-
throw new Error(
|
|
669
|
+
throw new Error(NOT_FOUND_ERROR);
|
|
586
670
|
}
|
|
587
671
|
}
|
|
588
672
|
else {
|
|
@@ -597,7 +681,7 @@ function createServer(nymph) {
|
|
|
597
681
|
return entity;
|
|
598
682
|
});
|
|
599
683
|
}
|
|
600
|
-
function referencesToEntities(item) {
|
|
684
|
+
function referencesToEntities(item, nymph) {
|
|
601
685
|
if (Array.isArray(item)) {
|
|
602
686
|
if (item.length === 3 && item[0] === 'nymph_entity_reference') {
|
|
603
687
|
try {
|
|
@@ -608,12 +692,12 @@ function createServer(nymph) {
|
|
|
608
692
|
return item;
|
|
609
693
|
}
|
|
610
694
|
}
|
|
611
|
-
return item.map((entry) => referencesToEntities(entry));
|
|
695
|
+
return item.map((entry) => referencesToEntities(entry, nymph));
|
|
612
696
|
}
|
|
613
697
|
else if (typeof item === 'object' && !(item instanceof nymph_1.Entity)) {
|
|
614
698
|
const newItem = {};
|
|
615
699
|
for (let curProperty in item) {
|
|
616
|
-
newItem[curProperty] = referencesToEntities(item[curProperty]);
|
|
700
|
+
newItem[curProperty] = referencesToEntities(item[curProperty], nymph);
|
|
617
701
|
}
|
|
618
702
|
return newItem;
|
|
619
703
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|