From 433a225b9d77f9c21950d7e3b762814c560d915f Mon Sep 17 00:00:00 2001 From: MaysWind Date: Sun, 30 Mar 2025 00:38:33 +0800 Subject: [PATCH] modify error message --- src/stores/transactionCategory.ts | 32 +++++++++++++++++++ .../categories/list/dialogs/PresetDialog.vue | 2 +- src/views/mobile/categories/PresetPage.vue | 2 +- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/stores/transactionCategory.ts b/src/stores/transactionCategory.ts index 5f86ab71..bf50e864 100644 --- a/src/stores/transactionCategory.ts +++ b/src/stores/transactionCategory.ts @@ -331,6 +331,37 @@ export const useTransactionCategoriesStore = defineStore('transactionCategories' } function addCategories(req: TransactionCategoryCreateBatchRequest): Promise> { + return new Promise((resolve, reject) => { + services.addTransactionCategoryBatch(req).then(response => { + const data = response.data; + + if (!data || !data.success || !data.result) { + reject({ message: 'Unable to add category' }); + return; + } + + if (!transactionCategoryListStateInvalid.value) { + updateTransactionCategoryListInvalidState(true); + } + + const transactionCategories = TransactionCategory.ofMap(data.result); + + resolve(transactionCategories); + }).catch(error => { + logger.error('failed to add categories', error); + + if (error.response && error.response.data && error.response.data.errorMessage) { + reject({ error: error.response.data }); + } else if (!error.processed) { + reject({ message: 'Unable to add category' }); + } else { + reject(error); + } + }); + }); + } + + function addPresetCategories(req: TransactionCategoryCreateBatchRequest): Promise> { return new Promise((resolve, reject) => { services.addTransactionCategoryBatch(req).then(response => { const data = response.data; @@ -535,6 +566,7 @@ export const useTransactionCategoriesStore = defineStore('transactionCategories' getCategory, saveCategory, addCategories, + addPresetCategories, changeCategoryDisplayOrder, updateCategoryDisplayOrders, hideCategory, diff --git a/src/views/desktop/categories/list/dialogs/PresetDialog.vue b/src/views/desktop/categories/list/dialogs/PresetDialog.vue index 2b1267f5..dcf3d495 100644 --- a/src/views/desktop/categories/list/dialogs/PresetDialog.vue +++ b/src/views/desktop/categories/list/dialogs/PresetDialog.vue @@ -117,7 +117,7 @@ function save(): void { const presetCategoriesArray = categorizedArrayToPlainArray(allPresetCategories.value); const submitCategories = localizedPresetCategoriesToTransactionCategoryCreateWithSubCategories(presetCategoriesArray); - transactionCategoriesStore.addCategories({ + transactionCategoriesStore.addPresetCategories({ categories: submitCategories }).then(() => { submitting.value = false; diff --git a/src/views/mobile/categories/PresetPage.vue b/src/views/mobile/categories/PresetPage.vue index e8807052..ce2223c7 100644 --- a/src/views/mobile/categories/PresetPage.vue +++ b/src/views/mobile/categories/PresetPage.vue @@ -113,7 +113,7 @@ function save(): void { const presetCategoriesArray = categorizedArrayToPlainArray(allPresetCategories.value); const submitCategories = localizedPresetCategoriesToTransactionCategoryCreateWithSubCategories(presetCategoriesArray); - transactionCategoriesStore.addCategories({ + transactionCategoriesStore.addPresetCategories({ categories: submitCategories }).then(() => { submitting.value = false;