dont allow cert to have same name if the same cert type in the UI (#33343)

fixes #33246

This adds logic on the UI to show an error if a cert with the same types
tries to create a new cert with an existing name
This commit is contained in:
Gabriel Hernandez 2025-09-23 17:11:10 +01:00 committed by GitHub
parent 11fa6ff313
commit c99aa8cbff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 23 additions and 14 deletions

View file

@ -147,12 +147,14 @@ const CertificateAuthorities = () => {
onExit={onAddedNewCertAuthority}
/>
)}
{showEditCertAuthorityModal && selectedCertAuthority && (
<EditCertAuthorityModal
certAuthority={selectedCertAuthority}
onExit={onEditedCertAuthority}
/>
)}
{showEditCertAuthorityModal &&
selectedCertAuthority &&
certAuthorities && (
<EditCertAuthorityModal
certAuthority={selectedCertAuthority}
onExit={onEditedCertAuthority}
/>
)}
{showDeleteCertAuthorityModal && selectedCertAuthority && (
<DeleteCertificateAuthorityModal
certAuthority={selectedCertAuthority}

View file

@ -165,6 +165,7 @@ const AddCertAuthorityModal = ({
return (
<DigicertForm
formData={digicertFormData}
certAuthorities={certAuthorities}
submitBtnText={submitBtnText}
isSubmitting={isAdding}
onChange={onChangeForm}
@ -176,6 +177,7 @@ const AddCertAuthorityModal = ({
return (
<HydrantForm
formData={hydrantFormData}
certAuthorities={certAuthorities}
submitBtnText={submitBtnText}
isSubmitting={isAdding}
onChange={onChangeForm}
@ -198,6 +200,7 @@ const AddCertAuthorityModal = ({
return (
<CustomSCEPForm
formData={customSCEPFormData}
certAuthorities={certAuthorities}
submitBtnText={submitBtnText}
isSubmitting={isAdding}
onChange={onChangeForm}

View file

@ -29,7 +29,7 @@ type IFormValidations = Record<
>;
export const generateFormValidations = (
customSCEPIntegrations: ICertificateAuthorityPartial[],
certAuthorities: ICertificateAuthorityPartial[],
isEditing: boolean
) => {
const FORM_VALIDATIONS: IFormValidations = {
@ -54,8 +54,10 @@ export const generateFormValidations = (
isValid: (formData: ICustomSCEPFormData) => {
return (
isEditing ||
customSCEPIntegrations.find(
(cert) => cert.name === formData.name
certAuthorities.find(
(cert) =>
cert.type === "custom_scep_proxy" &&
cert.name === formData.name
) === undefined
);
},

View file

@ -57,8 +57,10 @@ export const generateFormValidations = (
isValid: (formData: IDigicertFormData) => {
return (
isEditing ||
certAuthorities.find((cert) => cert.name === formData.name) ===
undefined
certAuthorities.find(
(cert) =>
cert.type === "digicert" && cert.name === formData.name
) === undefined
);
},
message: "Name is already used by another DigiCert CA.",

View file

@ -59,8 +59,9 @@ export const generateFormValidations = (
isValid: (formData: IHydrantFormData) => {
return (
isEditing ||
certAuthorities.find((cert) => cert.name === formData.name) ===
undefined
certAuthorities.find(
(cert) => cert.type === "hydrant" && cert.name === formData.name
) === undefined
);
},
message: "Name is already used by another Hydrant CA.",

View file

@ -31,7 +31,6 @@ const NDESForm = ({
formData,
submitBtnText,
isSubmitting,
isEditing = false,
isDirty = true,
onChange,
onSubmit,