- remove delete serverless function when archiving workflow version - update copy serverless function to reset serverless function to old version - remove createNewWorkflowVersion and use createDraftFromWorkflowVersion - fix step update issue and optimistic rendering when generate draft from active version
51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
|
import { useFindManyRecordsQuery } from '@/object-record/hooks/useFindManyRecordsQuery';
|
|
import { useApolloClient } from '@apollo/client';
|
|
import {
|
|
CreateDraftFromWorkflowVersionInput,
|
|
useCreateDraftFromWorkflowVersionMutation,
|
|
} from '~/generated/graphql';
|
|
|
|
export const useCreateDraftFromWorkflowVersion = () => {
|
|
const apolloClient = useApolloClient();
|
|
|
|
const [mutate] = useCreateDraftFromWorkflowVersionMutation({
|
|
client: apolloClient,
|
|
});
|
|
|
|
const { findManyRecordsQuery: findManyWorkflowsQuery } =
|
|
useFindManyRecordsQuery({
|
|
objectNameSingular: CoreObjectNameSingular.Workflow,
|
|
recordGqlFields: {
|
|
id: true,
|
|
name: true,
|
|
statuses: true,
|
|
lastPublishedVersionId: true,
|
|
versions: true,
|
|
},
|
|
});
|
|
|
|
const createDraftFromWorkflowVersion = async (
|
|
input: CreateDraftFromWorkflowVersionInput,
|
|
) => {
|
|
const result = await mutate({
|
|
variables: { input },
|
|
awaitRefetchQueries: true,
|
|
refetchQueries: [
|
|
{
|
|
query: findManyWorkflowsQuery,
|
|
variables: {
|
|
id: input.workflowId,
|
|
},
|
|
},
|
|
],
|
|
});
|
|
|
|
return result?.data?.createDraftFromWorkflowVersion.id;
|
|
};
|
|
|
|
return {
|
|
createDraftFromWorkflowVersion,
|
|
};
|
|
};
|