mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-04 15:26:20 +00:00
misc: added proper notifs for paths with policies in overview
This commit is contained in:
@@ -351,7 +351,7 @@ export const SecretOverviewPage = () => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await createSecretV3({
|
const result = await createSecretV3({
|
||||||
environment: env,
|
environment: env,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
secretPath,
|
secretPath,
|
||||||
@@ -360,10 +360,18 @@ export const SecretOverviewPage = () => {
|
|||||||
secretComment: "",
|
secretComment: "",
|
||||||
type: SecretType.Shared
|
type: SecretType.Shared
|
||||||
});
|
});
|
||||||
createNotification({
|
|
||||||
type: "success",
|
if ("approval" in result) {
|
||||||
text: "Successfully created secret"
|
createNotification({
|
||||||
});
|
type: "info",
|
||||||
|
text: "Requested change has been sent for review"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
createNotification({
|
||||||
|
type: "success",
|
||||||
|
text: "Successfully created secret"
|
||||||
|
});
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
createNotification({
|
createNotification({
|
||||||
@@ -388,7 +396,7 @@ export const SecretOverviewPage = () => {
|
|||||||
type = SecretType.Shared
|
type = SecretType.Shared
|
||||||
) => {
|
) => {
|
||||||
try {
|
try {
|
||||||
await updateSecretV3({
|
const result = await updateSecretV3({
|
||||||
environment: env,
|
environment: env,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
secretPath,
|
secretPath,
|
||||||
@@ -396,10 +404,18 @@ export const SecretOverviewPage = () => {
|
|||||||
secretValue: value,
|
secretValue: value,
|
||||||
type
|
type
|
||||||
});
|
});
|
||||||
createNotification({
|
|
||||||
type: "success",
|
if ("approval" in result) {
|
||||||
text: "Successfully updated secret"
|
createNotification({
|
||||||
});
|
type: "info",
|
||||||
|
text: "Requested change has been sent for review"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
createNotification({
|
||||||
|
type: "success",
|
||||||
|
text: "Successfully updated secret"
|
||||||
|
});
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
createNotification({
|
createNotification({
|
||||||
@@ -411,7 +427,7 @@ export const SecretOverviewPage = () => {
|
|||||||
|
|
||||||
const handleSecretDelete = async (env: string, key: string, secretId?: string) => {
|
const handleSecretDelete = async (env: string, key: string, secretId?: string) => {
|
||||||
try {
|
try {
|
||||||
await deleteSecretV3({
|
const result = await deleteSecretV3({
|
||||||
environment: env,
|
environment: env,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
secretPath,
|
secretPath,
|
||||||
@@ -419,10 +435,18 @@ export const SecretOverviewPage = () => {
|
|||||||
secretId,
|
secretId,
|
||||||
type: SecretType.Shared
|
type: SecretType.Shared
|
||||||
});
|
});
|
||||||
createNotification({
|
|
||||||
type: "success",
|
if ("approval" in result) {
|
||||||
text: "Successfully deleted secret"
|
createNotification({
|
||||||
});
|
type: "info",
|
||||||
|
text: "Requested change has been sent for review"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
createNotification({
|
||||||
|
type: "success",
|
||||||
|
text: "Successfully deleted secret"
|
||||||
|
});
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
createNotification({
|
createNotification({
|
||||||
|
|||||||
+53
-19
@@ -122,42 +122,76 @@ export const CreateSecretForm = ({
|
|||||||
|
|
||||||
const isEdit = getSecretByKey(environment, key) !== undefined;
|
const isEdit = getSecretByKey(environment, key) !== undefined;
|
||||||
if (isEdit) {
|
if (isEdit) {
|
||||||
return updateSecretV3({
|
return {
|
||||||
|
...(await updateSecretV3({
|
||||||
|
environment,
|
||||||
|
workspaceId,
|
||||||
|
secretPath,
|
||||||
|
secretKey: key,
|
||||||
|
secretValue: value || "",
|
||||||
|
type: SecretType.Shared
|
||||||
|
})),
|
||||||
|
environment
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
...(await createSecretV3({
|
||||||
environment,
|
environment,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
secretPath,
|
secretPath,
|
||||||
secretKey: key,
|
secretKey: key,
|
||||||
secretValue: value || "",
|
secretValue: value || "",
|
||||||
|
secretComment: "",
|
||||||
type: SecretType.Shared
|
type: SecretType.Shared
|
||||||
});
|
})),
|
||||||
}
|
environment
|
||||||
|
};
|
||||||
return createSecretV3({
|
|
||||||
environment,
|
|
||||||
workspaceId,
|
|
||||||
secretPath,
|
|
||||||
secretKey: key,
|
|
||||||
secretValue: value || "",
|
|
||||||
secretComment: "",
|
|
||||||
type: SecretType.Shared
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const results = await Promise.allSettled(promises);
|
const results = await Promise.allSettled(promises);
|
||||||
const isSecretsAdded = results.some((result) => result.status === "fulfilled");
|
const forApprovalEnvs = results
|
||||||
|
.map((result) =>
|
||||||
|
result.status === "fulfilled" && "approval" in result.value
|
||||||
|
? result.value.environment
|
||||||
|
: undefined
|
||||||
|
)
|
||||||
|
.filter(Boolean) as string[];
|
||||||
|
|
||||||
if (isSecretsAdded) {
|
const updatedEnvs = results
|
||||||
|
.map((result) =>
|
||||||
|
result.status === "fulfilled" && !("approval" in result.value)
|
||||||
|
? result.value.environment
|
||||||
|
: undefined
|
||||||
|
)
|
||||||
|
.filter(Boolean) as string[];
|
||||||
|
|
||||||
|
if (forApprovalEnvs.length) {
|
||||||
|
createNotification({
|
||||||
|
type: "info",
|
||||||
|
text: `Change request submitted for ${
|
||||||
|
forApprovalEnvs.length > 1 ? "environments" : "environment"
|
||||||
|
}: ${forApprovalEnvs.join(", ")}`
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (updatedEnvs.length) {
|
||||||
createNotification({
|
createNotification({
|
||||||
type: "success",
|
type: "success",
|
||||||
text: "Secrets created successfully"
|
text: `Secrets created in ${
|
||||||
|
updatedEnvs.length > 1 ? "environments" : "environment"
|
||||||
|
}: ${updatedEnvs.join(", ")}`
|
||||||
});
|
});
|
||||||
onClose();
|
}
|
||||||
reset();
|
|
||||||
} else {
|
if (!updatedEnvs.length && !forApprovalEnvs.length) {
|
||||||
createNotification({
|
createNotification({
|
||||||
type: "error",
|
type: "error",
|
||||||
text: "Failed to create secrets"
|
text: "Failed to create secrets"
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
onClose();
|
||||||
|
reset();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user