Activity as standard object (#6219)

In this PR I layout the first steps to migrate Activity to a traditional
Standard objects

Since this is a big transition, I'd rather split it into several
deployments / PRs

<img width="1512" alt="image"
src="https://github.com/user-attachments/assets/012e2bbf-9d1b-4723-aaf6-269ef588b050">

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
Co-authored-by: bosiraphael <71827178+bosiraphael@users.noreply.github.com>
Co-authored-by: Weiko <corentin@twenty.com>
Co-authored-by: Faisal-imtiyaz123 <142205282+Faisal-imtiyaz123@users.noreply.github.com>
Co-authored-by: Prateek Jain <prateekj1171998@gmail.com>
This commit is contained in:
Félix Malfait
2024-07-31 15:36:11 +02:00
committed by GitHub
parent defcee2a02
commit 80c0fc7ff1
239 changed files with 18418 additions and 8671 deletions

View File

@ -84,6 +84,9 @@ export const generateEmptyFieldValue = (
case FieldMetadataType.RawJson: {
return null;
}
case FieldMetadataType.RichText: {
return null;
}
default: {
throw new Error('Unhandled FieldMetadataType');
}

View File

@ -1,3 +1,4 @@
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
import { isObjectMetadataAvailableForRelation } from '@/object-metadata/utils/isObjectMetadataAvailableForRelation';
import {
@ -7,9 +8,11 @@ import {
export const isFieldCellSupported = (fieldMetadataItem: FieldMetadataItem) => {
if (
[FieldMetadataType.Uuid, FieldMetadataType.Position].includes(
fieldMetadataItem.type,
)
[
FieldMetadataType.Uuid,
FieldMetadataType.Position,
FieldMetadataType.RichText,
].includes(fieldMetadataItem.type)
) {
return false;
}
@ -22,6 +25,25 @@ export const isFieldCellSupported = (fieldMetadataItem: FieldMetadataItem) => {
fieldMetadataItem.fromRelationMetadata?.toObjectMetadata ??
fieldMetadataItem.toRelationMetadata?.fromObjectMetadata;
// Hack to display targets on Notes and Tasks
if (
fieldMetadataItem.fromRelationMetadata?.toObjectMetadata?.nameSingular ===
CoreObjectNameSingular.NoteTarget &&
fieldMetadataItem.relationDefinition?.sourceObjectMetadata
.nameSingular === CoreObjectNameSingular.Note
) {
return true;
}
if (
fieldMetadataItem.fromRelationMetadata?.toObjectMetadata?.nameSingular ===
CoreObjectNameSingular.TaskTarget &&
fieldMetadataItem.relationDefinition?.sourceObjectMetadata
.nameSingular === CoreObjectNameSingular.Task
) {
return true;
}
if (
!relationMetadata ||
// TODO: Many to many relations are not supported yet.

View File

@ -36,7 +36,7 @@ export const sanitizeRecordInput = ({
(field) => field.name === relationIdFieldName,
);
return relationIdFieldMetadataItem
return relationIdFieldMetadataItem && fieldValue?.id
? [relationIdFieldName, fieldValue?.id ?? null]
: undefined;
}