misc: added proper error message hints

This commit is contained in:
Sheen Capadngan
2024-09-05 01:20:12 +08:00
parent 803f56cfe5
commit 9e95fdbb58
3 changed files with 38 additions and 12 deletions

View File

@@ -125,7 +125,11 @@ export const slackServiceFactory = ({
if (!slackClientId || !slackClientSecret) {
throw new BadRequestError({
message: "Invalid slack configuration"
message: `Invalid Slack configuration. ${
appCfg.isCloud
? "Please contact the Infisical team."
: "Contact your instance admin to setup Slack integration in the Admin settings."
}`
});
}

View File

@@ -2,6 +2,7 @@ import { useRouter } from "next/router";
import { faSlack } from "@fortawesome/free-brands-svg-icons";
import { faEllipsis, faGear, faPlus } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import axios from "axios";
import { twMerge } from "tailwind-merge";
import { createNotification } from "@app/components/notifications";
@@ -71,12 +72,21 @@ export const OrgWorkflowIntegrationTab = withPermission(
const triggerReinstall = async (platform: WorkflowIntegrationPlatform, id: string) => {
if (platform === WorkflowIntegrationPlatform.SLACK) {
const slackReinstallUrl = await fetchSlackReinstallUrl({
slackIntegrationId: id
});
try {
const slackReinstallUrl = await fetchSlackReinstallUrl({
slackIntegrationId: id
});
if (slackReinstallUrl) {
router.push(slackReinstallUrl);
if (slackReinstallUrl) {
router.push(slackReinstallUrl);
}
} catch (err) {
if (axios.isAxiosError(err)) {
createNotification({
text: (err.response?.data as { message: string })?.message,
type: "error"
});
}
}
}
};

View File

@@ -2,6 +2,7 @@ import { useEffect } from "react";
import { Controller, useForm } from "react-hook-form";
import { useRouter } from "next/router";
import { zodResolver } from "@hookform/resolvers/zod";
import axios from "axios";
import { z } from "zod";
import { createNotification } from "@app/components/notifications";
@@ -51,12 +52,23 @@ export const SlackIntegrationForm = ({ id, onClose }: Props) => {
const triggerSlackInstall = async (slug: string, description?: string) => {
setIsConnectLoading.on();
const slackInstallUrl = await fetchSlackInstallUrl({
slug,
description
});
if (slackInstallUrl) {
router.push(slackInstallUrl);
try {
const slackInstallUrl = await fetchSlackInstallUrl({
slug,
description
});
if (slackInstallUrl) {
router.push(slackInstallUrl);
}
} catch (err) {
if (axios.isAxiosError(err)) {
createNotification({
text: (err.response?.data as { message: string })?.message,
type: "error"
});
}
} finally {
setIsConnectLoading.off();
}
};