@prosopo/api-express-router 3.0.40 → 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.
- package/.turbo/turbo-build$colon$cjs.log +11 -7
- package/.turbo/turbo-build$colon$tsc.log +62 -0
- package/.turbo/turbo-build.log +16 -8
- package/CHANGELOG.md +389 -0
- package/dist/apiExpressRouterFactory.d.ts +9 -0
- package/dist/apiExpressRouterFactory.d.ts.map +1 -0
- package/dist/apiExpressRouterFactory.js.map +1 -0
- package/dist/cjs/endpointAdapter/apiExpressDefaultEndpointAdapter.cjs +2 -1
- package/dist/cjs/middlewares/authMiddleware.cjs +18 -41
- package/dist/cjs/middlewares/requestLoggerMiddleware.cjs +14 -4
- package/dist/endpointAdapter/apiExpressDefaultEndpointAdapter.d.ts +13 -0
- package/dist/endpointAdapter/apiExpressDefaultEndpointAdapter.d.ts.map +1 -0
- package/dist/endpointAdapter/apiExpressDefaultEndpointAdapter.js +2 -1
- package/dist/endpointAdapter/apiExpressDefaultEndpointAdapter.js.map +1 -0
- package/dist/endpointAdapter/apiExpressEndpointAdapter.d.ts +8 -0
- package/dist/endpointAdapter/apiExpressEndpointAdapter.d.ts.map +1 -0
- package/dist/endpointAdapter/apiExpressEndpointAdapter.js +2 -0
- package/dist/endpointAdapter/apiExpressEndpointAdapter.js.map +1 -0
- package/dist/errorHandler.d.ts +5 -0
- package/dist/errorHandler.d.ts.map +1 -0
- package/dist/errorHandler.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/middlewares/authMiddleware.d.ts +5 -0
- package/dist/middlewares/authMiddleware.d.ts.map +1 -0
- package/dist/middlewares/authMiddleware.js +19 -42
- package/dist/middlewares/authMiddleware.js.map +1 -0
- package/dist/middlewares/requestLoggerMiddleware.d.ts +4 -0
- package/dist/middlewares/requestLoggerMiddleware.d.ts.map +1 -0
- package/dist/middlewares/requestLoggerMiddleware.js +11 -1
- package/dist/middlewares/requestLoggerMiddleware.js.map +1 -0
- package/dist/tests/unit/errorHandler.unit.test.d.ts +2 -0
- package/dist/tests/unit/errorHandler.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/errorHandler.unit.test.js +140 -0
- package/dist/tests/unit/errorHandler.unit.test.js.map +1 -0
- package/dist/tests/unit/middlewares/authMiddleware.unit.test.d.ts +2 -0
- package/dist/tests/unit/middlewares/authMiddleware.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/middlewares/authMiddleware.unit.test.js +144 -0
- package/dist/tests/unit/middlewares/authMiddleware.unit.test.js.map +1 -0
- package/express.d.ts +4 -2
- package/package.json +17 -9
- package/src/apiExpressRouterFactory.ts +68 -0
- package/src/endpointAdapter/apiExpressDefaultEndpointAdapter.ts +65 -0
- package/src/endpointAdapter/apiExpressEndpointAdapter.ts +28 -0
- package/src/errorHandler.ts +33 -0
- package/src/index.ts +37 -0
- package/src/middlewares/authMiddleware.ts +93 -0
- package/src/middlewares/requestLoggerMiddleware.ts +55 -0
- package/src/tests/unit/errorHandler.unit.test.ts +190 -0
- package/src/tests/unit/middlewares/authMiddleware.unit.test.ts +183 -0
- package/tsconfig.cjs.json +34 -0
- package/tsconfig.json +41 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/tsconfig.types.json +9 -0
- package/vite.cjs.config.ts +1 -1
- package/vite.esm.config.ts +1 -1
- package/vite.test.config.ts +1 -1
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/api-express-router@3.
|
|
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
|
[32m✓[39m 6 modules transformed.
|
|
47
51
|
rendering chunks...
|
|
48
52
|
[2mdist/cjs/[22m[36merrorHandler.cjs [39m[1m[2m0.49 kB[22m[1m[22m
|
|
49
|
-
[2mdist/cjs/[22m[36mmiddlewares/requestLoggerMiddleware.cjs [39m[1m[2m0.69 kB[22m[1m[22m
|
|
50
53
|
[2mdist/cjs/[22m[36mapiExpressRouterFactory.cjs [39m[1m[2m0.92 kB[22m[1m[22m
|
|
51
|
-
[2mdist/cjs/[22m[
|
|
54
|
+
[2mdist/cjs/[22m[36mmiddlewares/requestLoggerMiddleware.cjs [39m[1m[2m1.06 kB[22m[1m[22m
|
|
55
|
+
[2mdist/cjs/[22m[36mendpointAdapter/apiExpressDefaultEndpointAdapter.cjs [39m[1m[2m1.13 kB[22m[1m[22m
|
|
52
56
|
[2mdist/cjs/[22m[36mindex.cjs [39m[1m[2m1.16 kB[22m[1m[22m
|
|
53
|
-
[2mdist/cjs/[22m[36mmiddlewares/authMiddleware.cjs [39m[1m[
|
|
54
|
-
[32m✓ built in
|
|
57
|
+
[2mdist/cjs/[22m[36mmiddlewares/authMiddleware.cjs [39m[1m[2m1.86 kB[22m[1m[22m
|
|
58
|
+
[32m✓ built in 111ms[39m
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
|
|
2
|
+
> @prosopo/api-express-router@3.1.17 build:tsc
|
|
3
|
+
> tsc --build --verbose
|
|
4
|
+
|
|
5
|
+
8:15:21 AM - Projects in this build:
|
|
6
|
+
* ../../dev/config/tsconfig.json
|
|
7
|
+
* ../util/tsconfig.json
|
|
8
|
+
* ../logger/tsconfig.json
|
|
9
|
+
* ../api-route/tsconfig.json
|
|
10
|
+
* ../locale/tsconfig.json
|
|
11
|
+
* ../util-crypto/tsconfig.json
|
|
12
|
+
* ../types/tsconfig.json
|
|
13
|
+
* ../common/tsconfig.json
|
|
14
|
+
* ../ipinfo/tsconfig.json
|
|
15
|
+
* ../redis-client/tsconfig.json
|
|
16
|
+
* ../api/tsconfig.json
|
|
17
|
+
* ../user-access-policy/tsconfig.json
|
|
18
|
+
* ../types-database/tsconfig.json
|
|
19
|
+
* ../database/tsconfig.json
|
|
20
|
+
* ../keyring/tsconfig.json
|
|
21
|
+
* ../types-env/tsconfig.json
|
|
22
|
+
* ../env/tsconfig.json
|
|
23
|
+
* tsconfig.json
|
|
24
|
+
|
|
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'
|
|
30
|
+
|
|
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'
|
|
32
|
+
|
|
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'
|
|
34
|
+
|
|
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'
|
|
36
|
+
|
|
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'
|
|
38
|
+
|
|
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'
|
|
40
|
+
|
|
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'
|
|
42
|
+
|
|
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'
|
|
44
|
+
|
|
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'
|
|
46
|
+
|
|
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'
|
|
48
|
+
|
|
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'
|
|
50
|
+
|
|
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'
|
|
52
|
+
|
|
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'
|
|
54
|
+
|
|
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'
|
|
56
|
+
|
|
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'
|
|
58
|
+
|
|
59
|
+
8:15:22 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
60
|
+
|
|
61
|
+
8:15:22 AM - Building project '/home/runner/work/captcha/captcha/packages/api-express-router/tsconfig.json'...
|
|
62
|
+
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/api-express-router@3.
|
|
3
|
-
>
|
|
2
|
+
> @prosopo/api-express-router@3.1.17 build
|
|
3
|
+
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
> @prosopo/api-express-router@3.1.17 build:cross-env
|
|
7
|
+
> vite build --config vite.esm.config.ts --mode production
|
|
4
8
|
|
|
5
9
|
ViteEsmConfig: .
|
|
6
10
|
{
|
|
7
11
|
tsConfigPaths: [
|
|
8
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',
|
|
9
15
|
'/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
|
|
10
16
|
'/home/runner/work/captcha/captcha/packages/locale/tsconfig.json',
|
|
11
17
|
'/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
|
|
12
|
-
'/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
|
|
13
18
|
'/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json',
|
|
14
19
|
'/home/runner/work/captcha/captcha/packages/env/tsconfig.json',
|
|
20
|
+
'/home/runner/work/captcha/captcha/packages/ipinfo/tsconfig.json',
|
|
15
21
|
'/home/runner/work/captcha/captcha/packages/database/tsconfig.json',
|
|
16
22
|
'/home/runner/work/captcha/captcha/packages/types-database/tsconfig.json',
|
|
17
23
|
'/home/runner/work/captcha/captcha/packages/user-access-policy/tsconfig.json',
|
|
@@ -24,12 +30,14 @@ ViteEsmConfig: .
|
|
|
24
30
|
{
|
|
25
31
|
externals: [
|
|
26
32
|
'@prosopo/api-route',
|
|
33
|
+
'@prosopo/logger',
|
|
34
|
+
'@prosopo/util',
|
|
27
35
|
'@prosopo/common',
|
|
28
36
|
'@prosopo/locale',
|
|
29
37
|
'@prosopo/types',
|
|
30
|
-
'@prosopo/util',
|
|
31
38
|
'@prosopo/util-crypto',
|
|
32
39
|
'@prosopo/env',
|
|
40
|
+
'@prosopo/ipinfo',
|
|
33
41
|
'@prosopo/database',
|
|
34
42
|
'@prosopo/types-database',
|
|
35
43
|
'@prosopo/user-access-policy',
|
|
@@ -46,9 +54,9 @@ Build end
|
|
|
46
54
|
[32m✓[39m 6 modules transformed.
|
|
47
55
|
rendering chunks...
|
|
48
56
|
[2mdist/[22m[36merrorHandler.js [39m[1m[2m0.39 kB[22m[1m[22m
|
|
49
|
-
[2mdist/[22m[36mmiddlewares/requestLoggerMiddleware.js [39m[1m[2m0.58 kB[22m[1m[22m
|
|
50
57
|
[2mdist/[22m[36mindex.js [39m[1m[2m0.78 kB[22m[1m[22m
|
|
51
58
|
[2mdist/[22m[36mapiExpressRouterFactory.js [39m[1m[2m0.78 kB[22m[1m[22m
|
|
52
|
-
[2mdist/[22m[
|
|
53
|
-
[2mdist/[22m[
|
|
54
|
-
[
|
|
59
|
+
[2mdist/[22m[36mmiddlewares/requestLoggerMiddleware.js [39m[1m[2m0.94 kB[22m[1m[22m
|
|
60
|
+
[2mdist/[22m[36mendpointAdapter/apiExpressDefaultEndpointAdapter.js [39m[1m[2m1.02 kB[22m[1m[22m
|
|
61
|
+
[2mdist/[22m[36mmiddlewares/authMiddleware.js [39m[1m[2m1.73 kB[22m[1m[22m
|
|
62
|
+
[32m✓ built in 192ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,394 @@
|
|
|
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
|
+
|
|
328
|
+
## 3.0.47
|
|
329
|
+
### Patch Changes
|
|
330
|
+
|
|
331
|
+
- 3acc333: Add JWT issuance to keypairs
|
|
332
|
+
- 0a38892: feat/cross-os-testing
|
|
333
|
+
- a8faa9a: bump license year
|
|
334
|
+
- 7543d17: mouse movements bot stopping
|
|
335
|
+
- 3acc333: Release 3.3.0
|
|
336
|
+
- Updated dependencies [3acc333]
|
|
337
|
+
- Updated dependencies [0a38892]
|
|
338
|
+
- Updated dependencies [1ee3d80]
|
|
339
|
+
- Updated dependencies [a8faa9a]
|
|
340
|
+
- Updated dependencies [7543d17]
|
|
341
|
+
- Updated dependencies [fe9fe22]
|
|
342
|
+
- Updated dependencies [3acc333]
|
|
343
|
+
- @prosopo/util-crypto@13.5.29
|
|
344
|
+
- @prosopo/types@3.8.0
|
|
345
|
+
- @prosopo/api-route@2.6.36
|
|
346
|
+
- @prosopo/common@3.1.28
|
|
347
|
+
- @prosopo/locale@3.1.28
|
|
348
|
+
- @prosopo/env@3.2.35
|
|
349
|
+
|
|
350
|
+
## 3.0.46
|
|
351
|
+
### Patch Changes
|
|
352
|
+
|
|
353
|
+
- @prosopo/env@3.2.34
|
|
354
|
+
|
|
355
|
+
## 3.0.45
|
|
356
|
+
### Patch Changes
|
|
357
|
+
|
|
358
|
+
- @prosopo/env@3.2.33
|
|
359
|
+
|
|
360
|
+
## 3.0.44
|
|
361
|
+
### Patch Changes
|
|
362
|
+
|
|
363
|
+
- @prosopo/env@3.2.32
|
|
364
|
+
|
|
365
|
+
## 3.0.43
|
|
366
|
+
### Patch Changes
|
|
367
|
+
|
|
368
|
+
- Updated dependencies [141e462]
|
|
369
|
+
- @prosopo/types@3.7.2
|
|
370
|
+
- @prosopo/env@3.2.31
|
|
371
|
+
|
|
372
|
+
## 3.0.42
|
|
373
|
+
### Patch Changes
|
|
374
|
+
|
|
375
|
+
- Updated dependencies [345b25b]
|
|
376
|
+
- @prosopo/types@3.7.1
|
|
377
|
+
- @prosopo/env@3.2.30
|
|
378
|
+
|
|
379
|
+
## 3.0.41
|
|
380
|
+
### Patch Changes
|
|
381
|
+
|
|
382
|
+
- Updated dependencies [ce70a2b]
|
|
383
|
+
- Updated dependencies [c2b940f]
|
|
384
|
+
- Updated dependencies [f6b5094]
|
|
385
|
+
- Updated dependencies [e01227b]
|
|
386
|
+
- @prosopo/types@3.7.0
|
|
387
|
+
- @prosopo/locale@3.1.27
|
|
388
|
+
- @prosopo/common@3.1.27
|
|
389
|
+
- @prosopo/env@3.2.29
|
|
390
|
+
- @prosopo/api-route@2.6.35
|
|
391
|
+
|
|
3
392
|
## 3.0.40
|
|
4
393
|
### Patch Changes
|
|
5
394
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ApiRoutes, ApiRoutesProvider } from "@prosopo/api-route";
|
|
2
|
+
import { Router } from "express";
|
|
3
|
+
import type { ApiExpressEndpointAdapter } from "./endpointAdapter/apiExpressEndpointAdapter.js";
|
|
4
|
+
declare class ApiExpressRouterFactory {
|
|
5
|
+
createRouter(routersProvider: ApiRoutesProvider, apiEndpointAdapter: ApiExpressEndpointAdapter): Router;
|
|
6
|
+
protected registerRoutes(router: Router, routes: ApiRoutes, apiEndpointAdapter: ApiExpressEndpointAdapter): void;
|
|
7
|
+
}
|
|
8
|
+
export { ApiExpressRouterFactory };
|
|
9
|
+
//# sourceMappingURL=apiExpressRouterFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiExpressRouterFactory.d.ts","sourceRoot":"","sources":["../src/apiExpressRouterFactory.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAIN,MAAM,EACN,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAGhG,cAAM,uBAAuB;IACrB,YAAY,CAClB,eAAe,EAAE,iBAAiB,EAClC,kBAAkB,EAAE,yBAAyB,GAC3C,MAAM;IAcT,SAAS,CAAC,cAAc,CACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,kBAAkB,EAAE,yBAAyB,GAC3C,IAAI;CAmBP;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiExpressRouterFactory.js","sourceRoot":"","sources":["../src/apiExpressRouterFactory.ts"],"names":[],"mappings":"AAeA,OAAO,EAIN,MAAM,GACN,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,uBAAuB;IACrB,YAAY,CAClB,eAAkC,EAClC,kBAA6C;QAE7C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,EAAE,CAAC;QAE9C,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAK3D,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEzB,OAAO,MAAM,CAAC;IACf,CAAC;IAES,cAAc,CACvB,MAAc,EACd,MAAiB,EACjB,kBAA6C;QAE7C,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CACV,KAAK,EACL,KAAK,EACJ,OAAgB,EAChB,QAAkB,EAClB,IAAkB,EACF,EAAE;gBAClB,OAAO,MAAM,kBAAkB,CAAC,aAAa,CAC5C,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,IAAI,CACJ,CAAC;YACH,CAAC,CACD,CAAC;QACH,CAAC;IACF,CAAC;CACD;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -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 =
|
|
26
|
+
const responseObject = logger.stringifyBigInts(apiEndpointResponse);
|
|
26
27
|
response.json(responseObject);
|
|
27
28
|
} catch (error) {
|
|
28
29
|
request.logger.error(() => ({
|
|
@@ -5,31 +5,20 @@ const common = require("@prosopo/common");
|
|
|
5
5
|
const authMiddleware = (pair, authAccount) => {
|
|
6
6
|
return async (req, res, next) => {
|
|
7
7
|
try {
|
|
8
|
-
const
|
|
8
|
+
const jwt = extractJWT(req);
|
|
9
9
|
let error;
|
|
10
|
-
if (authAccount) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
next();
|
|
14
|
-
return;
|
|
15
|
-
} catch (e) {
|
|
16
|
-
req.logger.warn(() => ({
|
|
17
|
-
err: e,
|
|
18
|
-
data: {
|
|
19
|
-
account: authAccount?.address
|
|
20
|
-
}
|
|
21
|
-
}));
|
|
22
|
-
error = e;
|
|
23
|
-
}
|
|
10
|
+
if (authAccount?.jwtVerify(jwt).isValid) {
|
|
11
|
+
next();
|
|
12
|
+
return;
|
|
24
13
|
}
|
|
25
|
-
if (pair) {
|
|
26
|
-
verifySignature(signature, timestamp, pair);
|
|
14
|
+
if (pair?.jwtVerify(jwt).isValid) {
|
|
27
15
|
next();
|
|
28
16
|
return;
|
|
29
17
|
}
|
|
30
18
|
res.status(401).json({
|
|
31
|
-
error: "
|
|
32
|
-
|
|
19
|
+
error: new common.ProsopoEnvError(error || "API.UNAUTHORIZED", {
|
|
20
|
+
context: { i18n: req.i18n, code: 401 }
|
|
21
|
+
})
|
|
33
22
|
});
|
|
34
23
|
return;
|
|
35
24
|
} catch (err) {
|
|
@@ -39,32 +28,20 @@ const authMiddleware = (pair, authAccount) => {
|
|
|
39
28
|
}
|
|
40
29
|
};
|
|
41
30
|
};
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
context: { error: "Missing timestamp", code: 400 }
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
if (!signature) {
|
|
51
|
-
throw new common.ProsopoApiError("GENERAL.INVALID_SIGNATURE", {
|
|
52
|
-
context: { error: "Missing signature", code: 400 }
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
if (Array.isArray(signature) || Array.isArray(timestamp) || !util.isHex(signature)) {
|
|
56
|
-
throw new common.ProsopoApiError("CONTRACT.INVALID_DATA_FORMAT", {
|
|
57
|
-
context: { error: "Invalid header format", code: 400 }
|
|
31
|
+
const extractJWT = (req) => {
|
|
32
|
+
const authHeader = req.headers.Authorization || req.headers.authorization;
|
|
33
|
+
if (!authHeader || typeof authHeader !== "string") {
|
|
34
|
+
throw new common.ProsopoApiError("GENERAL.MISSING_AUTH_HEADER", {
|
|
35
|
+
context: { error: "Missing Authorization header", code: 401 }
|
|
58
36
|
});
|
|
59
37
|
}
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
context: { error: "Timestamp is too old", code: 400 }
|
|
38
|
+
const jwt = authHeader.replace("Bearer ", "");
|
|
39
|
+
if (!jwt) {
|
|
40
|
+
throw new common.ProsopoApiError("GENERAL.INVALID_JWT", {
|
|
41
|
+
context: { error: "Missing JWT", code: 400 }
|
|
65
42
|
});
|
|
66
43
|
}
|
|
67
|
-
return
|
|
44
|
+
return jwt;
|
|
68
45
|
};
|
|
69
46
|
const verifySignature = (signature, message, pair) => {
|
|
70
47
|
const u8Sig = util.hexToU8a(signature);
|