follow up #12033 in #12033, SettingsDataModelFieldRelationForm I changed the the use of objectMetadataItems to activeObjectMetadataItems, which filtered out system objects. The naming was one factor for this confusion Renaming it everywhere to specify that they don't include system objects --------- Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
@ -61,10 +61,11 @@ export const WorkflowEditActionCreateRecord = ({
|
||||
}: WorkflowEditActionCreateRecordProps) => {
|
||||
const { getIcon } = useIcons();
|
||||
|
||||
const { activeObjectMetadataItems } = useFilteredObjectMetadataItems();
|
||||
const { activeNonSystemObjectMetadataItems } =
|
||||
useFilteredObjectMetadataItems();
|
||||
|
||||
const availableMetadata: Array<SelectOption<string>> =
|
||||
activeObjectMetadataItems.map((item) => ({
|
||||
activeNonSystemObjectMetadataItems.map((item) => ({
|
||||
Icon: getIcon(item.icon),
|
||||
label: item.labelPlural,
|
||||
value: item.nameSingular,
|
||||
|
||||
@ -39,10 +39,11 @@ export const WorkflowEditActionDeleteRecord = ({
|
||||
}: WorkflowEditActionDeleteRecordProps) => {
|
||||
const { getIcon } = useIcons();
|
||||
|
||||
const { activeObjectMetadataItems } = useFilteredObjectMetadataItems();
|
||||
const { activeNonSystemObjectMetadataItems } =
|
||||
useFilteredObjectMetadataItems();
|
||||
|
||||
const availableMetadata: Array<SelectOption<string>> =
|
||||
activeObjectMetadataItems.map((item) => ({
|
||||
activeNonSystemObjectMetadataItems.map((item) => ({
|
||||
Icon: getIcon(item.icon),
|
||||
label: item.labelPlural,
|
||||
value: item.nameSingular,
|
||||
@ -68,7 +69,7 @@ export const WorkflowEditActionDeleteRecord = ({
|
||||
saveAction(newFormData);
|
||||
};
|
||||
|
||||
const objectNameSingular = activeObjectMetadataItems.find(
|
||||
const objectNameSingular = activeNonSystemObjectMetadataItems.find(
|
||||
(item) => item.nameSingular === formData.objectName,
|
||||
)?.nameSingular;
|
||||
|
||||
|
||||
@ -37,10 +37,11 @@ export const WorkflowEditActionFindRecords = ({
|
||||
}: WorkflowEditActionFindRecordsProps) => {
|
||||
const { getIcon } = useIcons();
|
||||
|
||||
const { activeObjectMetadataItems } = useFilteredObjectMetadataItems();
|
||||
const { activeNonSystemObjectMetadataItems } =
|
||||
useFilteredObjectMetadataItems();
|
||||
|
||||
const availableMetadata: Array<SelectOption<string>> =
|
||||
activeObjectMetadataItems.map((item) => ({
|
||||
activeNonSystemObjectMetadataItems.map((item) => ({
|
||||
Icon: getIcon(item.icon),
|
||||
label: item.labelPlural,
|
||||
value: item.nameSingular,
|
||||
@ -53,7 +54,7 @@ export const WorkflowEditActionFindRecords = ({
|
||||
const isFormDisabled = actionOptions.readonly;
|
||||
|
||||
const selectedObjectMetadataItemNameSingular =
|
||||
activeObjectMetadataItems.find(
|
||||
activeNonSystemObjectMetadataItems.find(
|
||||
(item) => item.nameSingular === formData.objectName,
|
||||
)?.nameSingular ?? '';
|
||||
|
||||
|
||||
@ -63,10 +63,11 @@ export const WorkflowEditActionUpdateRecord = ({
|
||||
}: WorkflowEditActionUpdateRecordProps) => {
|
||||
const { getIcon } = useIcons();
|
||||
|
||||
const { activeObjectMetadataItems } = useFilteredObjectMetadataItems();
|
||||
const { activeNonSystemObjectMetadataItems } =
|
||||
useFilteredObjectMetadataItems();
|
||||
|
||||
const availableMetadata: Array<SelectOption<string>> =
|
||||
activeObjectMetadataItems.map((item) => ({
|
||||
activeNonSystemObjectMetadataItems.map((item) => ({
|
||||
Icon: getIcon(item.icon),
|
||||
label: item.labelPlural,
|
||||
value: item.nameSingular,
|
||||
@ -94,7 +95,7 @@ export const WorkflowEditActionUpdateRecord = ({
|
||||
saveAction(newFormData);
|
||||
};
|
||||
|
||||
const selectedObjectMetadataItem = activeObjectMetadataItems.find(
|
||||
const selectedObjectMetadataItem = activeNonSystemObjectMetadataItems.find(
|
||||
(item) => item.nameSingular === formData.objectName,
|
||||
);
|
||||
|
||||
|
||||
@ -27,10 +27,11 @@ export const WorkflowFormFieldSettingsRecordPicker = ({
|
||||
}: WorkflowFormFieldSettingsRecordPickerProps) => {
|
||||
const { getIcon } = useIcons();
|
||||
|
||||
const { activeObjectMetadataItems } = useFilteredObjectMetadataItems();
|
||||
const { activeNonSystemObjectMetadataItems } =
|
||||
useFilteredObjectMetadataItems();
|
||||
|
||||
const availableMetadata: Array<SelectOption<string>> =
|
||||
activeObjectMetadataItems.map((item) => ({
|
||||
activeNonSystemObjectMetadataItems.map((item) => ({
|
||||
Icon: getIcon(item.icon),
|
||||
label: item.labelPlural,
|
||||
value: item.nameSingular,
|
||||
@ -50,7 +51,7 @@ export const WorkflowFormFieldSettingsRecordPicker = ({
|
||||
onChange({
|
||||
...field,
|
||||
placeholder: `Select a ${
|
||||
activeObjectMetadataItems.find(
|
||||
activeNonSystemObjectMetadataItems.find(
|
||||
(item) => item.nameSingular === updatedObjectName,
|
||||
)?.labelSingular || 'record'
|
||||
}`,
|
||||
|
||||
@ -36,10 +36,11 @@ export const WorkflowEditTriggerManualForm = ({
|
||||
const theme = useTheme();
|
||||
const { getIcon } = useIcons();
|
||||
|
||||
const { activeObjectMetadataItems } = useFilteredObjectMetadataItems();
|
||||
const { activeNonSystemObjectMetadataItems } =
|
||||
useFilteredObjectMetadataItems();
|
||||
|
||||
const availableMetadata: Array<SelectOption<string>> =
|
||||
activeObjectMetadataItems.map((item) => ({
|
||||
activeNonSystemObjectMetadataItems.map((item) => ({
|
||||
label: item.labelPlural,
|
||||
value: item.nameSingular,
|
||||
Icon: getIcon(item.icon),
|
||||
@ -91,7 +92,7 @@ export const WorkflowEditTriggerManualForm = ({
|
||||
...trigger,
|
||||
settings: getManualTriggerDefaultSettings({
|
||||
availability: updatedTriggerType,
|
||||
activeObjectMetadataItems,
|
||||
activeNonSystemObjectMetadataItems,
|
||||
}),
|
||||
});
|
||||
}}
|
||||
|
||||
@ -5,7 +5,7 @@ it('returns settings for a manual trigger that can be activated from any where',
|
||||
expect(
|
||||
getManualTriggerDefaultSettings({
|
||||
availability: 'EVERYWHERE',
|
||||
activeObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
activeNonSystemObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
}),
|
||||
).toStrictEqual({
|
||||
objectType: undefined,
|
||||
@ -17,7 +17,7 @@ it('returns settings for a manual trigger that can be activated from any where',
|
||||
expect(
|
||||
getManualTriggerDefaultSettings({
|
||||
availability: 'WHEN_RECORD_SELECTED',
|
||||
activeObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
activeNonSystemObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
}),
|
||||
).toStrictEqual({
|
||||
objectType: generatedMockObjectMetadataItems[0].nameSingular,
|
||||
|
||||
@ -3,12 +3,12 @@ import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedM
|
||||
import { getTriggerDefaultDefinition } from '../getTriggerDefaultDefinition';
|
||||
|
||||
describe('getTriggerDefaultDefinition', () => {
|
||||
it('throws if the activeObjectMetadataItems list is empty', () => {
|
||||
it('throws if the activeNonSystemObjectMetadataItems list is empty', () => {
|
||||
expect(() => {
|
||||
getTriggerDefaultDefinition({
|
||||
defaultLabel: DatabaseTriggerDefaultLabel.RECORD_IS_CREATED,
|
||||
type: 'DATABASE_EVENT',
|
||||
activeObjectMetadataItems: [],
|
||||
activeNonSystemObjectMetadataItems: [],
|
||||
});
|
||||
}).toThrow();
|
||||
});
|
||||
@ -18,7 +18,7 @@ describe('getTriggerDefaultDefinition', () => {
|
||||
getTriggerDefaultDefinition({
|
||||
defaultLabel: DatabaseTriggerDefaultLabel.RECORD_IS_CREATED,
|
||||
type: 'DATABASE_EVENT',
|
||||
activeObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
activeNonSystemObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
}),
|
||||
).toStrictEqual({
|
||||
type: 'DATABASE_EVENT',
|
||||
@ -35,7 +35,7 @@ describe('getTriggerDefaultDefinition', () => {
|
||||
getTriggerDefaultDefinition({
|
||||
defaultLabel: DatabaseTriggerDefaultLabel.RECORD_IS_UPDATED,
|
||||
type: 'DATABASE_EVENT',
|
||||
activeObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
activeNonSystemObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
}),
|
||||
).toStrictEqual({
|
||||
type: 'DATABASE_EVENT',
|
||||
@ -52,7 +52,7 @@ describe('getTriggerDefaultDefinition', () => {
|
||||
getTriggerDefaultDefinition({
|
||||
defaultLabel: DatabaseTriggerDefaultLabel.RECORD_IS_DELETED,
|
||||
type: 'DATABASE_EVENT',
|
||||
activeObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
activeNonSystemObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
}),
|
||||
).toStrictEqual({
|
||||
type: 'DATABASE_EVENT',
|
||||
@ -69,7 +69,7 @@ describe('getTriggerDefaultDefinition', () => {
|
||||
getTriggerDefaultDefinition({
|
||||
defaultLabel: DatabaseTriggerDefaultLabel.RECORD_IS_CREATED,
|
||||
type: 'DATABASE_EVENT',
|
||||
activeObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
activeNonSystemObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
}),
|
||||
).toStrictEqual({
|
||||
type: 'DATABASE_EVENT',
|
||||
@ -86,7 +86,7 @@ describe('getTriggerDefaultDefinition', () => {
|
||||
getTriggerDefaultDefinition({
|
||||
defaultLabel: 'Launch manually',
|
||||
type: 'MANUAL',
|
||||
activeObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
activeNonSystemObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
}),
|
||||
).toStrictEqual({
|
||||
type: 'MANUAL',
|
||||
@ -103,7 +103,7 @@ describe('getTriggerDefaultDefinition', () => {
|
||||
getTriggerDefaultDefinition({
|
||||
defaultLabel: DatabaseTriggerDefaultLabel.RECORD_IS_CREATED,
|
||||
type: 'unknown' as any,
|
||||
activeObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
activeNonSystemObjectMetadataItems: generatedMockObjectMetadataItems,
|
||||
});
|
||||
}).toThrow('Unknown type: unknown');
|
||||
});
|
||||
|
||||
@ -7,10 +7,10 @@ import { assertUnreachable } from '@/workflow/utils/assertUnreachable';
|
||||
|
||||
export const getManualTriggerDefaultSettings = ({
|
||||
availability,
|
||||
activeObjectMetadataItems,
|
||||
activeNonSystemObjectMetadataItems,
|
||||
}: {
|
||||
availability: WorkflowManualTriggerAvailability;
|
||||
activeObjectMetadataItems: ObjectMetadataItem[];
|
||||
activeNonSystemObjectMetadataItems: ObjectMetadataItem[];
|
||||
}): WorkflowManualTriggerSettings => {
|
||||
switch (availability) {
|
||||
case 'EVERYWHERE': {
|
||||
@ -21,7 +21,7 @@ export const getManualTriggerDefaultSettings = ({
|
||||
}
|
||||
case 'WHEN_RECORD_SELECTED': {
|
||||
return {
|
||||
objectType: activeObjectMetadataItems[0].nameSingular,
|
||||
objectType: activeNonSystemObjectMetadataItems[0].nameSingular,
|
||||
outputSchema: {},
|
||||
};
|
||||
}
|
||||
|
||||
@ -10,13 +10,13 @@ import { getManualTriggerDefaultSettings } from '@/workflow/workflow-trigger/uti
|
||||
export const getTriggerDefaultDefinition = ({
|
||||
defaultLabel,
|
||||
type,
|
||||
activeObjectMetadataItems,
|
||||
activeNonSystemObjectMetadataItems,
|
||||
}: {
|
||||
defaultLabel: string;
|
||||
type: WorkflowTriggerType;
|
||||
activeObjectMetadataItems: ObjectMetadataItem[];
|
||||
activeNonSystemObjectMetadataItems: ObjectMetadataItem[];
|
||||
}): WorkflowTrigger => {
|
||||
if (activeObjectMetadataItems.length === 0) {
|
||||
if (activeNonSystemObjectMetadataItems.length === 0) {
|
||||
throw new Error(
|
||||
'This function need to receive at least one object metadata item to run.',
|
||||
);
|
||||
@ -28,7 +28,7 @@ export const getTriggerDefaultDefinition = ({
|
||||
type,
|
||||
name: defaultLabel,
|
||||
settings: {
|
||||
eventName: `${activeObjectMetadataItems[0].nameSingular}.${
|
||||
eventName: `${activeNonSystemObjectMetadataItems[0].nameSingular}.${
|
||||
DATABASE_TRIGGER_TYPES.find(
|
||||
(availableEvent) => availableEvent.defaultLabel === defaultLabel,
|
||||
)?.event
|
||||
@ -43,7 +43,7 @@ export const getTriggerDefaultDefinition = ({
|
||||
name: defaultLabel,
|
||||
settings: getManualTriggerDefaultSettings({
|
||||
availability: 'WHEN_RECORD_SELECTED',
|
||||
activeObjectMetadataItems,
|
||||
activeNonSystemObjectMetadataItems,
|
||||
}),
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user