diff --git a/packages/backend/src/serializers/execution.js b/packages/backend/src/serializers/execution.js new file mode 100644 index 00000000..e0d8a4fa --- /dev/null +++ b/packages/backend/src/serializers/execution.js @@ -0,0 +1,18 @@ +import flowSerializer from './flow.js'; + +const executionSerializer = (execution) => { + let executionData = { + id: execution.id, + testRun: execution.testRun, + createdAt: execution.createdAt.getTime(), + updatedAt: execution.updatedAt.getTime(), + }; + + if (execution.flow) { + executionData.flow = flowSerializer(execution.flow); + } + + return executionData; +}; + +export default executionSerializer; diff --git a/packages/backend/src/serializers/flow.js b/packages/backend/src/serializers/flow.js index b1b131cf..7cc16e2a 100644 --- a/packages/backend/src/serializers/flow.js +++ b/packages/backend/src/serializers/flow.js @@ -8,7 +8,7 @@ const flowSerializer = (flow) => { status: flow.status, }; - if (flow.steps) { + if (flow.steps?.length > 0) { flowData.steps = flow.steps.map((step) => stepSerializer(step)); } diff --git a/packages/backend/src/serializers/index.js b/packages/backend/src/serializers/index.js index aa1a37c3..4e42b160 100644 --- a/packages/backend/src/serializers/index.js +++ b/packages/backend/src/serializers/index.js @@ -9,6 +9,7 @@ import appSerializer from './app.js'; import authSerializer from './auth.js'; import triggerSerializer from './trigger.js'; import actionSerializer from './action.js'; +import executionSerializer from './execution.js'; const serializers = { User: userSerializer, @@ -22,6 +23,7 @@ const serializers = { Auth: authSerializer, Trigger: triggerSerializer, Action: actionSerializer, + Execution: executionSerializer, }; export default serializers;