@@ -202,15 +195,55 @@ export const AzureEntraIdInputForm = ({
Select Users
-
+
{
- tenantId && !isError && !isFetching && isFetched && data && mappedUserList &&
-
- selectedUsers.some(selectedUser => selectedUser.id === user.id)
+ tenantId && !isError && !isFetching && isFetched && data &&
+ (
+ }
+ isRequired
+ isError={Boolean(error)}
+ errorText={error?.message}
+ >
+
+
+
+
+
+ {data.map((user) => {
+ const ids = value?.map((selectedUser) => selectedUser.id)
+ const isChecked = ids?.includes(user.id);
+ return (
+ {
+ evt.preventDefault();
+ onChange(
+ isChecked
+ ? value?.filter((el) => el.id !== user.id)
+ : [...(value || []), user]
+ );
+ }}
+ key={`create-policy-members-${user.id}`}
+ iconPos="right"
+ icon={isChecked && }
+ >
+ {user.name}
{`(${user.email})`}
+
+ );
+ })}
+
+
+
)}
- onChange={handleChange}
- data={mappedUserList}
/>
}
{
@@ -230,11 +263,15 @@ export const AzureEntraIdInputForm = ({
+
+ }
);
};
diff --git a/frontend/src/views/SecretMainPage/components/ActionBar/CreateDynamicSecretForm/CreateDynamicSecretForm.tsx b/frontend/src/views/SecretMainPage/components/ActionBar/CreateDynamicSecretForm/CreateDynamicSecretForm.tsx
index 6cbbbee60..a28544a33 100644
--- a/frontend/src/views/SecretMainPage/components/ActionBar/CreateDynamicSecretForm/CreateDynamicSecretForm.tsx
+++ b/frontend/src/views/SecretMainPage/components/ActionBar/CreateDynamicSecretForm/CreateDynamicSecretForm.tsx
@@ -1,6 +1,6 @@
import { useState } from "react";
import { DiRedis } from "react-icons/di";
-import { SiApachecassandra, SiElasticsearch, SiMongodb, SiRabbitmq } from "react-icons/si";
+import { SiApachecassandra, SiElasticsearch, SiMicrosoftazure, SiMongodb, SiRabbitmq } from "react-icons/si";
import { faAws } from "@fortawesome/free-brands-svg-icons";
import { faDatabase } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
@@ -12,7 +12,6 @@ import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types";
import { AwsElastiCacheInputForm } from "./AwsElastiCacheInputForm";
import { AwsIamInputForm } from "./AwsIamInputForm";
import { AzureEntraIdInputForm } from "./AzureEntraIdInputForm";
-import { AzureEntraIdSetup } from "./AzureEntraIdSetup";
import { CassandraInputForm } from "./CassandraInputForm";
import { ElasticSearchInputForm } from "./ElasticSearchInputForm";
import { MongoAtlasInputForm } from "./MongoAtlasInputForm";
@@ -31,7 +30,6 @@ type Props = {
enum WizardSteps {
SelectProvider = "select-provider",
- ProviderSetup = "provider-setup",
ProviderInputs = "provider-inputs"
}
@@ -82,10 +80,9 @@ const DYNAMIC_SECRET_LIST = [
title: "RabbitMQ"
},
{
- icon:
,
+ icon:
,
provider: DynamicSecretProviders.AzureEntraId,
title: "Azure Entra ID",
- hasSetupStep: true
}
];
@@ -123,7 +120,7 @@ export const CreateDynamicSecretForm = ({
>
Select a service to connect to:
- {DYNAMIC_SECRET_LIST.map(({ icon, provider, title, hasSetupStep }) => (
+ {DYNAMIC_SECRET_LIST.map(({ icon, provider, title }) => (
{
setSelectedProvider(provider);
- if(hasSetupStep){
- setWizardStep(WizardSteps.ProviderSetup);
- } else {
- setWizardStep(WizardSteps.ProviderInputs);
- }
+ setWizardStep(WizardSteps.ProviderInputs);
}}
onKeyDown={(evt) => {
if (evt.key === "Enter") {
setSelectedProvider(provider);
setWizardStep(WizardSteps.ProviderInputs);
}
- if(hasSetupStep){
- setWizardStep(WizardSteps.ProviderSetup);
- } else {
- setWizardStep(WizardSteps.ProviderInputs);
- }
}}
>
{icon}
@@ -156,23 +144,6 @@ export const CreateDynamicSecretForm = ({
)}
- {
- wizardStep === WizardSteps.ProviderSetup && selectedProvider === DynamicSecretProviders.AzureEntraId
- && (
-
- { setWizardStep(WizardSteps.ProviderInputs) }}
- onCancel={handleFormReset}
- />
-
- )
- }
{wizardStep === WizardSteps.ProviderInputs &&
selectedProvider === DynamicSecretProviders.SqlDatabase && (