mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 09:28:54 +00:00
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:
parent
11fa6ff313
commit
c99aa8cbff
6 changed files with 23 additions and 14 deletions
|
|
@ -147,12 +147,14 @@ const CertificateAuthorities = () => {
|
||||||
onExit={onAddedNewCertAuthority}
|
onExit={onAddedNewCertAuthority}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{showEditCertAuthorityModal && selectedCertAuthority && (
|
{showEditCertAuthorityModal &&
|
||||||
<EditCertAuthorityModal
|
selectedCertAuthority &&
|
||||||
certAuthority={selectedCertAuthority}
|
certAuthorities && (
|
||||||
onExit={onEditedCertAuthority}
|
<EditCertAuthorityModal
|
||||||
/>
|
certAuthority={selectedCertAuthority}
|
||||||
)}
|
onExit={onEditedCertAuthority}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
{showDeleteCertAuthorityModal && selectedCertAuthority && (
|
{showDeleteCertAuthorityModal && selectedCertAuthority && (
|
||||||
<DeleteCertificateAuthorityModal
|
<DeleteCertificateAuthorityModal
|
||||||
certAuthority={selectedCertAuthority}
|
certAuthority={selectedCertAuthority}
|
||||||
|
|
|
||||||
|
|
@ -165,6 +165,7 @@ const AddCertAuthorityModal = ({
|
||||||
return (
|
return (
|
||||||
<DigicertForm
|
<DigicertForm
|
||||||
formData={digicertFormData}
|
formData={digicertFormData}
|
||||||
|
certAuthorities={certAuthorities}
|
||||||
submitBtnText={submitBtnText}
|
submitBtnText={submitBtnText}
|
||||||
isSubmitting={isAdding}
|
isSubmitting={isAdding}
|
||||||
onChange={onChangeForm}
|
onChange={onChangeForm}
|
||||||
|
|
@ -176,6 +177,7 @@ const AddCertAuthorityModal = ({
|
||||||
return (
|
return (
|
||||||
<HydrantForm
|
<HydrantForm
|
||||||
formData={hydrantFormData}
|
formData={hydrantFormData}
|
||||||
|
certAuthorities={certAuthorities}
|
||||||
submitBtnText={submitBtnText}
|
submitBtnText={submitBtnText}
|
||||||
isSubmitting={isAdding}
|
isSubmitting={isAdding}
|
||||||
onChange={onChangeForm}
|
onChange={onChangeForm}
|
||||||
|
|
@ -198,6 +200,7 @@ const AddCertAuthorityModal = ({
|
||||||
return (
|
return (
|
||||||
<CustomSCEPForm
|
<CustomSCEPForm
|
||||||
formData={customSCEPFormData}
|
formData={customSCEPFormData}
|
||||||
|
certAuthorities={certAuthorities}
|
||||||
submitBtnText={submitBtnText}
|
submitBtnText={submitBtnText}
|
||||||
isSubmitting={isAdding}
|
isSubmitting={isAdding}
|
||||||
onChange={onChangeForm}
|
onChange={onChangeForm}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ type IFormValidations = Record<
|
||||||
>;
|
>;
|
||||||
|
|
||||||
export const generateFormValidations = (
|
export const generateFormValidations = (
|
||||||
customSCEPIntegrations: ICertificateAuthorityPartial[],
|
certAuthorities: ICertificateAuthorityPartial[],
|
||||||
isEditing: boolean
|
isEditing: boolean
|
||||||
) => {
|
) => {
|
||||||
const FORM_VALIDATIONS: IFormValidations = {
|
const FORM_VALIDATIONS: IFormValidations = {
|
||||||
|
|
@ -54,8 +54,10 @@ export const generateFormValidations = (
|
||||||
isValid: (formData: ICustomSCEPFormData) => {
|
isValid: (formData: ICustomSCEPFormData) => {
|
||||||
return (
|
return (
|
||||||
isEditing ||
|
isEditing ||
|
||||||
customSCEPIntegrations.find(
|
certAuthorities.find(
|
||||||
(cert) => cert.name === formData.name
|
(cert) =>
|
||||||
|
cert.type === "custom_scep_proxy" &&
|
||||||
|
cert.name === formData.name
|
||||||
) === undefined
|
) === undefined
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -57,8 +57,10 @@ export const generateFormValidations = (
|
||||||
isValid: (formData: IDigicertFormData) => {
|
isValid: (formData: IDigicertFormData) => {
|
||||||
return (
|
return (
|
||||||
isEditing ||
|
isEditing ||
|
||||||
certAuthorities.find((cert) => cert.name === formData.name) ===
|
certAuthorities.find(
|
||||||
undefined
|
(cert) =>
|
||||||
|
cert.type === "digicert" && cert.name === formData.name
|
||||||
|
) === undefined
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
message: "Name is already used by another DigiCert CA.",
|
message: "Name is already used by another DigiCert CA.",
|
||||||
|
|
|
||||||
|
|
@ -59,8 +59,9 @@ export const generateFormValidations = (
|
||||||
isValid: (formData: IHydrantFormData) => {
|
isValid: (formData: IHydrantFormData) => {
|
||||||
return (
|
return (
|
||||||
isEditing ||
|
isEditing ||
|
||||||
certAuthorities.find((cert) => cert.name === formData.name) ===
|
certAuthorities.find(
|
||||||
undefined
|
(cert) => cert.type === "hydrant" && cert.name === formData.name
|
||||||
|
) === undefined
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
message: "Name is already used by another Hydrant CA.",
|
message: "Name is already used by another Hydrant CA.",
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,6 @@ const NDESForm = ({
|
||||||
formData,
|
formData,
|
||||||
submitBtnText,
|
submitBtnText,
|
||||||
isSubmitting,
|
isSubmitting,
|
||||||
isEditing = false,
|
|
||||||
isDirty = true,
|
isDirty = true,
|
||||||
onChange,
|
onChange,
|
||||||
onSubmit,
|
onSubmit,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue