@entity-access/server-pages 1.0.42 → 1.1.2

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.
Files changed (65) hide show
  1. package/dist/Page.d.ts +6 -13
  2. package/dist/Page.d.ts.map +1 -1
  3. package/dist/Page.js +10 -41
  4. package/dist/Page.js.map +1 -1
  5. package/dist/ServerPages.d.ts.map +1 -1
  6. package/dist/ServerPages.js +14 -2
  7. package/dist/ServerPages.js.map +1 -1
  8. package/dist/core/CacheProperty.d.ts +5 -0
  9. package/dist/core/CacheProperty.d.ts.map +1 -0
  10. package/dist/core/CacheProperty.js +19 -0
  11. package/dist/core/CacheProperty.js.map +1 -0
  12. package/dist/core/Executor.d.ts +5 -0
  13. package/dist/core/Executor.d.ts.map +1 -0
  14. package/dist/core/Executor.js +13 -0
  15. package/dist/core/Executor.js.map +1 -0
  16. package/dist/core/RouteTree.d.ts.map +1 -1
  17. package/dist/core/RouteTree.js +15 -6
  18. package/dist/core/RouteTree.js.map +1 -1
  19. package/dist/core/SessionUser.d.ts +7 -5
  20. package/dist/core/SessionUser.d.ts.map +1 -1
  21. package/dist/core/SessionUser.js +36 -0
  22. package/dist/core/SessionUser.js.map +1 -1
  23. package/dist/core/Wrapped.d.ts +13 -16
  24. package/dist/core/Wrapped.d.ts.map +1 -1
  25. package/dist/core/Wrapped.js +151 -235
  26. package/dist/core/Wrapped.js.map +1 -1
  27. package/dist/decorators/Prepare.d.ts +14 -0
  28. package/dist/decorators/Prepare.d.ts.map +1 -0
  29. package/dist/decorators/Prepare.js +111 -0
  30. package/dist/decorators/Prepare.js.map +1 -0
  31. package/dist/routes/api/entity/index.d.ts.map +1 -1
  32. package/dist/routes/api/entity/index.js +9 -3
  33. package/dist/routes/api/entity/index.js.map +1 -1
  34. package/dist/routes/api/entity/model/get.d.ts.map +1 -1
  35. package/dist/routes/api/entity/model/get.js.map +1 -1
  36. package/dist/routes/api/entity/query/get.d.ts.map +1 -1
  37. package/dist/routes/api/entity/query/get.js +9 -3
  38. package/dist/routes/api/entity/query/get.js.map +1 -1
  39. package/dist/services/CookieService.d.ts.map +1 -1
  40. package/dist/services/CookieService.js +10 -2
  41. package/dist/services/CookieService.js.map +1 -1
  42. package/dist/socket/SocketService.d.ts.map +1 -1
  43. package/dist/socket/SocketService.js +1 -3
  44. package/dist/socket/SocketService.js.map +1 -1
  45. package/dist/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +1 -1
  47. package/src/Page.tsx +11 -51
  48. package/src/ServerPages.ts +14 -2
  49. package/src/core/CacheProperty.ts +18 -0
  50. package/src/core/Executor.ts +16 -0
  51. package/src/core/RouteTree.ts +7 -3
  52. package/src/core/SessionUser.ts +21 -5
  53. package/src/core/Wrapped.ts +206 -270
  54. package/src/decorators/Prepare.ts +132 -0
  55. package/src/index.d.ts +10 -10
  56. package/src/routes/api/entity/index.tsx +4 -1
  57. package/src/routes/api/entity/model/get.tsx +1 -1
  58. package/src/routes/api/entity/query/get.ts +4 -1
  59. package/src/services/CookieService.ts +10 -2
  60. package/src/socket/SocketService.ts +1 -2
  61. package/dist/decorators/Authorize.d.ts +0 -2
  62. package/dist/decorators/Authorize.d.ts.map +0 -1
  63. package/dist/decorators/Authorize.js +0 -3
  64. package/dist/decorators/Authorize.js.map +0 -1
  65. package/src/decorators/Authorize.ts +0 -3
@@ -1,265 +1,181 @@
1
- import busboy from "busboy";
2
- import SessionUser from "./SessionUser.js";
3
1
  import { parse, serialize } from "cookie";
4
- import TempFolder from "./TempFolder.js";
5
2
  import { LocalFile } from "./LocalFile.js";
6
- import { Writable } from "stream";
7
- import CookieService from "../services/CookieService.js";
8
3
  import { stat } from "fs/promises";
9
- import TokenService from "../services/TokenService.js";
10
- const requestMethods = {
11
- remoteIPAddress() {
12
- return this.socket?.remoteAddress;
13
- },
14
- accepts() {
15
- const accepts = (this.headers.accept ?? "").split(";");
16
- return (...types) => {
17
- if (types.length > 0) {
18
- for (const type of types) {
19
- for (const iterator of accepts) {
20
- if (iterator.includes(type)) {
21
- return true;
4
+ import { CacheProperty } from "./CacheProperty.js";
5
+ const extendedSymbol = Symbol("extended");
6
+ const extendRequest = (A) => {
7
+ let c = A[extendedSymbol];
8
+ if (!c) {
9
+ c = class IntermediateRequest extends A {
10
+ get host() {
11
+ const r = this;
12
+ const host = r.authority || r.headers[":authority"] || r.headers.host || null;
13
+ return CacheProperty.value(this, "host", host);
14
+ }
15
+ get path() {
16
+ return this.URL.pathname;
17
+ }
18
+ get cookies() {
19
+ const cookie = this.headers.cookie;
20
+ const cookies = parse(cookie);
21
+ return CacheProperty.value(this, "cookies", cookies);
22
+ }
23
+ get URL() {
24
+ const r = this;
25
+ const url = new URL(r.url, `https:${this.host}`);
26
+ return CacheProperty.value(this, "URL", url);
27
+ }
28
+ get remoteIPAddress() {
29
+ const r = this;
30
+ return CacheProperty.value(this, "remoteIPAddress", r.socket.remoteAddress);
31
+ }
32
+ accepts(...types) {
33
+ const h = this;
34
+ const accepts = (h.headers.accept ?? "").split(";");
35
+ const value = (...types) => {
36
+ if (types.length > 0) {
37
+ for (const type of types) {
38
+ for (const iterator of accepts) {
39
+ if (iterator.includes(type)) {
40
+ return true;
41
+ }
42
+ }
22
43
  }
44
+ return false;
23
45
  }
24
- }
25
- return false;
46
+ return accepts;
47
+ };
48
+ Object.defineProperty(this, "accepts", {
49
+ value,
50
+ enumerable: true,
51
+ configurable: true
52
+ });
53
+ return value(...types);
54
+ }
55
+ get query() {
56
+ throw new Error("Please decorate `Ensure.parseQuery` callee or call `await Ensure.parseQuery(this)` before accessing this member");
57
+ }
58
+ get body() {
59
+ throw new Error("Please decorate `Ensure.parseBody` callee or call `await Ensure.parseBody(this)` before accessing this member");
60
+ }
61
+ get form() {
62
+ throw new Error("Please decorate `Ensure.parseForm` callee or call `await Ensure.parseForm(this)` before accessing this member");
63
+ }
64
+ get params() {
65
+ throw new Error("Please decorate `Ensure.parseAll` callee or call `await Ensure.parseAll(this)` before accessing this member");
66
+ }
67
+ get sessionUser() {
68
+ throw new Error("Please decorate `Ensure.authorize` callee or call `await Ensure.authorize(this)` before accessing this member");
26
69
  }
27
- return accepts;
28
- };
29
- },
30
- URL() {
31
- const w = this;
32
- return new URL(this.url, `http://${w.host}`);
33
- },
34
- path() {
35
- return this.URL.pathname;
36
- },
37
- host() {
38
- return this.headers[":authority"] ?? this.headers["host"];
39
- },
40
- query() {
41
- const u = this.URL;
42
- const items = {};
43
- for (const [key, value] of u.searchParams.entries()) {
44
- items[key] = value;
45
- }
46
- return items;
47
- },
48
- cookies() {
49
- const cookie = this.headers.cookie;
50
- const cookies = parse(cookie);
51
- return cookies;
52
- },
53
- async asyncParams() {
54
- return {
55
- ...this.query,
56
- ...this.asyncJsonBody,
57
- ...this.asyncForm
58
- };
59
- },
60
- async asyncJsonBody() {
61
- const req = this;
62
- let buffer = null;
63
- let encoding = this.headers["content-encoding"] ?? "utf-8";
64
- const contentType = this.headers["content-type"];
65
- if (!/\/json/i.test(contentType)) {
66
- return {};
67
- }
68
- await new Promise((resolve, reject) => {
69
- req.pipe(new Writable({
70
- write(chunk, enc, callback) {
71
- encoding ||= enc;
72
- let b = typeof chunk === "string"
73
- ? Buffer.from(chunk)
74
- : chunk;
75
- buffer = buffer
76
- ? Buffer.concat([buffer, b])
77
- : b;
78
- callback();
79
- },
80
- final(callback) {
81
- resolve();
82
- callback();
83
- },
84
- }), { end: true });
85
- });
86
- const text = buffer.toString(encoding);
87
- return JSON.parse(text);
88
- },
89
- async asyncSessionUser() {
90
- try {
91
- const cookieService = this.scope.resolve(CookieService);
92
- const tokenService = this.scope.resolve(TokenService);
93
- const cookie = this.cookies[tokenService.authCookieName];
94
- const sessionUser = await cookieService.createSessionUserFromCookie(cookie, this.remoteIPAddress);
95
- sessionUser.resp = this.response;
96
- return sessionUser;
97
- }
98
- catch (error) {
99
- console.error(error);
100
- const su = this.scope.resolve(SessionUser);
101
- su.resp = this.response;
102
- return su;
103
- }
104
- },
105
- async asyncForm() {
106
- let tempFolder;
107
- const result = {
108
- fields: {},
109
- files: []
110
70
  };
111
- const req = this;
112
- const bb = busboy({ headers: req.headers, defParamCharset: "utf8" });
113
- const tasks = [];
114
- await new Promise((resolve, reject) => {
115
- bb.on("field", (name, value) => {
116
- result.fields[name] = value;
117
- });
118
- bb.on("file", (name, file, info) => {
119
- if (!tempFolder) {
120
- tempFolder = new TempFolder();
121
- this.disposables.push(tempFolder);
122
- }
123
- const tf = tempFolder.get(info.filename, info.mimeType);
124
- tasks.push(tf.writeAll(file).then(() => {
125
- result.files.push(tf);
126
- }));
127
- });
128
- bb.on("error", reject);
129
- bb.on("close", resolve);
130
- req.pipe(bb);
131
- });
132
- await Promise.all(tasks);
133
- return result;
71
+ A[extendedSymbol] = c;
134
72
  }
73
+ return c;
135
74
  };
136
- const responseMethods = {
137
- asyncEnd() {
138
- return () => new Promise((resolve) => this.end(resolve));
139
- },
140
- asyncWrite() {
141
- return (buffer, start, length) => {
142
- return new Promise((resolve) => this.write(buffer, resolve));
143
- };
144
- },
145
- cookie() {
146
- return (name, value, options = {}) => {
147
- const cv = this.getHeaders()["set-cookie"];
148
- const cookies = Array.isArray(cv) ? cv : [cv];
149
- const nk = cookies.filter((x) => x.startsWith(name + "="));
150
- nk.push(serialize(name, value, options));
151
- this.setHeader("set-cookie", nk);
152
- };
153
- },
154
- send() {
155
- return async (data, status = 200) => {
156
- try {
157
- this.statusCode = status;
158
- this.writeHead(this.statusCode, this.getHeaders());
159
- await new Promise((resolve, reject) => {
160
- this.write(data, (error) => error ? reject(error) : resolve());
161
- });
162
- return this.asyncEnd();
75
+ const extendResponse = (A) => {
76
+ let c = A[extendedSymbol];
77
+ if (!c) {
78
+ c = class WrappedResponse extends A {
79
+ asyncEnd() {
80
+ return new Promise((resolve) => this.end(resolve));
163
81
  }
164
- catch (error) {
165
- console.error(error);
82
+ asyncWrite(buffer, start, length) {
83
+ return new Promise((resolve, reject) => this.write(buffer, (error) => error ? reject(error) : resolve()));
166
84
  }
167
- };
168
- },
169
- sendRedirect() {
170
- return (location, permanent = false) => {
171
- this.statusCode = 301;
172
- this.writeHead(this.statusCode, {
173
- location
174
- });
175
- return this.asyncEnd();
176
- };
177
- },
178
- sendFile() {
179
- return async (filePath, options) => {
180
- /** Calculate Size of file */
181
- const { size } = await stat(filePath);
182
- const range = this.request.headers.range;
183
- const lf = new LocalFile(filePath);
184
- /** Check for Range header */
185
- if (!range) {
186
- this.writeHead(200, {
187
- "Content-Length": size,
188
- "Content-Type": "video/mp4"
189
- });
190
- await lf.writeTo(this);
191
- return this.asyncEnd();
85
+ cookie(name, value, options = {}) {
86
+ const cv = this.getHeaders()["set-cookie"];
87
+ const cookies = Array.isArray(cv) ? cv : [cv];
88
+ const nk = cookies.filter((x) => !x.startsWith(name + "="));
89
+ nk.push(serialize(name, value, options));
90
+ this.setHeader("set-cookie", nk);
192
91
  }
193
- /** Extracting Start and End value from Range Header */
194
- let [start, end] = range.replace(/bytes=/, "").split("-");
195
- start = parseInt(start, 10);
196
- end = end ? parseInt(end, 10) : size - 1;
197
- if (!isNaN(start) && isNaN(end)) {
198
- start = start;
199
- end = size - 1;
200
- }
201
- if (isNaN(start) && !isNaN(end)) {
202
- start = size - end;
203
- end = size - 1;
92
+ async send(data, status = 200) {
93
+ try {
94
+ const wrapped = this;
95
+ wrapped.statusCode = status;
96
+ this.writeHead(wrapped.statusCode, this.getHeaders());
97
+ await new Promise((resolve, reject) => {
98
+ this.write(data, (error) => error ? reject(error) : resolve());
99
+ });
100
+ return this.asyncEnd();
101
+ }
102
+ catch (error) {
103
+ console.error(error);
104
+ }
204
105
  }
205
- // Handle unavailable range request
206
- if (start >= size || end >= size) {
207
- // Return the 416 Range Not Satisfiable.
208
- this.writeHead(416, {
209
- "Content-Range": `bytes */${size}`
106
+ async sendRedirect(location, permanent = false) {
107
+ this.statusCode = 301;
108
+ this.writeHead(this.statusCode, {
109
+ location
210
110
  });
211
111
  return this.asyncEnd();
212
112
  }
213
- /** Sending Partial Content With HTTP Code 206 */
214
- this.writeHead(206, {
215
- "Content-Range": `bytes ${start}-${end}/${size}`,
216
- "Accept-Ranges": "bytes",
217
- "Content-Length": end - start + 1,
218
- "Content-Type": "video/mp4"
219
- });
220
- await lf.writeTo(this, start, end);
113
+ async sendFile(filePath, options) {
114
+ /** Calculate Size of file */
115
+ const { size } = await stat(filePath);
116
+ const range = this.request.headers.range;
117
+ const lf = new LocalFile(filePath);
118
+ /** Check for Range header */
119
+ if (!range) {
120
+ this.writeHead(200, {
121
+ "Content-Length": size,
122
+ "Content-Type": "video/mp4"
123
+ });
124
+ await lf.writeTo(this);
125
+ return this.asyncEnd();
126
+ }
127
+ /** Extracting Start and End value from Range Header */
128
+ let [start, end] = range.replace(/bytes=/, "").split("-");
129
+ start = parseInt(start, 10);
130
+ end = end ? parseInt(end, 10) : size - 1;
131
+ if (!isNaN(start) && isNaN(end)) {
132
+ start = start;
133
+ end = size - 1;
134
+ }
135
+ if (isNaN(start) && !isNaN(end)) {
136
+ start = size - end;
137
+ end = size - 1;
138
+ }
139
+ // Handle unavailable range request
140
+ if (start >= size || end >= size) {
141
+ // Return the 416 Range Not Satisfiable.
142
+ this.writeHead(416, {
143
+ "Content-Range": `bytes */${size}`
144
+ });
145
+ return this.asyncEnd();
146
+ }
147
+ /** Sending Partial Content With HTTP Code 206 */
148
+ this.writeHead(206, {
149
+ "Content-Range": `bytes ${start}-${end}/${size}`,
150
+ "Accept-Ranges": "bytes",
151
+ "Content-Length": end - start + 1,
152
+ "Content-Type": "video/mp4"
153
+ });
154
+ await lf.writeTo(this, start, end);
155
+ }
221
156
  };
222
- },
157
+ }
158
+ return c;
223
159
  };
224
160
  export const Wrapped = {
225
161
  request: (req) => {
226
- for (const key in requestMethods) {
227
- if (Object.prototype.hasOwnProperty.call(requestMethods, key)) {
228
- const element = requestMethods[key];
229
- Object.defineProperty(req, key, {
230
- get() {
231
- const value = element.call(this);
232
- Object.defineProperty(this, key, { value, enumerable: true, writable: false });
233
- return value;
234
- },
235
- enumerable: true,
236
- configurable: true
237
- });
238
- }
239
- }
162
+ let prototype = Object.getPrototypeOf(req);
163
+ const { constructor } = prototype;
164
+ prototype = extendRequest(constructor);
165
+ Object.setPrototypeOf(req, prototype);
240
166
  const wr = req;
241
167
  wr.disposables = [];
242
- return wr;
168
+ return req;
243
169
  },
244
170
  response: (req, res) => {
245
- for (const key in responseMethods) {
246
- if (Object.prototype.hasOwnProperty.call(responseMethods, key)) {
247
- const element = responseMethods[key];
248
- Object.defineProperty(res, key, {
249
- get() {
250
- const value = element.call(this);
251
- Object.defineProperty(this, key, { value, enumerable: true, writable: false });
252
- return value;
253
- },
254
- enumerable: true,
255
- configurable: true
256
- });
257
- }
258
- }
171
+ let prototype = Object.getPrototypeOf(res);
172
+ const { constructor } = prototype;
173
+ prototype = extendResponse(constructor);
174
+ Object.setPrototypeOf(res, prototype);
259
175
  const wr = res;
260
176
  wr.request = req;
261
177
  req.response = wr;
262
- return wr;
178
+ return res;
263
179
  }
264
180
  };
265
181
  //# sourceMappingURL=Wrapped.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wrapped.js","sourceRoot":"","sources":["../../src/core/Wrapped.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Wrapped.js","sourceRoot":"","sources":["../../src/core/Wrapped.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYnD,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAkE1C,MAAM,aAAa,GAAG,CAAC,CAAqD,EAAE,EAAE;IAE5E,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,CAAC,GAAG,MAAM,mBAAoB,SAAQ,CAAC;YAKnC,IAAI,IAAI;gBACJ,MAAM,CAAC,GAAG,IAAsD,CAAC;gBACjE,MAAM,IAAI,GAAI,CAAwB,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;gBACtG,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,IAAI;gBACJ,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC7B,CAAC;YACD,IAAI,OAAO;gBACP,MAAM,MAAM,GAAI,IAAgC,CAAC,OAAO,CAAC,MAAM,CAAC;gBAChE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9B,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,GAAG;gBACH,MAAM,CAAC,GAAG,IAAsD,CAAC;gBACjE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjD,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,eAAe;gBACf,MAAM,CAAC,GAAG,IAAsD,CAAC;gBACjE,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAChF,CAAC;YAED,OAAO,CAAC,GAAI,KAAe;gBACvB,MAAM,CAAC,GAAG,IAA8B,CAAC;gBACzC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpD,MAAM,KAAK,GAAG,CAAC,GAAG,KAAe,EAAE,EAAE;oBACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACvB,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;gCAC7B,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oCAC1B,OAAO,IAAI,CAAC;gCAChB,CAAC;4BACL,CAAC;wBACL,CAAC;wBACD,OAAO,KAAK,CAAC;oBACjB,CAAC;oBACD,OAAO,OAAO,CAAC;gBACnB,CAAC,CAAC;gBAEF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;oBACnC,KAAK;oBACL,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,OAAO,KAAK,CAAE,GAAI,KAAK,CAAC,CAAC;YAC7B,CAAC;YAED,IAAI,KAAK;gBACL,MAAM,IAAI,KAAK,CAAC,iHAAiH,CAAC,CAAC;YACvI,CAAC;YAED,IAAI,IAAI;gBACJ,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAC;YACrI,CAAC;YAED,IAAI,IAAI;gBACJ,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAC;YACrI,CAAC;YAED,IAAI,MAAM;gBACN,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAC;YACnI,CAAC;YAED,IAAI,WAAW;gBACX,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAC;YACrI,CAAC;SAEJ,CAAA;QACD,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAqD,EAAE,EAAE;IAC7E,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,CAAC,GAAG,MAAM,eAAgB,SAAQ,CAAC;YAI/B,QAAQ;gBACJ,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,CAAC;YAED,UAAU,CAA0B,MAAc,EAAE,KAAc,EAAE,MAAe;gBAC/E,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACzC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CACnE,CAAC;YACN,CAAC;YAED,MAAM,CAA0B,IAAY,EAAE,KAAa,EAAE,OAAO,GAAG,EAAE;gBACrE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC;gBAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9C,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC5D,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACrC,CAAC;YAED,KAAK,CAAC,IAAI,CAA0B,IAAqB,EAAE,SAAiB,GAAG;gBAC3E,IAAI,CAAC;oBACD,MAAM,OAAO,GAAI,IAA+B,CAAC;oBACjD,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC;oBAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;oBACtD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACxC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;oBACH,OAAQ,IAAY,CAAC,QAAQ,EAAE,CAAC;gBACpC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;YACL,CAAC;YAED,KAAK,CAAC,YAAY,CAA0B,QAAgB,EAAE,SAAS,GAAG,KAAK;gBAC3E,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;gBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE;oBAC5B,QAAQ;iBACX,CAAC,CAAC;gBACH,OAAQ,IAAgC,CAAC,QAAQ,EAAE,CAAC;YACxD,CAAC;YAED,KAAK,CAAC,QAAQ,CAA0B,QAAgB,EAAE,OAQrD;gBACG,6BAA6B;gBACjC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,KAAK,GAAI,IAAgC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBAEtE,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAEnC,6BAA6B;gBAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;wBAChB,gBAAgB,EAAE,IAAI;wBACtB,cAAc,EAAE,WAAW;qBAC9B,CAAC,CAAC;oBAEH,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAEvB,OAAQ,IAAY,CAAC,QAAQ,EAAE,CAAC;gBACpC,CAAC;gBAED,uDAAuD;gBACvD,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAU,CAAC;gBACnE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5B,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;gBAEzC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9B,KAAK,GAAG,KAAK,CAAC;oBACd,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;gBACnB,CAAC;gBACD,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9B,KAAK,GAAG,IAAI,GAAG,GAAG,CAAC;oBACnB,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;gBACnB,CAAC;gBAED,mCAAmC;gBACnC,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;oBAC/B,wCAAwC;oBACxC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;wBAChB,eAAe,EAAE,WAAW,IAAI,EAAE;qBACrC,CAAC,CAAC;oBACH,OAAQ,IAAY,CAAC,QAAQ,EAAE,CAAC;gBACpC,CAAC;gBAED,iDAAiD;gBACjD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;oBAChB,eAAe,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;oBAChD,eAAe,EAAE,OAAO;oBACxB,gBAAgB,EAAE,GAAG,GAAG,KAAK,GAAG,CAAC;oBACjC,cAAc,EAAE,WAAW;iBAC9B,CAAC,CAAC;gBAEH,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAEvC,CAAC;SACJ,CAAA;IACL,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,OAAO,GAAG;IACnB,OAAO,EAAE,CAAC,GAAqB,EAAE,EAAE;QAC/B,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QAClC,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,GAAqB,CAAC;QACjC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,QAAQ,EAAE,CAAC,GAAmB,EAAE,GAAsB,EAAE,EAAE;QACtD,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QAClC,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,GAAsB,CAAC;QAClC,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC;QACjB,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC;IACf,CAAC;CACJ,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { LocalFile } from "../core/LocalFile.js";
2
+ export declare const prepareSymbol: unique symbol;
3
+ export interface IFormData {
4
+ fields: {
5
+ [key: string]: string;
6
+ };
7
+ files: LocalFile[];
8
+ }
9
+ export declare const Prepare: {
10
+ parseJsonBody: (page?: any) => any;
11
+ authorize: (page?: any) => any;
12
+ parseForm: (page?: any) => any;
13
+ };
14
+ //# sourceMappingURL=Prepare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prepare.d.ts","sourceRoot":"","sources":["../../src/decorators/Prepare.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,eAAO,MAAM,aAAa,eAAkB,CAAC;AAG7C,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IACjC,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB;AAmHD,eAAO,MAAM,OAAO;mCAjHW,GAAG;+BAmDP,GAAG;+BAaH,GAAG;CAqD7B,CAAC"}
@@ -0,0 +1,111 @@
1
+ import busboy from "busboy";
2
+ import { Writable } from "node:stream";
3
+ import Page from "../Page.js";
4
+ import TempFolder from "../core/TempFolder.js";
5
+ export const prepareSymbol = Symbol("Parse");
6
+ const parseJsonBody = (page) => {
7
+ if (!page) {
8
+ return (target) => parseJsonBody(target);
9
+ }
10
+ if (!(page instanceof Page)) {
11
+ (page[prepareSymbol] ??= []).push(parseJsonBody);
12
+ return;
13
+ }
14
+ if (page.body) {
15
+ return;
16
+ }
17
+ return (async () => {
18
+ try {
19
+ let buffer = null;
20
+ let encoding = page.request.headers["content-encoding"] ?? "utf-8";
21
+ const contentType = page.request.headers["content-type"];
22
+ if (!/\/json/i.test(contentType)) {
23
+ return {};
24
+ }
25
+ await new Promise((resolve, reject) => {
26
+ page.request.pipe(new Writable({
27
+ write(chunk, enc, callback) {
28
+ encoding ||= enc;
29
+ let b = typeof chunk === "string"
30
+ ? Buffer.from(chunk)
31
+ : chunk;
32
+ buffer = buffer
33
+ ? Buffer.concat([buffer, b])
34
+ : b;
35
+ callback();
36
+ },
37
+ final(callback) {
38
+ resolve();
39
+ callback();
40
+ },
41
+ }), { end: true });
42
+ });
43
+ const text = buffer.toString(encoding);
44
+ page.body = page.request.body = JSON.parse(text);
45
+ }
46
+ catch (error) {
47
+ page.reportError(error);
48
+ page.body = page.request.body = {};
49
+ }
50
+ })();
51
+ };
52
+ const authorize = (page) => {
53
+ if (!page) {
54
+ return (target) => authorize(target);
55
+ }
56
+ if (!(page instanceof Page)) {
57
+ (page[prepareSymbol] ??= []).push(authorize);
58
+ return;
59
+ }
60
+ return page.sessionUser.authorize();
61
+ };
62
+ const parseForm = (page) => {
63
+ if (!page) {
64
+ return (target) => parseForm(target);
65
+ }
66
+ if (!(page instanceof Page)) {
67
+ (page[prepareSymbol] ??= []).push(parseForm);
68
+ return;
69
+ }
70
+ return (async () => {
71
+ const req = page.request;
72
+ let tempFolder;
73
+ const result = {
74
+ fields: {},
75
+ files: []
76
+ };
77
+ try {
78
+ const bb = busboy({ headers: req.headers, defParamCharset: "utf8" });
79
+ const tasks = [];
80
+ await new Promise((resolve, reject) => {
81
+ bb.on("field", (name, value) => {
82
+ result.fields[name] = value;
83
+ });
84
+ bb.on("file", (name, file, info) => {
85
+ if (!tempFolder) {
86
+ tempFolder = new TempFolder();
87
+ req.disposables.push(tempFolder);
88
+ }
89
+ const tf = tempFolder.get(info.filename, info.mimeType);
90
+ tasks.push(tf.writeAll(file).then(() => {
91
+ result.files.push(tf);
92
+ }));
93
+ });
94
+ bb.on("error", reject);
95
+ bb.on("close", resolve);
96
+ req.pipe(bb);
97
+ });
98
+ await Promise.all(tasks);
99
+ }
100
+ catch (error) {
101
+ page.reportError(error);
102
+ }
103
+ page.form = req.form = result;
104
+ })();
105
+ };
106
+ export const Prepare = {
107
+ parseJsonBody,
108
+ authorize,
109
+ parseForm
110
+ };
111
+ //# sourceMappingURL=Prepare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prepare.js","sourceRoot":"","sources":["../../src/decorators/Prepare.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/routes/api/entity/index.tsx"],"names":[],"mappings":"AAKA,OAAO,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKrD,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAE7B,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO;IAKnD,OAAO,CAAC,EAAE,CAAgB;IAEpB,GAAG;YAaK,IAAI;YASJ,YAAY;YAUZ,MAAM;YAWN,UAAU;CAqH3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/routes/api/entity/index.tsx"],"names":[],"mappings":"AAKA,OAAO,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQrD,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAE7B,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO;IAKnD,OAAO,CAAC,EAAE,CAAgB;IAEpB,GAAG;YAaK,IAAI;YASJ,YAAY;YAUZ,MAAM;YAWN,UAAU;CAqH3B"}
@@ -14,15 +14,16 @@ import SchemaRegistry from "@entity-access/entity-access/dist/decorators/SchemaR
14
14
  import EntityAccessError from "@entity-access/entity-access/dist/common/EntityAccessError.js";
15
15
  import Page from "../../../Page.js";
16
16
  import GraphService from "../../../services/GraphService.js";
17
+ import { Prepare } from "../../../decorators/Prepare.js";
17
18
  const added = Symbol("added");
18
- export default class default_1 extends Page {
19
+ let default_1 = class extends Page {
19
20
  static canHandle(pageContext) {
20
21
  return /post|patch|delete/i.test(pageContext.method);
21
22
  }
22
23
  async all() {
23
24
  this.db.verifyFilters = true;
24
25
  this.db.raiseEvents = true;
25
- const body = await this.asyncJsonBody;
26
+ const body = this.body;
26
27
  if (/delete/i.test(this.method)) {
27
28
  return this.delete(body);
28
29
  }
@@ -160,9 +161,14 @@ export default class default_1 extends Page {
160
161
  }
161
162
  return body;
162
163
  }
163
- }
164
+ };
164
165
  __decorate([
165
166
  Inject,
166
167
  __metadata("design:type", EntityContext)
167
168
  ], default_1.prototype, "db", void 0);
169
+ default_1 = __decorate([
170
+ Prepare.authorize,
171
+ Prepare.parseJsonBody
172
+ ], default_1);
173
+ export default default_1;
168
174
  //# sourceMappingURL=index.js.map