fix: update credential validation to respect required status

This commit is contained in:
Viren070
2025-11-07 23:20:56 +00:00
parent 9f266daa7d
commit 9f16926850
2 changed files with 10 additions and 4 deletions
+2 -1
View File
@@ -243,7 +243,8 @@ export function getEnvironmentServiceDetails(): typeof constants.SERVICE_DETAILS
type: cred.type,
// remove required attribute from field to allow users to remove credentials.
// server will still validate.
required: false,
// required: false,
required: cred.required,
default: getServiceCredentialDefault(service.id, cred.id)
? encryptString(getServiceCredentialDefault(service.id, cred.id)!)
.data
@@ -203,7 +203,9 @@ function Content() {
// Check if any required credential is missing
return (
service.enabled &&
svcMeta.credentials.some((cred) => !service.credentials?.[cred.id])
svcMeta.credentials.some(
(cred) => !service.credentials?.[cred.id] && cred.required
)
);
})
.map((service) => status.settings.services[service.id]?.name) ?? [];
@@ -570,9 +572,12 @@ function ServiceModal({
{credentials.map((opt) => (
<TemplateOption
key={opt.id}
option={opt}
option={{
...opt,
required: false, // override required to false to allow unsetting
}}
value={opt.forced || opt.default || values[opt.id]}
onChange={(v) => handleCredentialChange(opt.id, v)}
onChange={(v) => handleCredentialChange(opt.id, v || undefined)}
/>
))}
<div className="flex gap-2">