@nymphjs/server 1.0.0-alpha.4 → 1.0.0-alpha.42

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,175 @@
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.42](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.41...v1.0.0-alpha.42) (2022-03-06)
7
+
8
+ **Note:** Version bump only for package @nymphjs/server
9
+
10
+ # [1.0.0-alpha.41](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.40...v1.0.0-alpha.41) (2022-03-06)
11
+
12
+ **Note:** Version bump only for package @nymphjs/server
13
+
14
+ # [1.0.0-alpha.40](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2022-03-05)
15
+
16
+ **Note:** Version bump only for package @nymphjs/server
17
+
18
+ # [1.0.0-alpha.39](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2022-03-05)
19
+
20
+ **Note:** Version bump only for package @nymphjs/server
21
+
22
+ # [1.0.0-alpha.38](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2022-02-10)
23
+
24
+ **Note:** Version bump only for package @nymphjs/server
25
+
26
+ # [1.0.0-alpha.37](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2022-02-02)
27
+
28
+ **Note:** Version bump only for package @nymphjs/server
29
+
30
+ # [1.0.0-alpha.36](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2022-01-26)
31
+
32
+ ### Features
33
+
34
+ - entity count return option ([f1e34e8](https://github.com/sciactive/nymphjs/commit/f1e34e8f74d9fdda58989fc101f4381243a86ec3))
35
+ - support subscribing to queries with qref in pubsub server ([6d9a0af](https://github.com/sciactive/nymphjs/commit/6d9a0afea653ae00130c47087b21d87c5666d229))
36
+
37
+ # [1.0.0-alpha.35](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2022-01-19)
38
+
39
+ **Note:** Version bump only for package @nymphjs/server
40
+
41
+ # [1.0.0-alpha.34](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2022-01-08)
42
+
43
+ **Note:** Version bump only for package @nymphjs/server
44
+
45
+ # [1.0.0-alpha.33](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2022-01-08)
46
+
47
+ **Note:** Version bump only for package @nymphjs/server
48
+
49
+ # [1.0.0-alpha.32](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2022-01-08)
50
+
51
+ **Note:** Version bump only for package @nymphjs/server
52
+
53
+ # [1.0.0-alpha.31](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2022-01-08)
54
+
55
+ **Note:** Version bump only for package @nymphjs/server
56
+
57
+ # [1.0.0-alpha.30](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2022-01-07)
58
+
59
+ **Note:** Version bump only for package @nymphjs/server
60
+
61
+ # [1.0.0-alpha.29](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2022-01-07)
62
+
63
+ **Note:** Version bump only for package @nymphjs/server
64
+
65
+ # [1.0.0-alpha.28](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.27...v1.0.0-alpha.28) (2022-01-07)
66
+
67
+ **Note:** Version bump only for package @nymphjs/server
68
+
69
+ # [1.0.0-alpha.27](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2022-01-05)
70
+
71
+ ### Features
72
+
73
+ - update smui to latest versions ([7ed7bd3](https://github.com/sciactive/nymphjs/commit/7ed7bd34d01a155c7001a2671de25ef2f3363682))
74
+
75
+ # [1.0.0-alpha.26](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2021-12-30)
76
+
77
+ ### Features
78
+
79
+ - add json options rest server option ([35cbff4](https://github.com/sciactive/nymphjs/commit/35cbff4b8dbc3e112604119efe05b813f5948dff))
80
+
81
+ # [1.0.0-alpha.25](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2021-12-30)
82
+
83
+ **Note:** Version bump only for package @nymphjs/server
84
+
85
+ # [1.0.0-alpha.24](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2021-12-30)
86
+
87
+ **Note:** Version bump only for package @nymphjs/server
88
+
89
+ # [1.0.0-alpha.23](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2021-12-30)
90
+
91
+ ### Features
92
+
93
+ - add optional weakly referenced cache to client lib ([fbb184c](https://github.com/sciactive/nymphjs/commit/fbb184c6a721968bb92cc9b05c328594618554ed))
94
+
95
+ # [1.0.0-alpha.22](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2021-12-14)
96
+
97
+ ### Features
98
+
99
+ - update smui to latest versions ([912873b](https://github.com/sciactive/nymphjs/commit/912873b863d1ae5d51c359a3c0558bff38ce85cd))
100
+
101
+ # [1.0.0-alpha.21](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2021-11-29)
102
+
103
+ **Note:** Version bump only for package @nymphjs/server
104
+
105
+ # [1.0.0-alpha.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2021-11-24)
106
+
107
+ **Note:** Version bump only for package @nymphjs/server
108
+
109
+ # [1.0.0-alpha.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2021-11-18)
110
+
111
+ ### Features
112
+
113
+ - update smui and other packages to latest versions ([2465340](https://github.com/sciactive/nymphjs/commit/24653400d887bc04c41c3c4ee0c73ce2f2289e0d))
114
+
115
+ # [1.0.0-alpha.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2021-11-09)
116
+
117
+ **Note:** Version bump only for package @nymphjs/server
118
+
119
+ # [1.0.0-alpha.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2021-10-14)
120
+
121
+ **Note:** Version bump only for package @nymphjs/server
122
+
123
+ # [1.0.0-alpha.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2021-10-14)
124
+
125
+ ### Bug Fixes
126
+
127
+ - don't ignore built files in npm packages ([7d688db](https://github.com/sciactive/nymphjs/commit/7d688dbec362f1f71fb451a1d0dbcaecc15d99fc))
128
+
129
+ # [1.0.0-alpha.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2021-10-14)
130
+
131
+ **Note:** Version bump only for package @nymphjs/server
132
+
133
+ # [1.0.0-alpha.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2021-10-14)
134
+
135
+ **Note:** Version bump only for package @nymphjs/server
136
+
137
+ # [1.0.0-alpha.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2021-10-14)
138
+
139
+ **Note:** Version bump only for package @nymphjs/server
140
+
141
+ # [1.0.0-alpha.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2021-10-13)
142
+
143
+ **Note:** Version bump only for package @nymphjs/server
144
+
145
+ # [1.0.0-alpha.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2021-10-13)
146
+
147
+ **Note:** Version bump only for package @nymphjs/server
148
+
149
+ # [1.0.0-alpha.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2021-10-12)
150
+
151
+ **Note:** Version bump only for package @nymphjs/server
152
+
153
+ # [1.0.0-alpha.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2021-10-12)
154
+
155
+ **Note:** Version bump only for package @nymphjs/server
156
+
157
+ # [1.0.0-alpha.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2021-10-12)
158
+
159
+ ### Bug Fixes
160
+
161
+ - server not running potentially important delete functions ([ce7521d](https://github.com/sciactive/nymphjs/commit/ce7521d89ca655f72f6842abf25c2817ce7b1513))
162
+
163
+ # [1.0.0-alpha.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2021-10-05)
164
+
165
+ **Note:** Version bump only for package @nymphjs/server
166
+
167
+ # [1.0.0-alpha.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2021-10-05)
168
+
169
+ **Note:** Version bump only for package @nymphjs/server
170
+
171
+ # [1.0.0-alpha.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2021-09-30)
172
+
173
+ **Note:** Version bump only for package @nymphjs/server
174
+
6
175
  # [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
176
 
8
177
  ### 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): import("express-serve-static-core").Express;
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
- function createServer(nymph) {
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
- data[0].class = EntityClass;
109
- data[0].source = 'client';
110
- data[0].skipAc = false;
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(data[0], ...data.slice(1));
117
+ result = yield response.locals.nymph.getEntity(options, ...selectors);
115
118
  }
116
119
  else {
117
- result = yield response.locals.nymph.getEntities(...data);
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 instanceof nymph_1.InvalidParametersError) {
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 delEnt of data) {
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
- const guid = delEnt.guid;
542
- if (!delEnt.guid) {
543
- invalidRequest = true;
544
- continue;
545
- }
546
- if (yield response.locals.nymph.deleteEntityByID(guid, delEnt.class)) {
547
- deleted.push(guid);
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('Entity is not found.');
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":";;;;;;;;;;;;;;AAAA,sDAAmE;AACnE,kEAAyC;AACzC,0CAWwB;AACxB,0CAAwD;AAaxD,SAAwB,YAAY,CAAC,KAAY;IAC/C,MAAM,IAAI,GAAG,IAAA,iBAAO,GAAE,CAAC;IACvB,IAAI,CAAC,GAAG,CAAC,IAAA,uBAAY,GAAE,CAAC,CAAC;IACzB,IAAI,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEzB,SAAS,gBAAgB,CACvB,QAAiB,EACjB,QAAuB,EACvB,IAAkB;QAElB,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,EAAE,CAAC;IACT,CAAC;IAED,SAAS,mBAAmB,CAC1B,OAAgB,EAChB,QAAuB,EACvB,IAAkB;QAElB,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;YACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAChD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAClD,IAAI;gBACF,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;aAC9C;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;gBACrD,OAAO;aACR;SACF;QACD,IAAI,EAAE,CAAC;IACT,CAAC;IAED,SAAS,qBAAqB,CAC5B,QAAiB,EACjB,QAAuB,EACvB,IAAkB;QAElB,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;YACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YAC7C,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC9C,IAAI;gBACF,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;aAC9C;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;gBACrD,OAAO;aACR;SACF;QACD,IAAI,EAAE,CAAC;IACT,CAAC;IAED,SAAS,aAAa,CAAC,OAAgB;;QACrC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YAC5B,IACE,OAAO,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,MAAM,CAAA,KAAK,QAAQ;gBACzC,OAAO,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,CAAA,KAAK,QAAQ,EACvC;gBACA,OAAO;oBACL,MAAM,EAAE,EAAE;oBACV,IAAI,EAAE,EAAE;iBACT,CAAC;aACH;YACD,OAAO;gBACL,MAAM,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAI,EAAE;gBAC9C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;aACrC,CAAC;SACH;aAAM;YACL,OAAO;gBACL,MAAM,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,MAAM,mCAAI,EAAE;gBACjC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;aACxB,CAAC;SACH;IACH,CAAC;IAGD,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAG3B,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAE9B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAO,OAAO,EAAE,QAAuB,EAAE,EAAE;QACvD,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACxD,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;gBACxC,OAAO;aACR;YACD,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACxB,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;oBACxC,OAAO;iBACR;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC1B,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;oBAC5C,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;oBACxC,OAAO;iBACR;gBACD,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;oBACzB,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;oBACxC,OAAO;iBACR;gBACD,IAAI,WAAW,CAAC;gBAChB,IAAI;oBACF,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBACnE;gBAAC,OAAO,CAAM,EAAE;oBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;oBAC3C,OAAO;iBACR;gBACD,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,WAAW,CAAC;gBAC5B,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC1B,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;gBACvB,IAAI,MAKI,CAAC;gBACT,IAAI;oBACF,IAAI,MAAM,KAAK,QAAQ,EAAE;wBACvB,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAC5C,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACjB,CAAC;qBACH;yBAAM;wBACL,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;qBAC3D;iBACF;gBAAC,OAAO,CAAM,EAAE;oBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;oBACrD,OAAO;iBACR;gBACD,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,IAAI,IAAI,EAAE;oBACnC,IACE,MAAM,KAAK,QAAQ;wBACnB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAC3C;wBACA,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;wBACtC,OAAO;qBACR;iBACF;gBACD,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;gBACvD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;aACvC;iBAAM;gBACL,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;oBACxC,OAAO;iBACR;gBACD,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBACjC,IACE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CACtD,IAAI,EACJ,2BAAmB,CAAC,WAAW,CAChC,EACD;wBACA,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;wBACtC,OAAO;qBACR;iBACF;gBACD,IAAI,MAAqB,CAAC;gBAC1B,IAAI;oBACF,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAM,EAAE;oBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;oBACrD,OAAO;iBACR;gBACD,IAAI,MAAM,KAAK,IAAI,EAAE;oBACnB,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;oBACtC,OAAO;iBACR;qBAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBACrC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;oBAClD,OAAO;iBACR;gBACD,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;aAC5B;SACF;QAAC,OAAO,CAAM,EAAE;YACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO;SACR;IACH,CAAC,CAAA,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAO,OAAO,EAAE,QAAuB,EAAE,EAAE;QACxD,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,IAAI,GAAG,SAAS,CAAC;YACrB,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBAClE,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;gBACxC,OAAO;aACR;YACD,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACjD,IAAI,MAAM,KAAK,QAAQ,EAAE;oBACvB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;iBACf;gBACD,MAAM,OAAO,GAAG,EAAE,CAAC;gBACnB,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,IAAI,aAAa,GAAG,IAAI,CAAC;gBACzB,KAAK,IAAI,OAAO,IAAI,IAAI,EAAE;oBACxB,IAAI,OAAO,CAAC,IAAI,EAAE;wBAChB,cAAc,GAAG,IAAI,CAAC;wBACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACnB,SAAS;qBACV;oBACD,IAAI,MAAuB,CAAC;oBAC5B,IAAI;wBACF,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;qBAC3D;oBAAC,OAAO,CAAM,EAAE;wBACf,IAAI,CAAC,YAAY,2BAAmB,EAAE;4BACpC,QAAQ,GAAG,IAAI,CAAC;yBACjB;6BAAM,IAAI,CAAC,YAAY,8BAAsB,EAAE;4BAC9C,cAAc,GAAG,IAAI,CAAC;4BACtB,aAAa,GAAG,CAAC,CAAC;yBACnB;6BAAM;4BACL,aAAa,GAAG,CAAC,CAAC;yBACnB;wBACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACnB,SAAS;qBACV;oBACD,IAAI,CAAC,MAAM,EAAE;wBACX,cAAc,GAAG,IAAI,CAAC;wBACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACnB,SAAS;qBACV;oBACD,IAAI;wBACF,IAAI,MAAM,MAAM,CAAC,KAAK,EAAE,EAAE;4BACxB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACrB,UAAU,GAAG,IAAI,CAAC;yBACnB;6BAAM;4BACL,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;yBACrB;qBACF;oBAAC,OAAO,CAAM,EAAE;wBACf,IAAI,CAAC,YAAY,8BAAsB,EAAE;4BACvC,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,aAAa,GAAG,CAAC,CAAC;yBACnB;wBACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACpB;iBACF;gBACD,IAAI,CAAC,UAAU,EAAE;oBACf,IAAI,cAAc,EAAE;wBAClB,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;wBACvD,OAAO;qBACR;yBAAM,IAAI,QAAQ,EAAE;wBACnB,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;wBACrC,OAAO;qBACR;yBAAM;wBACL,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,aAAa,CAAC,CAAC;wBACjE,OAAO;qBACR;iBACF;gBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;gBACvD,IAAI,MAAM,KAAK,QAAQ,EAAE;oBACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3C;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACxB;aACF;iBAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;gBAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAC/B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;oBACxC,OAAO;iBACR;gBACD,MAAM,MAAM,GAAG,oBAAoB,CACjC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAChB,QAAQ,CAAC,MAAM,CAAC,KAAK,CACtB,CAAC;gBACF,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,IAAI,WAA8B,CAAC;oBACnC,IAAI;wBACF,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBAChE;oBAAC,OAAO,CAAM,EAAE;wBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;wBACxC,OAAO;qBACR;oBACD,IACE,WAAW,CAAC,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAClE;wBACA,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;wBACtC,OAAO;qBACR;oBACD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,EAAE;wBACjC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;wBACxC,OAAO;qBACR;oBAED,MAAM,MAAM,GAAa,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAClD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;wBAChC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;wBACxC,OAAO;qBACR;oBACD,IAAI;wBACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;wBACnD,IAAI,GAAG,GAAG,MAAM,CAAC;wBACjB,IAAI,MAAM,YAAY,OAAO,EAAE;4BAC7B,GAAG,GAAG,MAAM,MAAM,CAAC;yBACpB;wBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACrB,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;wBACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;qBAChC;oBAAC,OAAO,CAAM,EAAE;wBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;wBACrD,OAAO;qBACR;iBACF;qBAAM;oBACL,IAAI,MAAuB,CAAC;oBAC5B,IAAI;wBACF,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;qBAC/D;oBAAC,OAAO,CAAM,EAAE;wBACf,IAAI,CAAC,YAAY,2BAAmB,EAAE;4BACpC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;yBACtC;6BAAM,IAAI,CAAC,YAAY,8BAAsB,EAAE;4BAC9C,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;yBAC5C;6BAAM;4BACL,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;yBACtD;wBACD,OAAO;qBACR;oBACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;wBACpC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;wBACxC,OAAO;qBACR;oBACD,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;wBACjE,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;wBACtC,OAAO;qBACR;oBACD,IACE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;wBACxB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,UAAU,EACzC;wBACA,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;wBACxC,OAAO;qBACR;oBACD,IAAI;wBACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;wBAC9C,IAAI,GAAG,GAAG,MAAM,CAAC;wBACjB,IAAI,MAAM,YAAY,OAAO,EAAE;4BAC7B,GAAG,GAAG,MAAM,MAAM,CAAC;yBACpB;wBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACrB,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;wBACvD,IAAI,IAAI,CAAC,SAAS,EAAE;4BAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;yBAChC;6BAAM;4BACL,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;yBAChD;qBACF;oBAAC,OAAO,CAAM,EAAE;wBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;wBACrD,OAAO;qBACR;iBACF;aACF;iBAAM;gBACL,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;oBACxC,OAAO;iBACR;gBACD,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBACjC,IACE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CACtD,IAAI,EACJ,2BAAmB,CAAC,YAAY,CACjC,EACD;wBACA,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;wBACtC,OAAO;qBACR;iBACF;gBACD,IAAI,MAAqB,CAAC;gBAC1B,IAAI;oBACF,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAM,EAAE;oBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;oBACrD,OAAO;iBACR;gBACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBAC9B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;oBAClD,OAAO;iBACR;gBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;aAC5B;SACF;QAAC,OAAO,CAAM,EAAE;YACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO;SACR;IACH,CAAC,CAAA,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAO,OAAO,EAAE,QAAuB,EAAE,EAAE;QACvD,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACxD,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;gBACxC,OAAO;aACR;YACD,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SACnD;QAAC,OAAO,CAAM,EAAE;YACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO;SACR;IACH,CAAC,CAAA,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAO,OAAO,EAAE,QAAuB,EAAE,EAAE;QACzD,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACjD,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;gBACxC,OAAO;aACR;YACD,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAClD;QAAC,OAAO,CAAM,EAAE;YACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO;SACR;IACH,CAAC,CAAA,CAAC,CAAC;IAEH,SAAe,YAAY,CACzB,QAAuB,EACvB,MAAc,EACd,IAAS,EACT,KAAc;;YAEd,IAAI,MAAM,KAAK,KAAK,EAAE;gBACpB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;oBACnE,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;oBACxC,OAAO;iBACR;gBACD,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBACjC,IACE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CACtD,IAAI,CAAC,IAAI,EACT,2BAAmB,CAAC,WAAW,CAChC,EACD;wBACA,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;wBACtC,OAAO;qBACR;iBACF;gBACD,IAAI,MAAe,CAAC;gBACpB,IAAI;oBACF,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpE;gBAAC,OAAO,CAAM,EAAE;oBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;oBACrD,OAAO;iBACR;gBACD,IAAI,CAAC,MAAM,EAAE;oBACX,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;oBAClD,OAAO;iBACR;gBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;aAC5B;iBAAM;gBACL,IAAI,MAAM,KAAK,QAAQ,EAAE;oBACvB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;iBACf;gBACD,MAAM,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,IAAI,aAAa,GAAG,IAAI,CAAC;gBACzB,KAAK,IAAI,OAAO,IAAI,IAAI,EAAE;oBACxB,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE;wBAC7C,cAAc,GAAG,IAAI,CAAC;wBACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjB,SAAS;qBACV;oBACD,IAAI,MAAuB,CAAC;oBAC5B,IAAI;wBACF,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;qBAClE;oBAAC,OAAO,CAAM,EAAE;wBACf,IAAI,CAAC,YAAY,2BAAmB,EAAE;4BACpC,QAAQ,GAAG,IAAI,CAAC;yBACjB;wBACD,IAAI,CAAC,YAAY,8BAAsB,EAAE;4BACvC,cAAc,GAAG,IAAI,CAAC;4BACtB,aAAa,GAAG,CAAC,CAAC;yBACnB;wBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjB,SAAS;qBACV;oBACD,IAAI,CAAC,MAAM,EAAE;wBACX,cAAc,GAAG,IAAI,CAAC;wBACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjB,SAAS;qBACV;oBACD,IAAI;wBACF,IAAI,MAAM,MAAM,CAAC,KAAK,EAAE,EAAE;4BACxB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACnB,UAAU,GAAG,IAAI,CAAC;yBACnB;6BAAM;4BACL,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;yBACnB;qBACF;oBAAC,OAAO,CAAM,EAAE;wBACf,IAAI,CAAC,YAAY,8BAAsB,EAAE;4BACvC,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,aAAa,GAAG,CAAC,CAAC;yBACnB;wBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAClB;iBACF;gBACD,IAAI,CAAC,UAAU,EAAE;oBACf,IAAI,cAAc,EAAE;wBAClB,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;qBACxD;yBAAM,IAAI,QAAQ,EAAE;wBACnB,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;qBACtC;yBAAM,IAAI,QAAQ,EAAE;wBACnB,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;qBACvC;yBAAM;wBACL,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,aAAa,CAAC,CAAC;qBAClE;oBACD,OAAO;iBACR;gBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;gBACvD,IAAI,MAAM,KAAK,QAAQ,EAAE;oBACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzC;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACtB;aACF;QACH,CAAC;KAAA;IAED,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAO,OAAO,EAAE,QAAuB,EAAE,EAAE;QAC1D,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,IAAI,GAAG,SAAS,CAAC;YACrB,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACxD,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;gBACxC,OAAO;aACR;YACD,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACjD,IAAI,MAAM,KAAK,QAAQ,EAAE;oBACvB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;iBACf;gBACD,MAAM,OAAO,GAAG,EAAE,CAAC;gBACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,aAAa,GAAG,IAAI,CAAC;gBACzB,KAAK,IAAI,MAAM,IAAI,IAAI,EAAE;oBACvB,IAAI;wBACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;wBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;4BAChB,cAAc,GAAG,IAAI,CAAC;4BACtB,SAAS;yBACV;wBACD,IACE,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAChE;4BACA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBACpB;6BAAM;4BACL,QAAQ,GAAG,IAAI,CAAC;yBACjB;qBACF;oBAAC,OAAO,CAAM,EAAE;wBACf,QAAQ,GAAG,IAAI,CAAC;wBAChB,aAAa,GAAG,CAAC,CAAC;qBACnB;iBACF;gBACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxB,IAAI,cAAc,IAAI,CAAC,QAAQ,EAAE;wBAC/B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;qBACzC;yBAAM;wBACL,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,aAAa,CAAC,CAAC;qBAClE;oBACD,OAAO;iBACR;gBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;gBACvD,IAAI,MAAM,KAAK,QAAQ,EAAE;oBACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3C;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACxB;aACF;iBAAM;gBACL,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;oBACxC,OAAO;iBACR;gBACD,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBACjC,IACE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CACtD,IAAI,EACJ,2BAAmB,CAAC,WAAW,CAChC,EACD;wBACA,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;wBACtC,OAAO;qBACR;iBACF;gBACD,IAAI,MAAe,CAAC;gBACpB,IAAI;oBACF,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBACtD;gBAAC,OAAO,CAAM,EAAE;oBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;oBACrD,OAAO;iBACR;gBACD,IAAI,CAAC,MAAM,EAAE;oBACX,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;oBAClD,OAAO;iBACR;gBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;gBACvD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;aACvC;SACF;QAAC,OAAO,CAAM,EAAE;YACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO;SACR;IACH,CAAC,CAAA,CAAC,CAAC;IAGH,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAEhC,SAAe,UAAU,CACvB,UAAoC,EACpC,KAAY,EACZ,KAAK,GAAG,KAAK,EACb,aAAa,GAAG,KAAK;;YAErB,IAAI,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAEjC,MAAM,IAAI,8BAAsB,CAC9B,qDAAqD,CACtD,CAAC;aACH;YACD,IAAI,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,MAA8B,CAAC;YACnC,IAAI,UAAU,CAAC,IAAI,EAAE;gBACnB,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAC5B,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,EACxC;oBACE,IAAI,EAAE,GAAG;oBACT,IAAI,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE;iBAC9B,CACF,CAAC;gBACF,IAAI,MAAM,KAAK,IAAI,EAAE;oBACnB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;iBACzC;aACF;iBAAM;gBACL,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;aACtC;YACD,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,gBAAgB,CAAC,UAAyB,EAAE,aAAa,CAAC,CAAC;aACnE;iBAAM;gBACL,MAAM,CAAC,eAAe,CAAC,UAAwB,EAAE,aAAa,CAAC,CAAC;aACjE;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAUD,SAAS,oBAAoB,CAAC,IAAS,EAAE,KAAY;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,wBAAwB,EAAE;gBAC7D,IAAI;oBACF,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,OAAO,WAAW,CAAC,gBAAgB,CAAC,IAAuB,CAAC,CAAC;iBAC9D;gBAAC,OAAO,CAAM,EAAE;oBACf,OAAO,IAAI,CAAC;iBACb;aACF;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAChE;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,YAAY,cAAM,CAAC,EAAE;YAEhE,MAAM,OAAO,GAAyB,EAAE,CAAC;YACzC,KAAK,IAAI,WAAW,IAAI,IAAI,EAAE;gBAC5B,OAAO,CAAC,WAAW,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;aACvE;YACD,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IASD,SAAS,SAAS,CAChB,GAAkB,EAClB,SAAiB,EACjB,OAAe,EACf,KAAa;QAEb,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;YACpB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACtB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;SACnD;QACD,IAAI,KAAK,EAAE;YACT,GAAG,CAAC,IAAI,iBACN,UAAU,EAAE,GAAG,SAAS,IAAI,OAAO,EAAE,EACrC,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,KAAK,IACF,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;gBACvC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;gBACxB,CAAC,CAAC,EAAE,CAAC,EACP,CAAC;SACJ;aAAM;YACL,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;SACrD;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAxsBD,+BAwsBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -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: ['employee'],
256
+ tag: 'employee',
228
257
  });
229
258
  expect(entities.length).toEqual(4);
230
259
  entities.forEach((guid) => {
@@ -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.4",
3
+ "version": "1.0.0-alpha.42",
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.4",
35
- "cookie-parser": "^1.4.5",
36
- "express": "^4.17.1"
34
+ "@nymphjs/nymph": "^1.0.0-alpha.42",
35
+ "cookie-parser": "^1.4.6",
36
+ "express": "^4.17.2"
37
37
  },
38
38
  "devDependencies": {
39
- "@nymphjs/client": "^1.0.0-alpha.4",
40
- "@nymphjs/client-node": "^1.0.0-alpha.4",
41
- "@nymphjs/driver-sqlite3": "^1.0.0-alpha.4",
39
+ "@nymphjs/client": "^1.0.0-alpha.42",
40
+ "@nymphjs/client-node": "^1.0.0-alpha.42",
41
+ "@nymphjs/driver-sqlite3": "^1.0.0-alpha.42",
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.1",
46
- "jest": "^27.0.6",
47
- "ts-jest": "^27.0.5",
48
- "typescript": "^4.3.5"
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": "6d0d344b357ab4080d31d84221456ab08d748194"
50
+ "gitHead": "f471423e9af6e720b734b5d7be8ef61907074e7b"
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: ['employee'],
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(nymph: Nymph) {
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
- data[0].class = EntityClass;
136
- data[0].source = 'client';
137
- data[0].skipAc = false;
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
- data[0],
148
- ...data.slice(1)
162
+ options,
163
+ ...selectors
149
164
  );
150
165
  } else {
151
- result = await response.locals.nymph.getEntities(...data);
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
- if (e instanceof InvalidParametersError) {
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 delEnt of data) {
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
- const guid = delEnt.guid;
571
- if (!delEnt.guid) {
572
- invalidRequest = true;
573
- continue;
574
- }
575
- if (
576
- await response.locals.nymph.deleteEntityByID(guid, delEnt.class)
577
- ) {
578
- deleted.push(guid);
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('Entity is not found.');
720
+ throw new Error(NOT_FOUND_ERROR);
666
721
  }
667
722
  } else {
668
723
  entity = await EntityClass.factory();