Skip to content

Commit 98056b7

Browse files
fix(ui): auto-populate OCI tenancy from provider UID in credentials form (#9074)
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com>
1 parent f15ef0d commit 98056b7

File tree

6 files changed

+17
-3
lines changed

6 files changed

+17
-3
lines changed

ui/app/(prowler)/providers/(set-up-provider)/add-credentials/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ export default async function AddCredentialsPage({ searchParams }: Props) {
3030
const formData = new FormData();
3131
formData.append("id", providerId);
3232
const providerResponse = await getProvider(formData);
33-
if (providerResponse.success && providerResponse.data) {
34-
providerUid = providerResponse.data.attributes?.uid;
33+
if (providerResponse?.data?.attributes?.uid) {
34+
providerUid = providerResponse.data.attributes.uid;
3535
}
3636
}
3737

ui/components/providers/workflow/forms/base-credentials-form.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ export const BaseCredentialsForm = ({
6666
} = useCredentialsForm({
6767
providerType,
6868
providerId,
69+
providerUid,
6970
onSubmit,
7071
successNavigationUrl,
7172
});

ui/components/providers/workflow/forms/via-credentials/oraclecloud-credentials-form.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Control } from "react-hook-form";
1+
import { Control, Controller } from "react-hook-form";
22

33
import { CustomInput, CustomTextarea } from "@/components/ui/custom";
44
import { ProviderCredentialFields } from "@/lib/provider-credentials/provider-credential-fields";
@@ -19,6 +19,12 @@ export const OracleCloudCredentialsForm = ({
1919
Please provide your Oracle Cloud Infrastructure API key credentials.
2020
</div>
2121
</div>
22+
{/* Hidden input for tenancy - auto-populated from provider UID */}
23+
<Controller
24+
control={control}
25+
name={ProviderCredentialFields.OCI_TENANCY}
26+
render={({ field }) => <input type="hidden" {...field} />}
27+
/>
2228
<CustomInput
2329
control={control}
2430
name={ProviderCredentialFields.OCI_USER}

ui/hooks/use-credentials-form.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,15 @@ import {
1717
type UseCredentialsFormProps = {
1818
providerType: ProviderType;
1919
providerId: string;
20+
providerUid?: string;
2021
onSubmit: (formData: FormData) => Promise<any>;
2122
successNavigationUrl: string;
2223
};
2324

2425
export const useCredentialsForm = ({
2526
providerType,
2627
providerId,
28+
providerUid,
2729
onSubmit,
2830
successNavigationUrl,
2931
}: UseCredentialsFormProps) => {
@@ -161,6 +163,7 @@ export const useCredentialsForm = ({
161163
[ProviderCredentialFields.OCI_USER]: "",
162164
[ProviderCredentialFields.OCI_FINGERPRINT]: "",
163165
[ProviderCredentialFields.OCI_KEY_CONTENT]: "",
166+
[ProviderCredentialFields.OCI_TENANCY]: providerUid || "",
164167
[ProviderCredentialFields.OCI_REGION]: "",
165168
[ProviderCredentialFields.OCI_PASS_PHRASE]: "",
166169
};

ui/types/components.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,7 @@ export type OCICredentials = {
252252
[ProviderCredentialFields.OCI_USER]: string;
253253
[ProviderCredentialFields.OCI_FINGERPRINT]: string;
254254
[ProviderCredentialFields.OCI_KEY_CONTENT]: string;
255+
[ProviderCredentialFields.OCI_TENANCY]: string;
255256
[ProviderCredentialFields.OCI_REGION]: string;
256257
[ProviderCredentialFields.OCI_PASS_PHRASE]?: string;
257258
[ProviderCredentialFields.PROVIDER_ID]: string;

ui/types/formSchemas.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,9 @@ export const addCredentialsFormSchema = (
207207
[ProviderCredentialFields.OCI_KEY_CONTENT]: z
208208
.string()
209209
.min(1, "Private Key Content is required"),
210+
[ProviderCredentialFields.OCI_TENANCY]: z
211+
.string()
212+
.min(1, "Tenancy OCID is required"),
210213
[ProviderCredentialFields.OCI_REGION]: z
211214
.string()
212215
.min(1, "Region is required"),

0 commit comments

Comments
 (0)