Rename serverlessFunction to logicFunction (#17494)

## Summary

Rename "Serverless Function" to "Logic Function" across the codebase for
clearer naming.

### Environment Variable Changes

| Old | New |
|-----|-----|
| `SERVERLESS_TYPE` | `LOGIC_FUNCTION_TYPE` |
| `SERVERLESS_LAMBDA_REGION` | `LOGIC_FUNCTION_LAMBDA_REGION` |
| `SERVERLESS_LAMBDA_ROLE` | `LOGIC_FUNCTION_LAMBDA_ROLE` |
| `SERVERLESS_LAMBDA_SUBHOSTING_URL` |
`LOGIC_FUNCTION_LAMBDA_SUBHOSTING_URL` |
| `SERVERLESS_LAMBDA_ACCESS_KEY_ID` |
`LOGIC_FUNCTION_LAMBDA_ACCESS_KEY_ID` |
| `SERVERLESS_LAMBDA_SECRET_ACCESS_KEY` |
`LOGIC_FUNCTION_LAMBDA_SECRET_ACCESS_KEY` |

### Breaking Changes

- Environment variables must be updated in production deployments
- Database migration renames `serverlessFunction` → `logicFunction`
tables
This commit is contained in:
Charles Bochet
2026-01-28 01:42:19 +01:00
committed by GitHub
parent 59d123d2b1
commit da6f1bbef3
351 changed files with 5054 additions and 5139 deletions
@@ -20,7 +20,7 @@ import { FLAT_VIEW_FILTER_GROUP_EDITABLE_PROPERTIES } from 'src/engine/metadata-
import { FLAT_VIEW_FILTER_EDITABLE_PROPERTIES } from 'src/engine/metadata-modules/flat-view-filter/constants/flat-view-filter-editable-properties.constant';
import { FLAT_VIEW_GROUP_EDITABLE_PROPERTIES } from 'src/engine/metadata-modules/flat-view-group/constants/flat-view-group-editable-properties.constant';
import { FLAT_VIEW_EDITABLE_PROPERTIES } from 'src/engine/metadata-modules/flat-view/constants/flat-view-editable-properties.constant';
import { FLAT_SERVERLESS_FUNCTION_EDITABLE_PROPERTIES } from 'src/engine/metadata-modules/serverless-function/constants/flat-serverless-function-editable-properties.constant';
import { FLAT_LOGIC_FUNCTION_EDITABLE_PROPERTIES } from 'src/engine/metadata-modules/logic-function/constants/flat-logic-function-editable-properties.constant';
type OneFlatEntityConfiguration<T extends AllMetadataName> = {
propertiesToCompare: (keyof MetadataFlatEntity<T>)[];
@@ -73,9 +73,9 @@ export const ALL_FLAT_ENTITY_PROPERTIES_TO_COMPARE_AND_STRINGIFY = {
],
propertiesToStringify: ['flatIndexFieldMetadatas'],
},
serverlessFunction: {
logicFunction: {
propertiesToCompare: [
...FLAT_SERVERLESS_FUNCTION_EDITABLE_PROPERTIES.filter(
...FLAT_LOGIC_FUNCTION_EDITABLE_PROPERTIES.filter(
(property) => property !== 'code',
),
'deletedAt',
@@ -84,18 +84,6 @@ export const ALL_FLAT_ENTITY_PROPERTIES_TO_COMPARE_AND_STRINGIFY = {
],
propertiesToStringify: ['toolInputSchema', 'publishedVersions'],
},
cronTrigger: {
propertiesToCompare: [],
propertiesToStringify: [],
},
databaseEventTrigger: {
propertiesToCompare: [],
propertiesToStringify: [],
},
routeTrigger: {
propertiesToCompare: [],
propertiesToStringify: [],
},
viewFilter: {
propertiesToCompare: [
'viewId',
@@ -16,7 +16,7 @@ import { RoleTargetEntity } from 'src/engine/metadata-modules/role-target/role-t
import { RoleEntity } from 'src/engine/metadata-modules/role/role.entity';
import { RowLevelPermissionPredicateGroupEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate-group.entity';
import { RowLevelPermissionPredicateEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate.entity';
import { ServerlessFunctionEntity } from 'src/engine/metadata-modules/serverless-function/serverless-function.entity';
import { LogicFunctionEntity } from 'src/engine/metadata-modules/logic-function/logic-function.entity';
import { SkillEntity } from 'src/engine/metadata-modules/skill/entities/skill.entity';
import { ViewFieldEntity } from 'src/engine/metadata-modules/view-field/entities/view-field.entity';
import { ViewFilterGroupEntity } from 'src/engine/metadata-modules/view-filter-group/entities/view-filter-group.entity';
@@ -36,14 +36,11 @@ export const ALL_METADATA_ENTITY_BY_METADATA_NAME = {
view: ViewEntity,
index: IndexMetadataEntity,
pageLayoutTab: PageLayoutTabEntity,
routeTrigger: ServerlessFunctionEntity,
cronTrigger: ServerlessFunctionEntity,
databaseEventTrigger: ServerlessFunctionEntity,
frontComponent: FrontComponentEntity,
fieldMetadata: FieldMetadataEntity,
pageLayout: PageLayoutEntity,
skill: SkillEntity,
serverlessFunction: ServerlessFunctionEntity,
logicFunction: LogicFunctionEntity,
objectMetadata: ObjectMetadataEntity,
role: RoleEntity,
agent: AgentEntity,
@@ -261,35 +261,11 @@ export const ALL_METADATA_RELATIONS = {
indexFieldMetadatas: null,
},
},
serverlessFunction: {
logicFunction: {
manyToOne: {
workspace: null,
application: null,
serverlessFunctionLayer: null,
},
oneToMany: {},
},
cronTrigger: {
manyToOne: {
application: null,
serverlessFunctionLayer: null,
workspace: null,
},
oneToMany: {},
},
databaseEventTrigger: {
manyToOne: {
application: null,
serverlessFunctionLayer: null,
workspace: null,
},
oneToMany: {},
},
routeTrigger: {
manyToOne: {
application: null,
serverlessFunctionLayer: null,
workspace: null,
logicFunctionLayer: null,
},
oneToMany: {},
},
@@ -31,16 +31,7 @@ export const ALL_METADATA_REQUIRED_METADATA_FOR_VALIDATION = {
objectMetadata: true,
fieldMetadata: true,
},
serverlessFunction: {},
cronTrigger: {
serverlessFunction: true,
},
databaseEventTrigger: {
serverlessFunction: true,
},
routeTrigger: {
serverlessFunction: true,
},
logicFunction: {},
viewFilter: {
view: true,
fieldMetadata: true,
@@ -21,7 +21,7 @@ import { type FlatView } from 'src/engine/metadata-modules/flat-view/types/flat-
import { type NavigationMenuItemEntity } from 'src/engine/metadata-modules/navigation-menu-item/entities/navigation-menu-item.entity';
import { type FlatRowLevelPermissionPredicateGroup } from 'src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type';
import { type FlatRowLevelPermissionPredicate } from 'src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate.type';
import { type FlatServerlessFunction } from 'src/engine/metadata-modules/serverless-function/types/flat-serverless-function.type';
import { type FlatLogicFunction } from 'src/engine/metadata-modules/logic-function/types/flat-logic-function.type';
import {
type CreateAgentAction,
type DeleteAgentAction,
@@ -93,10 +93,10 @@ import {
type UpdateRowLevelPermissionPredicateAction,
} from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action.type';
import {
type CreateServerlessFunctionAction,
type DeleteServerlessFunctionAction,
type UpdateServerlessFunctionAction,
} from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/serverless-function/types/workspace-migration-serverless-function-action.type';
type CreateLogicFunctionAction,
type DeleteLogicFunctionAction,
type UpdateLogicFunctionAction,
} from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/logic-function/types/workspace-migration-logic-function-action.type';
import {
type CreateSkillAction,
type DeleteSkillAction,
@@ -215,41 +215,14 @@ export type AllFlatEntityTypesByMetadataName = {
flatEntity: FlatIndexMetadata;
entity: MetadataEntity<'index'>;
};
serverlessFunction: {
logicFunction: {
actions: {
create: CreateServerlessFunctionAction;
update: UpdateServerlessFunctionAction;
delete: DeleteServerlessFunctionAction;
create: CreateLogicFunctionAction;
update: UpdateLogicFunctionAction;
delete: DeleteLogicFunctionAction;
};
flatEntity: FlatServerlessFunction;
entity: MetadataEntity<'serverlessFunction'>;
};
cronTrigger: {
actions: {
create: never;
update: never;
delete: never;
};
flatEntity: FlatServerlessFunction;
entity: MetadataEntity<'serverlessFunction'>;
};
databaseEventTrigger: {
actions: {
create: never;
update: never;
delete: never;
};
flatEntity: FlatServerlessFunction;
entity: MetadataEntity<'serverlessFunction'>;
};
routeTrigger: {
actions: {
create: never;
update: never;
delete: never;
};
flatEntity: FlatServerlessFunction;
entity: MetadataEntity<'serverlessFunction'>;
flatEntity: FlatLogicFunction;
entity: MetadataEntity<'logicFunction'>;
};
viewFilter: {
actions: {
@@ -8,10 +8,6 @@ exports[`getMetadataRelatedMetadataNames should return related metadata names fo
]
`;
exports[`getMetadataRelatedMetadataNames should return related metadata names for cronTrigger 1`] = `[]`;
exports[`getMetadataRelatedMetadataNames should return related metadata names for databaseEventTrigger 1`] = `[]`;
exports[`getMetadataRelatedMetadataNames should return related metadata names for fieldMetadata 1`] = `
[
"objectMetadata",
@@ -30,6 +26,8 @@ exports[`getMetadataRelatedMetadataNames should return related metadata names fo
]
`;
exports[`getMetadataRelatedMetadataNames should return related metadata names for logicFunction 1`] = `[]`;
exports[`getMetadataRelatedMetadataNames should return related metadata names for navigationMenuItem 1`] = `
[
"objectMetadata",
@@ -81,8 +79,6 @@ exports[`getMetadataRelatedMetadataNames should return related metadata names fo
]
`;
exports[`getMetadataRelatedMetadataNames should return related metadata names for routeTrigger 1`] = `[]`;
exports[`getMetadataRelatedMetadataNames should return related metadata names for rowLevelPermissionPredicate 1`] = `
[
"role",
@@ -101,8 +97,6 @@ exports[`getMetadataRelatedMetadataNames should return related metadata names fo
]
`;
exports[`getMetadataRelatedMetadataNames should return related metadata names for serverlessFunction 1`] = `[]`;
exports[`getMetadataRelatedMetadataNames should return related metadata names for skill 1`] = `[]`;
exports[`getMetadataRelatedMetadataNames should return related metadata names for view 1`] = `
@@ -13,13 +13,10 @@ exports[`sortMetadataNamesChildrenFirst should return metadata names sorted with
"rowLevelPermissionPredicateGroup",
"viewGroup",
"agent",
"cronTrigger",
"databaseEventTrigger",
"frontComponent",
"logicFunction",
"pageLayout",
"pageLayoutTab",
"routeTrigger",
"serverlessFunction",
"skill",
"view",
"viewFilterGroup",