diff --git a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRowDropdownMenu.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRowDropdownMenu.tsx index 883d37cb8..8e5afcec6 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRowDropdownMenu.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRowDropdownMenu.tsx @@ -17,7 +17,6 @@ import { DropdownMenu } from '@/ui/layout/dropdown/components/DropdownMenu'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem'; -import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; type SettingsAccountsRowDropdownMenuProps = { account: ConnectedAccount; @@ -39,8 +38,6 @@ export const SettingsAccountsRowDropdownMenu = ({ const { triggerGoogleApisOAuth } = useTriggerGoogleApisOAuth(); - const isCalendarEnabled = useIsFeatureEnabled('IS_CALENDAR_ENABLED'); - return ( - {isCalendarEnabled && ( - { - navigate( - `/settings/accounts/calendars/${account.calendarChannels[0].id}`, - ); - closeDropdown(); - }} - /> - )} + { + navigate( + `/settings/accounts/calendars/${account.calendarChannels[0].id}`, + ); + closeDropdown(); + }} + /> {account.authFailedAt && ( { const navigate = useNavigate(); - const isCalendarEnabled = useIsFeatureEnabled('IS_CALENDAR_ENABLED'); return (
@@ -38,7 +36,6 @@ export const SettingsAccountsSettingsSection = () => { navigate(getSettingsPagePath(SettingsPath.AccountsCalendars)) } diff --git a/packages/twenty-front/src/modules/settings/components/SettingsNavigationDrawerItems.tsx b/packages/twenty-front/src/modules/settings/components/SettingsNavigationDrawerItems.tsx index 931b4bd01..93dc31980 100644 --- a/packages/twenty-front/src/modules/settings/components/SettingsNavigationDrawerItems.tsx +++ b/packages/twenty-front/src/modules/settings/components/SettingsNavigationDrawerItems.tsx @@ -25,7 +25,6 @@ import { NavigationDrawerItem } from '@/ui/navigation/navigation-drawer/componen import { NavigationDrawerItemGroup } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerItemGroup'; import { NavigationDrawerSection } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerSection'; import { NavigationDrawerSectionTitle } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerSectionTitle'; -import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; export const SettingsNavigationDrawerItems = () => { const navigate = useNavigate(); @@ -36,7 +35,6 @@ export const SettingsNavigationDrawerItems = () => { navigate(AppPath.SignInUp); }, [signOut, navigate]); - const isCalendarEnabled = useIsFeatureEnabled('IS_CALENDAR_ENABLED'); const billing = useRecoilValue(billingState); return ( @@ -73,7 +71,6 @@ export const SettingsNavigationDrawerItems = () => { path={SettingsPath.AccountsCalendars} Icon={IconCalendarEvent} matchSubPages - soon={!isCalendarEnabled} /> diff --git a/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageRightContainer.tsx b/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageRightContainer.tsx index 4f6cddbef..32532a371 100644 --- a/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageRightContainer.tsx +++ b/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageRightContainer.tsx @@ -66,11 +66,10 @@ export const ShowPageRightContainer = ({ const activeTabId = useRecoilValue(activeTabIdState); const shouldDisplayCalendarTab = - useIsFeatureEnabled('IS_CALENDAR_ENABLED') && - (targetableObject.targetObjectNameSingular === + targetableObject.targetObjectNameSingular === CoreObjectNameSingular.Company || - targetableObject.targetObjectNameSingular === - CoreObjectNameSingular.Person); + targetableObject.targetObjectNameSingular === CoreObjectNameSingular.Person; + const shouldDisplayLogTab = useIsFeatureEnabled('IS_EVENT_OBJECT_ENABLED'); const shouldDisplayEmailsTab = diff --git a/packages/twenty-front/src/modules/workspace/types/FeatureFlagKey.ts b/packages/twenty-front/src/modules/workspace/types/FeatureFlagKey.ts index 1b1021c1c..15671bfa8 100644 --- a/packages/twenty-front/src/modules/workspace/types/FeatureFlagKey.ts +++ b/packages/twenty-front/src/modules/workspace/types/FeatureFlagKey.ts @@ -1,6 +1,5 @@ export type FeatureFlagKey = | 'IS_BLOCKLIST_ENABLED' - | 'IS_CALENDAR_ENABLED' | 'IS_QUICK_ACTIONS_ENABLED' | 'IS_EVENT_OBJECT_ENABLED' | 'IS_AIRTABLE_INTEGRATION_ENABLED' diff --git a/packages/twenty-server/src/database/typeorm-seeds/core/feature-flags.ts b/packages/twenty-server/src/database/typeorm-seeds/core/feature-flags.ts index 58dd9f6ee..d8897c8c7 100644 --- a/packages/twenty-server/src/database/typeorm-seeds/core/feature-flags.ts +++ b/packages/twenty-server/src/database/typeorm-seeds/core/feature-flags.ts @@ -20,11 +20,6 @@ export const seedFeatureFlags = async ( workspaceId: workspaceId, value: true, }, - { - key: FeatureFlagKeys.IsCalendarEnabled, - workspaceId: workspaceId, - value: true, - }, { key: FeatureFlagKeys.IsAirtableIntegrationEnabled, workspaceId: workspaceId, diff --git a/packages/twenty-server/src/engine/core-modules/auth/guards/google-apis-provider-enabled.guard.ts b/packages/twenty-server/src/engine/core-modules/auth/guards/google-apis-provider-enabled.guard.ts index 719978284..bbd094be4 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/guards/google-apis-provider-enabled.guard.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/guards/google-apis-provider-enabled.guard.ts @@ -1,9 +1,4 @@ -import { - Injectable, - CanActivate, - NotFoundException, - ExecutionContext, -} from '@nestjs/common'; +import { Injectable, CanActivate, NotFoundException } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; @@ -13,12 +8,8 @@ import { GoogleAPIScopeConfig, GoogleAPIsStrategy, } from 'src/engine/core-modules/auth/strategies/google-apis.auth.strategy'; -import { - FeatureFlagEntity, - FeatureFlagKeys, -} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { getRequest } from 'src/utils/extract-request'; @Injectable() export class GoogleAPIsProviderEnabledGuard implements CanActivate { @@ -29,7 +20,7 @@ export class GoogleAPIsProviderEnabledGuard implements CanActivate { private readonly featureFlagRepository: Repository, ) {} - async canActivate(context: ExecutionContext): Promise { + async canActivate(): Promise { if ( !this.environmentService.get('MESSAGING_PROVIDER_GMAIL_ENABLED') && !this.environmentService.get('CALENDAR_PROVIDER_GOOGLE_ENABLED') @@ -37,25 +28,12 @@ export class GoogleAPIsProviderEnabledGuard implements CanActivate { throw new NotFoundException('Google apis auth is not enabled'); } - const transientToken = getRequest(context)?.query?.transientToken; - const scopeConfig: GoogleAPIScopeConfig = { - isCalendarEnabled: false, + isCalendarEnabled: !!this.environmentService.get( + 'MESSAGING_PROVIDER_GMAIL_ENABLED', + ), }; - if (transientToken && typeof transientToken === 'string') { - const { workspaceId } = - await this.tokenService.verifyTransientToken(transientToken); - - const isCalendarEnabledFlag = await this.featureFlagRepository.findOneBy({ - workspaceId, - key: FeatureFlagKeys.IsCalendarEnabled, - value: true, - }); - - scopeConfig.isCalendarEnabled = !!isCalendarEnabledFlag?.value; - } - new GoogleAPIsStrategy(this.environmentService, scopeConfig); return true; diff --git a/packages/twenty-server/src/engine/core-modules/auth/services/google-apis.service.ts b/packages/twenty-server/src/engine/core-modules/auth/services/google-apis.service.ts index 49bcb292a..c1f37c75f 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/services/google-apis.service.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/google-apis.service.ts @@ -5,10 +5,7 @@ import { Repository, EntityManager } from 'typeorm'; import { v4 } from 'uuid'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { - FeatureFlagEntity, - FeatureFlagKeys, -} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; @@ -76,15 +73,9 @@ export class GoogleAPIsService { const workspaceDataSource = await this.typeORMService.connectToDataSource(dataSourceMetadata); - const isCalendarEnabledFlag = await this.featureFlagRepository.findOneBy({ - workspaceId, - key: FeatureFlagKeys.IsCalendarEnabled, - value: true, - }); - - const isCalendarEnabled = - this.environmentService.get('CALENDAR_PROVIDER_GOOGLE_ENABLED') && - !!isCalendarEnabledFlag?.value; + const isCalendarEnabled = this.environmentService.get( + 'CALENDAR_PROVIDER_GOOGLE_ENABLED', + ); const connectedAccounts = await this.connectedAccountRepository.getAllByHandleAndWorkspaceMemberId( diff --git a/packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.entity.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.entity.ts index fc497266f..bd1991ea0 100644 --- a/packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.entity.ts @@ -17,7 +17,6 @@ import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/ export enum FeatureFlagKeys { IsBlocklistEnabled = 'IS_BLOCKLIST_ENABLED', - IsCalendarEnabled = 'IS_CALENDAR_ENABLED', IsEventObjectEnabled = 'IS_EVENT_OBJECT_ENABLED', IsAirtableIntegrationEnabled = 'IS_AIRTABLE_INTEGRATION_ENABLED', IsPostgreSQLIntegrationEnabled = 'IS_POSTGRESQL_INTEGRATION_ENABLED', diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/add-standard-id.command.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/add-standard-id.command.ts index 28e0c87c1..5959f5791 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/add-standard-id.command.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/add-standard-id.command.ts @@ -54,7 +54,6 @@ export class AddStandardIdCommand extends CommandRunner { }, { IS_BLOCKLIST_ENABLED: true, - IS_CALENDAR_ENABLED: true, IS_EVENT_OBJECT_ENABLED: true, IS_AIRTABLE_INTEGRATION_ENABLED: true, IS_POSTGRESQL_INTEGRATION_ENABLED: true, @@ -69,7 +68,6 @@ export class AddStandardIdCommand extends CommandRunner { }, { IS_BLOCKLIST_ENABLED: true, - IS_CALENDAR_ENABLED: true, IS_EVENT_OBJECT_ENABLED: true, IS_AIRTABLE_INTEGRATION_ENABLED: true, IS_POSTGRESQL_INTEGRATION_ENABLED: true, diff --git a/packages/twenty-server/src/modules/calendar-messaging-participant/jobs/match-participant.job.ts b/packages/twenty-server/src/modules/calendar-messaging-participant/jobs/match-participant.job.ts index 726a47d7c..1f5f5f233 100644 --- a/packages/twenty-server/src/modules/calendar-messaging-participant/jobs/match-participant.job.ts +++ b/packages/twenty-server/src/modules/calendar-messaging-participant/jobs/match-participant.job.ts @@ -5,10 +5,7 @@ import { Repository } from 'typeorm'; import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { - FeatureFlagEntity, - FeatureFlagKeys, -} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { CalendarEventParticipantService } from 'src/modules/calendar/services/calendar-event-participant/calendar-event-participant.service'; import { MessageParticipantService } from 'src/modules/messaging/services/message-participant/message-participant.service'; @@ -40,16 +37,6 @@ export class MatchParticipantJob workspaceMemberId, ); - const isCalendarEnabled = await this.featureFlagRepository.findOneBy({ - workspaceId, - key: FeatureFlagKeys.IsCalendarEnabled, - value: true, - }); - - if (!isCalendarEnabled || !isCalendarEnabled.value) { - return; - } - await this.calendarEventParticipantService.matchCalendarEventParticipants( workspaceId, email, diff --git a/packages/twenty-server/src/modules/calendar-messaging-participant/jobs/unmatch-participant.job.ts b/packages/twenty-server/src/modules/calendar-messaging-participant/jobs/unmatch-participant.job.ts index 539d6c38b..a96c024a6 100644 --- a/packages/twenty-server/src/modules/calendar-messaging-participant/jobs/unmatch-participant.job.ts +++ b/packages/twenty-server/src/modules/calendar-messaging-participant/jobs/unmatch-participant.job.ts @@ -5,10 +5,7 @@ import { Repository } from 'typeorm'; import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { - FeatureFlagEntity, - FeatureFlagKeys, -} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { CalendarEventParticipantService } from 'src/modules/calendar/services/calendar-event-participant/calendar-event-participant.service'; import { MessageParticipantService } from 'src/modules/messaging/services/message-participant/message-participant.service'; @@ -40,16 +37,6 @@ export class UnmatchParticipantJob workspaceMemberId, ); - const isCalendarEnabled = await this.featureFlagRepository.findOneBy({ - workspaceId, - key: FeatureFlagKeys.IsCalendarEnabled, - value: true, - }); - - if (!isCalendarEnabled || !isCalendarEnabled.value) { - return; - } - await this.calendarEventParticipantService.unmatchCalendarEventParticipants( workspaceId, email, diff --git a/packages/twenty-server/src/modules/calendar/crons/jobs/google-calendar-sync.cron.job.ts b/packages/twenty-server/src/modules/calendar/crons/jobs/google-calendar-sync.cron.job.ts index 90d74b227..7a5e11cef 100644 --- a/packages/twenty-server/src/modules/calendar/crons/jobs/google-calendar-sync.cron.job.ts +++ b/packages/twenty-server/src/modules/calendar/crons/jobs/google-calendar-sync.cron.job.ts @@ -5,10 +5,7 @@ import { Repository, In } from 'typeorm'; import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { - FeatureFlagEntity, - FeatureFlagKeys, -} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; import { WorkspaceGoogleCalendarSyncService } from 'src/modules/calendar/services/workspace-google-calendar-sync/workspace-google-calendar-sync.service'; @@ -39,20 +36,9 @@ export class GoogleCalendarSyncCronJob implements MessageQueueJob { }) ).map((workspace) => workspace.id); - const workspacesWithFeatureFlagActive = - await this.featureFlagRepository.find({ - where: { - workspaceId: In(workspaceIds), - key: FeatureFlagKeys.IsCalendarEnabled, - value: true, - }, - }); - const dataSources = await this.dataSourceRepository.find({ where: { - workspaceId: In( - workspacesWithFeatureFlagActive.map((w) => w.workspaceId), - ), + workspaceId: In(workspaceIds), }, }); diff --git a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts index 05e3f87f6..93637b1d2 100644 --- a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts @@ -1,11 +1,9 @@ import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; -import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { CALENDAR_CHANNEL_EVENT_ASSOCIATION_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; -import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/gate.decorator'; import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; @@ -22,9 +20,6 @@ import { IsNotAuditLogged } from 'src/engine/workspace-manager/workspace-sync-me }) @IsSystem() @IsNotAuditLogged() -@Gate({ - featureFlag: FeatureFlagKeys.IsCalendarEnabled, -}) export class CalendarChannelEventAssociationObjectMetadata extends BaseObjectMetadata { @FieldMetadata({ standardId: diff --git a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts index 927d973b9..637e10c70 100644 --- a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts @@ -4,12 +4,10 @@ import { RelationMetadataType, RelationOnDeleteAction, } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; -import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { CALENDAR_CHANNEL_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; -import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/gate.decorator'; import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; @@ -33,9 +31,6 @@ export enum CalendarChannelVisibility { }) @IsSystem() @IsNotAuditLogged() -@Gate({ - featureFlag: FeatureFlagKeys.IsCalendarEnabled, -}) export class CalendarChannelObjectMetadata extends BaseObjectMetadata { @FieldMetadata({ standardId: CALENDAR_CHANNEL_STANDARD_FIELD_IDS.connectedAccount, diff --git a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-participant.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-participant.object-metadata.ts index d5d9b895c..f4cbb06bd 100644 --- a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-participant.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-participant.object-metadata.ts @@ -4,7 +4,6 @@ import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/fi import { CALENDAR_EVENT_PARTICIPANT_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; -import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/gate.decorator'; import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-nullable.decorator'; import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; @@ -31,9 +30,6 @@ export enum CalendarEventParticipantResponseStatus { }) @IsSystem() @IsNotAuditLogged() -@Gate({ - featureFlag: 'IS_CALENDAR_ENABLED', -}) export class CalendarEventParticipantObjectMetadata extends BaseObjectMetadata { @FieldMetadata({ standardId: CALENDAR_EVENT_PARTICIPANT_STANDARD_FIELD_IDS.calendarEvent, diff --git a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts index e1647beb3..a5d71e1dc 100644 --- a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts @@ -1,14 +1,12 @@ import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; -import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RelationMetadataType, RelationOnDeleteAction, } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; -import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/gate.decorator'; import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; @@ -30,9 +28,6 @@ import { IsNotAuditLogged } from 'src/engine/workspace-manager/workspace-sync-me }) @IsSystem() @IsNotAuditLogged() -@Gate({ - featureFlag: FeatureFlagKeys.IsCalendarEnabled, -}) export class CalendarEventObjectMetadata extends BaseObjectMetadata { @FieldMetadata({ standardId: CALENDAR_EVENT_STANDARD_FIELD_IDS.title, @@ -170,9 +165,6 @@ export class CalendarEventObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.CASCADE, inverseSideFieldKey: 'calendarEvent', }) - @Gate({ - featureFlag: 'IS_CALENDAR_ENABLED', - }) calendarChannelEventAssociations: Relation< CalendarChannelEventAssociationObjectMetadata[] >; diff --git a/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/services/create-company-and-contact.service.ts b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/services/create-company-and-contact.service.ts index 15ea7d6ad..af61502f0 100644 --- a/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/services/create-company-and-contact.service.ts +++ b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/services/create-company-and-contact.service.ts @@ -19,10 +19,7 @@ import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/work import { MessageParticipantService } from 'src/modules/messaging/services/message-participant/message-participant.service'; import { CalendarEventParticipantService } from 'src/modules/calendar/services/calendar-event-participant/calendar-event-participant.service'; import { filterOutContactsFromCompanyOrWorkspace } from 'src/modules/connected-account/auto-companies-and-contacts-creation/utils/filter-out-contacts-from-company-or-workspace.util'; -import { - FeatureFlagEntity, - FeatureFlagKeys, -} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; @Injectable() export class CreateCompanyAndContactService { @@ -154,16 +151,6 @@ export class CreateCompanyAndContactService { transactionManager, ); - const isCalendarEnabled = await this.featureFlagRepository.findOneBy({ - workspaceId, - key: FeatureFlagKeys.IsCalendarEnabled, - value: true, - }); - - if (!isCalendarEnabled || !isCalendarEnabled.value) { - return; - } - await this.calendarEventParticipantService.updateCalendarEventParticipantsAfterPeopleCreation( workspaceId, transactionManager, diff --git a/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts b/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts index 3336b5f09..5f7b8d8e9 100644 --- a/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts +++ b/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts @@ -1,6 +1,5 @@ import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; -import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RelationMetadataType, @@ -9,7 +8,6 @@ import { import { CONNECTED_ACCOUNT_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; -import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/gate.decorator'; import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-nullable.decorator'; import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; @@ -126,8 +124,5 @@ export class ConnectedAccountObjectMetadata extends BaseObjectMetadata { inverseSideTarget: () => CalendarChannelObjectMetadata, onDelete: RelationOnDeleteAction.CASCADE, }) - @Gate({ - featureFlag: FeatureFlagKeys.IsCalendarEnabled, - }) calendarChannels: Relation; } diff --git a/packages/twenty-server/src/modules/messaging/listeners/messaging-connected-account.listener.ts b/packages/twenty-server/src/modules/messaging/listeners/messaging-connected-account.listener.ts index 7b53248a1..ef149359c 100644 --- a/packages/twenty-server/src/modules/messaging/listeners/messaging-connected-account.listener.ts +++ b/packages/twenty-server/src/modules/messaging/listeners/messaging-connected-account.listener.ts @@ -16,10 +16,7 @@ import { DeleteConnectedAccountAssociatedMessagingDataJob, } from 'src/modules/messaging/jobs/delete-connected-account-associated-messaging-data.job'; import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; -import { - FeatureFlagEntity, - FeatureFlagKeys, -} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; @Injectable() export class MessagingConnectedAccountListener { @@ -36,12 +33,6 @@ export class MessagingConnectedAccountListener { async handleDeletedEvent( payload: ObjectRecordDeleteEvent, ) { - const isCalendarEnabled = await this.featureFlagRepository.findOneBy({ - workspaceId: payload.workspaceId, - key: FeatureFlagKeys.IsCalendarEnabled, - value: true, - }); - await this.messageQueueService.add( DeleteConnectedAccountAssociatedMessagingDataJob.name, { @@ -50,14 +41,12 @@ export class MessagingConnectedAccountListener { }, ); - if (isCalendarEnabled) { - await this.calendarQueueService.add( - DeleteConnectedAccountAssociatedCalendarDataJob.name, - { - workspaceId: payload.workspaceId, - connectedAccountId: payload.recordId, - }, - ); - } + await this.calendarQueueService.add( + DeleteConnectedAccountAssociatedCalendarDataJob.name, + { + workspaceId: payload.workspaceId, + connectedAccountId: payload.recordId, + }, + ); } } diff --git a/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts b/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts index c5f18b539..f6333a8c3 100644 --- a/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts +++ b/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts @@ -10,7 +10,6 @@ import { import { PERSON_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; -import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/gate.decorator'; import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-nullable.decorator'; import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; @@ -219,9 +218,6 @@ export class PersonObjectMetadata extends BaseObjectMetadata { inverseSideTarget: () => CalendarEventParticipantObjectMetadata, onDelete: RelationOnDeleteAction.SET_NULL, }) - @Gate({ - featureFlag: 'IS_CALENDAR_ENABLED', - }) @IsSystem() calendarEventParticipants: Relation; diff --git a/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts b/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts index 42696154c..b94b40a3e 100644 --- a/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts +++ b/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts @@ -9,7 +9,6 @@ import { import { WORKSPACE_MEMBER_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; -import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/gate.decorator'; import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; @@ -243,9 +242,6 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata { inverseSideFieldKey: 'workspaceMember', onDelete: RelationOnDeleteAction.SET_NULL, }) - @Gate({ - featureFlag: 'IS_CALENDAR_ENABLED', - }) calendarEventParticipants: Relation; @FieldMetadata({