@prosopo/api-express-router 3.0.47 → 3.1.17

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 (31) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +10 -6
  2. package/.turbo/turbo-build$colon$tsc.log +27 -21
  3. package/.turbo/turbo-build.log +11 -7
  4. package/CHANGELOG.md +325 -0
  5. package/dist/cjs/endpointAdapter/apiExpressDefaultEndpointAdapter.cjs +2 -1
  6. package/dist/cjs/middlewares/requestLoggerMiddleware.cjs +14 -4
  7. package/dist/endpointAdapter/apiExpressDefaultEndpointAdapter.d.ts +1 -1
  8. package/dist/endpointAdapter/apiExpressDefaultEndpointAdapter.d.ts.map +1 -1
  9. package/dist/endpointAdapter/apiExpressDefaultEndpointAdapter.js +2 -1
  10. package/dist/endpointAdapter/apiExpressDefaultEndpointAdapter.js.map +1 -1
  11. package/dist/index.d.ts +1 -1
  12. package/dist/middlewares/requestLoggerMiddleware.d.ts.map +1 -1
  13. package/dist/middlewares/requestLoggerMiddleware.js +11 -1
  14. package/dist/middlewares/requestLoggerMiddleware.js.map +1 -1
  15. package/dist/tests/unit/middlewares/authMiddleware.unit.test.js +2 -1
  16. package/dist/tests/unit/middlewares/authMiddleware.unit.test.js.map +1 -1
  17. package/express.d.ts +3 -1
  18. package/package.json +14 -8
  19. package/src/apiExpressRouterFactory.ts +68 -0
  20. package/src/endpointAdapter/apiExpressDefaultEndpointAdapter.ts +65 -0
  21. package/src/endpointAdapter/apiExpressEndpointAdapter.ts +28 -0
  22. package/src/errorHandler.ts +33 -0
  23. package/src/index.ts +37 -0
  24. package/src/middlewares/authMiddleware.ts +93 -0
  25. package/src/middlewares/requestLoggerMiddleware.ts +55 -0
  26. package/src/tests/unit/errorHandler.unit.test.ts +190 -0
  27. package/src/tests/unit/middlewares/authMiddleware.unit.test.ts +183 -0
  28. package/tsconfig.cjs.json +34 -0
  29. package/tsconfig.json +41 -0
  30. package/tsconfig.tsbuildinfo +1 -0
  31. package/tsconfig.types.json +9 -0
@@ -1,17 +1,19 @@
1
1
 
2
- > @prosopo/api-express-router@3.0.47 build:cjs
2
+ > @prosopo/api-express-router@3.1.17 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
6
6
  {
7
7
  tsConfigPaths: [
8
8
  '/home/runner/work/captcha/captcha/packages/api-route/tsconfig.json',
9
+ '/home/runner/work/captcha/captcha/packages/logger/tsconfig.json',
10
+ '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
9
11
  '/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
10
12
  '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json',
11
13
  '/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
12
- '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
13
14
  '/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json',
14
15
  '/home/runner/work/captcha/captcha/packages/env/tsconfig.json',
16
+ '/home/runner/work/captcha/captcha/packages/ipinfo/tsconfig.json',
15
17
  '/home/runner/work/captcha/captcha/packages/database/tsconfig.json',
16
18
  '/home/runner/work/captcha/captcha/packages/types-database/tsconfig.json',
17
19
  '/home/runner/work/captcha/captcha/packages/user-access-policy/tsconfig.json',
@@ -24,12 +26,14 @@ ViteCommonJSConfig: .
24
26
  {
25
27
  externals: [
26
28
  '@prosopo/api-route',
29
+ '@prosopo/logger',
30
+ '@prosopo/util',
27
31
  '@prosopo/common',
28
32
  '@prosopo/locale',
29
33
  '@prosopo/types',
30
- '@prosopo/util',
31
34
  '@prosopo/util-crypto',
32
35
  '@prosopo/env',
36
+ '@prosopo/ipinfo',
33
37
  '@prosopo/database',
34
38
  '@prosopo/types-database',
35
39
  '@prosopo/user-access-policy',
@@ -46,9 +50,9 @@ Build end
46
50
  ✓ 6 modules transformed.
47
51
  rendering chunks...
48
52
  dist/cjs/errorHandler.cjs 0.49 kB
49
- dist/cjs/middlewares/requestLoggerMiddleware.cjs 0.69 kB
50
53
  dist/cjs/apiExpressRouterFactory.cjs 0.92 kB
51
- dist/cjs/endpointAdapter/apiExpressDefaultEndpointAdapter.cjs 1.09 kB
54
+ dist/cjs/middlewares/requestLoggerMiddleware.cjs 1.06 kB
55
+ dist/cjs/endpointAdapter/apiExpressDefaultEndpointAdapter.cjs 1.13 kB
52
56
  dist/cjs/index.cjs 1.16 kB
53
57
  dist/cjs/middlewares/authMiddleware.cjs 1.86 kB
54
- ✓ built in 118ms
58
+ ✓ built in 111ms
@@ -1,15 +1,17 @@
1
1
 
2
- > @prosopo/api-express-router@3.0.47 build:tsc
2
+ > @prosopo/api-express-router@3.1.17 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 4:57:39 PM - Projects in this build:
5
+ 8:15:21 AM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
- * ../locale/tsconfig.json
8
7
  * ../util/tsconfig.json
8
+ * ../logger/tsconfig.json
9
+ * ../api-route/tsconfig.json
10
+ * ../locale/tsconfig.json
9
11
  * ../util-crypto/tsconfig.json
10
12
  * ../types/tsconfig.json
11
13
  * ../common/tsconfig.json
12
- * ../api-route/tsconfig.json
14
+ * ../ipinfo/tsconfig.json
13
15
  * ../redis-client/tsconfig.json
14
16
  * ../api/tsconfig.json
15
17
  * ../user-access-policy/tsconfig.json
@@ -20,37 +22,41 @@
20
22
  * ../env/tsconfig.json
21
23
  * tsconfig.json
22
24
 
23
- 4:57:39 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/dependencies.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
25
+ 8:15:21 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
26
+
27
+ 8:15:21 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
28
+
29
+ 8:15:21 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
24
30
 
25
- 4:57:39 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
31
+ 8:15:21 AM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
26
32
 
27
- 4:57:39 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/verifyRecency.ts' is older than output '../util/tsconfig.tsbuildinfo'
33
+ 8:15:21 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
28
34
 
29
- 4:57:39 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
35
+ 8:15:21 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
30
36
 
31
- 4:57:39 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/procaptcha/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
37
+ 8:15:21 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/procaptcha/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
32
38
 
33
- 4:57:39 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/logger.ts' is older than output '../common/tsconfig.tsbuildinfo'
39
+ 8:15:21 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/error.ts' is older than output '../common/tsconfig.tsbuildinfo'
34
40
 
35
- 4:57:39 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/index.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
41
+ 8:15:22 AM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
36
42
 
37
- 4:57:39 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
43
+ 8:15:22 AM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
38
44
 
39
- 4:57:39 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
45
+ 8:15:22 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
40
46
 
41
- 4:57:39 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
47
+ 8:15:22 AM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
42
48
 
43
- 4:57:39 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
49
+ 8:15:22 AM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types/bannedDomain.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
44
50
 
45
- 4:57:39 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/index.ts' is older than output '../database/tsconfig.tsbuildinfo'
51
+ 8:15:22 AM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/integration/ipInfoPersistence.integration.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
46
52
 
47
- 4:57:39 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
53
+ 8:15:22 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
48
54
 
49
- 4:57:39 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/env.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
55
+ 8:15:22 AM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/index.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
50
56
 
51
- 4:57:39 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
57
+ 8:15:22 AM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
52
58
 
53
- 4:57:39 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
59
+ 8:15:22 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
54
60
 
55
- 4:57:39 PM - Building project '/home/runner/work/captcha/captcha/packages/api-express-router/tsconfig.json'...
61
+ 8:15:22 AM - Building project '/home/runner/work/captcha/captcha/packages/api-express-router/tsconfig.json'...
56
62
 
@@ -1,21 +1,23 @@
1
1
 
2
- > @prosopo/api-express-router@3.0.47 build
2
+ > @prosopo/api-express-router@3.1.17 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/api-express-router@3.0.47 build:cross-env
6
+ > @prosopo/api-express-router@3.1.17 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
10
10
  {
11
11
  tsConfigPaths: [
12
12
  '/home/runner/work/captcha/captcha/packages/api-route/tsconfig.json',
13
+ '/home/runner/work/captcha/captcha/packages/logger/tsconfig.json',
14
+ '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
13
15
  '/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
14
16
  '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json',
15
17
  '/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
16
- '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
17
18
  '/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json',
18
19
  '/home/runner/work/captcha/captcha/packages/env/tsconfig.json',
20
+ '/home/runner/work/captcha/captcha/packages/ipinfo/tsconfig.json',
19
21
  '/home/runner/work/captcha/captcha/packages/database/tsconfig.json',
20
22
  '/home/runner/work/captcha/captcha/packages/types-database/tsconfig.json',
21
23
  '/home/runner/work/captcha/captcha/packages/user-access-policy/tsconfig.json',
@@ -28,12 +30,14 @@ ViteEsmConfig: .
28
30
  {
29
31
  externals: [
30
32
  '@prosopo/api-route',
33
+ '@prosopo/logger',
34
+ '@prosopo/util',
31
35
  '@prosopo/common',
32
36
  '@prosopo/locale',
33
37
  '@prosopo/types',
34
- '@prosopo/util',
35
38
  '@prosopo/util-crypto',
36
39
  '@prosopo/env',
40
+ '@prosopo/ipinfo',
37
41
  '@prosopo/database',
38
42
  '@prosopo/types-database',
39
43
  '@prosopo/user-access-policy',
@@ -50,9 +54,9 @@ Build end
50
54
  ✓ 6 modules transformed.
51
55
  rendering chunks...
52
56
  dist/errorHandler.js 0.39 kB
53
- dist/middlewares/requestLoggerMiddleware.js 0.58 kB
54
57
  dist/index.js 0.78 kB
55
58
  dist/apiExpressRouterFactory.js 0.78 kB
56
- dist/endpointAdapter/apiExpressDefaultEndpointAdapter.js 0.98 kB
59
+ dist/middlewares/requestLoggerMiddleware.js 0.94 kB
60
+ dist/endpointAdapter/apiExpressDefaultEndpointAdapter.js 1.02 kB
57
61
  dist/middlewares/authMiddleware.js 1.73 kB
58
- ✓ built in 205ms
62
+ ✓ built in 192ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,330 @@
1
1
  # @prosopo/api-express-router
2
2
 
3
+ ## 3.1.17
4
+ ### Patch Changes
5
+
6
+ - Updated dependencies [a1d60db]
7
+ - Updated dependencies [2392aaf]
8
+ - Updated dependencies [97cf7bd]
9
+ - Updated dependencies [6ca1125]
10
+ - Updated dependencies [32a591b]
11
+ - @prosopo/types@4.3.0
12
+ - @prosopo/logger@1.0.2
13
+ - @prosopo/common@3.1.38
14
+ - @prosopo/env@3.5.7
15
+ - @prosopo/api-route@2.6.46
16
+
17
+ ## 3.1.16
18
+ ### Patch Changes
19
+
20
+ - Updated dependencies [6c26669]
21
+ - Updated dependencies [f7f9ec5]
22
+ - @prosopo/types@4.2.1
23
+ - @prosopo/env@3.5.6
24
+
25
+ ## 3.1.15
26
+ ### Patch Changes
27
+
28
+ - 0fd81af: Extract the logger into its own `@prosopo/logger` package, out of `@prosopo/common`. Consumers now import logger symbols from `@prosopo/logger`; `@prosopo/common` no longer re-exports them. Unused `@prosopo/common` dependencies pruned where the only usage was the logger.
29
+ - Updated dependencies [0fd81af]
30
+ - @prosopo/api-route@2.6.45
31
+ - @prosopo/common@3.1.37
32
+ - @prosopo/env@3.5.5
33
+ - @prosopo/logger@1.0.1
34
+
35
+ ## 3.1.14
36
+ ### Patch Changes
37
+
38
+ - Updated dependencies [20cae63]
39
+ - Updated dependencies [4d9923e]
40
+ - @prosopo/types@4.2.0
41
+ - @prosopo/env@3.5.4
42
+
43
+ ## 3.1.13
44
+ ### Patch Changes
45
+
46
+ - Updated dependencies [d351362]
47
+ - @prosopo/types@4.1.4
48
+ - @prosopo/env@3.5.3
49
+
50
+ ## 3.1.12
51
+ ### Patch Changes
52
+
53
+ - Updated dependencies [e2711ae]
54
+ - Updated dependencies [5786629]
55
+ - @prosopo/types@4.1.3
56
+ - @prosopo/locale@3.2.4
57
+ - @prosopo/common@3.1.36
58
+ - @prosopo/env@3.5.2
59
+ - @prosopo/api-route@2.6.44
60
+
61
+ ## 3.1.11
62
+ ### Patch Changes
63
+
64
+ - @prosopo/types@4.1.2
65
+ - @prosopo/env@3.5.1
66
+
67
+ ## 3.1.10
68
+ ### Patch Changes
69
+
70
+ - Updated dependencies [53bfd45]
71
+ - Updated dependencies [91958da]
72
+ - @prosopo/locale@3.2.3
73
+ - @prosopo/env@3.5.0
74
+ - @prosopo/types@4.1.1
75
+ - @prosopo/common@3.1.35
76
+ - @prosopo/api-route@2.6.43
77
+
78
+ ## 3.1.9
79
+ ### Patch Changes
80
+
81
+ - Updated dependencies [6a741ce]
82
+ - @prosopo/types@4.1.0
83
+ - @prosopo/env@3.4.9
84
+
85
+ ## 3.1.8
86
+ ### Patch Changes
87
+
88
+ - Updated dependencies [3c0be68]
89
+ - Updated dependencies [f9ea09d]
90
+ - Updated dependencies [4aae4e6]
91
+ - Updated dependencies [d865319]
92
+ - Updated dependencies [753304b]
93
+ - Updated dependencies [8bb7286]
94
+ - Updated dependencies [f9ea09d]
95
+ - Updated dependencies [4aae4e6]
96
+ - Updated dependencies [4993813]
97
+ - @prosopo/types@4.0.0
98
+ - @prosopo/locale@3.2.2
99
+ - @prosopo/common@3.1.34
100
+ - @prosopo/env@3.4.8
101
+ - @prosopo/api-route@2.6.42
102
+
103
+ ## 3.1.7
104
+ ### Patch Changes
105
+
106
+ - Updated dependencies [819ed95]
107
+ - @prosopo/types@3.16.1
108
+ - @prosopo/env@3.4.7
109
+
110
+ ## 3.1.6
111
+ ### Patch Changes
112
+
113
+ - @prosopo/env@3.4.6
114
+
115
+ ## 3.1.5
116
+ ### Patch Changes
117
+
118
+ - @prosopo/env@3.4.5
119
+
120
+ ## 3.1.4
121
+ ### Patch Changes
122
+
123
+ - @prosopo/env@3.4.4
124
+
125
+ ## 3.1.3
126
+ ### Patch Changes
127
+
128
+ - Updated dependencies [f6a4402]
129
+ - Updated dependencies [99dfb44]
130
+ - @prosopo/types@3.16.0
131
+ - @prosopo/env@3.4.3
132
+
133
+ ## 3.1.2
134
+ ### Patch Changes
135
+
136
+ - Updated dependencies [3e54c0a]
137
+ - @prosopo/types@3.15.0
138
+ - @prosopo/env@3.4.2
139
+
140
+ ## 3.1.1
141
+ ### Patch Changes
142
+
143
+ - Updated dependencies [946a8ba]
144
+ - Updated dependencies [5614814]
145
+ - Updated dependencies [b94890c]
146
+ - @prosopo/types@3.14.1
147
+ - @prosopo/locale@3.2.1
148
+ - @prosopo/common@3.1.33
149
+ - @prosopo/env@3.4.1
150
+ - @prosopo/api-route@2.6.41
151
+
152
+ ## 3.1.0
153
+ ### Minor Changes
154
+
155
+ - 42650db: Add better spam rules and move ipinfo service to local instead of external
156
+
157
+ ### Patch Changes
158
+
159
+ - Updated dependencies [fc514dd]
160
+ - Updated dependencies [42650db]
161
+ - @prosopo/locale@3.2.0
162
+ - @prosopo/types@3.14.0
163
+ - @prosopo/env@3.4.0
164
+ - @prosopo/common@3.1.32
165
+ - @prosopo/api-route@2.6.40
166
+
167
+ ## 3.0.70
168
+ ### Patch Changes
169
+
170
+ - Updated dependencies [4a9c518]
171
+ - @prosopo/common@3.1.31
172
+ - @prosopo/api-route@2.6.39
173
+ - @prosopo/env@3.3.15
174
+
175
+ ## 3.0.69
176
+ ### Patch Changes
177
+
178
+ - @prosopo/types@3.13.3
179
+ - @prosopo/env@3.3.14
180
+
181
+ ## 3.0.68
182
+ ### Patch Changes
183
+
184
+ - @prosopo/types@3.13.2
185
+ - @prosopo/env@3.3.13
186
+
187
+ ## 3.0.67
188
+ ### Patch Changes
189
+
190
+ - @prosopo/types@3.13.1
191
+ - @prosopo/env@3.3.12
192
+
193
+ ## 3.0.66
194
+ ### Patch Changes
195
+
196
+ - Updated dependencies [e6d9553]
197
+ - @prosopo/types@3.13.0
198
+ - @prosopo/env@3.3.11
199
+
200
+ ## 3.0.65
201
+ ### Patch Changes
202
+
203
+ - Updated dependencies [d5082a9]
204
+ - Updated dependencies [e1ea65f]
205
+ - Updated dependencies [c316257]
206
+ - @prosopo/types@3.12.3
207
+ - @prosopo/env@3.3.10
208
+
209
+ ## 3.0.64
210
+ ### Patch Changes
211
+
212
+ - Updated dependencies [adb89a6]
213
+ - @prosopo/locale@3.1.29
214
+ - @prosopo/types@3.12.2
215
+ - @prosopo/env@3.3.9
216
+ - @prosopo/common@3.1.30
217
+ - @prosopo/api-route@2.6.38
218
+
219
+ ## 3.0.63
220
+ ### Patch Changes
221
+
222
+ - Updated dependencies [c5ee492]
223
+ - Updated dependencies [a90eb54]
224
+ - @prosopo/common@3.1.29
225
+ - @prosopo/types@3.12.1
226
+ - @prosopo/api-route@2.6.37
227
+ - @prosopo/env@3.3.8
228
+
229
+ ## 3.0.62
230
+ ### Patch Changes
231
+
232
+ - Updated dependencies [676c5f2]
233
+ - Updated dependencies [feaca02]
234
+ - @prosopo/types@3.12.0
235
+ - @prosopo/env@3.3.7
236
+
237
+ ## 3.0.61
238
+ ### Patch Changes
239
+
240
+ - Updated dependencies [8148587]
241
+ - @prosopo/types@3.11.1
242
+ - @prosopo/env@3.3.6
243
+
244
+ ## 3.0.60
245
+ ### Patch Changes
246
+
247
+ - @prosopo/env@3.3.5
248
+
249
+ ## 3.0.59
250
+ ### Patch Changes
251
+
252
+ - ca7f4ad: Attach site key and user to logger earlier
253
+ - Updated dependencies [7f6ffc5]
254
+ - @prosopo/types@3.11.0
255
+ - @prosopo/env@3.3.4
256
+
257
+ ## 3.0.58
258
+ ### Patch Changes
259
+
260
+ - Updated dependencies [93fa086]
261
+ - @prosopo/types@3.10.2
262
+ - @prosopo/env@3.3.3
263
+
264
+ ## 3.0.57
265
+ ### Patch Changes
266
+
267
+ - Updated dependencies [cde7550]
268
+ - @prosopo/types@3.10.1
269
+ - @prosopo/env@3.3.2
270
+
271
+ ## 3.0.56
272
+ ### Patch Changes
273
+
274
+ - Updated dependencies [ad6d622]
275
+ - @prosopo/types@3.10.0
276
+ - @prosopo/env@3.3.1
277
+
278
+ ## 3.0.55
279
+ ### Patch Changes
280
+
281
+ - Updated dependencies [ff58a70]
282
+ - @prosopo/types@3.9.0
283
+ - @prosopo/env@3.3.0
284
+
285
+ ## 3.0.54
286
+ ### Patch Changes
287
+
288
+ - @prosopo/env@3.2.42
289
+
290
+ ## 3.0.53
291
+ ### Patch Changes
292
+
293
+ - Updated dependencies [d2431cd]
294
+ - @prosopo/types@3.8.4
295
+ - @prosopo/env@3.2.41
296
+
297
+ ## 3.0.52
298
+ ### Patch Changes
299
+
300
+ - @prosopo/env@3.2.40
301
+
302
+ ## 3.0.51
303
+ ### Patch Changes
304
+
305
+ - Updated dependencies [bd6995b]
306
+ - @prosopo/types@3.8.3
307
+ - @prosopo/env@3.2.39
308
+
309
+ ## 3.0.50
310
+ ### Patch Changes
311
+
312
+ - Updated dependencies [9633e58]
313
+ - @prosopo/types@3.8.2
314
+ - @prosopo/env@3.2.38
315
+
316
+ ## 3.0.49
317
+ ### Patch Changes
318
+
319
+ - Updated dependencies [f52a5c1]
320
+ - @prosopo/types@3.8.1
321
+ - @prosopo/env@3.2.37
322
+
323
+ ## 3.0.48
324
+ ### Patch Changes
325
+
326
+ - @prosopo/env@3.2.36
327
+
3
328
  ## 3.0.47
4
329
  ### Patch Changes
5
330
 
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const common = require("@prosopo/common");
4
+ const logger = require("@prosopo/logger");
4
5
  class ApiExpressDefaultEndpointAdapter {
5
6
  constructor(logLevel, errorStatusCode) {
6
7
  this.logLevel = logLevel;
@@ -22,7 +23,7 @@ class ApiExpressDefaultEndpointAdapter {
22
23
  args,
23
24
  request.logger
24
25
  );
25
- const responseObject = common.stringifyBigInts(apiEndpointResponse);
26
+ const responseObject = logger.stringifyBigInts(apiEndpointResponse);
26
27
  response.json(responseObject);
27
28
  } catch (error) {
28
29
  request.logger.error(() => ({
@@ -1,19 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const common = require("@prosopo/common");
3
+ const logger = require("@prosopo/logger");
4
4
  const uuid = require("uuid");
5
+ const getHeaderValue = (req, headerName) => {
6
+ if (headerName in req.headers && req.headers[headerName]) {
7
+ return req.headers[headerName].toString();
8
+ }
9
+ return void 0;
10
+ };
5
11
  function requestLoggerMiddleware(env) {
6
12
  return (req, res, next) => {
7
13
  const requestId = req.headers["x-request-id"] || `e-${uuid.v4()}`;
14
+ const user = getHeaderValue(req, "prosopo-user");
15
+ const siteKey = getHeaderValue(req, "prosopo-site-key");
8
16
  const sessionId = req.body?.sessionId ? req.body.sessionId : null;
9
- const logger = common.getLogger(
10
- common.parseLogLevel(env.config.logLevel),
17
+ const logger$1 = logger.getLogger(
18
+ logger.parseLogLevel(env.config.logLevel),
11
19
  "request-logger"
12
20
  ).with({
13
21
  requestId,
22
+ ...user ? { user } : {},
23
+ ...siteKey ? { siteKey } : {},
14
24
  ...sessionId ? { sessionId } : {}
15
25
  });
16
- req.logger = logger;
26
+ req.logger = logger$1;
17
27
  req.requestId = requestId;
18
28
  next();
19
29
  };
@@ -1,5 +1,5 @@
1
1
  import type { ApiEndpoint } from "@prosopo/api-route";
2
- import { type LogLevel } from "@prosopo/common";
2
+ import { type LogLevel } from "@prosopo/logger";
3
3
  import type { NextFunction, Request, Response } from "express";
4
4
  import type { ZodType } from "zod";
5
5
  import type { ApiExpressEndpointAdapter } from "./apiExpressEndpointAdapter.js";
@@ -1 +1 @@
1
- {"version":3,"file":"apiExpressDefaultEndpointAdapter.d.ts","sourceRoot":"","sources":["../../src/endpointAdapter/apiExpressDefaultEndpointAdapter.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACN,KAAK,QAAQ,EAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAEhF,cAAM,gCAAiC,YAAW,yBAAyB;IAEzE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADf,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,MAAM;IAG5B,aAAa,CACzB,QAAQ,EAAE,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC,EAC1C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC;CA8BhB;AAED,OAAO,EAAE,gCAAgC,EAAE,CAAC"}
1
+ {"version":3,"file":"apiExpressDefaultEndpointAdapter.d.ts","sourceRoot":"","sources":["../../src/endpointAdapter/apiExpressDefaultEndpointAdapter.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,KAAK,QAAQ,EAAoB,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAEhF,cAAM,gCAAiC,YAAW,yBAAyB;IAEzE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADf,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,MAAM;IAG5B,aAAa,CACzB,QAAQ,EAAE,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC,EAC1C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC;CA8BhB;AAED,OAAO,EAAE,gCAAgC,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
- import { ProsopoApiError, stringifyBigInts } from "@prosopo/common";
1
+ import { ProsopoApiError } from "@prosopo/common";
2
+ import { stringifyBigInts } from "@prosopo/logger";
2
3
  class ApiExpressDefaultEndpointAdapter {
3
4
  constructor(logLevel, errorStatusCode) {
4
5
  this.logLevel = logLevel;
@@ -1 +1 @@
1
- {"version":3,"file":"apiExpressDefaultEndpointAdapter.js","sourceRoot":"","sources":["../../src/endpointAdapter/apiExpressDefaultEndpointAdapter.ts"],"names":[],"mappings":"AAeA,OAAO,EAEN,eAAe,EACf,gBAAgB,GAChB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,gCAAgC;IACrC,YACkB,QAAkB,EAClB,eAAuB;QADvB,aAAQ,GAAR,QAAQ,CAAU;QAClB,oBAAe,GAAf,eAAe,CAAQ;IACtC,CAAC;IAEG,KAAK,CAAC,aAAa,CACzB,QAA0C,EAC1C,OAAgB,EAChB,QAAkB,EAClB,IAAkB;QAElB,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACJ,IAAI,GAAG,QAAQ,CAAC,oBAAoB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,iBAAiB,EAAE;gBACtC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;aACpC,CAAC,CACF,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,mBAAmB,GAAG,MAAM,QAAQ,CAAC,cAAc,CACxD,IAAI,EACJ,OAAO,CAAC,MAAM,CACd,CAAC;YAGF,MAAM,cAAc,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;YAE7D,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3B,GAAG,EAAE,KAAK;aACV,CAAC,CAAC,CAAC;YAEJ,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;CACD;AAED,OAAO,EAAE,gCAAgC,EAAE,CAAC"}
1
+ {"version":3,"file":"apiExpressDefaultEndpointAdapter.js","sourceRoot":"","sources":["../../src/endpointAdapter/apiExpressDefaultEndpointAdapter.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAiB,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKlE,MAAM,gCAAgC;IACrC,YACkB,QAAkB,EAClB,eAAuB;QADvB,aAAQ,GAAR,QAAQ,CAAU;QAClB,oBAAe,GAAf,eAAe,CAAQ;IACtC,CAAC;IAEG,KAAK,CAAC,aAAa,CACzB,QAA0C,EAC1C,OAAgB,EAChB,QAAkB,EAClB,IAAkB;QAElB,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACJ,IAAI,GAAG,QAAQ,CAAC,oBAAoB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CACV,IAAI,eAAe,CAAC,iBAAiB,EAAE;gBACtC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;aACpC,CAAC,CACF,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,mBAAmB,GAAG,MAAM,QAAQ,CAAC,cAAc,CACxD,IAAI,EACJ,OAAO,CAAC,MAAM,CACd,CAAC;YAGF,MAAM,cAAc,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;YAE7D,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3B,GAAG,EAAE,KAAK;aACV,CAAC,CAAC,CAAC;YAEJ,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;CACD;AAED,OAAO,EAAE,gCAAgC,EAAE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { LogLevel } from "@prosopo/common";
1
+ import type { LogLevel } from "@prosopo/logger";
2
2
  import { ApiExpressRouterFactory } from "./apiExpressRouterFactory.js";
3
3
  import type { ApiExpressEndpointAdapter } from "./endpointAdapter/apiExpressEndpointAdapter.js";
4
4
  declare const apiExpressRouterFactory: ApiExpressRouterFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"requestLoggerMiddleware.d.ts","sourceRoot":"","sources":["../../src/middlewares/requestLoggerMiddleware.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/D,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,mBAAmB,SAClD,OAAO,OAAO,QAAQ,QAAQ,YAAY,UAqBvD"}
1
+ {"version":3,"file":"requestLoggerMiddleware.d.ts","sourceRoot":"","sources":["../../src/middlewares/requestLoggerMiddleware.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAa/D,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,mBAAmB,SAClD,OAAO,OAAO,QAAQ,QAAQ,YAAY,UAwBvD"}
@@ -1,14 +1,24 @@
1
- import { getLogger, parseLogLevel } from "@prosopo/common";
1
+ import { getLogger, parseLogLevel } from "@prosopo/logger";
2
2
  import { v4 } from "uuid";
3
+ const getHeaderValue = (req, headerName) => {
4
+ if (headerName in req.headers && req.headers[headerName]) {
5
+ return req.headers[headerName].toString();
6
+ }
7
+ return void 0;
8
+ };
3
9
  function requestLoggerMiddleware(env) {
4
10
  return (req, res, next) => {
5
11
  const requestId = req.headers["x-request-id"] || `e-${v4()}`;
12
+ const user = getHeaderValue(req, "prosopo-user");
13
+ const siteKey = getHeaderValue(req, "prosopo-site-key");
6
14
  const sessionId = req.body?.sessionId ? req.body.sessionId : null;
7
15
  const logger = getLogger(
8
16
  parseLogLevel(env.config.logLevel),
9
17
  "request-logger"
10
18
  ).with({
11
19
  requestId,
20
+ ...user ? { user } : {},
21
+ ...siteKey ? { siteKey } : {},
12
22
  ...sessionId ? { sessionId } : {}
13
23
  });
14
24
  req.logger = logger;
@@ -1 +1 @@
1
- {"version":3,"file":"requestLoggerMiddleware.js","sourceRoot":"","sources":["../../src/middlewares/requestLoggerMiddleware.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,UAAU,uBAAuB,CAAC,GAAwB;IAC/D,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC1D,MAAM,SAAS,GACb,GAAG,CAAC,OAAO,CAAC,cAAc,CAAY,IAAI,KAAK,MAAM,EAAE,EAAE,CAAC;QAE5D,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAElE,MAAM,MAAM,GAAG,SAAS,CACvB,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAClC,gBAAgB,CAChB,CAAC,IAAI,CAAC;YACN,SAAS;YACT,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnC,CAAC,CAAC;QAGH,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAG1B,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"requestLoggerMiddleware.js","sourceRoot":"","sources":["../../src/middlewares/requestLoggerMiddleware.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,cAAc,GAAG,CACtB,GAAY,EACZ,UAAkB,EACG,EAAE;IACvB,IAAI,UAAU,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1D,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,GAAwB;IAC/D,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC1D,MAAM,SAAS,GACb,GAAG,CAAC,OAAO,CAAC,cAAc,CAAY,IAAI,KAAK,MAAM,EAAE,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAElE,MAAM,MAAM,GAAG,SAAS,CACvB,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAClC,gBAAgB,CAChB,CAAC,IAAI,CAAC;YACN,SAAS;YACT,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnC,CAAC,CAAC;QAGH,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAG1B,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { hexToU8a, isHex } from "@polkadot/util";
2
- import { ProsopoEnvError, getLogger } from "@prosopo/common";
2
+ import { ProsopoEnvError } from "@prosopo/common";
3
+ import { getLogger } from "@prosopo/logger";
3
4
  import { describe, expect, it, vi } from "vitest";
4
5
  import { authMiddleware } from "../../../middlewares/authMiddleware.js";
5
6
  const loggerOuter = getLogger("info", import.meta.url);