From 1401b02b232603ef46e7f39e19456d236349cf92 Mon Sep 17 00:00:00 2001 From: Matthew Heroux Date: Wed, 4 Oct 2023 06:40:03 -0500 Subject: [PATCH] feat: jwt progress and pkg updates (#435) Signed-off-by: hxtree --- README.md | 7 +- .../rush/browser-approved-packages.json | 4 + common/config/rush/pnpm-lock.yaml | 341 ++++++++---------- common/config/rush/repo-state.json | 2 +- libraries/faker-factory/package.json | 2 +- libraries/messaging-schemas/package.json | 2 +- libraries/nestjs-modules/package.json | 2 +- libraries/validation-schemas/package.json | 2 +- platform/api-gateway/package.json | 4 +- platform/constructs/package.json | 4 +- platform/lambda-layers/package.json | 4 +- .../authentication-service/openapi-spec.json | 10 +- services/authentication-service/package.json | 8 +- .../src/modules/auth/auth.module.ts | 10 +- .../src/modules/auth/constants.ts | 4 + .../src/modules/auth/jwt.strategy.ts | 19 + services/billing-system/package.json | 2 +- services/character-sheet/package.json | 4 +- services/email-service/package.json | 4 +- services/graphql/package.json | 2 +- services/html-to-pdf/package.json | 4 +- services/jukebox/package.json | 4 +- services/luck-by-dice/package.json | 4 +- services/weather-control/package.json | 4 +- 24 files changed, 226 insertions(+), 227 deletions(-) create mode 100644 services/authentication-service/src/modules/auth/constants.ts create mode 100644 services/authentication-service/src/modules/auth/jwt.strategy.ts diff --git a/README.md b/README.md index 4ff6ef0ec..344bdb151 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,8 @@ mobile RPG that will transport you to a nostalgic world filled with wonder! Join us on this exciting journey as we continue to develop and bring this game to life. -This repo houses the newest game code, utilizing an enterprise architecture -monorepo. It includes numerous microservices built on a PaaS with IaC for -streamlined development, testing, and deployment. +This repo houses the game's code. This enterprise architecture monorepo includes +numerous microservices built on a PaaS with IaC for streamlined DevOps CI/CD. Although each package is maintained primarily for the game, many are individually published to [NPM](https://www.npmjs.com/search?q=%40cats-cradle) @@ -15,7 +14,7 @@ and available under open-source software (OSS) license. [![CI](https://github.com/hxtree/cats-cradle/actions/workflows/on-merge.yml/badge.svg)](https://github.com/hxtree/cats-cradle/actions/workflows/on-merge.yml) [![Code Quality](https://app.codacy.com/project/badge/Grade/8024531285164025aef972fcb059ea74)](https://www.codacy.com/gh/hxtree/cats-cradle/dashboard?utm_source=github.com&utm_medium=referral&utm_content=hxtree/cats-cradle&utm_campaign=Badge_Grade) -[![Codacy Coverage](https://app.codacy.com/project/badge/Coverage/8024531285164025aef972fcb059ea74)](https://www.codacy.com/gh/hxtree/cats-cradle/dashboard?utm_source=github.com&utm_medium=referral&utm_content=hxtree/cats-cradle&utm_campaign=Badge_Coverage) +[![Codacy Coverage](https://app.codacy.com/project/badge/Coverage/8024531285164025aef972fcb059ea74)](https://app.codacy.com/gh/hxtree/cats-cradle) ## Getting Started diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index 53737ff33..e44eedc4b 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -570,6 +570,10 @@ "name": "passport", "allowedCategories": [ "apis" ] }, + { + "name": "passport-jwt", + "allowedCategories": [ "apis" ] + }, { "name": "path", "allowedCategories": [ "apis", "category-ci-cd", "category-platform", "cicd", "platform" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 9a3d2b64a..58794911e 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -114,8 +114,8 @@ importers: specifier: 20.8.2 version: 20.8.2 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 esbuild: specifier: ~0.17.5 version: 0.17.5 @@ -199,8 +199,8 @@ importers: specifier: 20.8.2 version: 20.8.2 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 esbuild: specifier: ~0.17.5 version: 0.17.5 @@ -253,8 +253,8 @@ importers: specifier: 9.3.9 version: 9.3.9(@nestjs/common@9.4.0)(@nestjs/core@9.2.1) '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 '@types/validator': specifier: ~13.7.10 version: 13.7.10 @@ -421,8 +421,8 @@ importers: specifier: 20.8.2 version: 20.8.2 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 esbuild: specifier: ~0.17.5 version: 0.17.5 @@ -457,8 +457,8 @@ importers: specifier: 9.3.9 version: 9.3.9(@nestjs/common@9.4.0)(@nestjs/core@9.2.1) '@nestjs/swagger': - specifier: ~6.1.3 - version: 6.1.3(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) + specifier: ~7.1.13 + version: 7.1.13(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) '@nestjs/terminus': specifier: 9.1.1 version: 9.1.1(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(reflect-metadata@0.1.13)(rxjs@7.8.1) @@ -533,8 +533,8 @@ importers: specifier: 20.8.2 version: 20.8.2 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 esbuild: specifier: ~0.17.5 version: 0.17.5 @@ -667,8 +667,8 @@ importers: specifier: 9.3.9 version: 9.3.9(@nestjs/common@9.4.0)(@nestjs/core@9.2.1) '@nestjs/swagger': - specifier: ~6.1.3 - version: 6.1.3(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) + specifier: ~7.1.13 + version: 7.1.13(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) '@nestjs/terminus': specifier: 9.1.1 version: 9.1.1(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(reflect-metadata@0.1.13)(rxjs@7.8.1) @@ -731,8 +731,8 @@ importers: specifier: 20.8.2 version: 20.8.2 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 aws-cdk-lib: specifier: 2.95.0 version: 2.95.0(constructs@10.2.70) @@ -821,8 +821,8 @@ importers: specifier: 9.3.9 version: 9.3.9(@nestjs/common@9.4.0)(@nestjs/core@9.2.1) '@nestjs/swagger': - specifier: ~6.1.3 - version: 6.1.3(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) + specifier: ~7.1.13 + version: 7.1.13(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) '@nestjs/terminus': specifier: 9.1.1 version: 9.1.1(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(reflect-metadata@0.1.13)(rxjs@7.8.1) @@ -882,8 +882,8 @@ importers: specifier: 20.8.2 version: 20.8.2 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 aws-cdk-lib: specifier: 2.95.0 version: 2.95.0(constructs@10.2.70) @@ -1156,11 +1156,14 @@ importers: specifier: 9.3.9 version: 9.3.9(@nestjs/common@9.4.0)(@nestjs/core@9.2.1) '@nestjs/swagger': - specifier: ~6.1.3 - version: 6.1.3(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) + specifier: ~7.1.13 + version: 7.1.13(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) '@nestjs/terminus': specifier: 9.1.1 version: 9.1.1(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@types/passport-jwt': + specifier: ~3.0.10 + version: 3.0.10 '@vendia/serverless-express': specifier: 4.10.4 version: 4.10.4 @@ -1191,6 +1194,9 @@ importers: passport: specifier: ~0.6.0 version: 0.6.0 + passport-jwt: + specifier: ~4.0.1 + version: 4.0.1 reflect-metadata: specifier: 0.1.13 version: 0.1.13 @@ -1244,8 +1250,8 @@ importers: specifier: ~2.0.14 version: 2.0.14 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 aws-cdk-lib: specifier: 2.95.0 version: 2.95.0(constructs@10.2.70) @@ -1371,8 +1377,8 @@ importers: specifier: ~2.0.14 version: 2.0.14 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 aws-cdk-lib: specifier: 2.95.0 version: 2.95.0(constructs@10.2.70) @@ -1434,8 +1440,8 @@ importers: specifier: 9.3.9 version: 9.3.9(@nestjs/common@9.4.0)(@nestjs/core@9.2.1) '@nestjs/swagger': - specifier: ~6.1.3 - version: 6.1.3(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) + specifier: ~7.1.13 + version: 7.1.13(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) '@nestjs/terminus': specifier: 9.1.1 version: 9.1.1(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(reflect-metadata@0.1.13)(rxjs@7.8.1) @@ -1513,8 +1519,8 @@ importers: specifier: ~2.0.14 version: 2.0.14 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 aws-cdk-lib: specifier: 2.95.0 version: 2.95.0(constructs@10.2.70) @@ -1770,8 +1776,8 @@ importers: specifier: 9.3.9 version: 9.3.9(@nestjs/common@9.4.0)(@nestjs/core@9.2.1) '@nestjs/swagger': - specifier: ~6.1.3 - version: 6.1.3(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) + specifier: ~7.1.13 + version: 7.1.13(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) '@nestjs/terminus': specifier: 9.1.1 version: 9.1.1(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(reflect-metadata@0.1.13)(rxjs@7.8.1) @@ -1861,8 +1867,8 @@ importers: specifier: ~2.0.14 version: 2.0.14 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 aws-cdk-lib: specifier: 2.95.0 version: 2.95.0(constructs@10.2.70) @@ -1991,8 +1997,8 @@ importers: specifier: ~2.0.14 version: 2.0.14 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 aws-cdk-lib: specifier: 2.95.0 version: 2.95.0(constructs@10.2.70) @@ -2048,8 +2054,8 @@ importers: specifier: 9.3.9 version: 9.3.9(@nestjs/common@9.4.0)(@nestjs/core@9.2.1) '@nestjs/swagger': - specifier: ~6.1.3 - version: 6.1.3(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) + specifier: ~7.1.13 + version: 7.1.13(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) '@nestjs/terminus': specifier: 9.1.1 version: 9.1.1(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(reflect-metadata@0.1.13)(rxjs@7.8.1) @@ -2127,8 +2133,8 @@ importers: specifier: ~2.0.14 version: 2.0.14 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 aws-cdk-lib: specifier: 2.95.0 version: 2.95.0(constructs@10.2.70) @@ -2190,8 +2196,8 @@ importers: specifier: ~3.0.1 version: 3.0.1(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(express@4.18.2) '@nestjs/swagger': - specifier: ~6.1.3 - version: 6.1.3(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) + specifier: ~7.1.13 + version: 7.1.13(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) '@nestjs/terminus': specifier: 9.1.1 version: 9.1.1(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(reflect-metadata@0.1.13)(rxjs@7.8.1) @@ -2266,8 +2272,8 @@ importers: specifier: ~2.0.14 version: 2.0.14 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 aws-cdk-lib: specifier: 2.95.0 version: 2.95.0(constructs@10.2.70) @@ -2326,8 +2332,8 @@ importers: specifier: 9.3.9 version: 9.3.9(@nestjs/common@9.4.0)(@nestjs/core@9.2.1) '@nestjs/swagger': - specifier: ~6.1.3 - version: 6.1.3(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) + specifier: ~7.1.13 + version: 7.1.13(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) '@nestjs/terminus': specifier: 9.1.1 version: 9.1.1(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(reflect-metadata@0.1.13)(rxjs@7.8.1) @@ -2396,8 +2402,8 @@ importers: specifier: ~2.0.14 version: 2.0.14 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 aws-cdk-lib: specifier: 2.95.0 version: 2.95.0(constructs@10.2.70) @@ -2459,8 +2465,8 @@ importers: specifier: ~3.0.1 version: 3.0.1(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(express@4.18.2) '@nestjs/swagger': - specifier: ~6.1.3 - version: 6.1.3(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) + specifier: ~7.1.13 + version: 7.1.13(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) '@nestjs/terminus': specifier: 9.1.1 version: 9.1.1(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(reflect-metadata@0.1.13)(rxjs@7.8.1) @@ -2529,8 +2535,8 @@ importers: specifier: ~2.0.14 version: 2.0.14 '@types/uuid': - specifier: ~8.3.4 - version: 8.3.4 + specifier: ~9.0.4 + version: 9.0.4 aws-cdk-lib: specifier: 2.95.0 version: 2.95.0(constructs@10.2.70) @@ -8435,7 +8441,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.5.6 + '@types/node': 20.8.2 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -8533,14 +8539,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.5.6 + '@types/node': 20.8.2 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.8.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.5.6)(ts-node@10.9.1) + jest-config: 29.7.0(@types/node@20.8.2)(ts-node@10.9.1) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -8576,7 +8582,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.5.6 + '@types/node': 20.8.2 jest-mock: 29.7.0 /@jest/expect-utils@29.7.0: @@ -8611,7 +8617,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.5.6 + '@types/node': 20.8.2 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -8718,7 +8724,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.19 - '@types/node': 20.5.6 + '@types/node': 20.8.2 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -8892,7 +8898,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.5.6 + '@types/node': 20.8.2 '@types/yargs': 16.0.5 chalk: 4.1.2 dev: true @@ -8904,7 +8910,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.5.6 + '@types/node': 20.8.2 '@types/yargs': 17.0.24 chalk: 4.1.2 @@ -9422,12 +9428,12 @@ packages: jsonwebtoken: 9.0.0 dev: false - /@nestjs/mapped-types@1.2.0(@nestjs/common@9.4.0)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13): - resolution: {integrity: sha512-NTFwPZkQWsArQH8QSyFWGZvJ08gR+R4TofglqZoihn/vU+ktHEJjMqsIsADwb7XD97DhiD+TVv5ac+jG33BHrg==} + /@nestjs/mapped-types@2.0.2(@nestjs/common@9.4.0)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13): + resolution: {integrity: sha512-V0izw6tWs6fTp9+KiiPUbGHWALy563Frn8X6Bm87ANLRuE46iuBMD5acKBDP5lKL/75QFvrzSJT7HkCbB0jTpg==} peerDependencies: - '@nestjs/common': ^7.0.8 || ^8.0.0 || ^9.0.0 - class-transformer: ^0.2.0 || ^0.3.0 || ^0.4.0 || ^0.5.0 - class-validator: ^0.11.1 || ^0.12.0 || ^0.13.0 + '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 + class-transformer: ^0.4.0 || ^0.5.0 + class-validator: ^0.13.0 || ^0.14.0 reflect-metadata: ^0.1.12 peerDependenciesMeta: class-transformer: @@ -9519,29 +9525,34 @@ packages: path-to-regexp: 0.2.5 dev: false - /@nestjs/swagger@6.1.3(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13): - resolution: {integrity: sha512-H9C/yRgLFb5QrAt6iGrYmIX9X7Q0zXkgZaTNUATljUBra+RCWrEUbLHBcGjTAOtcIyGV/vmyCLv68YSVcZoE0Q==} + /@nestjs/swagger@7.1.13(@fastify/static@6.9.0)(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13): + resolution: {integrity: sha512-aHfW0rDZZKTuPVSkxutBCB16lBy5vrsHVoRF5RvPtH7U2cm4Vf+OnfhxKKuG2g2Xocn9sDL+JAyVlY2VN3ytTw==} peerDependencies: '@fastify/static': ^6.0.0 - '@nestjs/common': ^9.0.0 - '@nestjs/core': ^9.0.0 + '@nestjs/common': ^9.0.0 || ^10.0.0 + '@nestjs/core': ^9.0.0 || ^10.0.0 + class-transformer: '*' + class-validator: '*' reflect-metadata: ^0.1.12 peerDependenciesMeta: '@fastify/static': optional: true + class-transformer: + optional: true + class-validator: + optional: true dependencies: '@fastify/static': 6.9.0 '@nestjs/common': 9.4.0(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13)(rxjs@7.8.1) '@nestjs/core': 9.2.1(@nestjs/common@9.4.0)(@nestjs/platform-express@9.3.9)(reflect-metadata@0.1.13)(rxjs@7.8.1) - '@nestjs/mapped-types': 1.2.0(@nestjs/common@9.4.0)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) + '@nestjs/mapped-types': 2.0.2(@nestjs/common@9.4.0)(class-transformer@0.5.1)(class-validator@0.13.2)(reflect-metadata@0.1.13) + class-transformer: 0.5.1 + class-validator: 0.13.2 js-yaml: 4.1.0 lodash: 4.17.21 path-to-regexp: 3.2.0 reflect-metadata: 0.1.13 - swagger-ui-dist: 4.15.1 - transitivePeerDependencies: - - class-transformer - - class-validator + swagger-ui-dist: 5.9.0 dev: false /@nestjs/terminus@9.1.1(@nestjs/common@9.4.0)(@nestjs/core@9.2.1)(reflect-metadata@0.1.13)(rxjs@7.8.1): @@ -10116,7 +10127,7 @@ packages: pretty-ms: 7.0.1 ramda: /@pnpm/ramda@0.28.1 right-pad: 1.0.1 - rxjs: 7.5.6 + rxjs: 7.8.1 semver: 7.5.4 stacktracey: 2.1.8 string-length: 4.0.2 @@ -14412,21 +14423,21 @@ packages: resolution: {integrity: sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==} dependencies: '@types/connect': 3.4.36 - '@types/node': 20.5.6 + '@types/node': 20.8.2 /@types/cacheable-request@6.0.3: resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} dependencies: '@types/http-cache-semantics': 4.0.2 '@types/keyv': 3.1.4 - '@types/node': 20.5.6 + '@types/node': 20.8.2 '@types/responselike': 1.0.0 dev: true /@types/connect@3.4.36: resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 /@types/cookiejar@2.1.2: resolution: {integrity: sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==} @@ -14435,7 +14446,7 @@ packages: /@types/cross-spawn@6.0.3: resolution: {integrity: sha512-BDAkU7WHHRHnvBf5z89lcvACsvkz/n7Tv+HyD/uW76O29HoH1Tk/W6iQrepaZVbisvlEek4ygwT8IW7ow9XLAA==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 dev: true /@types/detect-port@1.3.3: @@ -14488,7 +14499,7 @@ packages: /@types/express-serve-static-core@4.17.36: resolution: {integrity: sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 '@types/qs': 6.9.8 '@types/range-parser': 1.2.4 '@types/send': 0.17.1 @@ -14507,13 +14518,13 @@ packages: /@types/fs-extra@9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 dev: true /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 /@types/hast@2.3.6: resolution: {integrity: sha512-47rJE80oqPmFdVDCD7IheXBrVdwuBgsYwoczFvKmwfo2Mzsnt+V9OONsYauFmICb6lQPpCuXYJWejBNs4pDJRg==} @@ -14524,7 +14535,7 @@ packages: /@types/heft-jest@1.0.2: resolution: {integrity: sha512-HabX0JO8Pk+a3gTm2DQwTMrfZjqP6VxDnn8kIXAP6uZbmy4bkKuFRi9T9BV9K6LhwHrmcgq5kk2YikYHy4LJeg==} dependencies: - '@types/jest': 29.5.1 + '@types/jest': 29.5.5 dev: true /@types/hoist-non-react-statics@3.3.2: @@ -14580,12 +14591,6 @@ packages: pretty-format: 25.5.0 dev: true - /@types/jest@29.5.1: - resolution: {integrity: sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==} - dependencies: - expect: 29.7.0 - pretty-format: 29.7.0 - /@types/jest@29.5.5: resolution: {integrity: sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==} dependencies: @@ -14595,7 +14600,7 @@ packages: /@types/jsdom@20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 '@types/tough-cookie': 4.0.3 parse5: 7.1.2 dev: true @@ -14613,13 +14618,13 @@ packages: /@types/jsonwebtoken@9.0.2: resolution: {integrity: sha512-drE6uz7QBKq1fYqqoFKTDRdFCPHd5TCub75BM+D+cMx7NU9hUz7SESLfC2fSCXVFMO5Yj8sOWHuGqPgjc+fz0Q==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 dev: false /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 dev: true /@types/lodash@4.14.191: @@ -14666,21 +14671,21 @@ packages: /@types/node-fetch@2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 form-data: 3.0.1 dev: false /@types/node-fetch@2.6.4: resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 form-data: 3.0.1 dev: true /@types/node-fetch@2.6.5: resolution: {integrity: sha512-OZsUlr2nxvkqUFLSaY2ZbA+P1q22q+KrlxWOn/38RX+u5kTkYL2mTujEpzUhGkS+K/QCYp9oagfXG39XOzyySg==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 form-data: 4.0.0 /@types/node@10.17.13: @@ -14698,9 +14703,6 @@ packages: /@types/node@16.18.53: resolution: {integrity: sha512-vVmHeo4tpF8zsknALU90Hh24VueYdu45ZlXzYWFbom61YR4avJqTFDC3QlWzjuTdAv6/3xHaxiO9NrtVZXrkmw==} - /@types/node@20.5.6: - resolution: {integrity: sha512-Gi5wRGPbbyOTX+4Y2iULQ27oUPrefaB0PxGQJnfyWN3kvEDGM3mIB5M/gQLmitZf7A9FmLeaqxD3L1CXpm3VKQ==} - /@types/node@20.8.2: resolution: {integrity: sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==} @@ -14710,11 +14712,25 @@ packages: /@types/parse-json@4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + /@types/passport-jwt@3.0.10: + resolution: {integrity: sha512-D2A911g2uiFsq/XXFBxQjcBcK4c6zPF2gAx9blEfz2AOXx5UUwsd8ZcMTcPe8z9dhW8LQBYLjv+vug2dvnRevA==} + dependencies: + '@types/express': 4.17.18 + '@types/jsonwebtoken': 9.0.2 + '@types/passport-strategy': 0.2.36 + dev: false + + /@types/passport-strategy@0.2.36: + resolution: {integrity: sha512-hotVZuaCt04LJYXfZD5B+5UeCcRVG8IjKaLLGTJ1eFp0wiFQA2XfsqslGGInWje+OysNNLPH/ducce5GXHDC1Q==} + dependencies: + '@types/express': 4.17.18 + '@types/passport': 1.0.13 + dev: false + /@types/passport@1.0.13: resolution: {integrity: sha512-XXURryL+EZAWtbQFOHX1eNB+RJwz5XMPPz1xrGpEKr2xUZCXM4NCPkHMtZQ3B2tTSG/1IRaAcTHjczRA4sSFCw==} dependencies: '@types/express': 4.17.18 - dev: true /@types/prettier@1.19.1: resolution: {integrity: sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==} @@ -14781,19 +14797,19 @@ packages: /@types/readdir-glob@1.1.1: resolution: {integrity: sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 dev: true /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 dev: true /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 dev: true /@types/scheduler@0.16.3: @@ -14810,14 +14826,14 @@ packages: resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} dependencies: '@types/mime': 1.3.2 - '@types/node': 20.5.6 + '@types/node': 20.8.2 /@types/serve-static@1.15.2: resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} dependencies: '@types/http-errors': 2.0.2 '@types/mime': 3.0.1 - '@types/node': 20.5.6 + '@types/node': 20.8.2 /@types/sinon@10.0.16: resolution: {integrity: sha512-j2Du5SYpXZjJVJtXBokASpPRj+e2z+VUhCPHmM6WMfe3dpHu6iVKJMU6AiBcMp/XTAYnEj6Wc1trJUWwZ0QaAQ==} @@ -14832,7 +14848,7 @@ packages: /@types/ssri@7.1.1: resolution: {integrity: sha512-DPP/jkDaqGiyU75MyMURxLWyYLwKSjnAuGe9ZCsLp9QZOpXmDfuevk769F0BS86TmRuD5krnp06qw9nSoNO+0g==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 /@types/stack-utils@1.0.1: resolution: {integrity: sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==} @@ -14853,7 +14869,7 @@ packages: resolution: {integrity: sha512-LOWgpacIV8GHhrsQU+QMZuomfqXiqzz3ILLkCtKx3Us6AmomFViuzKT9D693QTKgyut2oCytMG8/efOop+DB+w==} dependencies: '@types/cookiejar': 2.1.2 - '@types/node': 20.5.6 + '@types/node': 20.8.2 dev: true /@types/supertest@2.0.14: @@ -14869,7 +14885,7 @@ packages: /@types/testing-library__jest-dom@5.14.9: resolution: {integrity: sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==} dependencies: - '@types/jest': 29.5.1 + '@types/jest': 29.5.5 /@types/tmp@0.2.4: resolution: {integrity: sha512-Vq3rwM+2KgiLacq68EjTJD9cuJ/ne5pXntWn8B8Rxj25SLkGAhCgooCZ1lhcIcV5OFveJ+s5Cqpi+XKfFM/xZA==} @@ -14886,14 +14902,14 @@ packages: /@types/tunnel@0.0.3: resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 dev: false /@types/unist@2.0.8: resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} - /@types/uuid@8.3.4: - resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + /@types/uuid@9.0.4: + resolution: {integrity: sha512-zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA==} /@types/validator@13.7.10: resolution: {integrity: sha512-t1yxFAR2n0+VO6hd/FJ9F2uezAZVWHLmpmlJzm1eX03+H7+HsuTAp7L8QJs+2pQCfWkP1+EXsGK9Z9v7o/qPVQ==} @@ -14905,7 +14921,7 @@ packages: /@types/whatwg-url@8.2.2: resolution: {integrity: sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 '@types/webidl-conversions': 7.0.0 /@types/yargs-parser@21.0.0: @@ -14938,7 +14954,7 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 dev: false optional: true @@ -16433,7 +16449,7 @@ packages: resolution: {integrity: sha512-9GNFMRrEMG5y3Jvv+V4azWvc+qNWdWLTjDdhf/zgMlz8haaaLWv0xeAIWxz9PuWUBawsVxy0zZotjCdR3Xq+2w==} hasBin: true dependencies: - aws-sdk: 2.1461.0 + aws-sdk: 2.1469.0 commander: 3.0.2 js-yaml: 3.14.1 watchpack: 2.4.0 @@ -16447,22 +16463,6 @@ packages: tslib: 2.6.2 dev: true - /aws-sdk@2.1461.0: - resolution: {integrity: sha512-oRZqsSEx5jkXq8Xq4Nkhhwupnjzw0UuFyEKGLsEDFjiFGOzdJoYspGg/Oa4RfTpa8ITLGHIRkYeik/7fN8ccng==} - engines: {node: '>= 10.0.0'} - dependencies: - buffer: 4.9.2 - events: 1.1.1 - ieee754: 1.1.13 - jmespath: 0.16.0 - querystring: 0.2.0 - sax: 1.2.1 - url: 0.10.3 - util: 0.12.5 - uuid: 8.0.0 - xml2js: 0.5.0 - dev: false - /aws-sdk@2.1469.0: resolution: {integrity: sha512-17X0v34mHxqfz+HhIkH1I6p0BCWsvGVSZf1KHVlVZdrzYEHFrdhpLHayYvpzq26FrbL1FvfN6sYGqrxZyvxRGg==} engines: {node: '>= 10.0.0'} @@ -22348,7 +22348,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.5.6 + '@types/node': 20.8.2 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 @@ -22451,46 +22451,6 @@ packages: - utf-8-validate dev: true - /jest-config@29.7.0(@types/node@20.5.6)(ts-node@10.9.1): - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - dependencies: - '@babel/core': 7.22.20 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.5.6 - babel-jest: 29.7.0(@babel/core@7.22.20) - chalk: 4.1.2 - ci-info: 3.8.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - ts-node: 10.9.1(@swc/core@1.3.89)(@types/node@20.8.2)(typescript@5.1.3) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - /jest-config@29.7.0(@types/node@20.8.2)(ts-node@10.9.1): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -22613,7 +22573,7 @@ packages: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 20.5.6 + '@types/node': 20.8.2 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3 @@ -22642,7 +22602,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.5.6 + '@types/node': 20.8.2 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -22681,7 +22641,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.6 - '@types/node': 20.5.6 + '@types/node': 20.8.2 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -22795,7 +22755,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.5.6 + '@types/node': 20.8.2 dev: true /jest-mock@29.7.0: @@ -22803,7 +22763,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.5.6 + '@types/node': 20.8.2 jest-util: 29.7.0 /jest-pnp-resolver@1.2.3(jest-resolve@25.5.1): @@ -22924,7 +22884,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.5.6 + '@types/node': 20.8.2 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -22992,7 +22952,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.5.6 + '@types/node': 20.8.2 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2 @@ -23101,7 +23061,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.5.6 + '@types/node': 20.8.2 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -23160,7 +23120,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.5.6 + '@types/node': 20.8.2 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -23187,7 +23147,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -23195,7 +23155,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.8.2 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -25667,6 +25627,13 @@ packages: engines: {node: '>=0.10.0'} dev: true + /passport-jwt@4.0.1: + resolution: {integrity: sha512-UCKMDYhNuGOBE9/9Ycuoyh7vP6jpeTp/+sfMJl7nLff/t6dps+iaeE0hhNkKN8/HZHcJ7lCdOyDxHdDoxoSvdQ==} + dependencies: + jsonwebtoken: 9.0.2 + passport-strategy: 1.0.0 + dev: false + /passport-strategy@1.0.0: resolution: {integrity: sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==} engines: {node: '>= 0.4.0'} @@ -27704,7 +27671,7 @@ packages: hasBin: true dependencies: '@types/estree': 1.0.1 - '@types/node': 20.5.6 + '@types/node': 20.8.2 acorn: 7.4.1 dev: true @@ -27735,12 +27702,6 @@ packages: dependencies: tslib: 1.14.1 - /rxjs@7.5.6: - resolution: {integrity: sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==} - dependencies: - tslib: 2.6.2 - dev: false - /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: @@ -28865,8 +28826,8 @@ packages: stable: 0.1.8 dev: false - /swagger-ui-dist@4.15.1: - resolution: {integrity: sha512-DlZARu6ckUFqDe0j5IPayO4k0gQvYQw9Un02MhxAgaMtVnTH2vmyyDe+yKeV0r1LiiPx3JbasdS/5Yyb/AV3iw==} + /swagger-ui-dist@5.9.0: + resolution: {integrity: sha512-NUHSYoe5XRTk/Are8jPJ6phzBh3l9l33nEyXosM17QInoV95/jng8+PuSGtbD407QoPf93MH3Bkh773OgesJpA==} dev: false /swc-loader@0.2.3(@swc/core@1.3.89)(webpack@5.88.2): diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 599007c2d..d85e14144 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "1ee8b90d060d7a8a752b20c75a8edbb852f5eb82", + "pnpmShrinkwrapHash": "b20d8e39fdb0ceefe407b47832621f681d6b8359", "preferredVersionsHash": "8ae0ba5bd02ec9c5763773a15e27aee08a6567f6" } diff --git a/libraries/faker-factory/package.json b/libraries/faker-factory/package.json index f8ecd1e5e..df11d2496 100644 --- a/libraries/faker-factory/package.json +++ b/libraries/faker-factory/package.json @@ -52,7 +52,7 @@ "typescript": "5.1.3", "ts-node": "10.9.1", "esbuild": "~0.17.5", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "eslint": "8.44.0", "@cats-cradle/eslint-config": "1.0.6", "@types/json-schema": "~7.0.11" diff --git a/libraries/messaging-schemas/package.json b/libraries/messaging-schemas/package.json index daff706f5..a933dd804 100644 --- a/libraries/messaging-schemas/package.json +++ b/libraries/messaging-schemas/package.json @@ -45,7 +45,7 @@ "typescript": "5.1.3", "ts-node": "10.9.1", "esbuild": "~0.17.5", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "eslint": "8.44.0", "@cats-cradle/eslint-config": "1.0.6", "@types/json-schema": "~7.0.11" diff --git a/libraries/nestjs-modules/package.json b/libraries/nestjs-modules/package.json index db5d1d9da..34532ca95 100644 --- a/libraries/nestjs-modules/package.json +++ b/libraries/nestjs-modules/package.json @@ -49,7 +49,7 @@ "@aws-sdk/client-s3": "3.289.0", "@aws-sdk/client-sns": "3.289.0", "@cats-cradle/messaging-schemas": "workspace:*", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "luxon": "~3.3.0", "mongodb-memory-server-global": "8.13.0" }, diff --git a/libraries/validation-schemas/package.json b/libraries/validation-schemas/package.json index a6e69a0b4..83878f168 100644 --- a/libraries/validation-schemas/package.json +++ b/libraries/validation-schemas/package.json @@ -37,7 +37,7 @@ "typescript": "5.1.3", "ts-node": "10.9.1", "esbuild": "~0.17.5", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "eslint": "8.44.0", "@cats-cradle/eslint-config": "1.0.6", "@types/json-schema": "~7.0.11", diff --git a/platform/api-gateway/package.json b/platform/api-gateway/package.json index be8949cee..3aa1c7301 100644 --- a/platform/api-gateway/package.json +++ b/platform/api-gateway/package.json @@ -37,7 +37,7 @@ "rxjs": "7.8.1", "mongoose": "6.9.1", "source-map-support": "~0.5.21", - "@nestjs/swagger": "~6.1.3", + "@nestjs/swagger": "~7.1.13", "uuid": "~9.0.1", "@aws-cdk/core": "~1.182.0", "aws-cdk": "~2.55.1", @@ -59,7 +59,7 @@ "fs": "~0.0.1-security", "path": "~0.12.7", "@types/express": "~4.17.18", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "eslint": "8.44.0", "@cats-cradle/eslint-config": "1.0.6" } diff --git a/platform/constructs/package.json b/platform/constructs/package.json index ce79ebb5b..cf8da59b2 100644 --- a/platform/constructs/package.json +++ b/platform/constructs/package.json @@ -27,7 +27,7 @@ "rxjs": "7.8.1", "mongoose": "6.9.1", "source-map-support": "~0.5.21", - "@nestjs/swagger": "~6.1.3", + "@nestjs/swagger": "~7.1.13", "uuid": "~9.0.1", "lodash": "~4.17.21", "@types/lodash": "~4.14.191" @@ -46,7 +46,7 @@ "fs": "~0.0.1-security", "path": "~0.12.7", "@types/express": "~4.17.18", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "eslint": "8.44.0", "@cats-cradle/eslint-config": "1.0.6" }, diff --git a/platform/lambda-layers/package.json b/platform/lambda-layers/package.json index e28758add..d63b4621e 100644 --- a/platform/lambda-layers/package.json +++ b/platform/lambda-layers/package.json @@ -31,7 +31,7 @@ "rxjs": "7.8.1", "mongoose": "6.9.1", "source-map-support": "~0.5.21", - "@nestjs/swagger": "~6.1.3", + "@nestjs/swagger": "~7.1.13", "uuid": "~9.0.1" }, "devDependencies": { @@ -49,7 +49,7 @@ "fs": "~0.0.1-security", "path": "~0.12.7", "@types/express": "~4.17.18", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "eslint": "8.44.0", "@cats-cradle/eslint-config": "1.0.6" } diff --git a/services/authentication-service/openapi-spec.json b/services/authentication-service/openapi-spec.json index 7f39b7291..15ba0bdf6 100644 --- a/services/authentication-service/openapi-spec.json +++ b/services/authentication-service/openapi-spec.json @@ -164,7 +164,7 @@ "required": true, "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LoginDto" } + "schema": { "$ref": "#/components/schemas/SignUpDto" } } } }, @@ -213,6 +213,14 @@ "newPassword": { "type": "string", "default": "password1234!" } }, "required": ["username", "code", "newPassword"] + }, + "SignUpDto": { + "type": "object", + "properties": { + "username": { "type": "string", "default": "jdoe" }, + "password": { "type": "string", "default": "password1234!" } + }, + "required": ["username", "password"] } } } diff --git a/services/authentication-service/package.json b/services/authentication-service/package.json index 35340d52a..7c1e231b7 100644 --- a/services/authentication-service/package.json +++ b/services/authentication-service/package.json @@ -33,7 +33,7 @@ "@nestjs/core": "9.2.1", "@nestjs/mongoose": "9.2.1", "@nestjs/platform-express": "9.3.9", - "@nestjs/swagger": "~6.1.3", + "@nestjs/swagger": "~7.1.13", "@nestjs/terminus": "9.1.1", "@vendia/serverless-express": "4.10.4", "aws-lambda": "1.0.7", @@ -50,7 +50,9 @@ "@nestjs/passport": "9.0.0", "aws-sdk": "~2.1469.0", "@nestjs/jwt": "~10.1.1", - "passport": "~0.6.0" + "passport": "~0.6.0", + "passport-jwt": "~4.0.1", + "@types/passport-jwt": "~3.0.10" }, "devDependencies": { "@cats-cradle/bundle-project": "1.1.1", @@ -63,7 +65,7 @@ "@types/jest": "29.5.5", "@types/node": "20.8.2", "@types/supertest": "~2.0.14", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "aws-cdk-lib": "2.95.0", "constructs": "^10.2.70", "esbuild": "~0.17.5", diff --git a/services/authentication-service/src/modules/auth/auth.module.ts b/services/authentication-service/src/modules/auth/auth.module.ts index 0cbadf80a..b6e019272 100644 --- a/services/authentication-service/src/modules/auth/auth.module.ts +++ b/services/authentication-service/src/modules/auth/auth.module.ts @@ -2,18 +2,20 @@ import { Module } from '@nestjs/common'; import { PassportModule } from '@nestjs/passport'; import { JwtModule } from '@nestjs/jwt'; import { CognitoService } from './cognito.service'; -import { AuthService } from './auth.service'; import { AuthController } from './auth.controller'; +import { AuthService } from './auth.service'; +import { JwtStrategy } from './jwt.strategy'; +import { jwtConstants } from './constants'; @Module({ imports: [ PassportModule, JwtModule.register({ - secret: 'YOUR_SECRET_KEY', // TODO set - signOptions: { expiresIn: '1h' }, + secret: jwtConstants.secret, + signOptions: { expiresIn: '60s' }, }), ], + providers: [CognitoService, AuthService, JwtStrategy], controllers: [AuthController], - providers: [CognitoService, AuthService], }) export class AuthModule {} diff --git a/services/authentication-service/src/modules/auth/constants.ts b/services/authentication-service/src/modules/auth/constants.ts new file mode 100644 index 000000000..9e8c4061f --- /dev/null +++ b/services/authentication-service/src/modules/auth/constants.ts @@ -0,0 +1,4 @@ +export const jwtConstants = { + secret: + 'DO NOT USE THIS VALUE. INSTEAD, CREATE A COMPLEX SECRET AND KEEP IT SAFE OUTSIDE OF THE SOURCE CODE.', +}; diff --git a/services/authentication-service/src/modules/auth/jwt.strategy.ts b/services/authentication-service/src/modules/auth/jwt.strategy.ts new file mode 100644 index 000000000..10a008db1 --- /dev/null +++ b/services/authentication-service/src/modules/auth/jwt.strategy.ts @@ -0,0 +1,19 @@ +import { ExtractJwt, Strategy } from 'passport-jwt'; +import { PassportStrategy } from '@nestjs/passport'; +import { Injectable } from '@nestjs/common'; +import { jwtConstants } from './constants'; + +@Injectable() +export class JwtStrategy extends PassportStrategy(Strategy) { + constructor() { + super({ + jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(), + ignoreExpiration: false, + secretOrKey: jwtConstants.secret, + }); + } + + async validate(payload: any) { + return { userId: payload.sub, username: payload.username }; + } +} diff --git a/services/billing-system/package.json b/services/billing-system/package.json index a17bd5947..c57613cc8 100644 --- a/services/billing-system/package.json +++ b/services/billing-system/package.json @@ -59,7 +59,7 @@ "fs": "~0.0.1-security", "path": "~0.12.7", "@types/express": "~4.17.18", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "lodash": "~4.17.21", "@types/lodash": "~4.14.191", "supertest": "~6.3.3", diff --git a/services/character-sheet/package.json b/services/character-sheet/package.json index e535d70ca..b5e1154fb 100644 --- a/services/character-sheet/package.json +++ b/services/character-sheet/package.json @@ -33,7 +33,7 @@ "@nestjs/core": "9.2.1", "@nestjs/mongoose": "9.2.1", "@nestjs/platform-express": "9.3.9", - "@nestjs/swagger": "~6.1.3", + "@nestjs/swagger": "~7.1.13", "@nestjs/terminus": "9.1.1", "@vendia/serverless-express": "4.10.4", "aws-lambda": "1.0.7", @@ -59,7 +59,7 @@ "@types/jest": "29.5.5", "@types/node": "20.8.2", "@types/supertest": "~2.0.14", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "aws-cdk-lib": "2.95.0", "constructs": "^10.2.70", "esbuild": "~0.17.5", diff --git a/services/email-service/package.json b/services/email-service/package.json index 2d2e9f3de..a43e547fd 100644 --- a/services/email-service/package.json +++ b/services/email-service/package.json @@ -40,7 +40,7 @@ "rxjs": "7.8.1", "mongoose": "6.9.1", "source-map-support": "~0.5.21", - "@nestjs/swagger": "~6.1.3", + "@nestjs/swagger": "~7.1.13", "uuid": "~9.0.1", "@cats-cradle/nestjs-modules": "workspace:*", "@nestjs/mongoose": "9.2.1", @@ -67,7 +67,7 @@ "fs": "~0.0.1-security", "path": "~0.12.7", "@types/express": "~4.17.18", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "eslint": "8.44.0", "@cats-cradle/eslint-config": "1.0.6", "@nestjs/testing": "9.2.1", diff --git a/services/graphql/package.json b/services/graphql/package.json index 13d2a1f9c..e211d7e9c 100644 --- a/services/graphql/package.json +++ b/services/graphql/package.json @@ -59,7 +59,7 @@ "fs": "~0.0.1-security", "path": "~0.12.7", "@types/express": "~4.17.18", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "lodash": "~4.17.21", "@types/lodash": "~4.14.191", "supertest": "~6.3.3", diff --git a/services/html-to-pdf/package.json b/services/html-to-pdf/package.json index cd26d4076..2ea4b3a92 100644 --- a/services/html-to-pdf/package.json +++ b/services/html-to-pdf/package.json @@ -42,7 +42,7 @@ "reflect-metadata": "0.1.13", "rxjs": "7.8.1", "source-map-support": "~0.5.21", - "@nestjs/swagger": "~6.1.3", + "@nestjs/swagger": "~7.1.13", "eslint": "8.44.0", "@cats-cradle/validation-schemas": "workspace:*", "@nestjs/testing": "9.2.1", @@ -66,7 +66,7 @@ "fs": "~0.0.1-security", "path": "~0.12.7", "@types/express": "~4.17.18", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "lodash": "~4.17.21", "@types/lodash": "~4.14.191", "supertest": "~6.3.3", diff --git a/services/jukebox/package.json b/services/jukebox/package.json index 81f4277be..8c03b9974 100644 --- a/services/jukebox/package.json +++ b/services/jukebox/package.json @@ -38,7 +38,7 @@ "reflect-metadata": "0.1.13", "rxjs": "7.8.1", "source-map-support": "~0.5.21", - "@nestjs/swagger": "~6.1.3", + "@nestjs/swagger": "~7.1.13", "uuid": "~9.0.1", "@cats-cradle/nestjs-modules": "workspace:*", "@cats-cradle/validation-schemas": "workspace:*", @@ -60,7 +60,7 @@ "fs": "~0.0.1-security", "path": "~0.12.7", "@types/express": "~4.17.18", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "eslint": "8.44.0", "@cats-cradle/eslint-config": "1.0.6", "@nestjs/testing": "9.2.1", diff --git a/services/luck-by-dice/package.json b/services/luck-by-dice/package.json index 32ff1d7f8..95890ab3e 100644 --- a/services/luck-by-dice/package.json +++ b/services/luck-by-dice/package.json @@ -43,7 +43,7 @@ "reflect-metadata": "0.1.13", "rxjs": "7.8.1", "source-map-support": "~0.5.21", - "@nestjs/swagger": "~6.1.3", + "@nestjs/swagger": "~7.1.13", "eslint": "8.44.0", "@cats-cradle/validation-schemas": "workspace:*", "@nestjs/testing": "9.2.1", @@ -63,7 +63,7 @@ "fs": "~0.0.1-security", "path": "~0.12.7", "@types/express": "~4.17.18", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "lodash": "~4.17.21", "@types/lodash": "~4.14.191", "supertest": "~6.3.3", diff --git a/services/weather-control/package.json b/services/weather-control/package.json index f2adc72d3..7ceb4b84d 100644 --- a/services/weather-control/package.json +++ b/services/weather-control/package.json @@ -38,7 +38,7 @@ "reflect-metadata": "0.1.13", "rxjs": "7.8.1", "source-map-support": "~0.5.21", - "@nestjs/swagger": "~6.1.3", + "@nestjs/swagger": "~7.1.13", "uuid": "~9.0.1", "@cats-cradle/nestjs-modules": "workspace:*", "@cats-cradle/validation-schemas": "workspace:*", @@ -60,7 +60,7 @@ "fs": "~0.0.1-security", "path": "~0.12.7", "@types/express": "~4.17.18", - "@types/uuid": "~8.3.4", + "@types/uuid": "~9.0.4", "eslint": "8.44.0", "@cats-cradle/eslint-config": "1.0.6", "@nestjs/testing": "9.2.1",