@nymphjs/server 1.0.0-alpha.4 → 1.0.0-alpha.40
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 +161 -0
- package/dist/cache.test.d.ts +1 -0
- package/dist/cache.test.js +75 -0
- package/dist/cache.test.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +67 -19
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +30 -1
- package/dist/index.test.js.map +1 -1
- package/package.json +12 -12
- package/src/cache.test.ts +77 -0
- package/src/index.test.ts +52 -1
- package/src/index.ts +78 -23
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,167 @@
|
|
|
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.40](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2022-03-05)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
9
|
+
|
|
10
|
+
# [1.0.0-alpha.39](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2022-03-05)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
13
|
+
|
|
14
|
+
# [1.0.0-alpha.38](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2022-02-10)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
17
|
+
|
|
18
|
+
# [1.0.0-alpha.37](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2022-02-02)
|
|
19
|
+
|
|
20
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
21
|
+
|
|
22
|
+
# [1.0.0-alpha.36](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2022-01-26)
|
|
23
|
+
|
|
24
|
+
### Features
|
|
25
|
+
|
|
26
|
+
- entity count return option ([f1e34e8](https://github.com/sciactive/nymphjs/commit/f1e34e8f74d9fdda58989fc101f4381243a86ec3))
|
|
27
|
+
- support subscribing to queries with qref in pubsub server ([6d9a0af](https://github.com/sciactive/nymphjs/commit/6d9a0afea653ae00130c47087b21d87c5666d229))
|
|
28
|
+
|
|
29
|
+
# [1.0.0-alpha.35](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2022-01-19)
|
|
30
|
+
|
|
31
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
32
|
+
|
|
33
|
+
# [1.0.0-alpha.34](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2022-01-08)
|
|
34
|
+
|
|
35
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
36
|
+
|
|
37
|
+
# [1.0.0-alpha.33](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2022-01-08)
|
|
38
|
+
|
|
39
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
40
|
+
|
|
41
|
+
# [1.0.0-alpha.32](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2022-01-08)
|
|
42
|
+
|
|
43
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
44
|
+
|
|
45
|
+
# [1.0.0-alpha.31](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2022-01-08)
|
|
46
|
+
|
|
47
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
48
|
+
|
|
49
|
+
# [1.0.0-alpha.30](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2022-01-07)
|
|
50
|
+
|
|
51
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
52
|
+
|
|
53
|
+
# [1.0.0-alpha.29](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2022-01-07)
|
|
54
|
+
|
|
55
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
56
|
+
|
|
57
|
+
# [1.0.0-alpha.28](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.27...v1.0.0-alpha.28) (2022-01-07)
|
|
58
|
+
|
|
59
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
60
|
+
|
|
61
|
+
# [1.0.0-alpha.27](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2022-01-05)
|
|
62
|
+
|
|
63
|
+
### Features
|
|
64
|
+
|
|
65
|
+
- update smui to latest versions ([7ed7bd3](https://github.com/sciactive/nymphjs/commit/7ed7bd34d01a155c7001a2671de25ef2f3363682))
|
|
66
|
+
|
|
67
|
+
# [1.0.0-alpha.26](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2021-12-30)
|
|
68
|
+
|
|
69
|
+
### Features
|
|
70
|
+
|
|
71
|
+
- add json options rest server option ([35cbff4](https://github.com/sciactive/nymphjs/commit/35cbff4b8dbc3e112604119efe05b813f5948dff))
|
|
72
|
+
|
|
73
|
+
# [1.0.0-alpha.25](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2021-12-30)
|
|
74
|
+
|
|
75
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
76
|
+
|
|
77
|
+
# [1.0.0-alpha.24](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2021-12-30)
|
|
78
|
+
|
|
79
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
80
|
+
|
|
81
|
+
# [1.0.0-alpha.23](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2021-12-30)
|
|
82
|
+
|
|
83
|
+
### Features
|
|
84
|
+
|
|
85
|
+
- add optional weakly referenced cache to client lib ([fbb184c](https://github.com/sciactive/nymphjs/commit/fbb184c6a721968bb92cc9b05c328594618554ed))
|
|
86
|
+
|
|
87
|
+
# [1.0.0-alpha.22](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2021-12-14)
|
|
88
|
+
|
|
89
|
+
### Features
|
|
90
|
+
|
|
91
|
+
- update smui to latest versions ([912873b](https://github.com/sciactive/nymphjs/commit/912873b863d1ae5d51c359a3c0558bff38ce85cd))
|
|
92
|
+
|
|
93
|
+
# [1.0.0-alpha.21](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2021-11-29)
|
|
94
|
+
|
|
95
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
96
|
+
|
|
97
|
+
# [1.0.0-alpha.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2021-11-24)
|
|
98
|
+
|
|
99
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
100
|
+
|
|
101
|
+
# [1.0.0-alpha.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2021-11-18)
|
|
102
|
+
|
|
103
|
+
### Features
|
|
104
|
+
|
|
105
|
+
- update smui and other packages to latest versions ([2465340](https://github.com/sciactive/nymphjs/commit/24653400d887bc04c41c3c4ee0c73ce2f2289e0d))
|
|
106
|
+
|
|
107
|
+
# [1.0.0-alpha.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2021-11-09)
|
|
108
|
+
|
|
109
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
110
|
+
|
|
111
|
+
# [1.0.0-alpha.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2021-10-14)
|
|
112
|
+
|
|
113
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
114
|
+
|
|
115
|
+
# [1.0.0-alpha.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2021-10-14)
|
|
116
|
+
|
|
117
|
+
### Bug Fixes
|
|
118
|
+
|
|
119
|
+
- don't ignore built files in npm packages ([7d688db](https://github.com/sciactive/nymphjs/commit/7d688dbec362f1f71fb451a1d0dbcaecc15d99fc))
|
|
120
|
+
|
|
121
|
+
# [1.0.0-alpha.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2021-10-14)
|
|
122
|
+
|
|
123
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
124
|
+
|
|
125
|
+
# [1.0.0-alpha.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2021-10-14)
|
|
126
|
+
|
|
127
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
128
|
+
|
|
129
|
+
# [1.0.0-alpha.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2021-10-14)
|
|
130
|
+
|
|
131
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
132
|
+
|
|
133
|
+
# [1.0.0-alpha.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2021-10-13)
|
|
134
|
+
|
|
135
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
136
|
+
|
|
137
|
+
# [1.0.0-alpha.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2021-10-13)
|
|
138
|
+
|
|
139
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
140
|
+
|
|
141
|
+
# [1.0.0-alpha.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2021-10-12)
|
|
142
|
+
|
|
143
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
144
|
+
|
|
145
|
+
# [1.0.0-alpha.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2021-10-12)
|
|
146
|
+
|
|
147
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
148
|
+
|
|
149
|
+
# [1.0.0-alpha.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2021-10-12)
|
|
150
|
+
|
|
151
|
+
### Bug Fixes
|
|
152
|
+
|
|
153
|
+
- server not running potentially important delete functions ([ce7521d](https://github.com/sciactive/nymphjs/commit/ce7521d89ca655f72f6842abf25c2817ce7b1513))
|
|
154
|
+
|
|
155
|
+
# [1.0.0-alpha.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2021-10-05)
|
|
156
|
+
|
|
157
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
158
|
+
|
|
159
|
+
# [1.0.0-alpha.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2021-10-05)
|
|
160
|
+
|
|
161
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
162
|
+
|
|
163
|
+
# [1.0.0-alpha.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2021-09-30)
|
|
164
|
+
|
|
165
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
166
|
+
|
|
6
167
|
# [1.0.0-alpha.4](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2021-09-27)
|
|
7
168
|
|
|
8
169
|
### Features
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const express_1 = __importDefault(require("express"));
|
|
16
|
+
const driver_sqlite3_1 = __importDefault(require("@nymphjs/driver-sqlite3"));
|
|
17
|
+
const nymph_1 = require("@nymphjs/nymph");
|
|
18
|
+
const client_node_1 = require("@nymphjs/client-node");
|
|
19
|
+
const index_1 = __importDefault(require("./index"));
|
|
20
|
+
const testArtifacts_1 = require("./testArtifacts");
|
|
21
|
+
const sqliteConfig = {
|
|
22
|
+
filename: ':memory:',
|
|
23
|
+
};
|
|
24
|
+
const nymphServer = new nymph_1.Nymph({}, new driver_sqlite3_1.default(sqliteConfig));
|
|
25
|
+
nymphServer.addEntityClass(testArtifacts_1.EmployeeModel);
|
|
26
|
+
const app = (0, express_1.default)();
|
|
27
|
+
app.use('/test', (0, index_1.default)(nymphServer));
|
|
28
|
+
const server = app.listen(5081);
|
|
29
|
+
const nymph = new client_node_1.Nymph({
|
|
30
|
+
restUrl: 'http://localhost:5081/test/',
|
|
31
|
+
weakCache: true,
|
|
32
|
+
});
|
|
33
|
+
nymph.addEntityClass(testArtifacts_1.Employee);
|
|
34
|
+
describe('Nymph REST Server and Client with Client Weak Ref Cache', () => {
|
|
35
|
+
function createJane() {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
const jane = yield testArtifacts_1.Employee.factory();
|
|
38
|
+
jane.name = 'Jane Doe';
|
|
39
|
+
jane.current = true;
|
|
40
|
+
jane.salary = 8000000;
|
|
41
|
+
jane.startDate = Date.now();
|
|
42
|
+
jane.subordinates = [];
|
|
43
|
+
jane.title = 'Seniorer Person';
|
|
44
|
+
try {
|
|
45
|
+
yield jane.$save();
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
console.error('Error creating entity: ', e);
|
|
49
|
+
throw e;
|
|
50
|
+
}
|
|
51
|
+
return jane;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
it('change an entity and check weakCache', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
55
|
+
if (typeof WeakRef === 'undefined') {
|
|
56
|
+
throw new Error('You must run this test in an environment that includes WeakRef.');
|
|
57
|
+
}
|
|
58
|
+
const employee = yield createJane();
|
|
59
|
+
if (employee.guid == null) {
|
|
60
|
+
throw new Error('Entity is null.');
|
|
61
|
+
}
|
|
62
|
+
const checkA = yield testArtifacts_1.Employee.factory(employee.guid);
|
|
63
|
+
const checkB = yield nymph.getEntity({ class: testArtifacts_1.Employee }, { type: '&', guid: employee.guid });
|
|
64
|
+
if (!checkB) {
|
|
65
|
+
throw new Error("Couldn't fetch entity.");
|
|
66
|
+
}
|
|
67
|
+
employee.current = false;
|
|
68
|
+
expect(checkA.current).toEqual(false);
|
|
69
|
+
expect(checkB.current).toEqual(false);
|
|
70
|
+
}));
|
|
71
|
+
afterAll(() => {
|
|
72
|
+
server.close();
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=cache.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.test.js","sourceRoot":"","sources":["../src/cache.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,6EAAoD;AACpD,0CAAsD;AACtD,sDAA6C;AAE7C,oDAAmC;AACnC,mDAA0D;AAE1D,MAAM,YAAY,GAAG;IACnB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,aAAW,CAAC,EAAE,EAAE,IAAI,wBAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AACzE,WAAW,CAAC,cAAc,CAAC,6BAAa,CAAC,CAAC;AAE1C,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;AACtB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAA,eAAY,EAAC,WAAW,CAAC,CAAC,CAAC;AAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAEhC,MAAM,KAAK,GAAG,IAAI,mBAAK,CAAC;IACtB,OAAO,EAAE,6BAA6B;IACtC,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AACH,KAAK,CAAC,cAAc,CAAC,wBAAQ,CAAC,CAAC;AAE/B,QAAQ,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACvE,SAAe,UAAU;;YACvB,MAAM,IAAI,GAAG,MAAM,wBAAQ,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC;YAC/B,IAAI;gBACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;aACpB;YAAC,OAAO,CAAM,EAAE;gBACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;gBAC5C,MAAM,CAAC,CAAC;aACT;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED,EAAE,CAAC,sCAAsC,EAAE,GAAS,EAAE;QAEpD,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAClC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;SACH;QAED,MAAM,QAAQ,GAAG,MAAM,UAAU,EAAE,CAAC;QAEpC,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACpC;QAED,MAAM,MAAM,GAAG,MAAM,wBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAClC,EAAE,KAAK,EAAE,wBAAQ,EAAE,EACnB,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CACnC,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAED,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACZ,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
|
+
import type { OptionsJson } from 'body-parser';
|
|
1
2
|
import { Nymph } from '@nymphjs/nymph';
|
|
2
|
-
export default function createServer(nymph: Nymph
|
|
3
|
+
export default function createServer(nymph: Nymph, { jsonOptions }?: {
|
|
4
|
+
jsonOptions?: OptionsJson;
|
|
5
|
+
}): import("express-serve-static-core").Express;
|
package/dist/index.js
CHANGED
|
@@ -16,10 +16,11 @@ 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
|
-
|
|
19
|
+
const NOT_FOUND_ERROR = 'Entity is not found.';
|
|
20
|
+
function createServer(nymph, { jsonOptions = {} } = {}) {
|
|
20
21
|
const rest = (0, express_1.default)();
|
|
21
22
|
rest.use((0, cookie_parser_1.default)());
|
|
22
|
-
rest.use(express_1.default.json());
|
|
23
|
+
rest.use(express_1.default.json(jsonOptions || {}));
|
|
23
24
|
function instantiateNymph(_request, response, next) {
|
|
24
25
|
response.locals.nymph = nymph.clone();
|
|
25
26
|
next();
|
|
@@ -97,6 +98,7 @@ function createServer(nymph) {
|
|
|
97
98
|
httpError(response, 400, 'Bad Request');
|
|
98
99
|
return;
|
|
99
100
|
}
|
|
101
|
+
let [options, ...selectors] = data;
|
|
100
102
|
let EntityClass;
|
|
101
103
|
try {
|
|
102
104
|
EntityClass = response.locals.nymph.getEntityClass(data[0].class);
|
|
@@ -105,16 +107,17 @@ function createServer(nymph) {
|
|
|
105
107
|
httpError(response, 400, 'Bad Request', e);
|
|
106
108
|
return;
|
|
107
109
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
110
|
+
options.class = EntityClass;
|
|
111
|
+
options.source = 'client';
|
|
112
|
+
options.skipAc = false;
|
|
113
|
+
selectors = (0, nymph_1.classNamesToEntityConstructors)(response.locals.nymph, selectors);
|
|
111
114
|
let result;
|
|
112
115
|
try {
|
|
113
116
|
if (action === 'entity') {
|
|
114
|
-
result = yield response.locals.nymph.getEntity(
|
|
117
|
+
result = yield response.locals.nymph.getEntity(options, ...selectors);
|
|
115
118
|
}
|
|
116
119
|
else {
|
|
117
|
-
result = yield response.locals.nymph.getEntities(...
|
|
120
|
+
result = yield response.locals.nymph.getEntities(options, ...selectors);
|
|
118
121
|
}
|
|
119
122
|
}
|
|
120
123
|
catch (e) {
|
|
@@ -183,6 +186,7 @@ function createServer(nymph) {
|
|
|
183
186
|
let hadSuccess = false;
|
|
184
187
|
let invalidRequest = false;
|
|
185
188
|
let conflict = false;
|
|
189
|
+
let notfound = false;
|
|
186
190
|
let lastException = null;
|
|
187
191
|
for (let entData of data) {
|
|
188
192
|
if (entData.guid) {
|
|
@@ -198,6 +202,9 @@ function createServer(nymph) {
|
|
|
198
202
|
if (e instanceof nymph_1.EntityConflictError) {
|
|
199
203
|
conflict = true;
|
|
200
204
|
}
|
|
205
|
+
else if (e.message === NOT_FOUND_ERROR) {
|
|
206
|
+
notfound = true;
|
|
207
|
+
}
|
|
201
208
|
else if (e instanceof nymph_1.InvalidParametersError) {
|
|
202
209
|
invalidRequest = true;
|
|
203
210
|
lastException = e;
|
|
@@ -241,6 +248,10 @@ function createServer(nymph) {
|
|
|
241
248
|
httpError(response, 409, 'Conflict');
|
|
242
249
|
return;
|
|
243
250
|
}
|
|
251
|
+
else if (notfound) {
|
|
252
|
+
httpError(response, 404, 'Not Found');
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
244
255
|
else {
|
|
245
256
|
httpError(response, 500, 'Internal Server Error', lastException);
|
|
246
257
|
return;
|
|
@@ -307,6 +318,9 @@ function createServer(nymph) {
|
|
|
307
318
|
if (e instanceof nymph_1.EntityConflictError) {
|
|
308
319
|
httpError(response, 409, 'Conflict');
|
|
309
320
|
}
|
|
321
|
+
else if (e.message === NOT_FOUND_ERROR) {
|
|
322
|
+
httpError(response, 404, 'Not Found', e);
|
|
323
|
+
}
|
|
310
324
|
else if (e instanceof nymph_1.InvalidParametersError) {
|
|
311
325
|
httpError(response, 400, 'Bad Request', e);
|
|
312
326
|
}
|
|
@@ -463,10 +477,16 @@ function createServer(nymph) {
|
|
|
463
477
|
if (e instanceof nymph_1.EntityConflictError) {
|
|
464
478
|
conflict = true;
|
|
465
479
|
}
|
|
466
|
-
if (e
|
|
480
|
+
else if (e.message === NOT_FOUND_ERROR) {
|
|
481
|
+
notfound = true;
|
|
482
|
+
}
|
|
483
|
+
else if (e instanceof nymph_1.InvalidParametersError) {
|
|
467
484
|
invalidRequest = true;
|
|
468
485
|
lastException = e;
|
|
469
486
|
}
|
|
487
|
+
else {
|
|
488
|
+
lastException = e;
|
|
489
|
+
}
|
|
470
490
|
saved.push(null);
|
|
471
491
|
continue;
|
|
472
492
|
}
|
|
@@ -534,30 +554,58 @@ function createServer(nymph) {
|
|
|
534
554
|
}
|
|
535
555
|
const deleted = [];
|
|
536
556
|
let failures = false;
|
|
557
|
+
let hadSuccess = false;
|
|
537
558
|
let invalidRequest = false;
|
|
559
|
+
let notfound = false;
|
|
538
560
|
let lastException = null;
|
|
539
|
-
for (let
|
|
561
|
+
for (let entData of data) {
|
|
562
|
+
if (entData.guid && entData.guid.length != 24) {
|
|
563
|
+
invalidRequest = true;
|
|
564
|
+
continue;
|
|
565
|
+
}
|
|
566
|
+
let EntityClass;
|
|
540
567
|
try {
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
568
|
+
EntityClass = response.locals.nymph.getEntityClass(entData.class);
|
|
569
|
+
}
|
|
570
|
+
catch (e) {
|
|
571
|
+
invalidRequest = true;
|
|
572
|
+
failures = true;
|
|
573
|
+
continue;
|
|
574
|
+
}
|
|
575
|
+
let entity;
|
|
576
|
+
try {
|
|
577
|
+
entity = yield response.locals.nymph.getEntity({ class: EntityClass }, { type: '&', guid: entData.guid });
|
|
578
|
+
}
|
|
579
|
+
catch (e) {
|
|
580
|
+
lastException = e;
|
|
581
|
+
failures = true;
|
|
582
|
+
continue;
|
|
583
|
+
}
|
|
584
|
+
if (!entity) {
|
|
585
|
+
notfound = true;
|
|
586
|
+
failures = true;
|
|
587
|
+
continue;
|
|
588
|
+
}
|
|
589
|
+
try {
|
|
590
|
+
if (yield entity.$delete()) {
|
|
591
|
+
deleted.push(entData.guid);
|
|
592
|
+
hadSuccess = true;
|
|
548
593
|
}
|
|
549
594
|
else {
|
|
550
595
|
failures = true;
|
|
551
596
|
}
|
|
552
597
|
}
|
|
553
598
|
catch (e) {
|
|
554
|
-
failures = true;
|
|
555
599
|
lastException = e;
|
|
600
|
+
failures = true;
|
|
556
601
|
}
|
|
557
602
|
}
|
|
558
603
|
if (deleted.length === 0) {
|
|
559
604
|
if (invalidRequest || !failures) {
|
|
560
|
-
httpError(response, 400, 'Bad Request');
|
|
605
|
+
httpError(response, 400, 'Bad Request', lastException);
|
|
606
|
+
}
|
|
607
|
+
else if (notfound) {
|
|
608
|
+
httpError(response, 404, 'Not Found');
|
|
561
609
|
}
|
|
562
610
|
else {
|
|
563
611
|
httpError(response, 500, 'Internal Server Error', lastException);
|
|
@@ -620,7 +668,7 @@ function createServer(nymph) {
|
|
|
620
668
|
guid: `${entityData['guid']}`,
|
|
621
669
|
});
|
|
622
670
|
if (entity === null) {
|
|
623
|
-
throw new Error(
|
|
671
|
+
throw new Error(NOT_FOUND_ERROR);
|
|
624
672
|
}
|
|
625
673
|
}
|
|
626
674
|
else {
|
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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"}
|
package/dist/index.test.js
CHANGED
|
@@ -214,6 +214,35 @@ describe('Nymph REST Server and Client', () => {
|
|
|
214
214
|
expect(entity.guid).not.toBeNull();
|
|
215
215
|
});
|
|
216
216
|
}));
|
|
217
|
+
it('get entity counts', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
218
|
+
for (let i = 0; i < 20; i++) {
|
|
219
|
+
yield createJane();
|
|
220
|
+
}
|
|
221
|
+
const result = yield nymph.getEntities({ class: testArtifacts_1.Employee });
|
|
222
|
+
const resultCount = yield nymph.getEntities({
|
|
223
|
+
class: testArtifacts_1.Employee,
|
|
224
|
+
return: 'count',
|
|
225
|
+
});
|
|
226
|
+
expect(resultCount).toBeGreaterThanOrEqual(1);
|
|
227
|
+
expect(resultCount).toEqual(result.length);
|
|
228
|
+
const resultSelectors = yield nymph.getEntities({ class: testArtifacts_1.Employee }, { type: '&', equal: ['name', 'Jane Doe'] });
|
|
229
|
+
const resultSelectorsCount = yield nymph.getEntities({ class: testArtifacts_1.Employee, return: 'count' }, { type: '&', equal: ['name', 'Jane Doe'] });
|
|
230
|
+
expect(resultSelectorsCount).toBeGreaterThanOrEqual(1);
|
|
231
|
+
expect(resultSelectorsCount).toEqual(resultSelectors.length);
|
|
232
|
+
const resultSelectorsLimit = yield nymph.getEntities({
|
|
233
|
+
class: testArtifacts_1.Employee,
|
|
234
|
+
limit: 1,
|
|
235
|
+
return: 'count',
|
|
236
|
+
});
|
|
237
|
+
expect(resultSelectorsLimit).toEqual(1);
|
|
238
|
+
const resultSelectorsSingle = yield nymph.getEntity({
|
|
239
|
+
class: testArtifacts_1.Employee,
|
|
240
|
+
return: 'count',
|
|
241
|
+
});
|
|
242
|
+
expect(resultSelectorsSingle).toEqual(1);
|
|
243
|
+
const resultSelectorsEmpty = yield nymph.getEntities({ class: testArtifacts_1.Employee, return: 'count' }, { type: '&', tag: 'pickle' });
|
|
244
|
+
expect(resultSelectorsEmpty).toEqual(0);
|
|
245
|
+
}));
|
|
217
246
|
it('get entity GUIDs', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
218
247
|
for (let i = 0; i < 4; i++) {
|
|
219
248
|
yield createJane();
|
|
@@ -224,7 +253,7 @@ describe('Nymph REST Server and Client', () => {
|
|
|
224
253
|
return: 'guid',
|
|
225
254
|
}, {
|
|
226
255
|
type: '&',
|
|
227
|
-
tag:
|
|
256
|
+
tag: 'employee',
|
|
228
257
|
});
|
|
229
258
|
expect(entities.length).toEqual(4);
|
|
230
259
|
entities.forEach((guid) => {
|
package/dist/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.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-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.40",
|
|
4
4
|
"description": "NymphJS - REST Server",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -31,21 +31,21 @@
|
|
|
31
31
|
},
|
|
32
32
|
"license": "Apache-2.0",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@nymphjs/nymph": "^1.0.0-alpha.
|
|
35
|
-
"cookie-parser": "^1.4.
|
|
36
|
-
"express": "^4.17.
|
|
34
|
+
"@nymphjs/nymph": "^1.0.0-alpha.40",
|
|
35
|
+
"cookie-parser": "^1.4.6",
|
|
36
|
+
"express": "^4.17.2"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@nymphjs/client": "^1.0.0-alpha.
|
|
40
|
-
"@nymphjs/client-node": "^1.0.0-alpha.
|
|
41
|
-
"@nymphjs/driver-sqlite3": "^1.0.0-alpha.
|
|
39
|
+
"@nymphjs/client": "^1.0.0-alpha.40",
|
|
40
|
+
"@nymphjs/client-node": "^1.0.0-alpha.40",
|
|
41
|
+
"@nymphjs/driver-sqlite3": "^1.0.0-alpha.40",
|
|
42
42
|
"@tsconfig/recommended": "^1.0.1",
|
|
43
43
|
"@types/cookie-parser": "^1.4.2",
|
|
44
44
|
"@types/express": "^4.17.13",
|
|
45
|
-
"@types/jest": "^27.0
|
|
46
|
-
"jest": "^27.
|
|
47
|
-
"ts-jest": "^27.
|
|
48
|
-
"typescript": "^4.
|
|
45
|
+
"@types/jest": "^27.4.0",
|
|
46
|
+
"jest": "^27.4.7",
|
|
47
|
+
"ts-jest": "^27.1.2",
|
|
48
|
+
"typescript": "^4.5.4"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "adb06997bb35778bfc93f147098eca46b6c7690a"
|
|
51
51
|
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import express from 'express';
|
|
2
|
+
import SQLite3Driver from '@nymphjs/driver-sqlite3';
|
|
3
|
+
import { Nymph as NymphServer } from '@nymphjs/nymph';
|
|
4
|
+
import { Nymph } from '@nymphjs/client-node';
|
|
5
|
+
|
|
6
|
+
import createServer from './index';
|
|
7
|
+
import { EmployeeModel, Employee } from './testArtifacts';
|
|
8
|
+
|
|
9
|
+
const sqliteConfig = {
|
|
10
|
+
filename: ':memory:',
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const nymphServer = new NymphServer({}, new SQLite3Driver(sqliteConfig));
|
|
14
|
+
nymphServer.addEntityClass(EmployeeModel);
|
|
15
|
+
|
|
16
|
+
const app = express();
|
|
17
|
+
app.use('/test', createServer(nymphServer));
|
|
18
|
+
const server = app.listen(5081);
|
|
19
|
+
|
|
20
|
+
const nymph = new Nymph({
|
|
21
|
+
restUrl: 'http://localhost:5081/test/',
|
|
22
|
+
weakCache: true,
|
|
23
|
+
});
|
|
24
|
+
nymph.addEntityClass(Employee);
|
|
25
|
+
|
|
26
|
+
describe('Nymph REST Server and Client with Client Weak Ref Cache', () => {
|
|
27
|
+
async function createJane() {
|
|
28
|
+
const jane = await Employee.factory();
|
|
29
|
+
jane.name = 'Jane Doe';
|
|
30
|
+
jane.current = true;
|
|
31
|
+
jane.salary = 8000000;
|
|
32
|
+
jane.startDate = Date.now();
|
|
33
|
+
jane.subordinates = [];
|
|
34
|
+
jane.title = 'Seniorer Person';
|
|
35
|
+
try {
|
|
36
|
+
await jane.$save();
|
|
37
|
+
} catch (e: any) {
|
|
38
|
+
console.error('Error creating entity: ', e);
|
|
39
|
+
throw e;
|
|
40
|
+
}
|
|
41
|
+
return jane;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
it('change an entity and check weakCache', async () => {
|
|
45
|
+
// @ts-ignore TS doesn't know about WeakRef.
|
|
46
|
+
if (typeof WeakRef === 'undefined') {
|
|
47
|
+
throw new Error(
|
|
48
|
+
'You must run this test in an environment that includes WeakRef.'
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const employee = await createJane();
|
|
53
|
+
|
|
54
|
+
if (employee.guid == null) {
|
|
55
|
+
throw new Error('Entity is null.');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const checkA = await Employee.factory(employee.guid);
|
|
59
|
+
const checkB = await nymph.getEntity(
|
|
60
|
+
{ class: Employee },
|
|
61
|
+
{ type: '&', guid: employee.guid }
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
if (!checkB) {
|
|
65
|
+
throw new Error("Couldn't fetch entity.");
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
employee.current = false;
|
|
69
|
+
|
|
70
|
+
expect(checkA.current).toEqual(false);
|
|
71
|
+
expect(checkB.current).toEqual(false);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
afterAll(() => {
|
|
75
|
+
server.close(); // avoid jest open handle error
|
|
76
|
+
});
|
|
77
|
+
});
|
package/src/index.test.ts
CHANGED
|
@@ -258,6 +258,57 @@ describe('Nymph REST Server and Client', () => {
|
|
|
258
258
|
});
|
|
259
259
|
});
|
|
260
260
|
|
|
261
|
+
it('get entity counts', async () => {
|
|
262
|
+
for (let i = 0; i < 20; i++) {
|
|
263
|
+
await createJane();
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
const result = await nymph.getEntities({ class: Employee });
|
|
267
|
+
|
|
268
|
+
// Testing count return...
|
|
269
|
+
const resultCount = await nymph.getEntities({
|
|
270
|
+
class: Employee,
|
|
271
|
+
return: 'count',
|
|
272
|
+
});
|
|
273
|
+
expect(resultCount).toBeGreaterThanOrEqual(1);
|
|
274
|
+
expect(resultCount).toEqual(result.length);
|
|
275
|
+
|
|
276
|
+
const resultSelectors = await nymph.getEntities(
|
|
277
|
+
{ class: Employee },
|
|
278
|
+
{ type: '&', equal: ['name', 'Jane Doe'] }
|
|
279
|
+
);
|
|
280
|
+
|
|
281
|
+
// Testing count return with selectors...
|
|
282
|
+
const resultSelectorsCount = await nymph.getEntities(
|
|
283
|
+
{ class: Employee, return: 'count' },
|
|
284
|
+
{ type: '&', equal: ['name', 'Jane Doe'] }
|
|
285
|
+
);
|
|
286
|
+
expect(resultSelectorsCount).toBeGreaterThanOrEqual(1);
|
|
287
|
+
expect(resultSelectorsCount).toEqual(resultSelectors.length);
|
|
288
|
+
|
|
289
|
+
// Testing count return with limit...
|
|
290
|
+
const resultSelectorsLimit = await nymph.getEntities({
|
|
291
|
+
class: Employee,
|
|
292
|
+
limit: 1,
|
|
293
|
+
return: 'count',
|
|
294
|
+
});
|
|
295
|
+
expect(resultSelectorsLimit).toEqual(1);
|
|
296
|
+
|
|
297
|
+
// Testing count return with limit...
|
|
298
|
+
const resultSelectorsSingle = await nymph.getEntity({
|
|
299
|
+
class: Employee,
|
|
300
|
+
return: 'count',
|
|
301
|
+
});
|
|
302
|
+
expect(resultSelectorsSingle).toEqual(1);
|
|
303
|
+
|
|
304
|
+
// Testing empty count...
|
|
305
|
+
const resultSelectorsEmpty = await nymph.getEntities(
|
|
306
|
+
{ class: Employee, return: 'count' },
|
|
307
|
+
{ type: '&', tag: 'pickle' }
|
|
308
|
+
);
|
|
309
|
+
expect(resultSelectorsEmpty).toEqual(0);
|
|
310
|
+
});
|
|
311
|
+
|
|
261
312
|
it('get entity GUIDs', async () => {
|
|
262
313
|
for (let i = 0; i < 4; i++) {
|
|
263
314
|
await createJane();
|
|
@@ -271,7 +322,7 @@ describe('Nymph REST Server and Client', () => {
|
|
|
271
322
|
},
|
|
272
323
|
{
|
|
273
324
|
type: '&',
|
|
274
|
-
tag:
|
|
325
|
+
tag: 'employee',
|
|
275
326
|
}
|
|
276
327
|
);
|
|
277
328
|
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { OptionsJson } from 'body-parser';
|
|
1
2
|
import express, { NextFunction, Request, Response } from 'express';
|
|
2
3
|
import cookieParser from 'cookie-parser';
|
|
3
4
|
import {
|
|
@@ -11,11 +12,16 @@ import {
|
|
|
11
12
|
EntityReference,
|
|
12
13
|
InvalidParametersError,
|
|
13
14
|
TilmeldAccessLevels,
|
|
15
|
+
classNamesToEntityConstructors,
|
|
16
|
+
Options,
|
|
17
|
+
Selector,
|
|
14
18
|
} from '@nymphjs/nymph';
|
|
15
19
|
import { EntityInvalidDataError } from '@nymphjs/nymph';
|
|
16
20
|
|
|
17
21
|
type NymphResponse = Response<any, { nymph: Nymph }>;
|
|
18
22
|
|
|
23
|
+
const NOT_FOUND_ERROR = 'Entity is not found.';
|
|
24
|
+
|
|
19
25
|
/**
|
|
20
26
|
* A REST server middleware creator for Nymph.
|
|
21
27
|
*
|
|
@@ -25,10 +31,13 @@ type NymphResponse = Response<any, { nymph: Nymph }>;
|
|
|
25
31
|
* @copyright SciActive Inc
|
|
26
32
|
* @see http://nymph.io/
|
|
27
33
|
*/
|
|
28
|
-
export default function createServer(
|
|
34
|
+
export default function createServer(
|
|
35
|
+
nymph: Nymph,
|
|
36
|
+
{ jsonOptions = {} }: { jsonOptions?: OptionsJson } = {}
|
|
37
|
+
) {
|
|
29
38
|
const rest = express();
|
|
30
39
|
rest.use(cookieParser());
|
|
31
|
-
rest.use(express.json());
|
|
40
|
+
rest.use(express.json(jsonOptions || {}));
|
|
32
41
|
|
|
33
42
|
function instantiateNymph(
|
|
34
43
|
_request: Request,
|
|
@@ -125,6 +134,7 @@ export default function createServer(nymph: Nymph) {
|
|
|
125
134
|
httpError(response, 400, 'Bad Request');
|
|
126
135
|
return;
|
|
127
136
|
}
|
|
137
|
+
let [options, ...selectors] = data as [Options, ...Selector[]];
|
|
128
138
|
let EntityClass;
|
|
129
139
|
try {
|
|
130
140
|
EntityClass = response.locals.nymph.getEntityClass(data[0].class);
|
|
@@ -132,23 +142,31 @@ export default function createServer(nymph: Nymph) {
|
|
|
132
142
|
httpError(response, 400, 'Bad Request', e);
|
|
133
143
|
return;
|
|
134
144
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
145
|
+
options.class = EntityClass;
|
|
146
|
+
options.source = 'client';
|
|
147
|
+
options.skipAc = false;
|
|
148
|
+
selectors = classNamesToEntityConstructors(
|
|
149
|
+
response.locals.nymph,
|
|
150
|
+
selectors
|
|
151
|
+
);
|
|
138
152
|
let result:
|
|
139
153
|
| EntityInterface
|
|
140
154
|
| EntityInterface[]
|
|
141
155
|
| string
|
|
142
156
|
| string[]
|
|
157
|
+
| number
|
|
143
158
|
| null;
|
|
144
159
|
try {
|
|
145
160
|
if (action === 'entity') {
|
|
146
161
|
result = await response.locals.nymph.getEntity(
|
|
147
|
-
|
|
148
|
-
...
|
|
162
|
+
options,
|
|
163
|
+
...selectors
|
|
149
164
|
);
|
|
150
165
|
} else {
|
|
151
|
-
result = await response.locals.nymph.getEntities(
|
|
166
|
+
result = await response.locals.nymph.getEntities(
|
|
167
|
+
options,
|
|
168
|
+
...selectors
|
|
169
|
+
);
|
|
152
170
|
}
|
|
153
171
|
} catch (e: any) {
|
|
154
172
|
httpError(response, 500, 'Internal Server Error', e);
|
|
@@ -220,6 +238,7 @@ export default function createServer(nymph: Nymph) {
|
|
|
220
238
|
let hadSuccess = false;
|
|
221
239
|
let invalidRequest = false;
|
|
222
240
|
let conflict = false;
|
|
241
|
+
let notfound = false;
|
|
223
242
|
let lastException = null;
|
|
224
243
|
for (let entData of data) {
|
|
225
244
|
if (entData.guid) {
|
|
@@ -233,6 +252,8 @@ export default function createServer(nymph: Nymph) {
|
|
|
233
252
|
} catch (e: any) {
|
|
234
253
|
if (e instanceof EntityConflictError) {
|
|
235
254
|
conflict = true;
|
|
255
|
+
} else if (e.message === NOT_FOUND_ERROR) {
|
|
256
|
+
notfound = true;
|
|
236
257
|
} else if (e instanceof InvalidParametersError) {
|
|
237
258
|
invalidRequest = true;
|
|
238
259
|
lastException = e;
|
|
@@ -270,6 +291,9 @@ export default function createServer(nymph: Nymph) {
|
|
|
270
291
|
} else if (conflict) {
|
|
271
292
|
httpError(response, 409, 'Conflict');
|
|
272
293
|
return;
|
|
294
|
+
} else if (notfound) {
|
|
295
|
+
httpError(response, 404, 'Not Found');
|
|
296
|
+
return;
|
|
273
297
|
} else {
|
|
274
298
|
httpError(response, 500, 'Internal Server Error', lastException);
|
|
275
299
|
return;
|
|
@@ -335,6 +359,8 @@ export default function createServer(nymph: Nymph) {
|
|
|
335
359
|
} catch (e: any) {
|
|
336
360
|
if (e instanceof EntityConflictError) {
|
|
337
361
|
httpError(response, 409, 'Conflict');
|
|
362
|
+
} else if (e.message === NOT_FOUND_ERROR) {
|
|
363
|
+
httpError(response, 404, 'Not Found', e);
|
|
338
364
|
} else if (e instanceof InvalidParametersError) {
|
|
339
365
|
httpError(response, 400, 'Bad Request', e);
|
|
340
366
|
} else {
|
|
@@ -498,10 +524,13 @@ export default function createServer(nymph: Nymph) {
|
|
|
498
524
|
} catch (e: any) {
|
|
499
525
|
if (e instanceof EntityConflictError) {
|
|
500
526
|
conflict = true;
|
|
501
|
-
}
|
|
502
|
-
|
|
527
|
+
} else if (e.message === NOT_FOUND_ERROR) {
|
|
528
|
+
notfound = true;
|
|
529
|
+
} else if (e instanceof InvalidParametersError) {
|
|
503
530
|
invalidRequest = true;
|
|
504
531
|
lastException = e;
|
|
532
|
+
} else {
|
|
533
|
+
lastException = e;
|
|
505
534
|
}
|
|
506
535
|
saved.push(null);
|
|
507
536
|
continue;
|
|
@@ -563,30 +592,56 @@ export default function createServer(nymph: Nymph) {
|
|
|
563
592
|
}
|
|
564
593
|
const deleted = [];
|
|
565
594
|
let failures = false;
|
|
595
|
+
let hadSuccess = false;
|
|
566
596
|
let invalidRequest = false;
|
|
597
|
+
let notfound = false;
|
|
567
598
|
let lastException = null;
|
|
568
|
-
for (let
|
|
599
|
+
for (let entData of data) {
|
|
600
|
+
if (entData.guid && entData.guid.length != 24) {
|
|
601
|
+
invalidRequest = true;
|
|
602
|
+
continue;
|
|
603
|
+
}
|
|
604
|
+
let EntityClass: EntityConstructor;
|
|
569
605
|
try {
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
606
|
+
EntityClass = response.locals.nymph.getEntityClass(entData.class);
|
|
607
|
+
} catch (e: any) {
|
|
608
|
+
invalidRequest = true;
|
|
609
|
+
failures = true;
|
|
610
|
+
continue;
|
|
611
|
+
}
|
|
612
|
+
let entity: EntityInterface | null;
|
|
613
|
+
try {
|
|
614
|
+
entity = await response.locals.nymph.getEntity(
|
|
615
|
+
{ class: EntityClass },
|
|
616
|
+
{ type: '&', guid: entData.guid }
|
|
617
|
+
);
|
|
618
|
+
} catch (e: any) {
|
|
619
|
+
lastException = e;
|
|
620
|
+
failures = true;
|
|
621
|
+
continue;
|
|
622
|
+
}
|
|
623
|
+
if (!entity) {
|
|
624
|
+
notfound = true;
|
|
625
|
+
failures = true;
|
|
626
|
+
continue;
|
|
627
|
+
}
|
|
628
|
+
try {
|
|
629
|
+
if (await entity.$delete()) {
|
|
630
|
+
deleted.push(entData.guid);
|
|
631
|
+
hadSuccess = true;
|
|
579
632
|
} else {
|
|
580
633
|
failures = true;
|
|
581
634
|
}
|
|
582
635
|
} catch (e: any) {
|
|
583
|
-
failures = true;
|
|
584
636
|
lastException = e;
|
|
637
|
+
failures = true;
|
|
585
638
|
}
|
|
586
639
|
}
|
|
587
640
|
if (deleted.length === 0) {
|
|
588
641
|
if (invalidRequest || !failures) {
|
|
589
|
-
httpError(response, 400, 'Bad Request');
|
|
642
|
+
httpError(response, 400, 'Bad Request', lastException);
|
|
643
|
+
} else if (notfound) {
|
|
644
|
+
httpError(response, 404, 'Not Found');
|
|
590
645
|
} else {
|
|
591
646
|
httpError(response, 500, 'Internal Server Error', lastException);
|
|
592
647
|
}
|
|
@@ -662,7 +717,7 @@ export default function createServer(nymph: Nymph) {
|
|
|
662
717
|
}
|
|
663
718
|
);
|
|
664
719
|
if (entity === null) {
|
|
665
|
-
throw new Error(
|
|
720
|
+
throw new Error(NOT_FOUND_ERROR);
|
|
666
721
|
}
|
|
667
722
|
} else {
|
|
668
723
|
entity = await EntityClass.factory();
|