@nymphjs/server 1.0.0-beta.123 → 1.0.0-beta.124
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 +6 -0
- package/dist/createServer.js +16 -53
- package/dist/createServer.js.map +1 -1
- package/package.json +5 -5
- package/src/createServer.ts +25 -52
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.124](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.123...v1.0.0-beta.124) (2026-09-24)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- client class translation in queries and params ([849355c](https://forge.sciactive.com/sciactive/nymphjs/commits/849355c7ad2dfb594415454c2d491b6868508434))
|
|
11
|
+
|
|
6
12
|
# [1.0.0-beta.123](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.122...v1.0.0-beta.123) (2026-09-23)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @nymphjs/server
|
package/dist/createServer.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import cookieParser from 'cookie-parser';
|
|
3
|
-
import {
|
|
3
|
+
import { EntityConflictError, InvalidParametersError, TilmeldAccessLevels, classNamesToEntityConstructors, referencesToEntities, } from '@nymphjs/nymph';
|
|
4
4
|
import { EntityInvalidDataError } from '@nymphjs/nymph';
|
|
5
5
|
import { statusDescriptions } from './statusDescriptions.js';
|
|
6
6
|
const NOT_FOUND_ERROR = 'Entity is not found.';
|
|
@@ -102,26 +102,26 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
102
102
|
return;
|
|
103
103
|
}
|
|
104
104
|
let [options, ...selectors] = data;
|
|
105
|
-
let EntityClass;
|
|
106
|
-
try {
|
|
107
|
-
EntityClass = response.locals.nymph.getEntityClass(data[0].class);
|
|
108
|
-
if (!EntityClass.restEnabled) {
|
|
109
|
-
httpError(response, 403);
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
catch (e) {
|
|
114
|
-
httpError(response, 400, e);
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
options.class = EntityClass;
|
|
118
105
|
options.source = 'client';
|
|
119
106
|
options.skipAc = false;
|
|
120
107
|
if (options.return === 'object') {
|
|
121
108
|
options.return = 'entity';
|
|
122
109
|
}
|
|
123
110
|
try {
|
|
124
|
-
|
|
111
|
+
options = classNamesToEntityConstructors(response.locals.nymph, options, true);
|
|
112
|
+
}
|
|
113
|
+
catch (e) {
|
|
114
|
+
if (e?.message === 'Not accessible.') {
|
|
115
|
+
httpError(response, 403);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
httpError(response, 500, e);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
selectors = classNamesToEntityConstructors(response.locals.nymph, referencesToEntities(selectors, response.locals.nymph, false, true), true);
|
|
125
125
|
}
|
|
126
126
|
catch (e) {
|
|
127
127
|
if (e?.message === 'Not accessible.') {
|
|
@@ -298,7 +298,7 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
298
298
|
return;
|
|
299
299
|
}
|
|
300
300
|
try {
|
|
301
|
-
const params = referencesToEntities([...data.params], response.locals.nymph);
|
|
301
|
+
const params = classNamesToEntityConstructors(response.locals.nymph, referencesToEntities([...data.params], response.locals.nymph, false, true), true);
|
|
302
302
|
if (data.static) {
|
|
303
303
|
let EntityClass;
|
|
304
304
|
try {
|
|
@@ -777,43 +777,6 @@ export function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
|
777
777
|
}
|
|
778
778
|
return entity;
|
|
779
779
|
}
|
|
780
|
-
/**
|
|
781
|
-
* Check if an item is a reference, and if it is, convert it to an entity.
|
|
782
|
-
*
|
|
783
|
-
* This function will recurse into deeper arrays and objects.
|
|
784
|
-
*
|
|
785
|
-
* @param item The item to check.
|
|
786
|
-
* @returns The item, converted.
|
|
787
|
-
*/
|
|
788
|
-
function referencesToEntities(item, nymph) {
|
|
789
|
-
if (item == null) {
|
|
790
|
-
return item;
|
|
791
|
-
}
|
|
792
|
-
else if (Array.isArray(item)) {
|
|
793
|
-
if (item.length === 3 && item[0] === 'nymph_entity_reference') {
|
|
794
|
-
try {
|
|
795
|
-
const EntityClass = nymph.getEntityClass(item[2]);
|
|
796
|
-
if (!EntityClass.restEnabled) {
|
|
797
|
-
throw new ForbiddenClassError('Not accessible.');
|
|
798
|
-
}
|
|
799
|
-
return EntityClass.factoryReference(item);
|
|
800
|
-
}
|
|
801
|
-
catch (e) {
|
|
802
|
-
return item;
|
|
803
|
-
}
|
|
804
|
-
}
|
|
805
|
-
return item.map((entry) => referencesToEntities(entry, nymph));
|
|
806
|
-
}
|
|
807
|
-
else if (typeof item === 'object' && !(item instanceof Entity)) {
|
|
808
|
-
// Only do this for non-entity objects.
|
|
809
|
-
const newItem = {};
|
|
810
|
-
for (let curProperty in item) {
|
|
811
|
-
newItem[curProperty] = referencesToEntities(item[curProperty], nymph);
|
|
812
|
-
}
|
|
813
|
-
return newItem;
|
|
814
|
-
}
|
|
815
|
-
return item;
|
|
816
|
-
}
|
|
817
780
|
/**
|
|
818
781
|
* Return the request with an HTTP error response.
|
|
819
782
|
*
|
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.124",
|
|
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.124",
|
|
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.124",
|
|
47
|
+
"@nymphjs/driver-sqlite3": "^1.0.0-beta.124",
|
|
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": "f0e37f47c5ceeaaa1b389867f7cd24eac05cc5f9"
|
|
61
61
|
}
|
package/src/createServer.ts
CHANGED
|
@@ -3,16 +3,15 @@ import express, { NextFunction, Request, Response } from 'express';
|
|
|
3
3
|
import cookieParser from 'cookie-parser';
|
|
4
4
|
import {
|
|
5
5
|
Nymph,
|
|
6
|
-
Entity,
|
|
7
6
|
EntityConflictError,
|
|
8
7
|
EntityConstructor,
|
|
9
8
|
EntityInterface,
|
|
10
9
|
EntityJson,
|
|
11
10
|
EntityPatch,
|
|
12
|
-
EntityReference,
|
|
13
11
|
InvalidParametersError,
|
|
14
12
|
TilmeldAccessLevels,
|
|
15
13
|
classNamesToEntityConstructors,
|
|
14
|
+
referencesToEntities,
|
|
16
15
|
Options,
|
|
17
16
|
Selector,
|
|
18
17
|
} from '@nymphjs/nymph';
|
|
@@ -148,27 +147,30 @@ export function createServer(
|
|
|
148
147
|
return;
|
|
149
148
|
}
|
|
150
149
|
let [options, ...selectors] = data as [Options, ...Selector[]];
|
|
151
|
-
let EntityClass;
|
|
152
|
-
try {
|
|
153
|
-
EntityClass = response.locals.nymph.getEntityClass(data[0].class);
|
|
154
|
-
if (!EntityClass.restEnabled) {
|
|
155
|
-
httpError(response, 403);
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
} catch (e: any) {
|
|
159
|
-
httpError(response, 400, e);
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
options.class = EntityClass;
|
|
163
150
|
options.source = 'client';
|
|
164
151
|
options.skipAc = false;
|
|
165
152
|
if (options.return === 'object') {
|
|
166
153
|
options.return = 'entity';
|
|
167
154
|
}
|
|
155
|
+
try {
|
|
156
|
+
options = classNamesToEntityConstructors(
|
|
157
|
+
response.locals.nymph,
|
|
158
|
+
options,
|
|
159
|
+
true,
|
|
160
|
+
);
|
|
161
|
+
} catch (e: any) {
|
|
162
|
+
if (e?.message === 'Not accessible.') {
|
|
163
|
+
httpError(response, 403);
|
|
164
|
+
return;
|
|
165
|
+
} else {
|
|
166
|
+
httpError(response, 500, e);
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
168
170
|
try {
|
|
169
171
|
selectors = classNamesToEntityConstructors(
|
|
170
172
|
response.locals.nymph,
|
|
171
|
-
selectors,
|
|
173
|
+
referencesToEntities(selectors, response.locals.nymph, false, true),
|
|
172
174
|
true,
|
|
173
175
|
);
|
|
174
176
|
} catch (e: any) {
|
|
@@ -346,9 +348,15 @@ export function createServer(
|
|
|
346
348
|
return;
|
|
347
349
|
}
|
|
348
350
|
try {
|
|
349
|
-
const params =
|
|
350
|
-
[...data.params],
|
|
351
|
+
const params = classNamesToEntityConstructors(
|
|
351
352
|
response.locals.nymph,
|
|
353
|
+
referencesToEntities(
|
|
354
|
+
[...data.params],
|
|
355
|
+
response.locals.nymph,
|
|
356
|
+
false,
|
|
357
|
+
true,
|
|
358
|
+
),
|
|
359
|
+
true,
|
|
352
360
|
);
|
|
353
361
|
if (data.static) {
|
|
354
362
|
let EntityClass: EntityConstructor;
|
|
@@ -838,41 +846,6 @@ export function createServer(
|
|
|
838
846
|
return entity;
|
|
839
847
|
}
|
|
840
848
|
|
|
841
|
-
/**
|
|
842
|
-
* Check if an item is a reference, and if it is, convert it to an entity.
|
|
843
|
-
*
|
|
844
|
-
* This function will recurse into deeper arrays and objects.
|
|
845
|
-
*
|
|
846
|
-
* @param item The item to check.
|
|
847
|
-
* @returns The item, converted.
|
|
848
|
-
*/
|
|
849
|
-
function referencesToEntities(item: any, nymph: Nymph): any {
|
|
850
|
-
if (item == null) {
|
|
851
|
-
return item;
|
|
852
|
-
} else if (Array.isArray(item)) {
|
|
853
|
-
if (item.length === 3 && item[0] === 'nymph_entity_reference') {
|
|
854
|
-
try {
|
|
855
|
-
const EntityClass = nymph.getEntityClass(item[2]);
|
|
856
|
-
if (!EntityClass.restEnabled) {
|
|
857
|
-
throw new ForbiddenClassError('Not accessible.');
|
|
858
|
-
}
|
|
859
|
-
return EntityClass.factoryReference(item as EntityReference);
|
|
860
|
-
} catch (e: any) {
|
|
861
|
-
return item;
|
|
862
|
-
}
|
|
863
|
-
}
|
|
864
|
-
return item.map((entry) => referencesToEntities(entry, nymph));
|
|
865
|
-
} else if (typeof item === 'object' && !(item instanceof Entity)) {
|
|
866
|
-
// Only do this for non-entity objects.
|
|
867
|
-
const newItem: { [k: string]: any } = {};
|
|
868
|
-
for (let curProperty in item) {
|
|
869
|
-
newItem[curProperty] = referencesToEntities(item[curProperty], nymph);
|
|
870
|
-
}
|
|
871
|
-
return newItem;
|
|
872
|
-
}
|
|
873
|
-
return item;
|
|
874
|
-
}
|
|
875
|
-
|
|
876
849
|
/**
|
|
877
850
|
* Return the request with an HTTP error response.
|
|
878
851
|
*
|