Reduce cognitive complexity by extracting helper functions (S3776)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-10 01:03:44 +08:00
parent 201f94e133
commit 81df955845
2 changed files with 57 additions and 88 deletions

View File

@@ -310,55 +310,54 @@ const onInputDoubleClick = () => {
isEditable.value = true;
};
const onConfirmBtnClick = async () => {
// rule for minimum length
validatePwdLength();
if (!isPwdLengthValid.value) {
return;
}
/** Handles account creation in the confirm flow. */
async function handleCreateNew() {
await checkAccountIsUnique();
if (!isAccountUnique.value) return;
await acctMgmtStore.createNewAccount({
username: inputUserAccount.value,
password: inputPwd.value === undefined ? "" : inputPwd.value,
name: inputName.value,
is_admin: isSetAsAdminChecked.value,
is_active: isSetActivedChecked.value,
});
toast.success(i18next.t("AcctMgmt.MsgAccountAdded"));
modalStore.closeModal();
acctMgmtStore.setShouldUpdateList(true);
await router.push("/account-admin");
}
/** Handles account editing in the confirm flow. */
async function handleEditAccount() {
await checkAccountIsUnique();
if (!isAccountUnique.value) return;
// Note that the old username and new username can be different
const editDetail = {
newUsername: inputUserAccount.value,
name: inputName.value === undefined ? "" : inputName.value,
is_active: true,
};
if (isResetPwdSectionShow.value) {
editDetail.password = inputPwd.value;
}
await acctMgmtStore.editAccount(
currentViewingUser.value.username,
editDetail,
);
toast.success(i18next.t("AcctMgmt.MsgAccountEdited"));
isEditable.value = false;
}
const onConfirmBtnClick = async () => {
validatePwdLength();
if (!isPwdLengthValid.value) return;
// rule for account uniqueness
switch (whichCurrentModal.value) {
case MODAL_CREATE_NEW:
await checkAccountIsUnique();
if (!isAccountUnique.value) {
return;
}
await acctMgmtStore.createNewAccount({
username: inputUserAccount.value,
password: inputPwd.value === undefined ? "" : inputPwd.value,
name: inputName.value,
is_admin: isSetAsAdminChecked.value,
is_active: isSetActivedChecked.value,
});
toast.success(i18next.t("AcctMgmt.MsgAccountAdded"));
modalStore.closeModal();
acctMgmtStore.setShouldUpdateList(true);
await router.push("/account-admin");
await handleCreateNew();
break;
case MODAL_ACCT_EDIT:
await checkAccountIsUnique();
if (!isAccountUnique.value) {
return;
}
// Note that the old username and new username can be different
// Distinguish between cases with and without a password
if (isResetPwdSectionShow.value) {
await acctMgmtStore.editAccount(currentViewingUser.value.username, {
newUsername: inputUserAccount.value,
password: inputPwd.value,
name: inputName.value === undefined ? "" : inputName.value,
is_active: true,
});
} else {
await acctMgmtStore.editAccount(currentViewingUser.value.username, {
newUsername: inputUserAccount.value,
name: inputName.value === undefined ? "" : inputName.value,
is_active: true,
});
}
toast.success(i18next.t("AcctMgmt.MsgAccountEdited"));
isEditable.value = false;
await handleEditAccount();
break;
default:
break;