test: add keys folder
This commit is contained in:
@@ -2,7 +2,6 @@
|
|||||||
/dist
|
/dist
|
||||||
/node_modules
|
/node_modules
|
||||||
/build
|
/build
|
||||||
/keys
|
|
||||||
|
|
||||||
# Logs
|
# Logs
|
||||||
logs
|
logs
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCb+gKyoUDyEX1M
|
||||||
|
y/hRfkQh4O/UpfMj4oUhp9n6BTUhaASZY/Xp57xXDX6PsjGX0N3tTFz0OFxZEHpk
|
||||||
|
PCoJhvdLfPnNps4iRrvA00GlMSZEquZX8TOKEDD4T3oqxy3Q8d43ZgXJ0+KYyd0E
|
||||||
|
PpWhFaJZKFAPgWSUhAqoFiu5rQ2S4iQWyFgvMLesBtxPwaQuRxscqsoiXJ65wIvD
|
||||||
|
Kbad3lRygj58qoMHX/clgQolFpmAWq2GiR4UE3hJX20xovN4kOTds2hMDFG09u24
|
||||||
|
nyZVMv0/SmHOOisbFPFXtJsA22YHdOubqghd4KpjjQC7L5lNQRWv6EPhfGzxMy+O
|
||||||
|
5Py+sx5VAgMBAAECggEAC06piWeVPLc13S5gNxAvQkF7QXAyWySdwB3Z+H0OJ/jR
|
||||||
|
dIlBl45cIfdxeFtTqwzSOdSyXGYFk9NU/BU8eupU3R0XQuhXwzZbgBQQizgv7QRy
|
||||||
|
pGdw9A5OboHcemNsF9yg3mVAACyjHa5snlUnJcFavpnki+s2bmnQF/VbgB9if4ZW
|
||||||
|
S07UsJCB6kyzuhDnBJYkB8Ibuxk5951hpegHy4KzfVwajBHe4iRT5IyfqtxxU1lZ
|
||||||
|
by3PISFqosjlvV2TrZlb3J4qllHkm3JRTD1XlGekb3f4o2geoIv4bimhz3tRJ3mS
|
||||||
|
tpPiNpJnOIQacNhn1Vjk03s0DfQGuqY75NyXkd8sVQKBgQDV5QtLfRf/d0RdAgfj
|
||||||
|
7AZYagd9izkpBky6OwJZwxabqSFQ4vMgOaMdVKchc0P/d5pdSWSSjkywDUp0RcDL
|
||||||
|
foNCt/yEfUeBWxGOqCvsBhEvflSEUFzSkvgIWLHI5HYdWJ1geEXAVFx00b/3bLpj
|
||||||
|
Zioug2w2bZLa0mjPsXBcqmIW+wKBgQC6rkGaVXXbq/hu4bWY85MdcWCsRrFilLhY
|
||||||
|
ECw6cqaVYchjpk10J0fQcl2kZfLr8rr9m2zymtDDX9TuPQPG7F1o7KZ/jvHrDxwh
|
||||||
|
cg1l3EtpCiqA5k2+qKBVPZ7Cv35px1HZQtPUz1fSDR9fXGwDiPhJtM7XqzFAuE5p
|
||||||
|
1A29GPbe7wKBgD9LHLGE3dIRt+AR1sXiNOp6zaafyRVTsOa2yXZIXWtIe/xUe/9A
|
||||||
|
Lv1h7GbglfGFsd8C9cjMZPL/q9WGQou07yCSEx4deEhV63ccWoroLLOyHU5d/Wmu
|
||||||
|
ZckKfelleXIro75FONa13/oNi1GrEeiR9c93wlDE0d0AwFUdO5OgM5B7AoGAa+is
|
||||||
|
nUTHMuruWVH5QeeSY5OVGSBoCx8CjE0U89gwOOtkBU4tOXY3SePCA3S2/fK6ajx8
|
||||||
|
tqQNBtKPaAM2+rbIrA0XlWaQqpp6XU7rNbUolhg9R3NY/1vECmHrMpG0xfpkcpzx
|
||||||
|
i/MqxY22U8491bFILHrqkbowZ0Pid8QPCP60PVsCgYAB83iEuuisaLoIC3fePm/1
|
||||||
|
7wuEisVAdLBnPf8ZhRpD6qdZkOlFHQFq4nnpEOkrW0GY0KLvPsVcE0zuak3kLaiy
|
||||||
|
9dS1qbfCD8T0wp/oqUXQ7p5GuoLAb2l7MMCQSwBKfAGrQm9gMyXjB05nhAQ0U+dE
|
||||||
|
qEe/CUjVZ2MsMb/Z9z8EfQ==
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm/oCsqFA8hF9TMv4UX5E
|
||||||
|
IeDv1KXzI+KFIafZ+gU1IWgEmWP16ee8Vw1+j7Ixl9Dd7Uxc9DhcWRB6ZDwqCYb3
|
||||||
|
S3z5zabOIka7wNNBpTEmRKrmV/EzihAw+E96Ksct0PHeN2YFydPimMndBD6VoRWi
|
||||||
|
WShQD4FklIQKqBYrua0NkuIkFshYLzC3rAbcT8GkLkcbHKrKIlyeucCLwym2nd5U
|
||||||
|
coI+fKqDB1/3JYEKJRaZgFqthokeFBN4SV9tMaLzeJDk3bNoTAxRtPbtuJ8mVTL9
|
||||||
|
P0phzjorGxTxV7SbANtmB3Trm6oIXeCqY40Auy+ZTUEVr+hD4Xxs8TMvjuT8vrMe
|
||||||
|
VQIDAQAB
|
||||||
|
-----END PUBLIC KEY-----
|
||||||
@@ -60,6 +60,7 @@
|
|||||||
"dotenv": "^16.4.7",
|
"dotenv": "^16.4.7",
|
||||||
"fastify": "^5.2.1",
|
"fastify": "^5.2.1",
|
||||||
"handlebars": "^4.7.8",
|
"handlebars": "^4.7.8",
|
||||||
|
"node-jose": "^2.2.0",
|
||||||
"nodemailer": "^6.9.16",
|
"nodemailer": "^6.9.16",
|
||||||
"passport-jwt": "^4.0.1",
|
"passport-jwt": "^4.0.1",
|
||||||
"pg": "^8.13.1",
|
"pg": "^8.13.1",
|
||||||
@@ -77,6 +78,7 @@
|
|||||||
"@types/bcrypt": "^5.0.2",
|
"@types/bcrypt": "^5.0.2",
|
||||||
"@types/jest": "^29.5.14",
|
"@types/jest": "^29.5.14",
|
||||||
"@types/node": "^20.17.14",
|
"@types/node": "^20.17.14",
|
||||||
|
"@types/node-jose": "^1.1.13",
|
||||||
"@types/nodemailer": "^6.4.17",
|
"@types/nodemailer": "^6.4.17",
|
||||||
"@types/passport-jwt": "^4.0.1",
|
"@types/passport-jwt": "^4.0.1",
|
||||||
"@types/supertest": "^6.0.2",
|
"@types/supertest": "^6.0.2",
|
||||||
|
|||||||
Generated
+61
@@ -101,6 +101,9 @@ importers:
|
|||||||
handlebars:
|
handlebars:
|
||||||
specifier: ^4.7.8
|
specifier: ^4.7.8
|
||||||
version: 4.7.8
|
version: 4.7.8
|
||||||
|
node-jose:
|
||||||
|
specifier: ^2.2.0
|
||||||
|
version: 2.2.0
|
||||||
nodemailer:
|
nodemailer:
|
||||||
specifier: ^6.9.16
|
specifier: ^6.9.16
|
||||||
version: 6.9.16
|
version: 6.9.16
|
||||||
@@ -144,6 +147,9 @@ importers:
|
|||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^20.17.14
|
specifier: ^20.17.14
|
||||||
version: 20.17.15
|
version: 20.17.15
|
||||||
|
'@types/node-jose':
|
||||||
|
specifier: ^1.1.13
|
||||||
|
version: 1.1.13
|
||||||
'@types/nodemailer':
|
'@types/nodemailer':
|
||||||
specifier: ^6.4.17
|
specifier: ^6.4.17
|
||||||
version: 6.4.17
|
version: 6.4.17
|
||||||
@@ -1505,6 +1511,9 @@ packages:
|
|||||||
'@types/mjml@4.7.4':
|
'@types/mjml@4.7.4':
|
||||||
resolution: {integrity: sha512-vyi1vzWgMzFMwZY7GSZYX0GU0dmtC8vLHwpgk+NWmwbwRSrlieVyJ9sn5elodwUfklJM7yGl0zQeet1brKTWaQ==}
|
resolution: {integrity: sha512-vyi1vzWgMzFMwZY7GSZYX0GU0dmtC8vLHwpgk+NWmwbwRSrlieVyJ9sn5elodwUfklJM7yGl0zQeet1brKTWaQ==}
|
||||||
|
|
||||||
|
'@types/node-jose@1.1.13':
|
||||||
|
resolution: {integrity: sha512-QjMd4yhwy1EvSToQn0YI3cD29YhyfxFwj7NecuymjLys2/P0FwxWnkgBlFxCai6Y3aBCe7rbwmqwJJawxlgcXw==}
|
||||||
|
|
||||||
'@types/node@20.17.15':
|
'@types/node@20.17.15':
|
||||||
resolution: {integrity: sha512-ymrDMpEhuYz7PXTItXhY0ZDBDZT/RgsmFM9rBiRLOSVX1HKJhhrLXuLY00fHsFsugYT1wZU3IC4dleUUC22UDQ==}
|
resolution: {integrity: sha512-ymrDMpEhuYz7PXTItXhY0ZDBDZT/RgsmFM9rBiRLOSVX1HKJhhrLXuLY00fHsFsugYT1wZU3IC4dleUUC22UDQ==}
|
||||||
|
|
||||||
@@ -1891,6 +1900,10 @@ packages:
|
|||||||
base64-js@1.5.1:
|
base64-js@1.5.1:
|
||||||
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
||||||
|
|
||||||
|
base64url@3.0.1:
|
||||||
|
resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==}
|
||||||
|
engines: {node: '>=6.0.0'}
|
||||||
|
|
||||||
bcrypt@5.1.1:
|
bcrypt@5.1.1:
|
||||||
resolution: {integrity: sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==}
|
resolution: {integrity: sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==}
|
||||||
engines: {node: '>= 10.0.0'}
|
engines: {node: '>= 10.0.0'}
|
||||||
@@ -2510,6 +2523,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
|
resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
|
es6-promise@4.2.8:
|
||||||
|
resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==}
|
||||||
|
|
||||||
escalade@3.2.0:
|
escalade@3.2.0:
|
||||||
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
|
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@@ -3736,6 +3752,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
|
resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
|
long@5.3.1:
|
||||||
|
resolution: {integrity: sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng==}
|
||||||
|
|
||||||
lower-case@1.1.4:
|
lower-case@1.1.4:
|
||||||
resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==}
|
resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==}
|
||||||
|
|
||||||
@@ -4033,6 +4052,10 @@ packages:
|
|||||||
encoding:
|
encoding:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
node-forge@1.3.1:
|
||||||
|
resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
|
||||||
|
engines: {node: '>= 6.13.0'}
|
||||||
|
|
||||||
node-gyp-build-optional-packages@5.2.2:
|
node-gyp-build-optional-packages@5.2.2:
|
||||||
resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==}
|
resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@@ -4040,6 +4063,9 @@ packages:
|
|||||||
node-int64@0.4.0:
|
node-int64@0.4.0:
|
||||||
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
|
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
|
||||||
|
|
||||||
|
node-jose@2.2.0:
|
||||||
|
resolution: {integrity: sha512-XPCvJRr94SjLrSIm4pbYHKLEaOsDvJCpyFw/6V/KK/IXmyZ6SFBzAUDO9HQf4DB/nTEFcRGH87mNciOP23kFjw==}
|
||||||
|
|
||||||
node-releases@2.0.19:
|
node-releases@2.0.19:
|
||||||
resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
|
resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
|
||||||
|
|
||||||
@@ -4201,6 +4227,9 @@ packages:
|
|||||||
package-json-from-dist@1.0.1:
|
package-json-from-dist@1.0.1:
|
||||||
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
|
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
|
||||||
|
|
||||||
|
pako@2.1.0:
|
||||||
|
resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==}
|
||||||
|
|
||||||
param-case@2.1.1:
|
param-case@2.1.1:
|
||||||
resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==}
|
resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==}
|
||||||
|
|
||||||
@@ -4407,6 +4436,10 @@ packages:
|
|||||||
process-warning@4.0.1:
|
process-warning@4.0.1:
|
||||||
resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==}
|
resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==}
|
||||||
|
|
||||||
|
process@0.11.10:
|
||||||
|
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
|
||||||
|
engines: {node: '>= 0.6.0'}
|
||||||
|
|
||||||
promise@7.3.1:
|
promise@7.3.1:
|
||||||
resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
|
resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
|
||||||
|
|
||||||
@@ -7372,6 +7405,10 @@ snapshots:
|
|||||||
'@types/mjml-core': 4.15.1
|
'@types/mjml-core': 4.15.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@types/node-jose@1.1.13':
|
||||||
|
dependencies:
|
||||||
|
'@types/node': 20.17.15
|
||||||
|
|
||||||
'@types/node@20.17.15':
|
'@types/node@20.17.15':
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types: 6.19.8
|
undici-types: 6.19.8
|
||||||
@@ -7881,6 +7918,8 @@ snapshots:
|
|||||||
|
|
||||||
base64-js@1.5.1: {}
|
base64-js@1.5.1: {}
|
||||||
|
|
||||||
|
base64url@3.0.1: {}
|
||||||
|
|
||||||
bcrypt@5.1.1:
|
bcrypt@5.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@mapbox/node-pre-gyp': 1.0.11
|
'@mapbox/node-pre-gyp': 1.0.11
|
||||||
@@ -8593,6 +8632,8 @@ snapshots:
|
|||||||
is-date-object: 1.1.0
|
is-date-object: 1.1.0
|
||||||
is-symbol: 1.1.1
|
is-symbol: 1.1.1
|
||||||
|
|
||||||
|
es6-promise@4.2.8: {}
|
||||||
|
|
||||||
escalade@3.2.0: {}
|
escalade@3.2.0: {}
|
||||||
|
|
||||||
escape-goat@3.0.0:
|
escape-goat@3.0.0:
|
||||||
@@ -10205,6 +10246,8 @@ snapshots:
|
|||||||
strip-ansi: 7.1.0
|
strip-ansi: 7.1.0
|
||||||
wrap-ansi: 9.0.0
|
wrap-ansi: 9.0.0
|
||||||
|
|
||||||
|
long@5.3.1: {}
|
||||||
|
|
||||||
lower-case@1.1.4:
|
lower-case@1.1.4:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@@ -10716,6 +10759,8 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
whatwg-url: 5.0.0
|
whatwg-url: 5.0.0
|
||||||
|
|
||||||
|
node-forge@1.3.1: {}
|
||||||
|
|
||||||
node-gyp-build-optional-packages@5.2.2:
|
node-gyp-build-optional-packages@5.2.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
detect-libc: 2.0.3
|
detect-libc: 2.0.3
|
||||||
@@ -10723,6 +10768,18 @@ snapshots:
|
|||||||
|
|
||||||
node-int64@0.4.0: {}
|
node-int64@0.4.0: {}
|
||||||
|
|
||||||
|
node-jose@2.2.0:
|
||||||
|
dependencies:
|
||||||
|
base64url: 3.0.1
|
||||||
|
buffer: 6.0.3
|
||||||
|
es6-promise: 4.2.8
|
||||||
|
lodash: 4.17.21
|
||||||
|
long: 5.3.1
|
||||||
|
node-forge: 1.3.1
|
||||||
|
pako: 2.1.0
|
||||||
|
process: 0.11.10
|
||||||
|
uuid: 9.0.1
|
||||||
|
|
||||||
node-releases@2.0.19: {}
|
node-releases@2.0.19: {}
|
||||||
|
|
||||||
nodemailer@6.9.16: {}
|
nodemailer@6.9.16: {}
|
||||||
@@ -10903,6 +10960,8 @@ snapshots:
|
|||||||
|
|
||||||
package-json-from-dist@1.0.1: {}
|
package-json-from-dist@1.0.1: {}
|
||||||
|
|
||||||
|
pako@2.1.0: {}
|
||||||
|
|
||||||
param-case@2.1.1:
|
param-case@2.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
no-case: 2.3.2
|
no-case: 2.3.2
|
||||||
@@ -11104,6 +11163,8 @@ snapshots:
|
|||||||
|
|
||||||
process-warning@4.0.1: {}
|
process-warning@4.0.1: {}
|
||||||
|
|
||||||
|
process@0.11.10: {}
|
||||||
|
|
||||||
promise@7.3.1:
|
promise@7.3.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
asap: 2.0.6
|
asap: 2.0.6
|
||||||
|
|||||||
@@ -3,18 +3,8 @@ import Decimal from "decimal.js";
|
|||||||
import { ValueTransformer } from "typeorm";
|
import { ValueTransformer } from "typeorm";
|
||||||
|
|
||||||
export class DecimalTransformer implements ValueTransformer {
|
export class DecimalTransformer implements ValueTransformer {
|
||||||
// to(value: Decimal | string | number): string {
|
to(value: Decimal | null): string | null {
|
||||||
// return new Decimal(value).toString();
|
return value ? value.toString() : "0";
|
||||||
// }
|
|
||||||
|
|
||||||
// from(value: string): number {
|
|
||||||
// return new Decimal(value).toNumber();
|
|
||||||
// }
|
|
||||||
|
|
||||||
to(value: Decimal | number | null): string | null {
|
|
||||||
if (value === null) return "0";
|
|
||||||
|
|
||||||
return value instanceof Decimal ? value.toString() : new Decimal(value).toString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
from(value: string | null): number {
|
from(value: string | null): number {
|
||||||
|
|||||||
@@ -1,11 +1,24 @@
|
|||||||
|
import { readFileSync } from "node:fs";
|
||||||
|
import { join } from "node:path";
|
||||||
|
|
||||||
import { ConfigService } from "@nestjs/config";
|
import { ConfigService } from "@nestjs/config";
|
||||||
import { JwtModuleAsyncOptions } from "@nestjs/jwt";
|
import { JwtModuleAsyncOptions } from "@nestjs/jwt";
|
||||||
|
|
||||||
export function jwtConfig(): JwtModuleAsyncOptions {
|
export function jwtConfig(): JwtModuleAsyncOptions {
|
||||||
return {
|
return {
|
||||||
inject: [ConfigService],
|
inject: [ConfigService],
|
||||||
useFactory: (configService: ConfigService) => ({
|
useFactory: (configService: ConfigService) => {
|
||||||
secret: configService.getOrThrow<string>("JWT_SECRET_KEY"),
|
const privateKeyPath = join(process.cwd(), "keys", "private.pem");
|
||||||
}),
|
const publicKeyPath = join(process.cwd(), "keys", "public.pem");
|
||||||
|
|
||||||
|
return {
|
||||||
|
privateKey: readFileSync(privateKeyPath, "utf8"),
|
||||||
|
publicKey: readFileSync(publicKeyPath, "utf8"),
|
||||||
|
signOptions: {
|
||||||
|
algorithm: "RS256",
|
||||||
|
issuer: configService.getOrThrow<string>("JWT_ISSUER"),
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { readFileSync } from "fs";
|
||||||
|
|
||||||
import { Injectable } from "@nestjs/common";
|
import { Injectable } from "@nestjs/common";
|
||||||
import { ConfigService } from "@nestjs/config";
|
import { ConfigService } from "@nestjs/config";
|
||||||
import { PassportStrategy } from "@nestjs/passport";
|
import { PassportStrategy } from "@nestjs/passport";
|
||||||
@@ -12,7 +14,9 @@ export class JwtStrategy extends PassportStrategy(Strategy, JWT_STRATEGY_NAME) {
|
|||||||
super({
|
super({
|
||||||
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
|
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
|
||||||
ignoreExpiration: false,
|
ignoreExpiration: false,
|
||||||
secretOrKey: configService.getOrThrow<string>("JWT_SECRET_KEY"),
|
secretOrKey: readFileSync(`${process.cwd()}/keys/public.pem`, "utf8"),
|
||||||
|
algorithms: ["RS256"],
|
||||||
|
issuer: configService.getOrThrow<string>("JWT_ISSUER"),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user