Spaces:
Build error
Build error
File size: 2,194 Bytes
d9494a5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | import { v4 } from 'uuid';
import {
LogicFunctionExecutionMode,
LogicFunctionRuntime,
} from 'src/engine/metadata-modules/logic-function/logic-function.entity';
import { type UniversalFlatLogicFunction } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/universal-flat-logic-function.type';
type AutoGeneratedFields = 'createdAt' | 'updatedAt' | 'deletedAt' | 'runtime';
type RequiredFields =
| 'name'
| 'handlerName'
| 'sourceHandlerPath'
| 'builtHandlerPath'
| 'isBuildUpToDate'
| 'applicationUniversalIdentifier';
type OptionalFields = Exclude<
keyof UniversalFlatLogicFunction,
AutoGeneratedFields | RequiredFields
>;
export type BuildUniversalFlatLogicFunctionToCreateInput = Pick<
UniversalFlatLogicFunction,
RequiredFields
> &
Partial<Pick<UniversalFlatLogicFunction, OptionalFields>> & {
id?: string;
};
export const buildUniversalFlatLogicFunctionToCreate = (
input: BuildUniversalFlatLogicFunctionToCreateInput,
): UniversalFlatLogicFunction & { id: string } => {
const now = new Date().toISOString();
return {
id: input.id ?? v4(),
universalIdentifier: input.universalIdentifier ?? v4(),
name: input.name,
description: input.description ?? null,
runtime: LogicFunctionRuntime.NODE22,
timeoutSeconds: input.timeoutSeconds ?? 300,
checksum: input.checksum ?? null,
isBuildUpToDate: input.isBuildUpToDate,
executionMode: input.executionMode ?? LogicFunctionExecutionMode.LIVE,
handlerName: input.handlerName,
sourceHandlerPath: input.sourceHandlerPath,
builtHandlerPath: input.builtHandlerPath,
cronTriggerSettings: input.cronTriggerSettings ?? null,
databaseEventTriggerSettings: input.databaseEventTriggerSettings ?? null,
httpRouteTriggerSettings: input.httpRouteTriggerSettings ?? null,
serverRouteTriggerSettings: input.serverRouteTriggerSettings ?? null,
toolTriggerSettings: input.toolTriggerSettings ?? null,
workflowActionTriggerSettings: input.workflowActionTriggerSettings ?? null,
createdAt: now,
updatedAt: now,
deletedAt: null,
applicationUniversalIdentifier: input.applicationUniversalIdentifier,
};
};
|