3cada58908
Closes [#1526](https://github.com/twentyhq/core-team-issues/issues/1526) --------- Co-authored-by: Félix Malfait <felix@twenty.com> Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
34 lines
880 B
TypeScript
34 lines
880 B
TypeScript
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
|
import { useFindOneRecord } from '@/object-record/hooks/useFindOneRecord';
|
|
import { type WorkflowRun } from '@/workflow/types/Workflow';
|
|
import { useMemo } from 'react';
|
|
import { isDefined } from 'twenty-shared/utils';
|
|
import { workflowRunSchema } from 'twenty-shared/workflow';
|
|
|
|
export const useWorkflowRun = ({
|
|
workflowRunId,
|
|
}: {
|
|
workflowRunId: string;
|
|
}): WorkflowRun | undefined => {
|
|
const { record: rawRecord } = useFindOneRecord({
|
|
objectNameSingular: CoreObjectNameSingular.WorkflowRun,
|
|
objectRecordId: workflowRunId,
|
|
});
|
|
|
|
const {
|
|
success,
|
|
data: record,
|
|
error,
|
|
} = useMemo(() => workflowRunSchema.safeParse(rawRecord), [rawRecord]);
|
|
|
|
if (!isDefined(rawRecord)) {
|
|
return undefined;
|
|
}
|
|
|
|
if (!success) {
|
|
throw error;
|
|
}
|
|
|
|
return record;
|
|
};
|