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:
@@ -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;
|
||||
|
||||
@@ -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"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user