From 1528fbc5af7d7b34690d9b1d732248efe7f8ec33 Mon Sep 17 00:00:00 2001 From: leoseg <70430884+leoseg@users.noreply.github.com> Date: Wed, 14 Aug 2024 22:53:56 +0200 Subject: [PATCH 01/42] Replaced user with user-entity in session-user (#567) Replaced req['user'] with req['userEntity'] in controller and changed type from GetUserDto to userEntity in controller and service Co-authored-by: Kylee Fields <43586156+kyleecodes@users.noreply.github.com> Co-authored-by: Anna Hughes --- src/session-user/session-user.controller.ts | 8 ++++---- src/session-user/session-user.service.ts | 5 ++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/session-user/session-user.controller.ts b/src/session-user/session-user.controller.ts index 45bbe594..8ea52d1f 100644 --- a/src/session-user/session-user.controller.ts +++ b/src/session-user/session-user.controller.ts @@ -1,7 +1,7 @@ import { Body, Controller, Post, Req, UseGuards } from '@nestjs/common'; import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger'; import { Request } from 'express'; -import { GetUserDto } from 'src/user/dtos/get-user.dto'; +import {UserEntity} from '../entities/user.entity'; import { ControllerDecorator } from 'src/utils/controller.decorator'; import { FirebaseAuthGuard } from '../firebase/firebase-auth.guard'; import { UpdateSessionUserDto } from './dtos/update-session-user.dto'; @@ -22,7 +22,7 @@ export class SessionUserController { @UseGuards(FirebaseAuthGuard) async createSessionUser(@Req() req: Request, @Body() createSessionUserDto: UpdateSessionUserDto) { return await this.sessionUserService.createSessionUser( - req['user'] as GetUserDto, + req['userEntity'] as UserEntity, createSessionUserDto, ); } @@ -35,7 +35,7 @@ export class SessionUserController { @UseGuards(FirebaseAuthGuard) async complete(@Req() req: Request, @Body() updateSessionUserDto: UpdateSessionUserDto) { return await this.sessionUserService.setSessionUserCompleted( - req['user'] as GetUserDto, + req['userEntity'] as UserEntity, updateSessionUserDto, true, ); @@ -50,7 +50,7 @@ export class SessionUserController { @UseGuards(FirebaseAuthGuard) async incomplete(@Req() req: Request, @Body() updateSessionUserDto: UpdateSessionUserDto) { return await this.sessionUserService.setSessionUserCompleted( - req['user'] as GetUserDto, + req['userEntity'] as UserEntity, updateSessionUserDto, false, ); diff --git a/src/session-user/session-user.service.ts b/src/session-user/session-user.service.ts index 2c5ae6cc..70f5385a 100644 --- a/src/session-user/session-user.service.ts +++ b/src/session-user/session-user.service.ts @@ -10,7 +10,6 @@ import { CourseEntity } from '../entities/course.entity'; import { SessionUserEntity } from '../entities/session-user.entity'; import { Logger } from '../logger/logger'; import { SessionService } from '../session/session.service'; -import { GetUserDto } from '../user/dtos/get-user.dto'; import { STORYBLOK_STORY_STATUS_ENUM } from '../utils/constants'; import { formatCourseUserObject, formatCourseUserObjects } from '../utils/serialize'; import { SessionUserDto } from './dtos/session-user.dto'; @@ -86,7 +85,7 @@ export class SessionUserService { }); } - public async createSessionUser({ user }: GetUserDto, { storyblokId }: UpdateSessionUserDto) { + public async createSessionUser(user: UserEntity, { storyblokId }: UpdateSessionUserDto) { const session = await this.sessionService.getSessionByStoryblokId(storyblokId); if (!session) { @@ -132,7 +131,7 @@ export class SessionUserService { } public async setSessionUserCompleted( - { user }: GetUserDto, + user : UserEntity, { storyblokId }: UpdateSessionUserDto, completed: boolean, ) { From 3518f7fa9ffd51f23d519f1b1dbb30400f27777c Mon Sep 17 00:00:00 2001 From: Ellie Re'em Date: Wed, 14 Aug 2024 19:41:11 +0100 Subject: [PATCH 02/42] fix: remove console.log --- src/user/user.controller.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/user/user.controller.ts b/src/user/user.controller.ts index 8d162b1e..e75067ea 100644 --- a/src/user/user.controller.ts +++ b/src/user/user.controller.ts @@ -85,7 +85,6 @@ export class UserController { @Patch() @UseGuards(FirebaseAuthGuard) async updateUser(@Body() updateUserDto: UpdateUserDto, @Req() req: Request) { - console.log('>>>>', updateUserDto); return await this.userService.updateUser(updateUserDto, req['user'].user.id); } From 8c5185df2686e75de6daa66c4f9a9d727361fce9 Mon Sep 17 00:00:00 2001 From: Anna Hughes Date: Mon, 19 Aug 2024 15:04:33 +0100 Subject: [PATCH 03/42] chore: fix delete all cypress users (#599) --- src/api/crisp/crisp-api.ts | 5 +- src/api/mailchimp/mailchimp-api.ts | 5 +- src/user/user.service.ts | 84 +++++++++++++++++++++++------- 3 files changed, 69 insertions(+), 25 deletions(-) diff --git a/src/api/crisp/crisp-api.ts b/src/api/crisp/crisp-api.ts index d5eb5e67..43c63151 100644 --- a/src/api/crisp/crisp-api.ts +++ b/src/api/crisp/crisp-api.ts @@ -1,5 +1,4 @@ import { AxiosResponse } from 'axios'; -import { Logger } from '../../logger/logger'; import { crispToken, crispWebsiteId } from '../../utils/constants'; import apiCall from '../apiCalls'; import { @@ -18,8 +17,6 @@ const headers = { '-ContentType': 'application/json', }; -const logger = new Logger('UserService'); - export const createCrispProfile = async ( newPeopleProfile: CrispProfileBase, ): Promise> => { @@ -105,7 +102,7 @@ export const deleteCrispProfile = async (email: string) => { headers, }); } catch (error) { - logger.error(`Delete crisp profile API call failed: ${error}`); + throw new Error(`Delete crisp profile API call failed: ${error}`); } }; diff --git a/src/api/mailchimp/mailchimp-api.ts b/src/api/mailchimp/mailchimp-api.ts index 05ad1bae..f9dbac9b 100644 --- a/src/api/mailchimp/mailchimp-api.ts +++ b/src/api/mailchimp/mailchimp-api.ts @@ -1,6 +1,7 @@ import mailchimp from '@mailchimp/mailchimp_marketing'; import { createHash } from 'crypto'; import { mailchimpApiKey, mailchimpAudienceId, mailchimpServerPrefix } from 'src/utils/constants'; +import { Logger } from '../../logger/logger'; import { ListMember, ListMemberPartial, @@ -8,6 +9,8 @@ import { UpdateListMemberRequest, } from './mailchimp-api.interfaces'; +const logger = new Logger('MailchimpAPI'); + mailchimp.setConfig({ apiKey: mailchimpApiKey, server: mailchimpServerPrefix, @@ -107,7 +110,7 @@ export const deleteMailchimpProfile = async (email: string) => { try { return await mailchimp.lists.deleteListMember(mailchimpAudienceId, getEmailMD5Hash(email)); } catch (error) { - throw new Error(`Delete mailchimp profile API call failed: ${error}`); + logger.warn(`Delete mailchimp profile API call failed: ${error}`); } }; diff --git a/src/user/user.service.ts b/src/user/user.service.ts index fc318eb6..7dc52be2 100644 --- a/src/user/user.service.ts +++ b/src/user/user.service.ts @@ -1,5 +1,6 @@ import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; +import { deleteMailchimpProfile } from 'src/api/mailchimp/mailchimp-api'; import { PartnerAccessEntity } from 'src/entities/partner-access.entity'; import { PartnerEntity } from 'src/entities/partner.entity'; import { UserEntity } from 'src/entities/user.entity'; @@ -12,7 +13,7 @@ import { SIGNUP_TYPE } from 'src/utils/constants'; import { FIREBASE_ERRORS } from 'src/utils/errors'; import { FIREBASE_EVENTS, USER_SERVICE_EVENTS } from 'src/utils/logs'; import { ILike, IsNull, Not, Repository } from 'typeorm'; -import { deleteCypressCrispProfiles } from '../api/crisp/crisp-api'; +import { deleteCrispProfile, deleteCypressCrispProfiles } from '../api/crisp/crisp-api'; import { AuthService } from '../auth/auth.service'; import { basePartnerAccess, PartnerAccessService } from '../partner-access/partner-access.service'; import { formatUserObject } from '../utils/serialize'; @@ -268,30 +269,74 @@ export class UserService { } } - public async deleteCypressTestUsers(clean = false): Promise { - let deletedUsers: UserEntity[] = []; - try { - const queryResult = await this.userRepository - .createQueryBuilder('user') - .select() - .where('user.name LIKE :searchTerm', { searchTerm: `%Cypress test%` }) - .getMany(); - - deletedUsers = await Promise.all( - queryResult.map(async (user) => { + // Function to hard delete users in batches, required to clean up e.g. cypress test accounts + // Deleted users in batches of 10 per 1 second, due to firebase rate limiting + public async batchDeleteUsers(users) { + const BATCH_SIZE = 10; // Users to delete per second + const INTERVAL = 100; // Interval between batches in milliseconds + + const deletedUsers: UserEntity[] = []; + let startIndex = 0; + + while (startIndex < users.length) { + const batch = users.slice(startIndex, startIndex + BATCH_SIZE); + + await Promise.all( + batch.map(async (user) => { + try { + await deleteCrispProfile(user.email); + } catch (error) { + this.logger.warn( + `deleteCypressTestUsers - unable to delete crisp profile for user ${user.id}`, + error, + ); + } + try { + await deleteMailchimpProfile(user.email); + } catch (error) { + this.logger.warn( + `deleteCypressTestUsers - unable to delete mailchimp profile for user ${user.id}`, + error, + ); + } try { - // TODO: replace me - temporarily disabled due to too many tests accounts to delete, causing 429 errors on crisp API - // once crisp test users have been cleared using the clean function, and there are <50 test users in crisp, this can be replaced - // await deleteCrispProfile(user.email); await this.authService.deleteFirebaseUser(user.firebaseUid); - await this.userRepository.delete(user); - return user; } catch (error) { - await this.userRepository.delete(user); - throw error; + this.logger.warn( + `deleteCypressTestUsers - unable to delete firebase profile for user ${user.id}`, + error, + ); + } + try { + await this.userRepository.delete(user.id); + deletedUsers.push(user); + } catch (error) { + this.logger.error( + `deleteCypressTestUsers - Unable to delete db record for user ${user.id}`, + error, + ); } }), ); + + startIndex += BATCH_SIZE; + await new Promise((resolve) => setTimeout(resolve, INTERVAL)); // Wait before processing next batch + } + + this.logger.log(`deleteCypressTestUsers - successfully deleted ${deletedUsers.length} users`); + return deletedUsers; + } + + public async deleteCypressTestUsers(clean = false): Promise { + let deletedUsers: UserEntity[]; + try { + const queryResult = await this.userRepository.find({ + where: { + email: ILike('%cypresstestemail+%'), + }, + }); + + deletedUsers = await this.batchDeleteUsers(queryResult); } catch (error) { // If this fails we don't want to break cypress tests but we want to be alerted this.logger.error(`deleteCypressTestUsers - Unable to delete all cypress users`, error); @@ -312,7 +357,6 @@ export class UserService { this.logger.error(`deleteCypressTestUsers - Unable to clean all cypress users`, error); } - this.logger.log(`deleteCypressTestUsers - Successfully deleted ${deletedUsers.length} users`); return deletedUsers; } From 718f7bdc31c0b3547513ff075c2e20c45225626e Mon Sep 17 00:00:00 2001 From: Anna Hughes Date: Mon, 19 Aug 2024 17:24:36 +0100 Subject: [PATCH 04/42] feat: bulk delete users (#600) --- src/partner-admin/super-admin-auth.guard.ts | 2 +- src/user/user.controller.ts | 7 +++++++ src/user/user.service.ts | 23 ++++++++++++++++++--- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/partner-admin/super-admin-auth.guard.ts b/src/partner-admin/super-admin-auth.guard.ts index 4219d8e4..e4bd8e30 100644 --- a/src/partner-admin/super-admin-auth.guard.ts +++ b/src/partner-admin/super-admin-auth.guard.ts @@ -57,7 +57,7 @@ export class SuperAdminAuthGuard implements CanActivate { ); } try { - const user = await this.userRepository.findOneBy({ firebaseUid: userUid }); + const user = await this.userRepository.findOneByOrFail({ firebaseUid: userUid }); request['userEntity'] = user; return !!user.isSuperAdmin && user.email.indexOf('@chayn.co') !== -1; } catch (error) { diff --git a/src/user/user.controller.ts b/src/user/user.controller.ts index e75067ea..d8d4d3c4 100644 --- a/src/user/user.controller.ts +++ b/src/user/user.controller.ts @@ -58,6 +58,13 @@ export class UserController { return await this.userService.deleteUser(req['user'].user as UserEntity); } + @ApiBearerAuth('access-token') + @Delete('/bulk-delete') + @UseGuards(SuperAdminAuthGuard) + async bulkDeleteUsers(): Promise { + return await this.userService.bulkDeleteUsers(); + } + // This route must go before the Delete user route below as we want nestjs to check against this one first @ApiBearerAuth('access-token') @Delete('/cypress') diff --git a/src/user/user.service.ts b/src/user/user.service.ts index 7dc52be2..f3b1a4c0 100644 --- a/src/user/user.service.ts +++ b/src/user/user.service.ts @@ -9,7 +9,7 @@ import { Logger } from 'src/logger/logger'; import { ServiceUserProfilesService } from 'src/service-user-profiles/service-user-profiles.service'; import { SubscriptionUserService } from 'src/subscription-user/subscription-user.service'; import { TherapySessionService } from 'src/therapy-session/therapy-session.service'; -import { SIGNUP_TYPE } from 'src/utils/constants'; +import { isProduction, SIGNUP_TYPE } from 'src/utils/constants'; import { FIREBASE_ERRORS } from 'src/utils/errors'; import { FIREBASE_EVENTS, USER_SERVICE_EVENTS } from 'src/utils/logs'; import { ILike, IsNull, Not, Repository } from 'typeorm'; @@ -327,16 +327,33 @@ export class UserService { return deletedUsers; } + public async bulkDeleteUsers(): Promise { + if (isProduction) { + throw new Error('Bulk delete cannot be performed on production database'); + } + + let deletedUsers: UserEntity[]; + + try { + const users = await this.userRepository.find(); + + deletedUsers = await this.batchDeleteUsers(users); + } catch (error) { + this.logger.error(`deleteFilteredUsers - Unable to delete all users`, error); + } + return deletedUsers; + } + public async deleteCypressTestUsers(clean = false): Promise { let deletedUsers: UserEntity[]; try { - const queryResult = await this.userRepository.find({ + const users = await this.userRepository.find({ where: { email: ILike('%cypresstestemail+%'), }, }); - deletedUsers = await this.batchDeleteUsers(queryResult); + deletedUsers = await this.batchDeleteUsers(users); } catch (error) { // If this fails we don't want to break cypress tests but we want to be alerted this.logger.error(`deleteCypressTestUsers - Unable to delete all cypress users`, error); From 8ed2260e1f50462f8932798e5c537f3ae9522f45 Mon Sep 17 00:00:00 2001 From: Conor Kirby <67641390+ckirby19@users.noreply.github.com> Date: Tue, 20 Aug 2024 12:23:34 +0100 Subject: [PATCH 05/42] Ticket-547 updated sub-user service and controller to use user entity (#568) * Ticket-547 updated sub-user service and controller to use user entity * Ticket-547 fix naming issue --- src/subscription-user/subscription-user.controller.ts | 7 ++++--- src/subscription-user/subscription-user.service.ts | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/subscription-user/subscription-user.controller.ts b/src/subscription-user/subscription-user.controller.ts index 8c4d2a07..d7c52603 100644 --- a/src/subscription-user/subscription-user.controller.ts +++ b/src/subscription-user/subscription-user.controller.ts @@ -1,6 +1,7 @@ import { Body, Controller, Param, Patch, Post, Req, UseGuards } from '@nestjs/common'; import { ApiBearerAuth, ApiOperation, ApiParam, ApiTags } from '@nestjs/swagger'; import { Request } from 'express'; +import { UserEntity } from 'src/entities/user.entity'; import { FirebaseAuthGuard } from '../firebase/firebase-auth.guard'; import { ControllerDecorator } from '../utils/controller.decorator'; import { CreateSubscriptionUserDto } from './dto/create-subscription-user.dto'; @@ -26,7 +27,7 @@ export class SubscriptionUserController { @Body() createSubscriptionUserDto: CreateSubscriptionUserDto, ): Promise { return await this.subscriptionUserService.createWhatsappSubscription( - req['user'], + req['userEntity'] as UserEntity, createSubscriptionUserDto, ); } @@ -44,8 +45,8 @@ export class SubscriptionUserController { @Body() updateSubscriptionsDto: UpdateSubscriptionUserDto, ): Promise { return this.subscriptionUserService.cancelWhatsappSubscription( - req['user'].user.id, - req['user'].user.email, + req['userEntity'].id, + req['userEntity'].email, updateSubscriptionsDto, id, ); diff --git a/src/subscription-user/subscription-user.service.ts b/src/subscription-user/subscription-user.service.ts index 36905c47..3d1d8497 100644 --- a/src/subscription-user/subscription-user.service.ts +++ b/src/subscription-user/subscription-user.service.ts @@ -1,11 +1,11 @@ import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { SubscriptionUserEntity } from 'src/entities/subscription-user.entity'; +import { UserEntity } from 'src/entities/user.entity'; import { IsNull, Repository } from 'typeorm'; import { ZapierWebhookClient } from '../api/zapier/zapier-webhook-client'; import { Logger } from '../logger/logger'; import { SubscriptionService } from '../subscription/subscription.service'; -import { GetUserDto } from '../user/dtos/get-user.dto'; import { WhatsappSubscriptionStatusEnum } from '../utils/constants'; import { formatSubscriptionObject } from '../utils/serialize'; import { CreateSubscriptionUserDto } from './dto/create-subscription-user.dto'; @@ -24,7 +24,7 @@ export class SubscriptionUserService { ) {} async createWhatsappSubscription( - { user }: GetUserDto, + user: UserEntity, createSubscriptionUserDto: CreateSubscriptionUserDto, ): Promise { const whatsapp = await this.subscriptionService.getSubscription('whatsapp'); From e273b4380ceede13693b0badcca206367148e1ce Mon Sep 17 00:00:00 2001 From: Anna Hughes Date: Wed, 21 Aug 2024 19:35:29 +0100 Subject: [PATCH 06/42] fix: rm bulk delete (#601) --- src/user/user.controller.ts | 7 ------- src/user/user.service.ts | 19 +------------------ 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/src/user/user.controller.ts b/src/user/user.controller.ts index d8d4d3c4..e75067ea 100644 --- a/src/user/user.controller.ts +++ b/src/user/user.controller.ts @@ -58,13 +58,6 @@ export class UserController { return await this.userService.deleteUser(req['user'].user as UserEntity); } - @ApiBearerAuth('access-token') - @Delete('/bulk-delete') - @UseGuards(SuperAdminAuthGuard) - async bulkDeleteUsers(): Promise { - return await this.userService.bulkDeleteUsers(); - } - // This route must go before the Delete user route below as we want nestjs to check against this one first @ApiBearerAuth('access-token') @Delete('/cypress') diff --git a/src/user/user.service.ts b/src/user/user.service.ts index f3b1a4c0..d43184e1 100644 --- a/src/user/user.service.ts +++ b/src/user/user.service.ts @@ -9,7 +9,7 @@ import { Logger } from 'src/logger/logger'; import { ServiceUserProfilesService } from 'src/service-user-profiles/service-user-profiles.service'; import { SubscriptionUserService } from 'src/subscription-user/subscription-user.service'; import { TherapySessionService } from 'src/therapy-session/therapy-session.service'; -import { isProduction, SIGNUP_TYPE } from 'src/utils/constants'; +import { SIGNUP_TYPE } from 'src/utils/constants'; import { FIREBASE_ERRORS } from 'src/utils/errors'; import { FIREBASE_EVENTS, USER_SERVICE_EVENTS } from 'src/utils/logs'; import { ILike, IsNull, Not, Repository } from 'typeorm'; @@ -327,23 +327,6 @@ export class UserService { return deletedUsers; } - public async bulkDeleteUsers(): Promise { - if (isProduction) { - throw new Error('Bulk delete cannot be performed on production database'); - } - - let deletedUsers: UserEntity[]; - - try { - const users = await this.userRepository.find(); - - deletedUsers = await this.batchDeleteUsers(users); - } catch (error) { - this.logger.error(`deleteFilteredUsers - Unable to delete all users`, error); - } - return deletedUsers; - } - public async deleteCypressTestUsers(clean = false): Promise { let deletedUsers: UserEntity[]; try { From 221cdb998636883c16d02f690dffe751fc9e3586 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 08:30:49 +0000 Subject: [PATCH 07/42] chore(deps-dev): bump eslint from 9.3.0 to 9.9.1 Bumps [eslint](https://github.com/eslint/eslint) from 9.3.0 to 9.9.1. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.3.0...v9.9.1) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 102 +++++++++++++++++++++++++-------------------------- 2 files changed, 52 insertions(+), 52 deletions(-) diff --git a/package.json b/package.json index 570abda8..c79d4325 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "@types/lodash": "^4.17.7", "@types/node": "^20.12.5", "@types/supertest": "^6.0.2", - "eslint": "^9.0.0", + "eslint": "^9.9.1", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", "jest": "^29.7.0", diff --git a/yarn.lock b/yarn.lock index 68ee060a..7bf0e5cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -388,10 +388,19 @@ dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.11.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" + integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== + +"@eslint/config-array@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.18.0.tgz#37d8fe656e0d5e3dbaea7758ea56540867fd074d" + integrity sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw== + dependencies: + "@eslint/object-schema" "^2.1.4" + debug "^4.3.1" + minimatch "^3.1.2" "@eslint/eslintrc@^3.1.0": version "3.1.0" @@ -408,15 +417,15 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.3.0": - version "9.3.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.3.0.tgz#2e8f65c9c55227abc4845b1513c69c32c679d8fe" - integrity sha512-niBqk8iwv96+yuTwjM6bWg8ovzAPF9qkICsGtcoa5/dmqcEMfdwNAX7+/OHcJHc7wj7XqPxH98oAHytFYlw6Sw== +"@eslint/js@9.9.1", "@eslint/js@^9.8.0": + version "9.9.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.9.1.tgz#4a97e85e982099d6c7ee8410aacb55adaa576f06" + integrity sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ== -"@eslint/js@^9.8.0": - version "9.8.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.8.0.tgz#ae9bc14bb839713c5056f5018bcefa955556d3a4" - integrity sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA== +"@eslint/object-schema@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" + integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== "@fastify/busboy@^2.0.0", "@fastify/busboy@^2.1.0": version "2.1.1" @@ -887,25 +896,11 @@ protobufjs "^7.2.5" yargs "^17.7.2" -"@humanwhocodes/config-array@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" - integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== - dependencies: - "@humanwhocodes/object-schema" "^2.0.3" - debug "^4.3.1" - minimatch "^3.0.5" - "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" - integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== - "@humanwhocodes/retry@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570" @@ -2096,7 +2091,12 @@ acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== -acorn@^8.11.3, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2: +acorn@^8.12.0: + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== + +acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2: version "8.11.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== @@ -3226,10 +3226,10 @@ eslint-scope@5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.1.tgz#a9601e4b81a0b9171657c343fb13111688963cfc" - integrity sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== +eslint-scope@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.2.tgz#5cbb33d4384c9136083a71190d548158fe128f94" + integrity sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -3244,16 +3244,16 @@ eslint-visitor-keys@^4.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb" integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== -eslint@^9.0.0: - version "9.3.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.3.0.tgz#36a96db84592618d6ed9074d677e92f4e58c08b9" - integrity sha512-5Iv4CsZW030lpUqHBapdPo3MJetAPtejVW8B84GIcIIv8+ohFaddXsrn1Gn8uD9ijDb+kcYKFUVmC8qG8B2ORQ== +eslint@^9.9.1: + version "9.9.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.9.1.tgz#147ac9305d56696fb84cf5bdecafd6517ddc77ec" + integrity sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" + "@eslint-community/regexpp" "^4.11.0" + "@eslint/config-array" "^0.18.0" "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.3.0" - "@humanwhocodes/config-array" "^0.13.0" + "@eslint/js" "9.9.1" "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.3.0" "@nodelib/fs.walk" "^1.2.8" @@ -3262,10 +3262,10 @@ eslint@^9.0.0: cross-spawn "^7.0.2" debug "^4.3.2" escape-string-regexp "^4.0.0" - eslint-scope "^8.0.1" + eslint-scope "^8.0.2" eslint-visitor-keys "^4.0.0" - espree "^10.0.1" - esquery "^1.4.2" + espree "^10.1.0" + esquery "^1.5.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^8.0.0" @@ -3284,12 +3284,12 @@ eslint@^9.0.0: strip-ansi "^6.0.1" text-table "^0.2.0" -espree@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.0.1.tgz#600e60404157412751ba4a6f3a2ee1a42433139f" - integrity sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww== +espree@^10.0.1, espree@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" + integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== dependencies: - acorn "^8.11.3" + acorn "^8.12.0" acorn-jsx "^5.3.2" eslint-visitor-keys "^4.0.0" @@ -3298,10 +3298,10 @@ esprima@^4.0.0, esprima@^4.0.1: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== +esquery@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== dependencies: estraverse "^5.1.0" @@ -5331,7 +5331,7 @@ minimatch@^10.0.0: dependencies: brace-expansion "^2.0.1" -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== From 61e8599f6a978e7aa535c11158344278c02dcad1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 08:37:44 +0000 Subject: [PATCH 08/42] chore(deps-dev): bump @nestjs/testing from 10.3.10 to 10.4.1 Bumps [@nestjs/testing](https://github.com/nestjs/nest/tree/HEAD/packages/testing) from 10.3.10 to 10.4.1. - [Release notes](https://github.com/nestjs/nest/releases) - [Commits](https://github.com/nestjs/nest/commits/v10.4.1/packages/testing) --- updated-dependencies: - dependency-name: "@nestjs/testing" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c79d4325..666fd44c 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "@golevelup/ts-jest": "^0.5.0", "@nestjs/cli": "^10.3.2", "@nestjs/schematics": "^10.1.3", - "@nestjs/testing": "^10.3.10", + "@nestjs/testing": "^10.4.1", "@types/date-fns": "^2.6.0", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", diff --git a/yarn.lock b/yarn.lock index 7bf0e5cc..5e61e4a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1314,10 +1314,10 @@ boxen "5.1.2" check-disk-space "3.4.0" -"@nestjs/testing@^10.3.10": - version "10.3.10" - resolved "https://registry.yarnpkg.com/@nestjs/testing/-/testing-10.3.10.tgz#6ed3c821fddf868665cc5ddc8591ee6eaab8a916" - integrity sha512-i3HAtVQJijxNxJq1k39aelyJlyEIBRONys7IipH/4r8W0J+M1V+y5EKDOyi4j1SdNSb/vmNyWpZ2/ewZjl3kRA== +"@nestjs/testing@^10.4.1": + version "10.4.1" + resolved "https://registry.yarnpkg.com/@nestjs/testing/-/testing-10.4.1.tgz#146c0161ab98524ea9fafe4ca5316229d1e44387" + integrity sha512-pR+su5+YGqCLH0RhhVkPowQK7FCORU0/PWAywPK7LScAOtD67ZoviZ7hAU4vnGdwkg4HCB0D7W8Bkg19CGU8Xw== dependencies: tslib "2.6.3" From 68ce5328a2902f8d9bb9bf941546bb4fc713e30a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 08:37:58 +0000 Subject: [PATCH 09/42] chore(deps): bump @nestjs/common from 10.3.10 to 10.4.1 Bumps [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common) from 10.3.10 to 10.4.1. - [Release notes](https://github.com/nestjs/nest/releases) - [Commits](https://github.com/nestjs/nest/commits/v10.4.1/packages/common) --- updated-dependencies: - dependency-name: "@nestjs/common" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 666fd44c..4e400e1d 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "dependencies": { "@mailchimp/mailchimp_marketing": "^3.0.80", "@nestjs/axios": "^3.0.2", - "@nestjs/common": "^10.3.10", + "@nestjs/common": "^10.4.1", "@nestjs/config": "^3.2.3", "@nestjs/core": "^10.3.6", "@nestjs/platform-express": "^10.4.1", diff --git a/yarn.lock b/yarn.lock index 5e61e4a0..3448e819 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1237,10 +1237,10 @@ webpack "5.90.1" webpack-node-externals "3.0.0" -"@nestjs/common@^10.3.10": - version "10.3.10" - resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-10.3.10.tgz#d8825d55a50a04e33080c9188e6a5b03235d19f2" - integrity sha512-H8k0jZtxk1IdtErGDmxFRy0PfcOAUg41Prrqpx76DQusGGJjsaovs1zjXVD1rZWaVYchfT1uczJ6L4Kio10VNg== +"@nestjs/common@^10.4.1": + version "10.4.1" + resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-10.4.1.tgz#6f8aab84eebe7a4574134dcd9bf7f0129df393f6" + integrity sha512-4CkrDx0s4XuWqFjX8WvOFV7Y6RGJd0P2OBblkhZS7nwoctoSuW5pyEa8SWak6YHNGrHRpFb6ymm5Ai4LncwRVA== dependencies: uid "2.0.2" iterare "1.2.1" From e154cba445259073c04722850d2d37365b5c3b5a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 08:30:28 +0000 Subject: [PATCH 10/42] chore(deps): bump storyblok-js-client from 6.7.3 to 6.8.4 Bumps [storyblok-js-client](https://github.com/storyblok/storyblok-js-client) from 6.7.3 to 6.8.4. - [Release notes](https://github.com/storyblok/storyblok-js-client/releases) - [Changelog](https://github.com/storyblok/storyblok-js-client/blob/main/changelog.md) - [Commits](https://github.com/storyblok/storyblok-js-client/compare/v6.7.3...v6.8.4) --- updated-dependencies: - dependency-name: storyblok-js-client dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4e400e1d..51ce3717 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "rimraf": "^6.0.1", "rollbar": "^2.26.4", "rxjs": "^7.8.1", - "storyblok-js-client": "^6.7.1", + "storyblok-js-client": "^6.8.4", "typeorm": "^0.3.20" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 3448e819..3ca4bbb1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6599,10 +6599,10 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -storyblok-js-client@^6.7.1: - version "6.7.3" - resolved "https://registry.yarnpkg.com/storyblok-js-client/-/storyblok-js-client-6.7.3.tgz#d8976889ac20455f2e33d42d46faad18c093b078" - integrity sha512-fBBxtyju6xtFYgAgoWBaU7WagB8M6wN+N+A3UAhZtAPW8yZmlbr3nZu26ErYIbSLaeueyFlcNrI4Kag+Kszsdw== +storyblok-js-client@^6.8.4: + version "6.8.4" + resolved "https://registry.yarnpkg.com/storyblok-js-client/-/storyblok-js-client-6.8.4.tgz#b0f145edd0157d80a7dbf55656ee240bd5320c29" + integrity sha512-+f8DAigWz/E3Np45m3lVoEs14YIvrr+1gpj6zuIVa0Kc1QwdKpJ0hkrYoMlk9TznPeqdgU5KIKwzvOFgHVGHsQ== stream-events@^1.0.5: version "1.0.5" From e591a9f455aebc18e22ecf37530e385ff2b50307 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 12:17:18 +0000 Subject: [PATCH 11/42] chore(deps): bump micromatch from 4.0.5 to 4.0.8 Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8. - [Release notes](https://github.com/micromatch/micromatch/releases) - [Changelog](https://github.com/micromatch/micromatch/blob/4.0.8/CHANGELOG.md) - [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8) --- updated-dependencies: - dependency-name: micromatch dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3ca4bbb1..419ecbe4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2445,7 +2445,7 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^3.0.2, braces@~3.0.2: +braces@^3.0.3, braces@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== @@ -5280,11 +5280,11 @@ methods@^1.1.1, methods@^1.1.2, methods@~1.1.2: integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromatch@^4.0.0, micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" mime-db@1.52.0: From 382c840337506cdfae64ad1d3b1d6225b6c28874 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 12:18:39 +0000 Subject: [PATCH 12/42] chore(deps): bump storyblok-js-client from 6.8.4 to 6.9.0 Bumps [storyblok-js-client](https://github.com/storyblok/storyblok-js-client) from 6.8.4 to 6.9.0. - [Release notes](https://github.com/storyblok/storyblok-js-client/releases) - [Changelog](https://github.com/storyblok/storyblok-js-client/blob/main/changelog.md) - [Commits](https://github.com/storyblok/storyblok-js-client/compare/v6.8.4...v6.9.0) --- updated-dependencies: - dependency-name: storyblok-js-client dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 51ce3717..86a3d538 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "rimraf": "^6.0.1", "rollbar": "^2.26.4", "rxjs": "^7.8.1", - "storyblok-js-client": "^6.8.4", + "storyblok-js-client": "^6.9.0", "typeorm": "^0.3.20" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 419ecbe4..d2067b5b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6599,10 +6599,10 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -storyblok-js-client@^6.8.4: - version "6.8.4" - resolved "https://registry.yarnpkg.com/storyblok-js-client/-/storyblok-js-client-6.8.4.tgz#b0f145edd0157d80a7dbf55656ee240bd5320c29" - integrity sha512-+f8DAigWz/E3Np45m3lVoEs14YIvrr+1gpj6zuIVa0Kc1QwdKpJ0hkrYoMlk9TznPeqdgU5KIKwzvOFgHVGHsQ== +storyblok-js-client@^6.9.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/storyblok-js-client/-/storyblok-js-client-6.9.0.tgz#d625790236acf08cfa0edf91b6a62e71d9b9b850" + integrity sha512-8X+NYa9RWxX61iWCCjB32qS3aBTEdzqwBN/vthFpRpMOnwXEtBDNaBpjTz8Orrefu0gKJGXLZtdqWidVe9OV0Q== stream-events@^1.0.5: version "1.0.5" From ca7a904822e2ed00b8306cae1703d30012c421af Mon Sep 17 00:00:00 2001 From: SangilYun <35569652+SangilYun@users.noreply.github.com> Date: Tue, 10 Sep 2024 17:55:52 +0900 Subject: [PATCH 13/42] 545-Replace req user with req userEntity in the user.controller.ts (#579) * Replace req["user"] with req["userEntity"] in the user.controller.ts * clean up * use the service method user.getUserProfile rather than returning req["user"] * cc points * use getUserProfile --- src/user/user.controller.ts | 12 ++++++------ src/user/user.service.ts | 28 ++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/user/user.controller.ts b/src/user/user.controller.ts index e75067ea..f0f6d124 100644 --- a/src/user/user.controller.ts +++ b/src/user/user.controller.ts @@ -46,16 +46,16 @@ export class UserController { @Get('/me') @UseGuards(FirebaseAuthGuard) async getUserByFirebaseId(@Req() req: Request): Promise { - const user = req['user']; - this.userService.updateUser({ lastActiveAt: new Date() }, user.user.id); - return user as GetUserDto; + const user = req['userEntity']; + this.userService.updateUser({ lastActiveAt: new Date() }, user.id); + return (await this.userService.getUserProfile(user.id)).userDto; } @ApiBearerAuth() @Delete() @UseGuards(FirebaseAuthGuard) async deleteUser(@Req() req: Request): Promise { - return await this.userService.deleteUser(req['user'].user as UserEntity); + return await this.userService.deleteUser(req['userEntity']); } // This route must go before the Delete user route below as we want nestjs to check against this one first @@ -84,8 +84,8 @@ export class UserController { @ApiBearerAuth() @Patch() @UseGuards(FirebaseAuthGuard) - async updateUser(@Body() updateUserDto: UpdateUserDto, @Req() req: Request) { - return await this.userService.updateUser(updateUserDto, req['user'].user.id); + async updateUser(@Body() updateUserDto: UpdateUserDto, @Req() req: Request): Promise { + return await this.userService.updateUser(updateUserDto, req['userEntity'].id); } @ApiBearerAuth() diff --git a/src/user/user.service.ts b/src/user/user.service.ts index d43184e1..21b50a2d 100644 --- a/src/user/user.service.ts +++ b/src/user/user.service.ts @@ -135,6 +135,34 @@ export class UserService { return { userEntity: queryResult, userDto: formatUserObject(queryResult) }; } + public async getUserProfile(id: string): Promise<{ + userEntity: UserEntity | undefined; + userDto: GetUserDto | undefined; + }> { + const queryResult = await this.userRepository + .createQueryBuilder('user') + .leftJoinAndSelect('user.partnerAccess', 'partnerAccess') + .leftJoinAndSelect('user.partnerAdmin', 'partnerAdmin') + .leftJoinAndSelect('partnerAccess.therapySession', 'therapySession') + .leftJoinAndSelect('partnerAccess.partner', 'partner') + .leftJoinAndSelect('partnerAccess.partner', 'partnerAccessPartner') + .leftJoinAndSelect('partnerAdmin.partner', 'partnerAdminPartner') + .leftJoinAndSelect('user.courseUser', 'courseUser') + .leftJoinAndSelect('courseUser.course', 'course') + .leftJoinAndSelect('courseUser.sessionUser', 'sessionUser') + .leftJoinAndSelect('sessionUser.session', 'session') + .leftJoinAndSelect('user.subscriptionUser', 'subscriptionUser') + .leftJoinAndSelect('subscriptionUser.subscription', 'subscription') + .where('user.id = :id', { id }) + .getOne(); + + if (!queryResult) { + throw new HttpException('USER NOT FOUND', HttpStatus.NOT_FOUND); + } + + return { userEntity: queryResult, userDto: formatUserObject(queryResult) }; + } + public async getUserById(id: string): Promise { const queryResult = await this.userRepository .createQueryBuilder('user') From 8ef5d9e4af031300a91658eb942aaf99ec061d4d Mon Sep 17 00:00:00 2001 From: Tim Quattrochi <89536242+Tim-Quattrochi@users.noreply.github.com> Date: Tue, 10 Sep 2024 09:57:49 -0400 Subject: [PATCH 14/42] #429: Implement GET /subscription_user Endpoint (#580) * refactor: add GetSubscriptionUserDto and getUserSubscriptions endpoint [WIP][Refactor][Tests] * refactor: remove userId property from GetSubscriptionUserDto, fixed overly nested response. * test: add getUserSubscriptions service tests * refactor: add try catch to getSubscriptions service. * chore: abstract serialization into utils * Remove GetSubscriptionUsersDto * Update get-subscription-user.dto.ts --------- Co-authored-by: eleanorreem --- .../dto/get-subscription-user.dto.ts | 39 +++++++++++++++++++ .../subscription-user.controller.ts | 21 +++++++++- .../subscription-user.service.spec.ts | 20 ++++++++++ .../subscription-user.service.ts | 15 +++++++ src/utils/serialize.ts | 17 ++++++++ 5 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 src/subscription-user/dto/get-subscription-user.dto.ts diff --git a/src/subscription-user/dto/get-subscription-user.dto.ts b/src/subscription-user/dto/get-subscription-user.dto.ts new file mode 100644 index 00000000..91df3ec2 --- /dev/null +++ b/src/subscription-user/dto/get-subscription-user.dto.ts @@ -0,0 +1,39 @@ +import { ApiProperty } from '@nestjs/swagger'; +import { Expose } from 'class-transformer'; +import { IsDefined, IsNotEmpty, IsOptional, IsString } from 'class-validator'; + +@Expose() +export class GetSubscriptionUserDto { + @ApiProperty() + @IsString() + @IsDefined() + @IsNotEmpty() + id: string; + + @ApiProperty() + @IsString() + @IsDefined() + @IsNotEmpty() + subscriptionId: string; + + @ApiProperty() + @IsString() + @IsDefined() + @IsNotEmpty() + @Expose() + subscriptionName: string; + + @ApiProperty() + @IsString() + @IsDefined() + @IsNotEmpty() + subscriptionInfo: string; + + @ApiProperty() + @IsDefined() + createdAt: Date; + + @ApiProperty() + @IsOptional() + cancelledAt: Date | null; +} diff --git a/src/subscription-user/subscription-user.controller.ts b/src/subscription-user/subscription-user.controller.ts index d7c52603..dbbb5c15 100644 --- a/src/subscription-user/subscription-user.controller.ts +++ b/src/subscription-user/subscription-user.controller.ts @@ -1,10 +1,12 @@ -import { Body, Controller, Param, Patch, Post, Req, UseGuards } from '@nestjs/common'; +import { Body, Controller, Get, Param, Patch, Post, Req, UseGuards } from '@nestjs/common'; import { ApiBearerAuth, ApiOperation, ApiParam, ApiTags } from '@nestjs/swagger'; import { Request } from 'express'; import { UserEntity } from 'src/entities/user.entity'; +import { mapToSubscriptionUserDtos } from 'src/utils/serialize'; import { FirebaseAuthGuard } from '../firebase/firebase-auth.guard'; import { ControllerDecorator } from '../utils/controller.decorator'; import { CreateSubscriptionUserDto } from './dto/create-subscription-user.dto'; +import { GetSubscriptionUserDto } from './dto/get-subscription-user.dto'; import { UpdateSubscriptionUserDto } from './dto/update-subscription-user.dto'; import { ISubscriptionUser } from './subscription-user.interface'; import { SubscriptionUserService } from './subscription-user.service'; @@ -15,6 +17,23 @@ import { SubscriptionUserService } from './subscription-user.service'; export class SubscriptionUserController { constructor(private readonly subscriptionUserService: SubscriptionUserService) {} + @Get('/') + @ApiBearerAuth('access-token') + @ApiOperation({ + description: 'Returns all the subscriptions of the authenticated user.', + }) + @UseGuards(FirebaseAuthGuard) + async getUserSubscriptions(@Req() req: Request): Promise { + const user = req['userEntity'] as UserEntity; + const userId = user.id; + + const userSubscriptions = await this.subscriptionUserService.getSubscriptions(userId); + + const subscriptionDtos = mapToSubscriptionUserDtos(userSubscriptions); + + return subscriptionDtos; + } + @Post('/whatsapp') @ApiBearerAuth('access-token') @ApiOperation({ diff --git a/src/subscription-user/subscription-user.service.spec.ts b/src/subscription-user/subscription-user.service.spec.ts index 8a67ac61..30976f40 100644 --- a/src/subscription-user/subscription-user.service.spec.ts +++ b/src/subscription-user/subscription-user.service.spec.ts @@ -61,4 +61,24 @@ describe('SubscriptionUserService', () => { ]); }); }); + + describe('getUserSubscriptions', () => { + it('should return a list of subscriptions for the given userId', async () => { + const result = await service.getSubscriptions(mockUserEntity.id); + + expect(result).toMatchObject([mockSubscriptionUserEntity]); + }); + + it('should return an empty array if the user has no subscriptions', async () => { + mockedSubscriptionUserRepository.find.mockResolvedValueOnce([]); + + const result = await service.getSubscriptions(mockUserEntity.id); + + expect(result).toEqual([]); + expect(mockedSubscriptionUserRepository.find).toHaveBeenCalledWith({ + where: { userId: mockUserEntity.id }, + relations: ['subscription'], + }); + }); + }); }); diff --git a/src/subscription-user/subscription-user.service.ts b/src/subscription-user/subscription-user.service.ts index 3d1d8497..463431f6 100644 --- a/src/subscription-user/subscription-user.service.ts +++ b/src/subscription-user/subscription-user.service.ts @@ -153,4 +153,19 @@ export class SubscriptionUserService { ); } } + + async getSubscriptions(userId: string): Promise { + try { + const userSubscriptions = await this.subscriptionUserRepository.find({ + where: { userId: userId }, + relations: ['subscription'], + }); + + this.logger.log(`User ${userId} has ${userSubscriptions.length} subscriptions`); + + return userSubscriptions; + } catch (err) { + throw new HttpException(`getSubscriptions error - ${err}`, HttpStatus.INTERNAL_SERVER_ERROR); + } + } } diff --git a/src/utils/serialize.ts b/src/utils/serialize.ts index c30ec474..00a6ac67 100644 --- a/src/utils/serialize.ts +++ b/src/utils/serialize.ts @@ -2,6 +2,7 @@ import { PartnerAdminEntity } from 'src/entities/partner-admin.entity'; import { PartnerEntity } from 'src/entities/partner.entity'; import { IPartnerFeature } from 'src/partner-feature/partner-feature.interface'; import { IPartner } from 'src/partner/partner.interface'; +import { GetSubscriptionUserDto } from 'src/subscription-user/dto/get-subscription-user.dto'; import { CourseUserEntity } from '../entities/course-user.entity'; import { PartnerAccessEntity } from '../entities/partner-access.entity'; import { SubscriptionUserEntity } from '../entities/subscription-user.entity'; @@ -203,3 +204,19 @@ export const formatSubscriptionObject = ( cancelledAt: userSubscription.cancelledAt, }; }; + +export const mapToSubscriptionUserDtos = ( + userSubscriptions: SubscriptionUserEntity[], +): GetSubscriptionUserDto[] => { + return userSubscriptions.map((subscriptionUser) => { + const dto = new GetSubscriptionUserDto(); + dto.id = subscriptionUser.id; + dto.subscriptionId = subscriptionUser.subscription.id; + dto.subscriptionName = subscriptionUser.subscription.name; + dto.subscriptionInfo = subscriptionUser.subscription.info; + dto.createdAt = subscriptionUser.createdAt; + dto.cancelledAt = subscriptionUser.cancelledAt; + dto.subscriptionInfo = subscriptionUser.subscriptionInfo; + return dto; + }); +}; From 932278c8464264d78406ce4bc4e315135186195e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 08:46:19 +0000 Subject: [PATCH 15/42] chore(deps): bump newrelic/deployment-marker-action from 2.5.0 to 2.5.1 Bumps [newrelic/deployment-marker-action](https://github.com/newrelic/deployment-marker-action) from 2.5.0 to 2.5.1. - [Release notes](https://github.com/newrelic/deployment-marker-action/releases) - [Changelog](https://github.com/newrelic/deployment-marker-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/newrelic/deployment-marker-action/compare/v2.5.0...v2.5.1) --- updated-dependencies: - dependency-name: newrelic/deployment-marker-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/newrelic-release-tracking.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/newrelic-release-tracking.yml b/.github/workflows/newrelic-release-tracking.yml index c918aa1d..d3d3529f 100644 --- a/.github/workflows/newrelic-release-tracking.yml +++ b/.github/workflows/newrelic-release-tracking.yml @@ -14,7 +14,7 @@ jobs: run: echo "COMMIT_REF=${{ github.ref_name }}" >> $GITHUB_ENV # This step creates a new Change Tracking Marker - name: New Relic Application Deployment Marker - uses: newrelic/deployment-marker-action@v2.5.0 + uses: newrelic/deployment-marker-action@v2.5.1 with: apiKey: ${{ secrets.NEW_RELIC_API_KEY }} region: 'EU' From 0c279c913062973155b555ad9da7edff846b454b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 08:39:03 +0000 Subject: [PATCH 16/42] chore(deps-dev): bump typescript from 5.4.5 to 5.5.4 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.4.5 to 5.5.4. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml) - [Commits](https://github.com/Microsoft/TypeScript/compare/v5.4.5...v5.5.4) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 86a3d538..a6a18dee 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "ts-loader": "^9.5.1", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", - "typescript": "^5.4.5", + "typescript": "^5.5.4", "typescript-eslint": "^7.17.0" }, "engines": { diff --git a/yarn.lock b/yarn.lock index d2067b5b..75909939 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7151,10 +7151,10 @@ typescript@5.3.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== -typescript@^5.4.5: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== +typescript@^5.5.4: + version "5.5.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" + integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== uid@2.0.2: version "2.0.2" From affaa57e8dbc33618b269349eea7f9aca2f6280b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 08:39:27 +0000 Subject: [PATCH 17/42] chore(deps-dev): bump ts-jest from 29.2.4 to 29.2.5 Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.2.4 to 29.2.5. - [Release notes](https://github.com/kulshekhar/ts-jest/releases) - [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/kulshekhar/ts-jest/compare/v29.2.4...v29.2.5) --- updated-dependencies: - dependency-name: ts-jest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index a6a18dee..65c8a691 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "jest": "^29.7.0", "prettier": "^3.3.3", "supertest": "^7.0.0", - "ts-jest": "^29.2.4", + "ts-jest": "^29.2.5", "ts-loader": "^9.5.1", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", diff --git a/yarn.lock b/yarn.lock index 75909939..51c04127 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2462,7 +2462,7 @@ browserslist@^4.21.10, browserslist@^4.22.2: node-releases "^2.0.14" update-browserslist-db "^1.0.13" -bs-logger@0.x: +bs-logger@^0.2.6: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== @@ -5103,7 +5103,7 @@ lodash.isstring@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== -lodash.memoize@4.x: +lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== @@ -5217,7 +5217,7 @@ make-dir@^4.0.0: dependencies: semver "^7.5.3" -make-error@1.x, make-error@^1.1.1: +make-error@^1.1.1, make-error@^1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== @@ -6390,10 +6390,10 @@ semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.3.5, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: - version "7.6.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== +semver@^7.3.4, semver@^7.3.5, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== send@0.18.0: version "0.18.0" @@ -7008,20 +7008,20 @@ ts-api-utils@^1.3.0: resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== -ts-jest@^29.2.4: - version "29.2.4" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.4.tgz#38ccf487407d7a63054a72689f6f99b075e296e5" - integrity sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw== +ts-jest@^29.2.5: + version "29.2.5" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.5.tgz#591a3c108e1f5ebd013d3152142cb5472b399d63" + integrity sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA== dependencies: - bs-logger "0.x" + bs-logger "^0.2.6" ejs "^3.1.10" - fast-json-stable-stringify "2.x" + fast-json-stable-stringify "^2.1.0" jest-util "^29.0.0" json5 "^2.2.3" - lodash.memoize "4.x" - make-error "1.x" - semver "^7.5.3" - yargs-parser "^21.0.1" + lodash.memoize "^4.1.2" + make-error "^1.3.6" + semver "^7.6.3" + yargs-parser "^21.1.1" ts-loader@^9.5.1: version "9.5.1" @@ -7480,7 +7480,7 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: +yargs-parser@21.1.1, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== From 840a2555f97d415a07da9b0811530d76b618ea59 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 08:10:03 +0000 Subject: [PATCH 18/42] chore(deps): bump storyblok-js-client from 6.9.0 to 6.9.2 Bumps [storyblok-js-client](https://github.com/storyblok/storyblok-js-client) from 6.9.0 to 6.9.2. - [Release notes](https://github.com/storyblok/storyblok-js-client/releases) - [Changelog](https://github.com/storyblok/storyblok-js-client/blob/main/changelog.md) - [Commits](https://github.com/storyblok/storyblok-js-client/compare/v6.9.0...v6.9.2) --- updated-dependencies: - dependency-name: storyblok-js-client dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 65c8a691..78de13c8 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "rimraf": "^6.0.1", "rollbar": "^2.26.4", "rxjs": "^7.8.1", - "storyblok-js-client": "^6.9.0", + "storyblok-js-client": "^6.9.2", "typeorm": "^0.3.20" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 51c04127..7c29cb42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6599,10 +6599,10 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -storyblok-js-client@^6.9.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/storyblok-js-client/-/storyblok-js-client-6.9.0.tgz#d625790236acf08cfa0edf91b6a62e71d9b9b850" - integrity sha512-8X+NYa9RWxX61iWCCjB32qS3aBTEdzqwBN/vthFpRpMOnwXEtBDNaBpjTz8Orrefu0gKJGXLZtdqWidVe9OV0Q== +storyblok-js-client@^6.9.2: + version "6.9.2" + resolved "https://registry.yarnpkg.com/storyblok-js-client/-/storyblok-js-client-6.9.2.tgz#af37c6f8ea0968603e4fcccac01228b715a8439c" + integrity sha512-31GM5X/SIP4eJsSMCpAnaPDRmmUotSSWD3Umnuzf3CGqjyakot2Gv5QmuV23fRM7TCDUQlg5wurROmAzkKMKKg== stream-events@^1.0.5: version "1.0.5" From 15876c003ce5e5af0fa2a9579b92bea1a3a4d58d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 08:11:25 +0000 Subject: [PATCH 19/42] chore(deps-dev): bump @types/node from 20.12.12 to 22.5.4 Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.12.12 to 22.5.4. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 22 +++++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 78de13c8..9f0c0d77 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "@types/express": "^4.17.21", "@types/jest": "^29.5.12", "@types/lodash": "^4.17.7", - "@types/node": "^20.12.5", + "@types/node": "^22.5.4", "@types/supertest": "^6.0.2", "eslint": "^9.9.1", "eslint-config-prettier": "^9.1.0", diff --git a/yarn.lock b/yarn.lock index 7c29cb42..f9ad82aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1731,18 +1731,25 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== -"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0", "@types/node@^20.10.3", "@types/node@^20.12.5": - version "20.12.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.12.tgz#7cbecdf902085cec634fdb362172dfe12b8f2050" - integrity sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw== +"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0", "@types/node@^22.5.4": + version "22.5.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.4.tgz#83f7d1f65bc2ed223bdbf57c7884f1d5a4fa84e8" + integrity sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg== dependencies: - undici-types "~5.26.4" + undici-types "~6.19.2" "@types/node@^10.0.3": version "10.17.60" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== +"@types/node@^20.10.3": + version "20.12.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.12.tgz#7cbecdf902085cec634fdb362172dfe12b8f2050" + integrity sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw== + dependencies: + undici-types "~5.26.4" + "@types/node@^8.0.0": version "8.10.66" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" @@ -7168,6 +7175,11 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + undici@5.28.4: version "5.28.4" resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" From 8f9ec6f8b33466f8456db361d4b0ca54a9acd37a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 14:02:19 +0000 Subject: [PATCH 20/42] chore(deps-dev): bump typescript-eslint from 7.17.0 to 8.5.0 Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 7.17.0 to 8.5.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.5.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 144 +++++++++++++++++++++------------------------------ 2 files changed, 61 insertions(+), 85 deletions(-) diff --git a/package.json b/package.json index 9f0c0d77..0eb7ea31 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", "typescript": "^5.5.4", - "typescript-eslint": "^7.17.0" + "typescript-eslint": "^8.5.0" }, "engines": { "node": "20.x", diff --git a/yarn.lock b/yarn.lock index f9ad82aa..91bd9782 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1841,85 +1841,85 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz#c8ed1af1ad2928ede5cdd207f7e3090499e1f77b" - integrity sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A== +"@typescript-eslint/eslint-plugin@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.5.0.tgz#7c1863693a98371703686e1c0fac64ffc576cdb1" + integrity sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.17.0" - "@typescript-eslint/type-utils" "7.17.0" - "@typescript-eslint/utils" "7.17.0" - "@typescript-eslint/visitor-keys" "7.17.0" + "@typescript-eslint/scope-manager" "8.5.0" + "@typescript-eslint/type-utils" "8.5.0" + "@typescript-eslint/utils" "8.5.0" + "@typescript-eslint/visitor-keys" "8.5.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.17.0.tgz#be8e32c159190cd40a305a2121220eadea5a88e7" - integrity sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A== +"@typescript-eslint/parser@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.5.0.tgz#d590e1ef9f31f26d423999ad3f687723247e6bcc" + integrity sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw== dependencies: - "@typescript-eslint/scope-manager" "7.17.0" - "@typescript-eslint/types" "7.17.0" - "@typescript-eslint/typescript-estree" "7.17.0" - "@typescript-eslint/visitor-keys" "7.17.0" + "@typescript-eslint/scope-manager" "8.5.0" + "@typescript-eslint/types" "8.5.0" + "@typescript-eslint/typescript-estree" "8.5.0" + "@typescript-eslint/visitor-keys" "8.5.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz#e072d0f914662a7bfd6c058165e3c2b35ea26b9d" - integrity sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA== +"@typescript-eslint/scope-manager@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.5.0.tgz#385341de65b976f02b295b8aca54bb4ffd6b5f07" + integrity sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg== dependencies: - "@typescript-eslint/types" "7.17.0" - "@typescript-eslint/visitor-keys" "7.17.0" + "@typescript-eslint/types" "8.5.0" + "@typescript-eslint/visitor-keys" "8.5.0" -"@typescript-eslint/type-utils@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz#c5da78feb134c9c9978cbe89e2b1a589ed22091a" - integrity sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA== +"@typescript-eslint/type-utils@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.5.0.tgz#6215b23aa39dbbd8dde0a4ef9ee0f745410c29b1" + integrity sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA== dependencies: - "@typescript-eslint/typescript-estree" "7.17.0" - "@typescript-eslint/utils" "7.17.0" + "@typescript-eslint/typescript-estree" "8.5.0" + "@typescript-eslint/utils" "8.5.0" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.17.0.tgz#7ce8185bdf06bc3494e73d143dbf3293111b9cff" - integrity sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A== +"@typescript-eslint/types@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.5.0.tgz#4465d99331d1276f8fb2030e4f9c73fe01a05bf9" + integrity sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw== -"@typescript-eslint/typescript-estree@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz#dcab3fea4c07482329dd6107d3c6480e228e4130" - integrity sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw== +"@typescript-eslint/typescript-estree@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.5.0.tgz#6e5758cf2f63aa86e9ddfa4e284e2e0b81b87557" + integrity sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q== dependencies: - "@typescript-eslint/types" "7.17.0" - "@typescript-eslint/visitor-keys" "7.17.0" + "@typescript-eslint/types" "8.5.0" + "@typescript-eslint/visitor-keys" "8.5.0" debug "^4.3.4" - globby "^11.1.0" + fast-glob "^3.3.2" is-glob "^4.0.3" minimatch "^9.0.4" semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.17.0.tgz#815cd85b9001845d41b699b0ce4f92d6dfb84902" - integrity sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw== +"@typescript-eslint/utils@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.5.0.tgz#4d4ffed96d0654546a37faa5b84bdce16d951634" + integrity sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "7.17.0" - "@typescript-eslint/types" "7.17.0" - "@typescript-eslint/typescript-estree" "7.17.0" + "@typescript-eslint/scope-manager" "8.5.0" + "@typescript-eslint/types" "8.5.0" + "@typescript-eslint/typescript-estree" "8.5.0" -"@typescript-eslint/visitor-keys@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz#680465c734be30969e564b4647f38d6cdf49bfb0" - integrity sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A== +"@typescript-eslint/visitor-keys@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.5.0.tgz#13028df3b866d2e3e2e2cc4193cf2c1e0e04c4bf" + integrity sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw== dependencies: - "@typescript-eslint/types" "7.17.0" + "@typescript-eslint/types" "8.5.0" eslint-visitor-keys "^3.4.3" "@tyriar/fibonacci-heap@^2.0.7": @@ -2275,11 +2275,6 @@ array-timsort@^1.0.3: resolved "https://registry.yarnpkg.com/array-timsort/-/array-timsort-1.0.3.tgz#3c9e4199e54fb2b9c3fe5976396a21614ef0d926" integrity sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ== -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - arrify@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" @@ -3038,13 +3033,6 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - dotenv-expand@10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" @@ -3458,7 +3446,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.2.9: +fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -3934,18 +3922,6 @@ globals@^14.0.0: resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - google-auth-library@^9.3.0, google-auth-library@^9.6.3: version "9.10.0" resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-9.10.0.tgz#c9fb940923f7ff2569d61982ee1748578c0bbfd4" @@ -5276,7 +5252,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0, merge2@^1.4.1: +merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -7144,14 +7120,14 @@ typeorm@^0.3.20: uuid "^9.0.0" yargs "^17.6.2" -typescript-eslint@^7.17.0: - version "7.17.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-7.17.0.tgz#cc5eddafd38b3c1fe8a52826469d5c78700b7aa7" - integrity sha512-spQxsQvPguduCUfyUvLItvKqK3l8KJ/kqs5Pb/URtzQ5AC53Z6us32St37rpmlt2uESG23lOFpV4UErrmy4dZQ== +typescript-eslint@^8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.5.0.tgz#041f6c302d0e9a8e116a33d60b0bb19f34036dd7" + integrity sha512-uD+XxEoSIvqtm4KE97etm32Tn5MfaZWgWfMMREStLxR6JzvHkc2Tkj7zhTEK5XmtpTmKHNnG8Sot6qDfhHtR1Q== dependencies: - "@typescript-eslint/eslint-plugin" "7.17.0" - "@typescript-eslint/parser" "7.17.0" - "@typescript-eslint/utils" "7.17.0" + "@typescript-eslint/eslint-plugin" "8.5.0" + "@typescript-eslint/parser" "8.5.0" + "@typescript-eslint/utils" "8.5.0" typescript@5.3.3: version "5.3.3" From 027ffcd7b7a4ef3777ecc707b45df252b4817111 Mon Sep 17 00:00:00 2001 From: Kylee Fields <43586156+kyleecodes@users.noreply.github.com> Date: Tue, 17 Sep 2024 15:47:03 -0400 Subject: [PATCH 21/42] Docs: Update OSS community directions and env vars (#644) --- .github/pull_request_template.md | 21 +-- CONTRIBUTING.md | 125 ++++++----------- README.md | 231 ++++++++++++++++--------------- docker-compose.yml | 2 +- 4 files changed, 172 insertions(+), 207 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index a34818a8..dfbd68db 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,21 +1,22 @@ -### Issue link / number: +### Resolves #enter-issue-number -### What changes did you make? +### What changes did you make and why did you make them? -### Why did you make the changes? +### Did you run tests? Share screenshot of results: -### Did you run tests? +### How did you find us? (GitHub, Google search, social media, etc.): -