@nymphjs/server 1.0.0-beta.124 → 1.0.0-beta.125

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 CHANGED
@@ -3,6 +3,12 @@
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.125](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.124...v1.0.0-beta.125) (2026-09-24)
7
+
8
+ ### Bug Fixes
9
+
10
+ - client translation errors, pubsub qref translation, entities can contain classes in db now ([2902fe3](https://forge.sciactive.com/sciactive/nymphjs/commits/2902fe3166b456cd0d8012c10991f9a16a4a99bb))
11
+
6
12
  # [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
13
 
8
14
  ### Bug Fixes
@@ -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
- if (entityData.class === 'Entity') {
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 InvalidParametersError("Can't use Entity class directly from the front end.");
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
  }
@@ -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.124",
3
+ "version": "1.0.0-beta.125",
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.124",
41
+ "@nymphjs/nymph": "^1.0.0-beta.125",
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.124",
47
- "@nymphjs/driver-sqlite3": "^1.0.0-beta.124",
46
+ "@nymphjs/client": "^1.0.0-beta.125",
47
+ "@nymphjs/driver-sqlite3": "^1.0.0-beta.125",
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": "f0e37f47c5ceeaaa1b389867f7cd24eac05cc5f9"
60
+ "gitHead": "b87bd7ebda690fc8c491835e44fece78dc650b9c"
61
61
  }
@@ -282,17 +282,34 @@ export function createServer(
282
282
  }
283
283
  let entity: EntityInterface;
284
284
  try {
285
- entity = await loadEntity(entData, response.locals.nymph);
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(data.entity, response.locals.nymph);
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(entData, response.locals.nymph, patch);
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
- if (entityData.class === 'Entity') {
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 InvalidParametersError(
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
  }