From 91860964a381ba28c197788ff32802f3ce135783 Mon Sep 17 00:00:00 2001 From: Mirko Dietrich Date: Wed, 27 Aug 2025 15:25:07 +0200 Subject: [PATCH 1/5] chore(frontend): consistently re-export composables from parent module --- frontend/src/components/question/QuestionCard.vue | 2 +- frontend/src/composables/question/index.ts | 2 ++ frontend/src/pages/index.vue | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/question/QuestionCard.vue b/frontend/src/components/question/QuestionCard.vue index 1da2209c..d694461a 100644 --- a/frontend/src/components/question/QuestionCard.vue +++ b/frontend/src/components/question/QuestionCard.vue @@ -47,7 +47,7 @@ import { storeToRefs } from 'pinia' import { computed } from 'vue' import { useLink } from 'vue-router' -import useDeleteQuestion from '@/composables/question/useDeleteQuestion' +import { useDeleteQuestion } from '@/composables/question' import useAppStateStore from '@/stores/useAppStateStore' import type { OptionsFormData } from '@/types' diff --git a/frontend/src/composables/question/index.ts b/frontend/src/composables/question/index.ts index 71059d6b..7f02d803 100644 --- a/frontend/src/composables/question/index.ts +++ b/frontend/src/composables/question/index.ts @@ -4,5 +4,7 @@ * (c) Technische Universität Berlin, innoCampus */ +export { default as useCreateQuestion } from './useCreateQuestion' +export { default as useDeleteQuestion } from './useDeleteQuestion' export { default as useFormDataState } from './useFormDataState' export { default as useRepetitions } from './useRepetitions' diff --git a/frontend/src/pages/index.vue b/frontend/src/pages/index.vue index 80bdf20d..8643c8b1 100644 --- a/frontend/src/pages/index.vue +++ b/frontend/src/pages/index.vue @@ -17,7 +17,7 @@ import IMdiAdd from '~icons/mdi/add' import IMdiImport from '~icons/mdi/import' -import useCreateQuestion from '@/composables/question/useCreateQuestion' +import { useCreateQuestion } from '@/composables/question' const createQuestion = useCreateQuestion() From 86dd39354e91a1b3c2180f1b5370511ebc34953b Mon Sep 17 00:00:00 2001 From: Mirko Dietrich Date: Wed, 27 Aug 2025 17:03:26 +0200 Subject: [PATCH 2/5] feat: delete question states on `InvalidQuestionStateError` Closes #212 --- .../components/common/error/ErrorDisplay.vue | 2 + .../error/InvalidQuestionStateError.vue | 25 +++++ frontend/src/composables/question/index.ts | 1 + .../question/useDeleteAllQuestions.ts | 45 ++++++++ frontend/src/queries/index.ts | 1 + frontend/src/queries/question.ts | 21 ++++ .../controllers/question/controller.py | 3 + questionpy_sdk/webserver/routes/question.py | 5 + questionpy_sdk/webserver/state.py | 105 ++++++++++-------- .../webserver/routes/test_question.py | 7 ++ tests/questionpy_sdk/webserver/test_state.py | 13 +++ 11 files changed, 182 insertions(+), 46 deletions(-) create mode 100644 frontend/src/components/common/error/InvalidQuestionStateError.vue create mode 100644 frontend/src/composables/question/useDeleteAllQuestions.ts diff --git a/frontend/src/components/common/error/ErrorDisplay.vue b/frontend/src/components/common/error/ErrorDisplay.vue index 909d61bf..20c37ba8 100644 --- a/frontend/src/components/common/error/ErrorDisplay.vue +++ b/frontend/src/components/common/error/ErrorDisplay.vue @@ -6,6 +6,8 @@