diff --git a/cypress/e2e/34-template-credentials-setup.cy.ts b/cypress/e2e/34-template-credentials-setup.cy.ts index e8fadc141..984a4f5c5 100644 --- a/cypress/e2e/34-template-credentials-setup.cy.ts +++ b/cypress/e2e/34-template-credentials-setup.cy.ts @@ -202,6 +202,8 @@ describe('Template credentials setup', () => { }); }); + getSetupWorkflowCredentialsButton().should('not.exist'); + // We need to save the workflow or otherwise a browser native popup // will block cypress from continuing workflowPage.actions.saveWorkflowOnButtonClick(); diff --git a/packages/cli/src/workflows/workflow.service.ts b/packages/cli/src/workflows/workflow.service.ts index a216470d9..5a6a321d7 100644 --- a/packages/cli/src/workflows/workflow.service.ts +++ b/packages/cli/src/workflows/workflow.service.ts @@ -206,6 +206,7 @@ export class WorkflowService { 'active', 'nodes', 'connections', + 'meta', 'settings', 'staticData', 'pinData', diff --git a/packages/cli/test/integration/workflows.controller.test.ts b/packages/cli/test/integration/workflows.controller.test.ts index 79846b0d4..a85dfee77 100644 --- a/packages/cli/test/integration/workflows.controller.test.ts +++ b/packages/cli/test/integration/workflows.controller.test.ts @@ -609,6 +609,25 @@ describe('PATCH /workflows/:id', () => { expect(versionId).toBe(workflow.versionId); expect(active).toBe(false); }); + + test('should update workflow meta', async () => { + const workflow = await createWorkflow({}, owner); + const payload = { + ...workflow, + meta: { + templateCredsSetupCompleted: true, + }, + }; + + const response = await authOwnerAgent.patch(`/workflows/${workflow.id}`).send(payload); + + const { data: updatedWorkflow } = response.body; + + expect(response.statusCode).toBe(200); + + expect(updatedWorkflow.id).toBe(workflow.id); + expect(updatedWorkflow.meta).toEqual(payload.meta); + }); }); describe('POST /workflows/run', () => { diff --git a/packages/editor-ui/src/Interface.ts b/packages/editor-ui/src/Interface.ts index 4efc1fa19..560b28dbf 100644 --- a/packages/editor-ui/src/Interface.ts +++ b/packages/editor-ui/src/Interface.ts @@ -274,6 +274,7 @@ export interface WorkflowMetadata { onboardingId?: string; templateId?: string; instanceId?: string; + templateCredsSetupCompleted?: boolean; } // Almost identical to cli.Interfaces.ts diff --git a/packages/editor-ui/src/components/SetupWorkflowCredentialsButton/SetupWorkflowCredentialsButton.vue b/packages/editor-ui/src/components/SetupWorkflowCredentialsButton/SetupWorkflowCredentialsButton.vue index 8d7bc0e53..82302346e 100644 --- a/packages/editor-ui/src/components/SetupWorkflowCredentialsButton/SetupWorkflowCredentialsButton.vue +++ b/packages/editor-ui/src/components/SetupWorkflowCredentialsButton/SetupWorkflowCredentialsButton.vue @@ -1,12 +1,12 @@