5622 add a syncemail onboarding step (#5689)
- add sync email onboarding step - refactor calendar and email visibility enums - add a new table `keyValuePair` in `core` schema - add a new resolved boolean field `skipSyncEmail` in current user https://github.com/twentyhq/twenty/assets/29927851/de791475-5bfe-47f9-8e90-76c349fba56f
This commit is contained in:
@ -62,6 +62,41 @@ export class ConnectedAccountRepository {
|
||||
return connectedAccounts;
|
||||
}
|
||||
|
||||
public async getAllByUserId(
|
||||
userId: string,
|
||||
workspaceId: string,
|
||||
transactionManager?: EntityManager,
|
||||
): Promise<ObjectRecord<ConnectedAccountWorkspaceEntity>[] | undefined> {
|
||||
const schemaExists =
|
||||
await this.workspaceDataSourceService.checkSchemaExists(workspaceId);
|
||||
|
||||
if (!schemaExists) {
|
||||
return;
|
||||
}
|
||||
|
||||
const dataSourceSchema =
|
||||
this.workspaceDataSourceService.getSchemaName(workspaceId);
|
||||
|
||||
const workspaceMember = (
|
||||
await this.workspaceDataSourceService.executeRawQuery(
|
||||
`SELECT * FROM ${dataSourceSchema}."workspaceMember" WHERE "userId" = $1`,
|
||||
[userId],
|
||||
workspaceId,
|
||||
transactionManager,
|
||||
)
|
||||
)?.[0];
|
||||
|
||||
if (!workspaceMember) {
|
||||
return;
|
||||
}
|
||||
|
||||
return await this.getAllByWorkspaceMemberId(
|
||||
workspaceMember.id,
|
||||
workspaceId,
|
||||
transactionManager,
|
||||
);
|
||||
}
|
||||
|
||||
public async getAllByHandleAndWorkspaceMemberId(
|
||||
handle: string,
|
||||
workspaceMemberId: string,
|
||||
|
||||
@ -41,9 +41,9 @@ export enum MessageChannelSyncStage {
|
||||
}
|
||||
|
||||
export enum MessageChannelVisibility {
|
||||
METADATA = 'metadata',
|
||||
SUBJECT = 'subject',
|
||||
SHARE_EVERYTHING = 'share_everything',
|
||||
METADATA = 'METADATA',
|
||||
SUBJECT = 'SUBJECT',
|
||||
SHARE_EVERYTHING = 'SHARE_EVERYTHING',
|
||||
}
|
||||
|
||||
export enum MessageChannelType {
|
||||
|
||||
@ -28,6 +28,20 @@ export class WorkspaceMemberRepository {
|
||||
return result;
|
||||
}
|
||||
|
||||
public async find(workspaceMemberId: string, workspaceId: string) {
|
||||
const dataSourceSchema =
|
||||
this.workspaceDataSourceService.getSchemaName(workspaceId);
|
||||
|
||||
const workspaceMembers =
|
||||
await this.workspaceDataSourceService.executeRawQuery(
|
||||
`SELECT * FROM ${dataSourceSchema}."workspaceMember" WHERE "id" = $1`,
|
||||
[workspaceMemberId],
|
||||
workspaceId,
|
||||
);
|
||||
|
||||
return workspaceMembers?.[0];
|
||||
}
|
||||
|
||||
public async getByIdOrFail(
|
||||
userId: string,
|
||||
workspaceId: string,
|
||||
|
||||
Reference in New Issue
Block a user