Add call recording schema and meeting bot scaffold (#21584)

## Summary
- add 2.13 upgrade commands for call recording request status and
dropping CalendarEvent recordingPreference
- remove the recording preference from the core CalendarEvent standard
object
- add a scaffold-generated twenty-meeting-bot app with logo and the
CalendarEvent meetingBotPreference field

## Tests
- yarn install
- yarn lint
- yarn twenty dev:typecheck
- git diff --check


<!-- This is an auto-generated description by cubic. -->
<a
href="https://cubic.dev/pr/twentyhq/twenty/pull/21584?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>
<!-- End of auto-generated description by cubic. -->
This commit is contained in:
nitin
2026-06-15 19:03:12 +05:30
committed by GitHub
parent d1ba63d4a4
commit 8a866dba54
47 changed files with 5716 additions and 1502 deletions
@@ -37,7 +37,6 @@ const createMockCalendarEvent = (
updatedAt: '2024-03-20T09:00:00Z',
iCalUid: '',
conferenceSolution: '',
recordingPreference: 'AUTO',
calendarChannelEventAssociations: [],
calendarEventParticipants: [],
});
@@ -25,7 +25,6 @@ export class CalendarEventWorkspaceEntity extends BaseWorkspaceEntity {
iCalUid: string | null;
conferenceSolution: string | null;
conferenceLink: LinksMetadata;
recordingPreference: string;
calendarChannelEventAssociations: EntityRelation<
CalendarChannelEventAssociationWorkspaceEntity[]
>;
@@ -0,0 +1,4 @@
export enum CallRecordingRequestStatus {
REQUESTED = 'REQUESTED',
CANCELED = 'CANCELED',
}
@@ -0,0 +1,8 @@
export enum CallRecordingStatus {
SCHEDULED = 'SCHEDULED',
JOINING = 'JOINING',
RECORDING = 'RECORDING',
PROCESSING = 'PROCESSING',
COMPLETED = 'COMPLETED',
FAILED_UNKNOWN = 'FAILED_UNKNOWN',
}
@@ -4,10 +4,13 @@ import { type FileOutput } from 'src/engine/api/common/common-args-processors/da
import { BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity';
import { type EntityRelation } from 'src/engine/workspace-manager/workspace-migration/types/entity-relation.interface';
import { type CalendarEventWorkspaceEntity } from 'src/modules/calendar/common/standard-objects/calendar-event.workspace-entity';
import { type CallRecordingRequestStatus } from 'src/modules/call-recording/common/enums/call-recording-request-status.enum';
import { type CallRecordingStatus } from 'src/modules/call-recording/common/enums/call-recording-status.enum';
export class CallRecordingWorkspaceEntity extends BaseWorkspaceEntity {
title: string | null;
status: string;
status: CallRecordingStatus;
recordingRequestStatus: CallRecordingRequestStatus;
applicationId: string | null;
externalBotId: string | null;
externalRecordingId: string | null;