From 25a6796e636bc30de99001bd16a2a1084b608b6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20S=C3=B3jko?= Date: Fri, 25 Nov 2022 07:13:55 +0100 Subject: [PATCH] fix(auth): tmp test email campaign black friday 2022 reminder on team only --- packages/auth/bin/email.ts | 2 +- packages/auth/jest.config.js | 2 +- .../auth/src/Domain/User/UserRepositoryInterface.ts | 1 + packages/auth/src/Infra/MySQL/MySQLUserRepository.ts | 11 +++++++++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/auth/bin/email.ts b/packages/auth/bin/email.ts index e4fb1fcb3..b4429408f 100644 --- a/packages/auth/bin/email.ts +++ b/packages/auth/bin/email.ts @@ -32,7 +32,7 @@ const sendEmailCampaign = async ( domainEventPublisher: DomainEventPublisherInterface, logger: Logger, ): Promise => { - const stream = await userRepository.streamAll() + const stream = await userRepository.streamTeam('karol+pricing3@standardnotes.com') return new Promise((resolve, reject) => { stream diff --git a/packages/auth/jest.config.js b/packages/auth/jest.config.js index 4fb772453..36210d658 100644 --- a/packages/auth/jest.config.js +++ b/packages/auth/jest.config.js @@ -7,6 +7,6 @@ module.exports = { transform: { ...tsjPreset.transform, }, - coveragePathIgnorePatterns: ['/Bootstrap/', '/InversifyExpressUtils/', 'HealthCheckController'], + coveragePathIgnorePatterns: ['/Bootstrap/', '/InversifyExpressUtils/', 'HealthCheckController', '/Infra/'], setupFilesAfterEnv: ['./test-setup.ts'], } diff --git a/packages/auth/src/Domain/User/UserRepositoryInterface.ts b/packages/auth/src/Domain/User/UserRepositoryInterface.ts index 91a4d3e92..73624cbde 100644 --- a/packages/auth/src/Domain/User/UserRepositoryInterface.ts +++ b/packages/auth/src/Domain/User/UserRepositoryInterface.ts @@ -3,6 +3,7 @@ import { User } from './User' export interface UserRepositoryInterface { streamAll(): Promise + streamTeam(memberEmail?: string): Promise findOneByUuid(uuid: string): Promise findOneByEmail(email: string): Promise save(user: User): Promise diff --git a/packages/auth/src/Infra/MySQL/MySQLUserRepository.ts b/packages/auth/src/Infra/MySQL/MySQLUserRepository.ts index 9f5e5e515..7c3f198a2 100644 --- a/packages/auth/src/Infra/MySQL/MySQLUserRepository.ts +++ b/packages/auth/src/Infra/MySQL/MySQLUserRepository.ts @@ -25,6 +25,17 @@ export class MySQLUserRepository implements UserRepositoryInterface { return this.ormRepository.createQueryBuilder('user').stream() } + async streamTeam(memberEmail?: string): Promise { + const queryBuilder = this.ormRepository.createQueryBuilder() + if (memberEmail !== undefined) { + queryBuilder.where('email = :email', { email: memberEmail }) + } else { + queryBuilder.where('email LIKE :email', { email: '%@standardnotes.com' }) + } + + return queryBuilder.stream() + } + async findOneByUuid(uuid: string): Promise { return this.ormRepository .createQueryBuilder('user')