Skip to content

Commit 5e2065f

Browse files
committed
Changes to email again
1 parent 3dc0d4d commit 5e2065f

3 files changed

Lines changed: 27 additions & 26 deletions

File tree

‎packages/db-service/src/modules/email/email.controller.ts‎

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,7 @@ export class EmailController implements EmailDbServiceController {
5656
environment: config.environment,
5757
sendgridKey: config.sendgridApiKey,
5858
senders: [],
59-
domains: (config.domains ?? []).map((d) => ({
60-
domain: d.domain.domain,
61-
subdomain: d.domain.subdomain,
62-
sendgridId: d.domain.sendgridId,
63-
projects: [],
64-
})),
59+
domains: [],
6560
};
6661
}
6762

‎packages/db-service/src/modules/email/email.service.ts‎

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -158,16 +158,9 @@ export class EmailService {
158158

159159
async getEmailServiceConfig(
160160
input: Prisma.EmailServiceConfigWhereUniqueInput,
161-
) {
161+
): Promise<EmailServiceConfig> {
162162
return this.prisma.emailServiceConfig.findUnique({
163163
where: input,
164-
include: {
165-
domains: {
166-
include: {
167-
domain: true,
168-
},
169-
},
170-
},
171164
});
172165
}
173166

‎packages/email-service/src/modules/email/email.service.ts‎

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ const { EMAIL_DB_SERVICE_NAME } = EmailProto;
1515
@Injectable()
1616
export class EmailService implements OnModuleInit {
1717
private emailService: EmailProto.EmailDbServiceClient;
18+
private testDomains: Map<
19+
string,
20+
EmailProto.AuthenticatedDomain[]
21+
> = new Map();
1822
constructor(@Inject(EMAIL_DB_SERVICE_NAME) private emailClient: ClientGrpc) {}
1923

2024
onModuleInit() {
@@ -71,13 +75,26 @@ export class EmailService implements OnModuleInit {
7175
const sendGridUrl = 'https://api.sendgrid.com/v3/whitelabel/domains';
7276

7377
if (process.env['NODE_ENV'] == 'test') {
74-
await lastValueFrom(this.emailService.createEmailDomain({
78+
const configKey = `${req.configId}:${req.configEnvironment}`;
79+
const domains = this.testDomains.get(configKey) ?? [];
80+
domains.push({
81+
id: 0,
7582
domain: req.domain,
76-
subdomain: req.subdomain,
77-
sendgridId: 0,
78-
configId: req.configId,
79-
configEnvironment: req.configEnvironment,
80-
}));
83+
subdomain: req.subdomain ?? undefined,
84+
valid: false,
85+
});
86+
this.testDomains.set(configKey, domains);
87+
88+
lastValueFrom(
89+
this.emailService.createEmailDomain({
90+
domain: req.domain,
91+
subdomain: req.subdomain,
92+
sendgridId: 0,
93+
configId: req.configId,
94+
configEnvironment: req.configEnvironment,
95+
}),
96+
).catch(() => {});
97+
8198
return {
8299
statusCode: 201,
83100
id: 0,
@@ -390,13 +407,9 @@ export class EmailService implements OnModuleInit {
390407
}
391408

392409
if (process.env['NODE_ENV'] == 'test') {
410+
const configKey = `${req.configId}:${req.configEnvironment}`;
393411
return {
394-
domains: (config.domains ?? []).map((d) => ({
395-
id: d.sendgridId,
396-
domain: d.domain,
397-
subdomain: d.subdomain ?? undefined,
398-
valid: false,
399-
})),
412+
domains: this.testDomains.get(configKey) ?? [],
400413
};
401414
}
402415

0 commit comments

Comments
 (0)