diff --git a/packages/twenty-front/src/modules/settings/logic-functions/components/SettingsLogicFunctionsFieldItemTableRow.tsx b/packages/twenty-front/src/modules/settings/logic-functions/components/SettingsLogicFunctionsFieldItemTableRow.tsx index eb195789aa..83fec156a0 100644 --- a/packages/twenty-front/src/modules/settings/logic-functions/components/SettingsLogicFunctionsFieldItemTableRow.tsx +++ b/packages/twenty-front/src/modules/settings/logic-functions/components/SettingsLogicFunctionsFieldItemTableRow.tsx @@ -1,17 +1,24 @@ import { styled } from '@linaria/react'; import { type LogicFunction } from '~/generated-metadata/graphql'; import { TableCell } from '@/ui/layout/table/components/TableCell'; -import { IconChevronRight } from 'twenty-ui/display'; +import { + IconChevronRight, + IconCode, + OverflowingTextWithTooltip, +} from 'twenty-ui/display'; import { StyledTableRow } from '@/settings/logic-functions/components/SettingsLogicFunctionsTable'; import { useContext } from 'react'; import { ThemeContext, themeCssVariables } from 'twenty-ui/theme-constants'; -const StyledIconChevronRightContainer = styled.span` +const StyledIconContainer = styled.span` align-items: center; - color: ${themeCssVariables.font.color.tertiary}; display: flex; `; +const StyledIconChevronRightContainer = styled(StyledIconContainer)` + color: ${themeCssVariables.font.color.tertiary}; +`; + export const SettingsLogicFunctionsFieldItemTableRow = ({ logicFunction, to, @@ -20,23 +27,54 @@ export const SettingsLogicFunctionsFieldItemTableRow = ({ to: string; }) => { const { theme } = useContext(ThemeContext); + + const computeTrigger = () => { + const cronTrigger = logicFunction.cronTriggerSettings; + + const routeTrigger = logicFunction.httpRouteTriggerSettings; + + const databaseEventTriggerSettings = + logicFunction.databaseEventTriggerSettings; + + const isTool = logicFunction.isTool; + + if (isTool) { + return 'Tool'; + } + + if (cronTrigger) { + return 'Cron'; + } + + if (routeTrigger) { + return 'Route'; + } + + if (databaseEventTriggerSettings) { + return databaseEventTriggerSettings.eventName; + } + + return ''; + }; return ( - {logicFunction.name} + + + + - - {logicFunction.runtime} + , ) => ( @@ -43,8 +43,7 @@ export const SettingsLogicFunctionsTable = ({ {t`Name`} - - {t`Runtime`} + {t`Trigger`} diff --git a/packages/twenty-front/src/pages/settings/applications/tabs/SettingsApplicationDetailContentTab.tsx b/packages/twenty-front/src/pages/settings/applications/tabs/SettingsApplicationDetailContentTab.tsx index 9909f07e64..a0a22dd28b 100644 --- a/packages/twenty-front/src/pages/settings/applications/tabs/SettingsApplicationDetailContentTab.tsx +++ b/packages/twenty-front/src/pages/settings/applications/tabs/SettingsApplicationDetailContentTab.tsx @@ -127,7 +127,7 @@ export const SettingsApplicationDetailContentTab = ({ {shouldDisplayLogicFunctions && (
diff --git a/packages/twenty-server/src/engine/core-modules/logic-function/logic-function-executor/logic-function-executor.service.ts b/packages/twenty-server/src/engine/core-modules/logic-function/logic-function-executor/logic-function-executor.service.ts index f9faa78409..1090f94293 100644 --- a/packages/twenty-server/src/engine/core-modules/logic-function/logic-function-executor/logic-function-executor.service.ts +++ b/packages/twenty-server/src/engine/core-modules/logic-function/logic-function-executor/logic-function-executor.service.ts @@ -79,7 +79,6 @@ export class LogicFunctionExecutorService { workspaceId, flatApplication, flatApplicationVariables, - _flatLogicFunction: flatLogicFunction, }); const driver = this.logicFunctionDriverFactory.getCurrentDriver(); @@ -179,12 +178,10 @@ export class LogicFunctionExecutorService { private async getExecutionEnvVariables({ workspaceId, flatApplication, - _flatLogicFunction, flatApplicationVariables, }: { workspaceId: string; flatApplication: FlatApplication; - _flatLogicFunction: FlatLogicFunction; flatApplicationVariables: FlatApplicationVariable[]; }) { const applicationAccessToken =