Fix use as draft (#9718)

- 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
This commit is contained in:
martmull
2025-01-21 15:44:52 +01:00
committed by GitHub
parent d8815d7ebf
commit ed7c48e12a
22 changed files with 207 additions and 309 deletions
@@ -161,26 +161,30 @@ export class WorkflowStatusesUpdateJob {
const newStep = { ...step };
if (step.type === WorkflowActionType.CODE) {
let serverlessFunction;
try {
serverlessFunction =
await this.serverlessFunctionService.publishOneServerlessFunction(
step.settings.input.serverlessFunctionId,
workspaceId,
);
await this.serverlessFunctionService.publishOneServerlessFunction(
step.settings.input.serverlessFunctionId,
workspaceId,
);
} catch (e) {
serverlessFunction = null;
// publishOneServerlessFunction throws if no change have been
// applied between draft and lastPublished version.
// If no change have been applied, we just use the same
// serverless function version
}
if (serverlessFunction) {
const newStepSettings = { ...step.settings };
const serverlessFunction =
await this.serverlessFunctionService.findOneOrFail({
id: step.settings.input.serverlessFunctionId,
workspaceId,
});
newStepSettings.input.serverlessFunctionVersion =
serverlessFunction.latestVersion;
const newStepSettings = { ...step.settings };
newStep.settings = newStepSettings;
}
newStepSettings.input.serverlessFunctionVersion =
serverlessFunction.latestVersion;
newStep.settings = newStepSettings;
}
newSteps.push(newStep);
}