Bettertyping (#10725)

To get better at catching errors on providers
(It will ease also my coming PR to send microsoft messages using
workflow)
This commit is contained in:
Guillim
2025-03-07 14:11:56 +01:00
committed by GitHub
parent 4be75fb7da
commit 4bdcf77028
12 changed files with 48 additions and 28 deletions

View File

@ -1,5 +1,7 @@
import { Injectable } from '@nestjs/common';
import { ConnectedAccountProvider } from 'twenty-shared';
import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager';
import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity';
import { MessageChannelWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-channel.workspace-entity';
@ -24,9 +26,9 @@ export class MessagingCursorService {
);
switch (connectedAccount.provider) {
case 'google':
case ConnectedAccountProvider.GOOGLE:
return messageChannel.syncCursor;
case 'microsoft': {
case ConnectedAccountProvider.MICROSOFT: {
const folder = await folderRepository.findOne({
where: {
id: folderId,

View File

@ -1,5 +1,7 @@
import { Injectable } from '@nestjs/common';
import { ConnectedAccountProvider } from 'twenty-shared';
import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager';
import { MessageChannelWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-channel.workspace-entity';
import { MessageFolderWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-folder.workspace-entity';
@ -46,7 +48,7 @@ export class MessagingGetMessageListService {
messageChannel: MessageChannelWorkspaceEntity,
): Promise<GetFullMessageListForFoldersResponse[]> {
switch (messageChannel.connectedAccount.provider) {
case 'google':
case ConnectedAccountProvider.GOOGLE:
return [
{
...(await this.gmailGetMessageListService.getFullMessageList(
@ -55,7 +57,7 @@ export class MessagingGetMessageListService {
folderId: undefined,
},
];
case 'microsoft': {
case ConnectedAccountProvider.MICROSOFT: {
const folderRepository =
await this.twentyORMManager.getRepository<MessageFolderWorkspaceEntity>(
'messageFolder',
@ -84,7 +86,7 @@ export class MessagingGetMessageListService {
messageChannel: MessageChannelWorkspaceEntity,
): Promise<GetPartialMessageListForFoldersResponse[]> {
switch (messageChannel.connectedAccount.provider) {
case 'google':
case ConnectedAccountProvider.GOOGLE:
return [
{
...(await this.gmailGetMessageListService.getPartialMessageList(
@ -94,7 +96,7 @@ export class MessagingGetMessageListService {
folderId: undefined,
},
];
case 'microsoft':
case ConnectedAccountProvider.MICROSOFT:
return this.microsoftGetMessageListService.getPartialMessageListForFolders(
messageChannel.connectedAccount,
messageChannel,

View File

@ -1,5 +1,7 @@
import { Injectable } from '@nestjs/common';
import { ConnectedAccountProvider } from 'twenty-shared';
import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity';
import { GmailGetMessagesService } from 'src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-get-messages.service';
import { MicrosoftGetMessagesService } from 'src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service';
@ -32,13 +34,13 @@ export class MessagingGetMessagesService {
workspaceId: string,
): Promise<GetMessagesResponse> {
switch (connectedAccount.provider) {
case 'google':
case ConnectedAccountProvider.GOOGLE:
return this.gmailGetMessagesService.getMessages(
messageIds,
connectedAccount,
workspaceId,
);
case 'microsoft':
case ConnectedAccountProvider.MICROSOFT:
return this.microsoftGetMessagesService.getMessages(
messageIds,
connectedAccount,