twenty / packages /twenty-server /src /engine /metadata-modules /logic-function /utils /is-logic-function-ready-for-prebuilt-install.util.ts
Jules
Initial clean CRM deployment with prebuilt assets
d9494a5
Raw
History Blame Contribute Delete
707 Bytes
import { isNonEmptyString } from '@sniptt/guards';
import { LogicFunctionExecutionMode } from 'src/engine/metadata-modules/logic-function/logic-function.entity';
import { type FlatLogicFunction } from 'src/engine/metadata-modules/logic-function/types/flat-logic-function.type';
export type LogicFunctionPrebuiltStateFields = Pick<
FlatLogicFunction,
'executionMode' | 'isBuildUpToDate' | 'checksum'
>;
export const isLogicFunctionReadyForPrebuiltInstall = (
flatLogicFunction: LogicFunctionPrebuiltStateFields,
): boolean =>
flatLogicFunction.executionMode === LogicFunctionExecutionMode.PREBUILT &&
flatLogicFunction.isBuildUpToDate === true &&
isNonEmptyString(flatLogicFunction.checksum);