From 55f30aa6c721e56576eb35411493e9e127a92210 Mon Sep 17 00:00:00 2001 From: AleenaThomas_gh Date: Mon, 10 Jul 2023 12:02:27 +0200 Subject: [PATCH 1/3] Delete new dry run added --- frontend-dev/src/queries/delete_dry_run.ts | 2 +- .../[project_id]/[dry_run]/+page.svelte | 22 +++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/frontend-dev/src/queries/delete_dry_run.ts b/frontend-dev/src/queries/delete_dry_run.ts index 2e7c0fc3..45a29e75 100644 --- a/frontend-dev/src/queries/delete_dry_run.ts +++ b/frontend-dev/src/queries/delete_dry_run.ts @@ -1,7 +1,7 @@ import { gql } from 'graphql-request'; const deleteDryRunMutation = gql` - mutation deleteDryRun($dryRunId: String) { + mutation deleteDryRun($dryRunId: String!) { deleteDryRun(dryRunId: $dryRunId) } `; diff --git a/frontend-dev/src/routes/projects/[project_id]/[dry_run]/+page.svelte b/frontend-dev/src/routes/projects/[project_id]/[dry_run]/+page.svelte index ab3fcd11..60530688 100644 --- a/frontend-dev/src/routes/projects/[project_id]/[dry_run]/+page.svelte +++ b/frontend-dev/src/routes/projects/[project_id]/[dry_run]/+page.svelte @@ -8,6 +8,7 @@ import type { DryRun, Project } from '../../../../types.js'; import allDryRunsQuery from '../../../../queries/get_all_dryruns.js' import { get } from 'svelte/store'; + import deleteDryRunMutation from '../../../../queries/delete_dry_run.js'; // TODO: Aleena extract project id from params // export async function load({ params }: { params: { project_id: string } }) { @@ -16,7 +17,7 @@ const getProjectDetails = async (): Promise => { - const variables = {projectId: get(clickedProjectId)}; + const variables = { projectId: get(clickedProjectId) }; const response: { project: Project } = await get(graphQLClient).request(allDryRunsQuery, variables); return response.project; }; @@ -58,16 +59,29 @@ return `${formattedHours}:${formattedMinutes}:${formattedSeconds}`; } + + async function onDeleteSelected() { + Object.keys(checkboxes).filter((item) => checkboxes[item]).forEach(async (element) => { + const response = await get(graphQLClient).request(deleteDryRunMutation, { dryRunId: element }); + }); + // reset checkboxes + $selectedProject?.dryRuns.forEach((element) => { + checkboxes[element.id] = false; + }); + // inserting a small delay because sometimes delete mutation returns true, but the deleted dry run is also returned in the query + await new Promise(resolve => setTimeout(resolve, 100)); - function onDeleteSelected() { - let selected_runs = Object.keys(checkboxes).filter((run_name) => checkboxes[run_name]); - // TODO:to be implemented + // update the project list after deletion + let responseProjectDetails: { project: Project } = await get(graphQLClient).request(allDryRunsQuery, { projectId: $clickedProjectId }); + $selectedProject = responseProjectDetails.project; } // TODO: fill all possible phase values function getDryRunAction(status:string):string { if(status == 'Succeeded') return 'rerun'; + else if(status == 'Running') + return 'stop'; else if(status == 'Pending') return 'run'; else if(status == 'Failed' || status == 'Error') From 6ba04e1c00f28e628f221bc64e8333f86b6a4b78 Mon Sep 17 00:00:00 2001 From: AleenaThomas_gh Date: Mon, 10 Jul 2023 12:02:38 +0200 Subject: [PATCH 2/3] Revert "Delete new dry run added" This reverts commit 55f30aa6c721e56576eb35411493e9e127a92210. --- frontend-dev/src/queries/delete_dry_run.ts | 2 +- .../[project_id]/[dry_run]/+page.svelte | 22 ++++--------------- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/frontend-dev/src/queries/delete_dry_run.ts b/frontend-dev/src/queries/delete_dry_run.ts index 45a29e75..2e7c0fc3 100644 --- a/frontend-dev/src/queries/delete_dry_run.ts +++ b/frontend-dev/src/queries/delete_dry_run.ts @@ -1,7 +1,7 @@ import { gql } from 'graphql-request'; const deleteDryRunMutation = gql` - mutation deleteDryRun($dryRunId: String!) { + mutation deleteDryRun($dryRunId: String) { deleteDryRun(dryRunId: $dryRunId) } `; diff --git a/frontend-dev/src/routes/projects/[project_id]/[dry_run]/+page.svelte b/frontend-dev/src/routes/projects/[project_id]/[dry_run]/+page.svelte index 60530688..ab3fcd11 100644 --- a/frontend-dev/src/routes/projects/[project_id]/[dry_run]/+page.svelte +++ b/frontend-dev/src/routes/projects/[project_id]/[dry_run]/+page.svelte @@ -8,7 +8,6 @@ import type { DryRun, Project } from '../../../../types.js'; import allDryRunsQuery from '../../../../queries/get_all_dryruns.js' import { get } from 'svelte/store'; - import deleteDryRunMutation from '../../../../queries/delete_dry_run.js'; // TODO: Aleena extract project id from params // export async function load({ params }: { params: { project_id: string } }) { @@ -17,7 +16,7 @@ const getProjectDetails = async (): Promise => { - const variables = { projectId: get(clickedProjectId) }; + const variables = {projectId: get(clickedProjectId)}; const response: { project: Project } = await get(graphQLClient).request(allDryRunsQuery, variables); return response.project; }; @@ -59,29 +58,16 @@ return `${formattedHours}:${formattedMinutes}:${formattedSeconds}`; } - - async function onDeleteSelected() { - Object.keys(checkboxes).filter((item) => checkboxes[item]).forEach(async (element) => { - const response = await get(graphQLClient).request(deleteDryRunMutation, { dryRunId: element }); - }); - // reset checkboxes - $selectedProject?.dryRuns.forEach((element) => { - checkboxes[element.id] = false; - }); - // inserting a small delay because sometimes delete mutation returns true, but the deleted dry run is also returned in the query - await new Promise(resolve => setTimeout(resolve, 100)); - // update the project list after deletion - let responseProjectDetails: { project: Project } = await get(graphQLClient).request(allDryRunsQuery, { projectId: $clickedProjectId }); - $selectedProject = responseProjectDetails.project; + function onDeleteSelected() { + let selected_runs = Object.keys(checkboxes).filter((run_name) => checkboxes[run_name]); + // TODO:to be implemented } // TODO: fill all possible phase values function getDryRunAction(status:string):string { if(status == 'Succeeded') return 'rerun'; - else if(status == 'Running') - return 'stop'; else if(status == 'Pending') return 'run'; else if(status == 'Failed' || status == 'Error') From 936fb808074152535323ccd4437fe9d951e7c8d2 Mon Sep 17 00:00:00 2001 From: AleenaThomas_gh Date: Mon, 10 Jul 2023 12:33:09 +0200 Subject: [PATCH 3/3] Delete dry run added --- frontend-dev/src/queries/delete_dry_run.ts | 2 +- .../[project_id]/[dry_run]/+page.svelte | 22 +++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/frontend-dev/src/queries/delete_dry_run.ts b/frontend-dev/src/queries/delete_dry_run.ts index 2e7c0fc3..45a29e75 100644 --- a/frontend-dev/src/queries/delete_dry_run.ts +++ b/frontend-dev/src/queries/delete_dry_run.ts @@ -1,7 +1,7 @@ import { gql } from 'graphql-request'; const deleteDryRunMutation = gql` - mutation deleteDryRun($dryRunId: String) { + mutation deleteDryRun($dryRunId: String!) { deleteDryRun(dryRunId: $dryRunId) } `; diff --git a/frontend-dev/src/routes/projects/[project_id]/[dry_run]/+page.svelte b/frontend-dev/src/routes/projects/[project_id]/[dry_run]/+page.svelte index ab3fcd11..8b22557e 100644 --- a/frontend-dev/src/routes/projects/[project_id]/[dry_run]/+page.svelte +++ b/frontend-dev/src/routes/projects/[project_id]/[dry_run]/+page.svelte @@ -8,6 +8,7 @@ import type { DryRun, Project } from '../../../../types.js'; import allDryRunsQuery from '../../../../queries/get_all_dryruns.js' import { get } from 'svelte/store'; + import deleteDryRunMutation from '../../../../queries/delete_dry_run.js'; // TODO: Aleena extract project id from params // export async function load({ params }: { params: { project_id: string } }) { @@ -59,15 +60,28 @@ return `${formattedHours}:${formattedMinutes}:${formattedSeconds}`; } - function onDeleteSelected() { - let selected_runs = Object.keys(checkboxes).filter((run_name) => checkboxes[run_name]); - // TODO:to be implemented - } + async function onDeleteSelected() { + Object.keys(checkboxes).filter((item) => checkboxes[item]).forEach(async (element) => { + const response = await get(graphQLClient).request(deleteDryRunMutation, { dryRunId: element }); + }); + // reset checkboxes + $selectedProject?.dryRuns.forEach((element) => { + checkboxes[element.id] = false; + }); + // inserting a small delay because sometimes delete mutation returns true, but the deleted dry run is also returned in the query + await new Promise(resolve => setTimeout(resolve, 100)); + // update the project list after deletion + let responseProjectDetails: { project: Project } = await get(graphQLClient).request(allDryRunsQuery, { projectId: $clickedProjectId }); + $selectedProject = responseProjectDetails.project; + } + // TODO: fill all possible phase values function getDryRunAction(status:string):string { if(status == 'Succeeded') return 'rerun'; + else if(status == 'Running') + return 'stop'; else if(status == 'Pending') return 'run'; else if(status == 'Failed' || status == 'Error')