chore: remove redundant delete flow mutation
This commit is contained in:
@@ -8,7 +8,6 @@ import verifyConnection from './mutations/verify-connection.js';
|
|||||||
import updateCurrentUser from './mutations/update-current-user.js';
|
import updateCurrentUser from './mutations/update-current-user.js';
|
||||||
import generateAuthUrl from './mutations/generate-auth-url.js';
|
import generateAuthUrl from './mutations/generate-auth-url.js';
|
||||||
import createConnection from './mutations/create-connection.js';
|
import createConnection from './mutations/create-connection.js';
|
||||||
import deleteFlow from './mutations/delete-flow.js';
|
|
||||||
import resetConnection from './mutations/reset-connection.js';
|
import resetConnection from './mutations/reset-connection.js';
|
||||||
import updateConnection from './mutations/update-connection.js';
|
import updateConnection from './mutations/update-connection.js';
|
||||||
import createUser from './mutations/create-user.ee.js';
|
import createUser from './mutations/create-user.ee.js';
|
||||||
@@ -17,7 +16,6 @@ import updateFlowStatus from './mutations/update-flow-status.js';
|
|||||||
const mutationResolvers = {
|
const mutationResolvers = {
|
||||||
createConnection,
|
createConnection,
|
||||||
createUser,
|
createUser,
|
||||||
deleteFlow,
|
|
||||||
deleteStep,
|
deleteStep,
|
||||||
executeFlow,
|
executeFlow,
|
||||||
generateAuthUrl,
|
generateAuthUrl,
|
||||||
|
@@ -1,53 +0,0 @@
|
|||||||
import Flow from '../../models/flow.js';
|
|
||||||
import ExecutionStep from '../../models/execution-step.js';
|
|
||||||
import globalVariable from '../../helpers/global-variable.js';
|
|
||||||
import logger from '../../helpers/logger.js';
|
|
||||||
|
|
||||||
const deleteFlow = async (_parent, params, context) => {
|
|
||||||
const conditions = context.currentUser.can('delete', 'Flow');
|
|
||||||
const isCreator = conditions.isCreator;
|
|
||||||
const allFlows = Flow.query();
|
|
||||||
const userFlows = context.currentUser.$relatedQuery('flows');
|
|
||||||
const baseQuery = isCreator ? userFlows : allFlows;
|
|
||||||
|
|
||||||
const flow = await baseQuery
|
|
||||||
.findOne({
|
|
||||||
id: params.input.id,
|
|
||||||
})
|
|
||||||
.throwIfNotFound();
|
|
||||||
|
|
||||||
const triggerStep = await flow.getTriggerStep();
|
|
||||||
const trigger = await triggerStep?.getTriggerCommand();
|
|
||||||
|
|
||||||
if (trigger?.type === 'webhook' && trigger.unregisterHook) {
|
|
||||||
const $ = await globalVariable({
|
|
||||||
flow,
|
|
||||||
connection: await triggerStep.$relatedQuery('connection'),
|
|
||||||
app: await triggerStep.getApp(),
|
|
||||||
step: triggerStep,
|
|
||||||
});
|
|
||||||
|
|
||||||
try {
|
|
||||||
await trigger.unregisterHook($);
|
|
||||||
} catch (error) {
|
|
||||||
// suppress error as the remote resource might have been already deleted
|
|
||||||
logger.debug(
|
|
||||||
`Failed to unregister webhook for flow ${flow.id}: ${error.message}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const executionIds = (
|
|
||||||
await flow.$relatedQuery('executions').select('executions.id')
|
|
||||||
).map((execution) => execution.id);
|
|
||||||
|
|
||||||
await ExecutionStep.query().delete().whereIn('execution_id', executionIds);
|
|
||||||
|
|
||||||
await flow.$relatedQuery('executions').delete();
|
|
||||||
await flow.$relatedQuery('steps').delete();
|
|
||||||
await flow.$query().delete();
|
|
||||||
|
|
||||||
return;
|
|
||||||
};
|
|
||||||
|
|
||||||
export default deleteFlow;
|
|
@@ -4,7 +4,6 @@ type Query {
|
|||||||
type Mutation {
|
type Mutation {
|
||||||
createConnection(input: CreateConnectionInput): Connection
|
createConnection(input: CreateConnectionInput): Connection
|
||||||
createUser(input: CreateUserInput): UserWithAcceptInvitationUrl
|
createUser(input: CreateUserInput): UserWithAcceptInvitationUrl
|
||||||
deleteFlow(input: DeleteFlowInput): Boolean
|
|
||||||
deleteStep(input: DeleteStepInput): Step
|
deleteStep(input: DeleteStepInput): Step
|
||||||
executeFlow(input: ExecuteFlowInput): executeFlowType
|
executeFlow(input: ExecuteFlowInput): executeFlowType
|
||||||
generateAuthUrl(input: GenerateAuthUrlInput): AuthLink
|
generateAuthUrl(input: GenerateAuthUrlInput): AuthLink
|
||||||
@@ -247,10 +246,6 @@ input ExecuteFlowInput {
|
|||||||
stepId: String!
|
stepId: String!
|
||||||
}
|
}
|
||||||
|
|
||||||
input DeleteFlowInput {
|
|
||||||
id: String!
|
|
||||||
}
|
|
||||||
|
|
||||||
input UpdateStepInput {
|
input UpdateStepInput {
|
||||||
id: String
|
id: String
|
||||||
previousStepId: String
|
previousStepId: String
|
||||||
|
@@ -1,6 +0,0 @@
|
|||||||
import { gql } from '@apollo/client';
|
|
||||||
export const DELETE_FLOW = gql`
|
|
||||||
mutation DeleteFlow($input: DeleteFlowInput) {
|
|
||||||
deleteFlow(input: $input)
|
|
||||||
}
|
|
||||||
`;
|
|
Reference in New Issue
Block a user