@nymphjs/server 1.0.0-beta.124 → 1.0.0-beta.126
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 +10 -0
- package/dist/createServer.js +28 -13
- package/dist/createServer.js.map +1 -1
- package/package.json +5 -5
- package/src/createServer.ts +57 -13
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
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-beta.126](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.125...v1.0.0-beta.126) (2026-09-24)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
9
|
+
|
|
10
|
+
# [1.0.0-beta.125](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.124...v1.0.0-beta.125) (2026-09-24)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- client translation errors, pubsub qref translation, entities can contain classes in db now ([2902fe3](https://forge.sciactive.com/sciactive/nymphjs/commits/2902fe3166b456cd0d8012c10991f9a16a4a99bb))
|
|
15
|
+
|
|
6
16
|
# [1.0.0-beta.124](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.123...v1.0.0-beta.124) (2026-09-24)
|
|
7
17
|
|
|
8
18
|
### Bug Fixes
|
package/dist/createServer.js
CHANGED
|
@@ -219,14 +219,16 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
219
219
|
}
|
|
220
220
|
let entity;
|
|
221
221
|
try {
|
|
222
|
-
entity = await loadEntity(entData, response.locals.nymph);
|
|
222
|
+
entity = await loadEntity(classNamesToEntityConstructors(response.locals.nymph, referencesToEntities(entData, response.locals.nymph, false, true), true), response.locals.nymph);
|
|
223
223
|
}
|
|
224
224
|
catch (e) {
|
|
225
225
|
if (e instanceof EntityConflictError) {
|
|
226
226
|
conflict = true;
|
|
227
|
+
lastException = e;
|
|
227
228
|
}
|
|
228
229
|
else if (e instanceof ForbiddenClassError) {
|
|
229
230
|
forbidden = true;
|
|
231
|
+
lastException = e;
|
|
230
232
|
}
|
|
231
233
|
else if (e.message === NOT_FOUND_ERROR) {
|
|
232
234
|
notfound = true;
|
|
@@ -235,6 +237,10 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
235
237
|
invalidRequest = true;
|
|
236
238
|
lastException = e;
|
|
237
239
|
}
|
|
240
|
+
else if (e.message === 'Not accessible.') {
|
|
241
|
+
forbidden = true;
|
|
242
|
+
lastException = e;
|
|
243
|
+
}
|
|
238
244
|
else {
|
|
239
245
|
lastException = e;
|
|
240
246
|
}
|
|
@@ -267,11 +273,11 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
267
273
|
return;
|
|
268
274
|
}
|
|
269
275
|
else if (conflict) {
|
|
270
|
-
httpError(response, 409);
|
|
276
|
+
httpError(response, 409, lastException);
|
|
271
277
|
return;
|
|
272
278
|
}
|
|
273
279
|
else if (forbidden) {
|
|
274
|
-
httpError(response, 403);
|
|
280
|
+
httpError(response, 403, lastException);
|
|
275
281
|
return;
|
|
276
282
|
}
|
|
277
283
|
else if (notfound) {
|
|
@@ -385,14 +391,14 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
385
391
|
else {
|
|
386
392
|
let entity;
|
|
387
393
|
try {
|
|
388
|
-
entity = await loadEntity(data.entity, response.locals.nymph);
|
|
394
|
+
entity = await loadEntity(classNamesToEntityConstructors(response.locals.nymph, referencesToEntities(data.entity, response.locals.nymph, false, true), true), response.locals.nymph);
|
|
389
395
|
}
|
|
390
396
|
catch (e) {
|
|
391
397
|
if (e instanceof EntityConflictError) {
|
|
392
|
-
httpError(response, 409);
|
|
398
|
+
httpError(response, 409, e);
|
|
393
399
|
}
|
|
394
400
|
else if (e instanceof ForbiddenClassError) {
|
|
395
|
-
httpError(response, 403);
|
|
401
|
+
httpError(response, 403, e);
|
|
396
402
|
}
|
|
397
403
|
else if (e.message === NOT_FOUND_ERROR) {
|
|
398
404
|
httpError(response, 404, e);
|
|
@@ -400,6 +406,9 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
400
406
|
else if (e instanceof InvalidParametersError) {
|
|
401
407
|
httpError(response, 400, e);
|
|
402
408
|
}
|
|
409
|
+
else if (e.message === 'Not accessible.') {
|
|
410
|
+
httpError(response, 403);
|
|
411
|
+
}
|
|
403
412
|
else {
|
|
404
413
|
httpError(response, 500, e);
|
|
405
414
|
}
|
|
@@ -441,7 +450,7 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
441
450
|
}
|
|
442
451
|
catch (e) {
|
|
443
452
|
if (e instanceof ForbiddenClassError) {
|
|
444
|
-
httpError(response, 403);
|
|
453
|
+
httpError(response, 403, e);
|
|
445
454
|
return;
|
|
446
455
|
}
|
|
447
456
|
else {
|
|
@@ -558,14 +567,16 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
558
567
|
}
|
|
559
568
|
let entity;
|
|
560
569
|
try {
|
|
561
|
-
entity = await loadEntity(entData, response.locals.nymph, patch);
|
|
570
|
+
entity = await loadEntity(classNamesToEntityConstructors(response.locals.nymph, referencesToEntities(entData, response.locals.nymph, false, true), true), response.locals.nymph, patch);
|
|
562
571
|
}
|
|
563
572
|
catch (e) {
|
|
564
573
|
if (e instanceof EntityConflictError) {
|
|
565
574
|
conflict = true;
|
|
575
|
+
lastException = e;
|
|
566
576
|
}
|
|
567
577
|
else if (e instanceof ForbiddenClassError) {
|
|
568
578
|
forbidden = true;
|
|
579
|
+
lastException = e;
|
|
569
580
|
}
|
|
570
581
|
else if (e.message === NOT_FOUND_ERROR) {
|
|
571
582
|
notfound = true;
|
|
@@ -574,6 +585,10 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
574
585
|
invalidRequest = true;
|
|
575
586
|
lastException = e;
|
|
576
587
|
}
|
|
588
|
+
else if (e.message === 'Not accessible.') {
|
|
589
|
+
forbidden = true;
|
|
590
|
+
lastException = e;
|
|
591
|
+
}
|
|
577
592
|
else {
|
|
578
593
|
lastException = e;
|
|
579
594
|
}
|
|
@@ -605,10 +620,10 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
605
620
|
httpError(response, 400, lastException);
|
|
606
621
|
}
|
|
607
622
|
else if (forbidden) {
|
|
608
|
-
httpError(response, 403);
|
|
623
|
+
httpError(response, 403, lastException);
|
|
609
624
|
}
|
|
610
625
|
else if (conflict) {
|
|
611
|
-
httpError(response, 409);
|
|
626
|
+
httpError(response, 409, lastException);
|
|
612
627
|
}
|
|
613
628
|
else if (notfound) {
|
|
614
629
|
httpError(response, 404);
|
|
@@ -748,11 +763,11 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
748
763
|
// Unauthenticate after the request.
|
|
749
764
|
rest.use(unauthenticateTilmeld);
|
|
750
765
|
async function loadEntity(entityData, nymph, patch = false, allowConflict = false) {
|
|
751
|
-
|
|
766
|
+
let EntityClass = entityData.class;
|
|
767
|
+
if (EntityClass.class === 'Entity') {
|
|
752
768
|
// Don't let clients use the `Entity` class, since it has no validity/AC checks.
|
|
753
|
-
throw new
|
|
769
|
+
throw new ForbiddenClassError("Can't use Entity class directly from the front end.");
|
|
754
770
|
}
|
|
755
|
-
let EntityClass = nymph.getEntityClass(entityData.class);
|
|
756
771
|
if (!EntityClass.restEnabled) {
|
|
757
772
|
throw new ForbiddenClassError('Not accessible.');
|
|
758
773
|
}
|
package/dist/createServer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createServer.js","sourceRoot":"","sources":["../src/createServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createServer.js","sourceRoot":"","sources":["../src/createServer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nymphjs/server",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.126",
|
|
4
4
|
"description": "Nymph.js - REST Server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
},
|
|
39
39
|
"license": "Apache-2.0",
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@nymphjs/nymph": "^1.0.0-beta.
|
|
41
|
+
"@nymphjs/nymph": "^1.0.0-beta.126",
|
|
42
42
|
"cookie-parser": "^1.4.7",
|
|
43
43
|
"express": "^5.2.1"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@nymphjs/client": "^1.0.0-beta.
|
|
47
|
-
"@nymphjs/driver-sqlite3": "^1.0.0-beta.
|
|
46
|
+
"@nymphjs/client": "^1.0.0-beta.126",
|
|
47
|
+
"@nymphjs/driver-sqlite3": "^1.0.0-beta.126",
|
|
48
48
|
"@swc/core": "^1.16.1",
|
|
49
49
|
"@swc/jest": "^0.2.39",
|
|
50
50
|
"@tsconfig/recommended": "^1.0.13",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"ts-node": "^10.9.2",
|
|
58
58
|
"typescript": "^7.0.2"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "92761dea0e829bd33b0e4eaadb86802bb9fd0d40"
|
|
61
61
|
}
|
package/src/createServer.ts
CHANGED
|
@@ -282,17 +282,34 @@ export function createServer(
|
|
|
282
282
|
}
|
|
283
283
|
let entity: EntityInterface;
|
|
284
284
|
try {
|
|
285
|
-
entity = await loadEntity(
|
|
285
|
+
entity = await loadEntity(
|
|
286
|
+
classNamesToEntityConstructors(
|
|
287
|
+
response.locals.nymph,
|
|
288
|
+
referencesToEntities(
|
|
289
|
+
entData,
|
|
290
|
+
response.locals.nymph,
|
|
291
|
+
false,
|
|
292
|
+
true,
|
|
293
|
+
),
|
|
294
|
+
true,
|
|
295
|
+
),
|
|
296
|
+
response.locals.nymph,
|
|
297
|
+
);
|
|
286
298
|
} catch (e: any) {
|
|
287
299
|
if (e instanceof EntityConflictError) {
|
|
288
300
|
conflict = true;
|
|
301
|
+
lastException = e;
|
|
289
302
|
} else if (e instanceof ForbiddenClassError) {
|
|
290
303
|
forbidden = true;
|
|
304
|
+
lastException = e;
|
|
291
305
|
} else if (e.message === NOT_FOUND_ERROR) {
|
|
292
306
|
notfound = true;
|
|
293
307
|
} else if (e instanceof InvalidParametersError) {
|
|
294
308
|
invalidRequest = true;
|
|
295
309
|
lastException = e;
|
|
310
|
+
} else if (e.message === 'Not accessible.') {
|
|
311
|
+
forbidden = true;
|
|
312
|
+
lastException = e;
|
|
296
313
|
} else {
|
|
297
314
|
lastException = e;
|
|
298
315
|
}
|
|
@@ -322,10 +339,10 @@ export function createServer(
|
|
|
322
339
|
httpError(response, 400, lastException);
|
|
323
340
|
return;
|
|
324
341
|
} else if (conflict) {
|
|
325
|
-
httpError(response, 409);
|
|
342
|
+
httpError(response, 409, lastException);
|
|
326
343
|
return;
|
|
327
344
|
} else if (forbidden) {
|
|
328
|
-
httpError(response, 403);
|
|
345
|
+
httpError(response, 403, lastException);
|
|
329
346
|
return;
|
|
330
347
|
} else if (notfound) {
|
|
331
348
|
httpError(response, 404);
|
|
@@ -452,16 +469,30 @@ export function createServer(
|
|
|
452
469
|
} else {
|
|
453
470
|
let entity: EntityInterface;
|
|
454
471
|
try {
|
|
455
|
-
entity = await loadEntity(
|
|
472
|
+
entity = await loadEntity(
|
|
473
|
+
classNamesToEntityConstructors(
|
|
474
|
+
response.locals.nymph,
|
|
475
|
+
referencesToEntities(
|
|
476
|
+
data.entity,
|
|
477
|
+
response.locals.nymph,
|
|
478
|
+
false,
|
|
479
|
+
true,
|
|
480
|
+
),
|
|
481
|
+
true,
|
|
482
|
+
),
|
|
483
|
+
response.locals.nymph,
|
|
484
|
+
);
|
|
456
485
|
} catch (e: any) {
|
|
457
486
|
if (e instanceof EntityConflictError) {
|
|
458
|
-
httpError(response, 409);
|
|
487
|
+
httpError(response, 409, e);
|
|
459
488
|
} else if (e instanceof ForbiddenClassError) {
|
|
460
|
-
httpError(response, 403);
|
|
489
|
+
httpError(response, 403, e);
|
|
461
490
|
} else if (e.message === NOT_FOUND_ERROR) {
|
|
462
491
|
httpError(response, 404, e);
|
|
463
492
|
} else if (e instanceof InvalidParametersError) {
|
|
464
493
|
httpError(response, 400, e);
|
|
494
|
+
} else if (e.message === 'Not accessible.') {
|
|
495
|
+
httpError(response, 403);
|
|
465
496
|
} else {
|
|
466
497
|
httpError(response, 500, e);
|
|
467
498
|
}
|
|
@@ -502,7 +533,7 @@ export function createServer(
|
|
|
502
533
|
}
|
|
503
534
|
} catch (e: any) {
|
|
504
535
|
if (e instanceof ForbiddenClassError) {
|
|
505
|
-
httpError(response, 403);
|
|
536
|
+
httpError(response, 403, e);
|
|
506
537
|
return;
|
|
507
538
|
} else {
|
|
508
539
|
httpError(response, 500, e);
|
|
@@ -629,17 +660,30 @@ export function createServer(
|
|
|
629
660
|
}
|
|
630
661
|
let entity: EntityInterface;
|
|
631
662
|
try {
|
|
632
|
-
entity = await loadEntity(
|
|
663
|
+
entity = await loadEntity(
|
|
664
|
+
classNamesToEntityConstructors(
|
|
665
|
+
response.locals.nymph,
|
|
666
|
+
referencesToEntities(entData, response.locals.nymph, false, true),
|
|
667
|
+
true,
|
|
668
|
+
),
|
|
669
|
+
response.locals.nymph,
|
|
670
|
+
patch,
|
|
671
|
+
);
|
|
633
672
|
} catch (e: any) {
|
|
634
673
|
if (e instanceof EntityConflictError) {
|
|
635
674
|
conflict = true;
|
|
675
|
+
lastException = e;
|
|
636
676
|
} else if (e instanceof ForbiddenClassError) {
|
|
637
677
|
forbidden = true;
|
|
678
|
+
lastException = e;
|
|
638
679
|
} else if (e.message === NOT_FOUND_ERROR) {
|
|
639
680
|
notfound = true;
|
|
640
681
|
} else if (e instanceof InvalidParametersError) {
|
|
641
682
|
invalidRequest = true;
|
|
642
683
|
lastException = e;
|
|
684
|
+
} else if (e.message === 'Not accessible.') {
|
|
685
|
+
forbidden = true;
|
|
686
|
+
lastException = e;
|
|
643
687
|
} else {
|
|
644
688
|
lastException = e;
|
|
645
689
|
}
|
|
@@ -668,9 +712,9 @@ export function createServer(
|
|
|
668
712
|
if (invalidRequest) {
|
|
669
713
|
httpError(response, 400, lastException);
|
|
670
714
|
} else if (forbidden) {
|
|
671
|
-
httpError(response, 403);
|
|
715
|
+
httpError(response, 403, lastException);
|
|
672
716
|
} else if (conflict) {
|
|
673
|
-
httpError(response, 409);
|
|
717
|
+
httpError(response, 409, lastException);
|
|
674
718
|
} else if (notfound) {
|
|
675
719
|
httpError(response, 404);
|
|
676
720
|
} else {
|
|
@@ -813,13 +857,13 @@ export function createServer(
|
|
|
813
857
|
patch = false,
|
|
814
858
|
allowConflict = false,
|
|
815
859
|
): Promise<EntityInterface> {
|
|
816
|
-
|
|
860
|
+
let EntityClass = entityData.class;
|
|
861
|
+
if (EntityClass.class === 'Entity') {
|
|
817
862
|
// Don't let clients use the `Entity` class, since it has no validity/AC checks.
|
|
818
|
-
throw new
|
|
863
|
+
throw new ForbiddenClassError(
|
|
819
864
|
"Can't use Entity class directly from the front end.",
|
|
820
865
|
);
|
|
821
866
|
}
|
|
822
|
-
let EntityClass = nymph.getEntityClass(entityData.class);
|
|
823
867
|
if (!EntityClass.restEnabled) {
|
|
824
868
|
throw new ForbiddenClassError('Not accessible.');
|
|
825
869
|
}
|