@galeh/chuka 1.1.2 → 1.1.3

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 (68) hide show
  1. package/decorators.d.ts +8 -0
  2. package/decorators.js +107 -0
  3. package/index.d.ts +202 -0
  4. package/index.js +167 -0
  5. package/middlewares.d.ts +20 -0
  6. package/middlewares.js +107 -0
  7. package/package.json +40 -49
  8. package/validators.d.ts +60 -0
  9. package/validators.js +105 -0
  10. package/.github/workflows/webpack.yml +0 -34
  11. package/config/api-extractor.decorators.json +0 -427
  12. package/config/api-extractor.index.json +0 -427
  13. package/config/api-extractor.middlewares.json +0 -427
  14. package/config/api-extractor.validators.json +0 -427
  15. package/sample/01-cats-app/package-lock.json +0 -283
  16. package/sample/01-cats-app/package.json +0 -19
  17. package/sample/01-cats-app/src/cats/cat-model.ts +0 -9
  18. package/sample/01-cats-app/src/cats/cats-controller.ts +0 -44
  19. package/sample/01-cats-app/src/cats/cats-service-interface.ts +0 -7
  20. package/sample/01-cats-app/src/cats/cats-service.ts +0 -27
  21. package/sample/01-cats-app/src/cats/create-logger.ts +0 -8
  22. package/sample/01-cats-app/src/main.ts +0 -30
  23. package/sample/01-cats-app/tsconfig.json +0 -112
  24. package/sample/02-socket/package-lock.json +0 -442
  25. package/sample/02-socket/package.json +0 -20
  26. package/sample/02-socket/src/controllers/http-controller.ts +0 -14
  27. package/sample/02-socket/src/controllers/socket-controller.ts +0 -18
  28. package/sample/02-socket/src/main.ts +0 -46
  29. package/sample/02-socket/src/middleware/create-session.ts +0 -9
  30. package/sample/02-socket/tsconfig.json +0 -112
  31. package/sample/03-authentication/db/create.sql +0 -6
  32. package/sample/03-authentication/package-lock.json +0 -1832
  33. package/sample/03-authentication/package.json +0 -23
  34. package/sample/03-authentication/src/config.ts +0 -21
  35. package/sample/03-authentication/src/controllers/auth-controller.ts +0 -54
  36. package/sample/03-authentication/src/enums/injection-tokens.ts +0 -5
  37. package/sample/03-authentication/src/enums/result-codes.ts +0 -4
  38. package/sample/03-authentication/src/exceptions/error.ts +0 -7
  39. package/sample/03-authentication/src/exceptions/password-not-found-exception.ts +0 -9
  40. package/sample/03-authentication/src/exceptions/unauthorized-exception.ts +0 -9
  41. package/sample/03-authentication/src/exceptions/user-already-exist.ts +0 -9
  42. package/sample/03-authentication/src/exceptions/user-not-found.ts +0 -9
  43. package/sample/03-authentication/src/exceptions/wrong-login-info-exception.ts +0 -8
  44. package/sample/03-authentication/src/main.ts +0 -42
  45. package/sample/03-authentication/src/middlewares/auth-handler.ts +0 -17
  46. package/sample/03-authentication/src/middlewares/global-error-handler.ts +0 -21
  47. package/sample/03-authentication/src/models/user-model.ts +0 -6
  48. package/sample/03-authentication/src/services/auth-service.ts +0 -50
  49. package/sample/03-authentication/src/services/interfaces/auth-service-interface.ts +0 -7
  50. package/sample/03-authentication/src/services/interfaces/user-service-interface.ts +0 -7
  51. package/sample/03-authentication/src/services/user-service.ts +0 -75
  52. package/sample/03-authentication/src/types/connection.ts +0 -3
  53. package/sample/03-authentication/src/types/token.ts +0 -3
  54. package/sample/03-authentication/src/utils/crypto.ts +0 -26
  55. package/sample/03-authentication/tsconfig.json +0 -112
  56. package/scripts/build.bash +0 -17
  57. package/scripts/create-package-json.js +0 -15
  58. package/src/app.ts +0 -197
  59. package/src/controller.ts +0 -204
  60. package/src/decorators/index.ts +0 -1
  61. package/src/index.ts +0 -3
  62. package/src/middlewares/index.ts +0 -1
  63. package/src/validators/body-validator.ts +0 -9
  64. package/src/validators/index.ts +0 -2
  65. package/src/validators/query-validator.ts +0 -9
  66. package/src/validators/validators.ts +0 -216
  67. package/tsconfig.json +0 -112
  68. package/webpack.config.js +0 -46
@@ -1,442 +0,0 @@
1
- {
2
- "name": "02-socket",
3
- "version": "1.0.0",
4
- "lockfileVersion": 3,
5
- "requires": true,
6
- "packages": {
7
- "": {
8
- "name": "02-socket",
9
- "version": "1.0.0",
10
- "license": "ISC",
11
- "dependencies": {
12
- "@galeh/chuka": "../../dist/chuka",
13
- "@types/express-session": "^1.17.10",
14
- "express-session": "^1.17.3"
15
- },
16
- "devDependencies": {
17
- "ts-node": "^10.9.2"
18
- }
19
- },
20
- "../../dist": {
21
- "version": "1.0.0",
22
- "license": "MIT",
23
- "dependencies": {
24
- "express": "^4.18.2",
25
- "express-ws": "^5.0.2",
26
- "i": "^0.3.7",
27
- "inversify": "^6.0.2",
28
- "npm": "^10.2.5",
29
- "reflect-metadata": "^0.2.1",
30
- "tslib": "^2.6.2"
31
- }
32
- },
33
- "../../dist/chuka": {
34
- "name": "@galeh/chuka",
35
- "version": "1.0.12",
36
- "license": "MIT",
37
- "dependencies": {
38
- "@types/express": "^4.17.21",
39
- "@types/express-ws": "^3.0.4",
40
- "@types/ws": "^8.5.10",
41
- "express": "^4.18.2",
42
- "express-ws": "^5.0.2",
43
- "inversify": "^6.0.2",
44
- "reflect-metadata": "^0.2.1",
45
- "tslib": "^2.6.2"
46
- },
47
- "engines": {
48
- "node": ">= 12.7"
49
- }
50
- },
51
- "node_modules/@cspotcode/source-map-support": {
52
- "version": "0.8.1",
53
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
54
- "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
55
- "dev": true,
56
- "dependencies": {
57
- "@jridgewell/trace-mapping": "0.3.9"
58
- },
59
- "engines": {
60
- "node": ">=12"
61
- }
62
- },
63
- "node_modules/@galeh/chuka": {
64
- "resolved": "../../dist/chuka",
65
- "link": true
66
- },
67
- "node_modules/@jridgewell/resolve-uri": {
68
- "version": "3.1.1",
69
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
70
- "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
71
- "dev": true,
72
- "engines": {
73
- "node": ">=6.0.0"
74
- }
75
- },
76
- "node_modules/@jridgewell/sourcemap-codec": {
77
- "version": "1.4.15",
78
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
79
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
80
- "dev": true
81
- },
82
- "node_modules/@jridgewell/trace-mapping": {
83
- "version": "0.3.9",
84
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
85
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
86
- "dev": true,
87
- "dependencies": {
88
- "@jridgewell/resolve-uri": "^3.0.3",
89
- "@jridgewell/sourcemap-codec": "^1.4.10"
90
- }
91
- },
92
- "node_modules/@tsconfig/node10": {
93
- "version": "1.0.9",
94
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
95
- "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
96
- "dev": true
97
- },
98
- "node_modules/@tsconfig/node12": {
99
- "version": "1.0.11",
100
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
101
- "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
102
- "dev": true
103
- },
104
- "node_modules/@tsconfig/node14": {
105
- "version": "1.0.3",
106
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
107
- "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
108
- "dev": true
109
- },
110
- "node_modules/@tsconfig/node16": {
111
- "version": "1.0.4",
112
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
113
- "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
114
- "dev": true
115
- },
116
- "node_modules/@types/body-parser": {
117
- "version": "1.19.5",
118
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
119
- "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
120
- "dependencies": {
121
- "@types/connect": "*",
122
- "@types/node": "*"
123
- }
124
- },
125
- "node_modules/@types/connect": {
126
- "version": "3.4.38",
127
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
128
- "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
129
- "dependencies": {
130
- "@types/node": "*"
131
- }
132
- },
133
- "node_modules/@types/express": {
134
- "version": "4.17.21",
135
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
136
- "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==",
137
- "dependencies": {
138
- "@types/body-parser": "*",
139
- "@types/express-serve-static-core": "^4.17.33",
140
- "@types/qs": "*",
141
- "@types/serve-static": "*"
142
- }
143
- },
144
- "node_modules/@types/express-serve-static-core": {
145
- "version": "4.17.41",
146
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz",
147
- "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==",
148
- "dependencies": {
149
- "@types/node": "*",
150
- "@types/qs": "*",
151
- "@types/range-parser": "*",
152
- "@types/send": "*"
153
- }
154
- },
155
- "node_modules/@types/express-session": {
156
- "version": "1.17.10",
157
- "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.17.10.tgz",
158
- "integrity": "sha512-U32bC/s0ejXijw5MAzyaV4tuZopCh/K7fPoUDyNbsRXHvPSeymygYD1RFL99YOLhF5PNOkzswvOTRaVHdL1zMw==",
159
- "dependencies": {
160
- "@types/express": "*"
161
- }
162
- },
163
- "node_modules/@types/http-errors": {
164
- "version": "2.0.4",
165
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
166
- "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA=="
167
- },
168
- "node_modules/@types/mime": {
169
- "version": "1.3.5",
170
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
171
- "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="
172
- },
173
- "node_modules/@types/node": {
174
- "version": "20.10.6",
175
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz",
176
- "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==",
177
- "dependencies": {
178
- "undici-types": "~5.26.4"
179
- }
180
- },
181
- "node_modules/@types/qs": {
182
- "version": "6.9.11",
183
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz",
184
- "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ=="
185
- },
186
- "node_modules/@types/range-parser": {
187
- "version": "1.2.7",
188
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
189
- "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="
190
- },
191
- "node_modules/@types/send": {
192
- "version": "0.17.4",
193
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
194
- "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
195
- "dependencies": {
196
- "@types/mime": "^1",
197
- "@types/node": "*"
198
- }
199
- },
200
- "node_modules/@types/serve-static": {
201
- "version": "1.15.5",
202
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz",
203
- "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==",
204
- "dependencies": {
205
- "@types/http-errors": "*",
206
- "@types/mime": "*",
207
- "@types/node": "*"
208
- }
209
- },
210
- "node_modules/acorn": {
211
- "version": "8.11.3",
212
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
213
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
214
- "dev": true,
215
- "bin": {
216
- "acorn": "bin/acorn"
217
- },
218
- "engines": {
219
- "node": ">=0.4.0"
220
- }
221
- },
222
- "node_modules/acorn-walk": {
223
- "version": "8.3.1",
224
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz",
225
- "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==",
226
- "dev": true,
227
- "engines": {
228
- "node": ">=0.4.0"
229
- }
230
- },
231
- "node_modules/arg": {
232
- "version": "4.1.3",
233
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
234
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
235
- "dev": true
236
- },
237
- "node_modules/cookie": {
238
- "version": "0.4.2",
239
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
240
- "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
241
- "engines": {
242
- "node": ">= 0.6"
243
- }
244
- },
245
- "node_modules/cookie-signature": {
246
- "version": "1.0.6",
247
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
248
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
249
- },
250
- "node_modules/create-require": {
251
- "version": "1.1.1",
252
- "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
253
- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
254
- "dev": true
255
- },
256
- "node_modules/debug": {
257
- "version": "2.6.9",
258
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
259
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
260
- "dependencies": {
261
- "ms": "2.0.0"
262
- }
263
- },
264
- "node_modules/depd": {
265
- "version": "2.0.0",
266
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
267
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
268
- "engines": {
269
- "node": ">= 0.8"
270
- }
271
- },
272
- "node_modules/diff": {
273
- "version": "4.0.2",
274
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
275
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
276
- "dev": true,
277
- "engines": {
278
- "node": ">=0.3.1"
279
- }
280
- },
281
- "node_modules/express-session": {
282
- "version": "1.17.3",
283
- "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.3.tgz",
284
- "integrity": "sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==",
285
- "dependencies": {
286
- "cookie": "0.4.2",
287
- "cookie-signature": "1.0.6",
288
- "debug": "2.6.9",
289
- "depd": "~2.0.0",
290
- "on-headers": "~1.0.2",
291
- "parseurl": "~1.3.3",
292
- "safe-buffer": "5.2.1",
293
- "uid-safe": "~2.1.5"
294
- },
295
- "engines": {
296
- "node": ">= 0.8.0"
297
- }
298
- },
299
- "node_modules/make-error": {
300
- "version": "1.3.6",
301
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
302
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
303
- "dev": true
304
- },
305
- "node_modules/ms": {
306
- "version": "2.0.0",
307
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
308
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
309
- },
310
- "node_modules/on-headers": {
311
- "version": "1.0.2",
312
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
313
- "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
314
- "engines": {
315
- "node": ">= 0.8"
316
- }
317
- },
318
- "node_modules/parseurl": {
319
- "version": "1.3.3",
320
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
321
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
322
- "engines": {
323
- "node": ">= 0.8"
324
- }
325
- },
326
- "node_modules/random-bytes": {
327
- "version": "1.0.0",
328
- "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz",
329
- "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==",
330
- "engines": {
331
- "node": ">= 0.8"
332
- }
333
- },
334
- "node_modules/safe-buffer": {
335
- "version": "5.2.1",
336
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
337
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
338
- "funding": [
339
- {
340
- "type": "github",
341
- "url": "https://github.com/sponsors/feross"
342
- },
343
- {
344
- "type": "patreon",
345
- "url": "https://www.patreon.com/feross"
346
- },
347
- {
348
- "type": "consulting",
349
- "url": "https://feross.org/support"
350
- }
351
- ]
352
- },
353
- "node_modules/ts-node": {
354
- "version": "10.9.2",
355
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
356
- "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
357
- "dev": true,
358
- "dependencies": {
359
- "@cspotcode/source-map-support": "^0.8.0",
360
- "@tsconfig/node10": "^1.0.7",
361
- "@tsconfig/node12": "^1.0.7",
362
- "@tsconfig/node14": "^1.0.0",
363
- "@tsconfig/node16": "^1.0.2",
364
- "acorn": "^8.4.1",
365
- "acorn-walk": "^8.1.1",
366
- "arg": "^4.1.0",
367
- "create-require": "^1.1.0",
368
- "diff": "^4.0.1",
369
- "make-error": "^1.1.1",
370
- "v8-compile-cache-lib": "^3.0.1",
371
- "yn": "3.1.1"
372
- },
373
- "bin": {
374
- "ts-node": "dist/bin.js",
375
- "ts-node-cwd": "dist/bin-cwd.js",
376
- "ts-node-esm": "dist/bin-esm.js",
377
- "ts-node-script": "dist/bin-script.js",
378
- "ts-node-transpile-only": "dist/bin-transpile.js",
379
- "ts-script": "dist/bin-script-deprecated.js"
380
- },
381
- "peerDependencies": {
382
- "@swc/core": ">=1.2.50",
383
- "@swc/wasm": ">=1.2.50",
384
- "@types/node": "*",
385
- "typescript": ">=2.7"
386
- },
387
- "peerDependenciesMeta": {
388
- "@swc/core": {
389
- "optional": true
390
- },
391
- "@swc/wasm": {
392
- "optional": true
393
- }
394
- }
395
- },
396
- "node_modules/typescript": {
397
- "version": "5.3.3",
398
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
399
- "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
400
- "dev": true,
401
- "peer": true,
402
- "bin": {
403
- "tsc": "bin/tsc",
404
- "tsserver": "bin/tsserver"
405
- },
406
- "engines": {
407
- "node": ">=14.17"
408
- }
409
- },
410
- "node_modules/uid-safe": {
411
- "version": "2.1.5",
412
- "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz",
413
- "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==",
414
- "dependencies": {
415
- "random-bytes": "~1.0.0"
416
- },
417
- "engines": {
418
- "node": ">= 0.8"
419
- }
420
- },
421
- "node_modules/undici-types": {
422
- "version": "5.26.5",
423
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
424
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
425
- },
426
- "node_modules/v8-compile-cache-lib": {
427
- "version": "3.0.1",
428
- "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
429
- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
430
- "dev": true
431
- },
432
- "node_modules/yn": {
433
- "version": "3.1.1",
434
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
435
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
436
- "dev": true,
437
- "engines": {
438
- "node": ">=6"
439
- }
440
- }
441
- }
442
- }
@@ -1,20 +0,0 @@
1
- {
2
- "name": "02-socket",
3
- "version": "1.0.0",
4
- "description": "",
5
- "main": "index.js",
6
- "scripts": {
7
- "start": "ts-node --project ./tsconfig.json ./src/main.ts"
8
- },
9
- "keywords": [],
10
- "author": "",
11
- "license": "ISC",
12
- "dependencies": {
13
- "@types/express-session": "^1.17.10",
14
- "express-session": "^1.17.3",
15
- "@galeh/chuka": "../../dist/chuka"
16
- },
17
- "devDependencies": {
18
- "ts-node": "^10.9.2"
19
- }
20
- }
@@ -1,14 +0,0 @@
1
- import { Controller } from '@galeh/chuka';
2
-
3
- export class HttpController extends Controller {
4
- intercepted = this.use();
5
-
6
- getRefreshCount = this.intercepted.get('/', (req, res) => {
7
- if (!req.session?.count) {
8
- req.session.count = 1;
9
- } else {
10
- req.session.count++;
11
- }
12
- res.send(`session value is: ${req.session.count}. sessionId: ${req.session.id}`);
13
- });
14
- }
@@ -1,18 +0,0 @@
1
- import { Controller } from '@galeh/chuka';
2
-
3
- export class SocketController extends Controller {
4
- wsHandler = this.useWS(
5
- (ws, req, next) => {
6
- console.log({middlewareSessionId: req.session.id});
7
- console.log({count: req.session.count});
8
- next();
9
- }
10
- )((ws, req) => {
11
- ws.on('message', (m) => {
12
- console.log(`message: ${m}`);
13
- const session = req.session.reload(() => {
14
- console.log(`session.count: ${session.count}`);
15
- });
16
- });
17
- });
18
- }
@@ -1,46 +0,0 @@
1
- import { createApp } from '@galeh/chuka';
2
- import { HttpController } from './controllers/http-controller';
3
- import { SocketController } from './controllers/socket-controller';
4
- import { createSession } from './middleware/create-session';
5
- import { MemoryStore } from 'express-session';
6
-
7
- declare global {
8
- namespace Express {
9
- interface Request {
10
- }
11
- }
12
- }
13
-
14
- declare module 'express-session' {
15
- interface SessionData {
16
- count: number;
17
- }
18
- }
19
- const sessionStore = new MemoryStore();
20
-
21
-
22
- const app = createApp({
23
- routes: [
24
- {
25
- path: '/http',
26
- controller: HttpController
27
- },
28
- {
29
- path: '/socket',
30
- controller: SocketController
31
- }
32
- ],
33
- middlewares: [
34
- createSession<{ count: number }>({
35
- secret: 'keyboard cat',
36
- resave: false,
37
- saveUninitialized: true,
38
- cookie: { secure: false },
39
- store: sessionStore
40
- })
41
- ]
42
- });
43
-
44
- app.listen(8080, () => {
45
- console.log('app is running!');
46
- });
@@ -1,9 +0,0 @@
1
- import session from 'express-session';
2
- import { Middleware } from '@galeh/chuka';
3
-
4
- export function createSession<T>(options?: session.SessionOptions): Middleware<{ session: T }> {
5
- const sessiongenerator = session(options);
6
- return (req, res, next) => {
7
- sessiongenerator(req as any, res, next);
8
- }
9
- }