fix: SendEmail workflow ConnectedAccount query (#19484)
This commit is contained in:
+32
@@ -0,0 +1,32 @@
|
||||
import { Field, ObjectType, OmitType } from '@nestjs/graphql';
|
||||
|
||||
import { IsOptional } from 'class-validator';
|
||||
|
||||
import { ConnectionParametersDTO } from 'src/engine/core-modules/imap-smtp-caldav-connection/dtos/imap-smtp-caldav-connection.dto';
|
||||
import { ConnectedAccountDTO } from 'src/engine/metadata-modules/connected-account/dtos/connected-account.dto';
|
||||
|
||||
@ObjectType('PublicConnectionParametersOutput')
|
||||
class PublicConnectionParametersDTO extends OmitType(ConnectionParametersDTO, [
|
||||
'password',
|
||||
] as const) {}
|
||||
|
||||
@ObjectType('PublicImapSmtpCaldavConnectionParameters')
|
||||
class PublicImapSmtpCaldavConnectionParametersDTO {
|
||||
@Field(() => PublicConnectionParametersDTO, { nullable: true })
|
||||
IMAP?: PublicConnectionParametersDTO;
|
||||
|
||||
@Field(() => PublicConnectionParametersDTO, { nullable: true })
|
||||
SMTP?: PublicConnectionParametersDTO;
|
||||
|
||||
@Field(() => PublicConnectionParametersDTO, { nullable: true })
|
||||
CALDAV?: PublicConnectionParametersDTO;
|
||||
}
|
||||
|
||||
@ObjectType('ConnectedAccountPublicDTO')
|
||||
export class ConnectedAccountPublicDTO extends OmitType(ConnectedAccountDTO, [
|
||||
'connectionParameters',
|
||||
] as const) {
|
||||
@IsOptional()
|
||||
@Field(() => PublicImapSmtpCaldavConnectionParametersDTO, { nullable: true })
|
||||
connectionParameters: PublicImapSmtpCaldavConnectionParametersDTO | null;
|
||||
}
|
||||
+13
@@ -13,6 +13,7 @@ import { SettingsPermissionGuard } from 'src/engine/guards/settings-permission.g
|
||||
import { WorkspaceAuthGuard } from 'src/engine/guards/workspace-auth.guard';
|
||||
import { ConnectedAccountMetadataService } from 'src/engine/metadata-modules/connected-account/connected-account-metadata.service';
|
||||
import { ConnectedAccountDTO } from 'src/engine/metadata-modules/connected-account/dtos/connected-account.dto';
|
||||
import { ConnectedAccountPublicDTO } from 'src/engine/metadata-modules/connected-account/dtos/connected-account-public.dto';
|
||||
import { ConnectedAccountGraphqlApiExceptionInterceptor } from 'src/engine/metadata-modules/connected-account/interceptors/connected-account-graphql-api-exception.interceptor';
|
||||
|
||||
@UseGuards(WorkspaceAuthGuard)
|
||||
@@ -35,6 +36,18 @@ export class ConnectedAccountResolver {
|
||||
});
|
||||
}
|
||||
|
||||
@Query(() => ConnectedAccountPublicDTO, { nullable: true })
|
||||
@UseGuards(NoPermissionGuard)
|
||||
async connectedAccountById(
|
||||
@Args('id', { type: () => UUIDScalarType }) id: string,
|
||||
@AuthWorkspace() workspace: WorkspaceEntity,
|
||||
): Promise<ConnectedAccountPublicDTO | null> {
|
||||
return this.connectedAccountMetadataService.findById({
|
||||
id,
|
||||
workspaceId: workspace.id,
|
||||
});
|
||||
}
|
||||
|
||||
@Query(() => [ConnectedAccountDTO])
|
||||
@UseGuards(SettingsPermissionGuard(PermissionFlagType.CONNECTED_ACCOUNTS))
|
||||
async connectedAccounts(
|
||||
|
||||
Reference in New Issue
Block a user