e8cb086b64
## Summary - Remove 3 completed migration feature flags: `IS_ATTACHMENT_MIGRATED`, `IS_NOTE_TARGET_MIGRATED`, `IS_TASK_TARGET_MIGRATED` — these were already enabled by default for all new workspaces via `DEFAULT_FEATURE_FLAGS` - Delete all upgrade command directories for versions <= 1.18 (`1-16/`, `1-17/`, `1-18/`) along with their module registrations, removing ~6,600 lines of dead migration code - Simplify frontend utility functions (`getActivityTargetObjectFieldIdName`, `getActivityTargetsFilter`, `getActivityTargetFieldNameForObject`, `generateActivityTargetMorphFieldKeys`, `findActivitiesOperationSignatureFactory`) by removing the `isMorphRelation` parameter and always using the morph relation path - Remove feature flag checks from 7 frontend hooks/components that were gating attachment and activity target behavior behind the removed flags - Simplify `buildDefaultRelationFlatFieldMetadatasForCustomObject` server util to always treat attachment, noteTarget, and taskTarget as morph relations without checking feature flags
47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
import { getActivityTargetObjectFieldIdName } from '@/activities/utils/getActivityTargetObjectFieldIdName';
|
|
import { CoreObjectNameSingular } from 'twenty-shared/types';
|
|
import { type EnrichedObjectMetadataItem } from '@/object-metadata/types/EnrichedObjectMetadataItem';
|
|
import { isDefined } from 'twenty-shared/utils';
|
|
|
|
type GetActivityTargetFieldNameForObjectArgs = {
|
|
activityObjectNameSingular:
|
|
| CoreObjectNameSingular.Note
|
|
| CoreObjectNameSingular.Task;
|
|
targetObjectMetadataId: string;
|
|
objectMetadataItems: EnrichedObjectMetadataItem[];
|
|
};
|
|
|
|
export const getActivityTargetFieldNameForObject = ({
|
|
activityObjectNameSingular,
|
|
targetObjectMetadataId,
|
|
objectMetadataItems,
|
|
}: GetActivityTargetFieldNameForObjectArgs): string | undefined => {
|
|
const activityTargetObjectNameSingular =
|
|
activityObjectNameSingular === CoreObjectNameSingular.Task
|
|
? CoreObjectNameSingular.TaskTarget
|
|
: CoreObjectNameSingular.NoteTarget;
|
|
|
|
const activityTargetObjectMetadata = objectMetadataItems.find(
|
|
(objectMetadataItem) =>
|
|
objectMetadataItem.nameSingular === activityTargetObjectNameSingular,
|
|
);
|
|
|
|
if (!isDefined(activityTargetObjectMetadata)) {
|
|
return undefined;
|
|
}
|
|
|
|
const targetObjectMetadataItem = objectMetadataItems.find(
|
|
(objectMetadataItem) => objectMetadataItem.id === targetObjectMetadataId,
|
|
);
|
|
|
|
if (!isDefined(targetObjectMetadataItem)) {
|
|
return undefined;
|
|
}
|
|
|
|
const fieldIdName = getActivityTargetObjectFieldIdName({
|
|
nameSingular: targetObjectMetadataItem.nameSingular,
|
|
});
|
|
|
|
return fieldIdName.replace(/Id$/, '');
|
|
};
|