support using duplicate checker to prevent duplicate submissions for new transaction record

This commit is contained in:
MaysWind
2024-07-07 21:28:07 +08:00
parent a2d6aff28b
commit 847349dcbd
28 changed files with 371 additions and 31 deletions
+5 -1
View File
@@ -736,7 +736,7 @@ export const useAccountsStore = defineStore('accounts', {
});
});
},
saveAccount({ account, subAccounts, isEdit }) {
saveAccount({ account, subAccounts, isEdit, clientSessionId }) {
const self = this;
const submitSubAccounts = [];
@@ -776,6 +776,10 @@ export const useAccountsStore = defineStore('accounts', {
subAccounts: account.type === accountConstants.allAccountTypes.SingleAccount ? null : submitSubAccounts,
};
if (clientSessionId) {
submitAccount.clientSessionId = clientSessionId;
}
if (isEdit) {
submitAccount.id = account.id;
submitAccount.hidden = !account.visible;
+5 -1
View File
@@ -745,7 +745,7 @@ export const useTransactionsStore = defineStore('transactions', {
});
});
},
saveTransaction({ transaction, defaultCurrency, isEdit }) {
saveTransaction({ transaction, defaultCurrency, isEdit, clientSessionId }) {
const self = this;
const settingsStore = useSettingsStore();
const exchangeRatesStore = useExchangeRatesStore();
@@ -764,6 +764,10 @@ export const useTransactionsStore = defineStore('transactions', {
utcOffset: transaction.utcOffset
};
if (clientSessionId) {
submitTransaction.clientSessionId = clientSessionId;
}
if (transaction.type === transactionConstants.allTransactionTypes.Expense) {
submitTransaction.categoryId = transaction.expenseCategory;
} else if (transaction.type === transactionConstants.allTransactionTypes.Income) {
+5 -1
View File
@@ -257,7 +257,7 @@ export const useTransactionCategoriesStore = defineStore('transactionCategories'
});
});
},
saveCategory({ category, isEdit }) {
saveCategory({ category, isEdit, clientSessionId }) {
const self = this;
const submitCategory = {
@@ -269,6 +269,10 @@ export const useTransactionCategoriesStore = defineStore('transactionCategories'
comment: category.comment
};
if (clientSessionId) {
submitCategory.clientSessionId = clientSessionId;
}
if (isEdit) {
submitCategory.id = category.id;
submitCategory.hidden = !category.visible;