Skip to content

Commit

Permalink
Create fields for calendar and messaging settings v2 (#6049)
Browse files Browse the repository at this point in the history
Create fields for calendar and messaging settings v2
  • Loading branch information
bosiraphael authored Jun 27, 2024
1 parent 86fa6ec commit ac7d905
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ export const CALENDAR_CHANNEL_STANDARD_FIELD_IDS = {
handle: '20202020-1d08-420a-9aa7-22e0f298232d',
visibility: '20202020-1b07-4796-9f01-d626bab7ca4d',
isContactAutoCreationEnabled: '20202020-50fb-404b-ba28-369911a3793a',
contactAutoCreationPolicy: '20202020-b55d-447d-b4df-226319058775',
isSyncEnabled: '20202020-fe19-4818-8854-21f7b1b43395',
syncCursor: '20202020-bac2-4852-a5cb-7a7898992b70',
calendarChannelEventAssociations: '20202020-afb0-4a9f-979f-2d5087d71d09',
Expand Down Expand Up @@ -205,6 +206,9 @@ export const MESSAGE_CHANNEL_STANDARD_FIELD_IDS = {
connectedAccount: '20202020-49a2-44a4-b470-282c0440d15d',
type: '20202020-ae95-42d9-a3f1-797a2ea22122',
isContactAutoCreationEnabled: '20202020-fabd-4f14-b7c6-3310f6d132c6',
contactAutoCreationPolicy: '20202020-fc0e-4ba6-b259-a66ca89cfa38',
excludeNonProfessionalEmails: '20202020-1df5-445d-b4f3-2413ad178431',
excludeGroupEmails: '20202020-45a0-4be4-9164-5820a6a109fb',
messageChannelMessageAssociations: '20202020-49b8-4766-88fd-75f1e21b3d5f',
isSyncEnabled: '20202020-d9a6-48e9-990b-b97fdf22e8dd',
syncCursor: '20202020-79d1-41cf-b738-bcf5ed61e256',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ export enum CalendarChannelSyncStage {
FAILED = 'FAILED',
}

export enum CalendarChannelContactAutoCreationPolicy {
AS_PARTICIPANT_AND_ORGANIZER = 'AS_PARTICIPANT_AND_ORGANIZER',
AS_PARTICIPANT = 'AS_PARTICIPANT',
AS_ORGANIZER = 'AS_ORGANIZER',
NONE = 'NONE',
}

@WorkspaceEntity({
standardId: STANDARD_OBJECT_IDS.calendarChannel,
namePlural: 'calendarChannels',
Expand Down Expand Up @@ -186,6 +193,44 @@ export class CalendarChannelWorkspaceEntity extends BaseWorkspaceEntity {
})
isContactAutoCreationEnabled: boolean;

@WorkspaceField({
standardId: CALENDAR_CHANNEL_STANDARD_FIELD_IDS.contactAutoCreationPolicy,
type: FieldMetadataType.SELECT,
label: 'Contact auto creation policy',
description:
'Automatically create records for people you participated with in an event.',
icon: 'IconUserCircle',
options: [
{
value:
CalendarChannelContactAutoCreationPolicy.AS_PARTICIPANT_AND_ORGANIZER,
label: 'As Participant and Organizer',
color: 'green',
position: 0,
},
{
value: CalendarChannelContactAutoCreationPolicy.AS_PARTICIPANT,
label: 'As Participant',
color: 'orange',
position: 1,
},
{
value: CalendarChannelContactAutoCreationPolicy.AS_ORGANIZER,
label: 'As Organizer',
color: 'blue',
position: 2,
},
{
value: CalendarChannelContactAutoCreationPolicy.NONE,
label: 'None',
color: 'red',
position: 3,
},
],
defaultValue: `'${CalendarChannelContactAutoCreationPolicy.AS_PARTICIPANT_AND_ORGANIZER}'`,
})
contactAutoCreationPolicy: CalendarChannelContactAutoCreationPolicy;

@WorkspaceField({
standardId: CALENDAR_CHANNEL_STANDARD_FIELD_IDS.isSyncEnabled,
type: FieldMetadataType.BOOLEAN,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@ export enum MessageChannelType {
SMS = 'sms',
}

export enum MessageChannelContactAutoCreationPolicy {
SENT_AND_RECEIVED = 'SENT_AND_RECEIVED',
SENT = 'SENT',
NONE = 'NONE',
}

@WorkspaceEntity({
standardId: STANDARD_OBJECT_IDS.messageChannel,
namePlural: 'messageChannels',
Expand Down Expand Up @@ -126,6 +132,7 @@ export class MessageChannelWorkspaceEntity extends BaseWorkspaceEntity {
})
type: string;

// TODO: Deprecate this field and migrate data to contactAutoCreationFor
@WorkspaceField({
standardId: MESSAGE_CHANNEL_STANDARD_FIELD_IDS.isContactAutoCreationEnabled,
type: FieldMetadataType.BOOLEAN,
Expand All @@ -136,6 +143,57 @@ export class MessageChannelWorkspaceEntity extends BaseWorkspaceEntity {
})
isContactAutoCreationEnabled: boolean;

@WorkspaceField({
standardId: MESSAGE_CHANNEL_STANDARD_FIELD_IDS.contactAutoCreationPolicy,
type: FieldMetadataType.SELECT,
label: 'Contact auto creation policy',
description:
'Automatically create People records when receiving or sending emails',
icon: 'IconUserCircle',
options: [
{
value: MessageChannelContactAutoCreationPolicy.SENT_AND_RECEIVED,
label: 'Sent and Received',
position: 0,
color: 'green',
},
{
value: MessageChannelContactAutoCreationPolicy.SENT,
label: 'Sent',
position: 1,
color: 'blue',
},
{
value: MessageChannelContactAutoCreationPolicy.NONE,
label: 'None',
position: 2,
color: 'red',
},
],
defaultValue: `'${MessageChannelContactAutoCreationPolicy.SENT}'`,
})
contactAutoCreationPolicy: MessageChannelContactAutoCreationPolicy;

@WorkspaceField({
standardId: MESSAGE_CHANNEL_STANDARD_FIELD_IDS.excludeNonProfessionalEmails,
type: FieldMetadataType.BOOLEAN,
label: 'Exclude non professional emails',
description: 'Exclude non professional emails',
icon: 'IconBriefcase',
defaultValue: true,
})
excludeNonProfessionalEmails: boolean;

@WorkspaceField({
standardId: MESSAGE_CHANNEL_STANDARD_FIELD_IDS.excludeGroupEmails,
type: FieldMetadataType.BOOLEAN,
label: 'Exclude group emails',
description: 'Exclude group emails',
icon: 'IconUsersGroup',
defaultValue: true,
})
excludeGroupEmails: boolean;

@WorkspaceField({
standardId: MESSAGE_CHANNEL_STANDARD_FIELD_IDS.isSyncEnabled,
type: FieldMetadataType.BOOLEAN,
Expand Down

0 comments on commit ac7d905

Please sign in to comment.