Skip to content

Commit 7c2cc7e

Browse files
committed
Add specific exception when connected account not found
1 parent f053d52 commit 7c2cc7e

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

packages/twenty-server/src/modules/mail-sender/exceptions/mail-sender.exception.ts

+1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ export class MailSenderException extends CustomException {
99

1010
export enum MailSenderExceptionCode {
1111
PROVIDER_NOT_SUPPORTED = 'PROVIDER_NOT_SUPPORTED',
12+
CONNECTED_ACCOUNT_NOT_FOUND = 'CONNECTED_ACCOUNT_NOT_FOUND',
1213
}

packages/twenty-server/src/modules/mail-sender/workflow-actions/send-email.workflow-action.ts

+10-4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
} from 'src/modules/mail-sender/exceptions/mail-sender.exception';
2222
import { GmailClientProvider } from 'src/modules/messaging/message-import-manager/drivers/gmail/providers/gmail-client.provider';
2323
import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.manager';
24+
import { isDefined } from 'src/utils/is-defined';
2425

2526
@Injectable()
2627
export class SendEmailWorkflowAction {
@@ -48,12 +49,17 @@ export class SendEmailWorkflowAction {
4849
workspaceId,
4950
'connectedAccount',
5051
);
51-
const connectedAccount = await connectedAccountRepository.findOneOrFail({
52-
where: {
53-
id: step.settings.connectedAccountId,
54-
},
52+
const connectedAccount = await connectedAccountRepository.findOneBy({
53+
id: step.settings.connectedAccountId,
5554
});
5655

56+
if (!isDefined(connectedAccount)) {
57+
throw new MailSenderException(
58+
`Connected Account '${step.settings.connectedAccountId}' not found`,
59+
MailSenderExceptionCode.CONNECTED_ACCOUNT_NOT_FOUND,
60+
);
61+
}
62+
5763
switch (connectedAccount.provider) {
5864
case 'google':
5965
return await this.gmailClientProvider.getGmailClient(connectedAccount);

0 commit comments

Comments
 (0)