Standardizes keyPassword field handling and simplifies auth field logic

Standardizes the handling of the `keyPassword` field by converting
`key_password` to camelCase and ensuring consistent output while
preserving resolved credentials. Removes redundant snake_case
fields to avoid duplication.

Simplifies UI handling of authentication fields by allowing
non-relevant fields to persist, delegating filtering logic to the
backend for cleaner and more maintainable code.

Improves code clarity and aligns with consistent data handling
practices.
This commit is contained in:
Ved Prakash
2025-10-08 02:16:43 +05:30
parent ceda083776
commit 51be6544cd
2 changed files with 8 additions and 17 deletions

View File

@@ -711,7 +711,7 @@ router.get(
authType: resolvedHost.authType,
password: resolvedHost.password || null,
key: resolvedHost.key || null,
key_password: resolvedHost.key_password || null,
keyPassword: resolvedHost.keyPassword || null,
keyType: resolvedHost.keyType || null,
folder: resolvedHost.folder,
tags:
@@ -1243,7 +1243,11 @@ async function resolveHostCredentials(host: any): Promise<any> {
// Convert snake_case to camelCase for hosts without credentials
const result = { ...host };
if (host.key_password !== undefined) {
result.keyPassword = host.key_password;
// Only use the inline key_password if keyPassword hasn't been set by credential resolution
if (result.keyPassword === undefined) {
result.keyPassword = host.key_password;
}
// Always remove the snake_case version to standardize the output
delete result.key_password;
}
return result;

View File

@@ -877,21 +877,8 @@ export function HostManagerEditor({
| "credential";
setAuthTab(newAuthType);
form.setValue("authType", newAuthType);
if (newAuthType === "password") {
form.setValue("key", null);
form.setValue("keyPassword", "");
form.setValue("keyType", "auto");
form.setValue("credentialId", null);
} else if (newAuthType === "key") {
form.setValue("password", "");
form.setValue("credentialId", null);
} else if (newAuthType === "credential") {
form.setValue("password", "");
form.setValue("key", null);
form.setValue("keyPassword", "");
form.setValue("keyType", "auto");
}
// Don't clear other auth fields - let them persist
// The backend will only use the fields relevant to the selected authType
}}
className="flex-1 flex flex-col h-full min-h-0"
>