twenty / packages /twenty-server /src /engine /metadata-modules /logic-function /utils /find-flat-logic-function-or-throw.util.ts
Jules
Initial clean CRM deployment with prebuilt assets
d9494a5
Raw
History Blame Contribute Delete
1.04 kB
import { isDefined } from 'twenty-shared/utils';
import { type MetadataFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity-maps.type';
import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util';
import {
LogicFunctionException,
LogicFunctionExceptionCode,
} from 'src/engine/metadata-modules/logic-function/logic-function.exception';
export const findFlatLogicFunctionOrThrow = ({
flatLogicFunctionMaps,
id,
}: {
flatLogicFunctionMaps: MetadataFlatEntityMaps<'logicFunction'>;
id: string;
}) => {
const flatLogicFunction = findFlatEntityByIdInFlatEntityMaps({
flatEntityId: id,
flatEntityMaps: flatLogicFunctionMaps,
});
if (!isDefined(flatLogicFunction) || isDefined(flatLogicFunction.deletedAt)) {
throw new LogicFunctionException(
`Logic function with id ${id} not found`,
LogicFunctionExceptionCode.LOGIC_FUNCTION_NOT_FOUND,
);
}
return flatLogicFunction;
};