mirror of
https://github.com/fosrl/pangolin.git
synced 2026-05-17 06:24:32 +00:00
✨set opt email whitelist
This commit is contained in:
@@ -16,6 +16,10 @@ import z from "zod";
|
|||||||
|
|
||||||
import { createPolicySchema, type PolicyFormValues } from ".";
|
import { createPolicySchema, type PolicyFormValues } from ".";
|
||||||
|
|
||||||
|
import { toast } from "@app/hooks/useToast";
|
||||||
|
import { createApiClient, formatAxiosError } from "@app/lib/api";
|
||||||
|
import { useEnvContext } from "@app/hooks/useEnvContext";
|
||||||
|
import type { AxiosResponse } from "axios";
|
||||||
import { SwitchInput } from "@app/components/SwitchInput";
|
import { SwitchInput } from "@app/components/SwitchInput";
|
||||||
import { Tag, TagInput } from "@app/components/tags/tag-input";
|
import { Tag, TagInput } from "@app/components/tags/tag-input";
|
||||||
import { Alert, AlertDescription, AlertTitle } from "@app/components/ui/alert";
|
import { Alert, AlertDescription, AlertTitle } from "@app/components/ui/alert";
|
||||||
@@ -52,6 +56,8 @@ export function EditPolicyOtpEmailSectionForm({
|
|||||||
const { policy } = useResourcePolicyContext();
|
const { policy } = useResourcePolicyContext();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
const api = createApiClient(useEnvContext());
|
||||||
|
|
||||||
const form = useForm({
|
const form = useForm({
|
||||||
resolver: zodResolver(
|
resolver: zodResolver(
|
||||||
createPolicySchema.pick({
|
createPolicySchema.pick({
|
||||||
@@ -87,7 +93,40 @@ export function EditPolicyOtpEmailSectionForm({
|
|||||||
|
|
||||||
const payload = form.getValues();
|
const payload = form.getValues();
|
||||||
|
|
||||||
console.log({ payload, policy });
|
try {
|
||||||
|
const res = await api
|
||||||
|
.put<AxiosResponse<{}>>(
|
||||||
|
`/resource-policy/${policy.resourcePolicyId}/whitelist`,
|
||||||
|
{
|
||||||
|
emailWhitelistEnabled: payload.emailWhitelistEnabled,
|
||||||
|
emails: payload.emails?.map((e) => e.text) ?? []
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.catch((e) => {
|
||||||
|
toast({
|
||||||
|
variant: "destructive",
|
||||||
|
title: t("policyErrorUpdate"),
|
||||||
|
description: formatAxiosError(
|
||||||
|
e,
|
||||||
|
t("policyErrorUpdateDescription")
|
||||||
|
)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
if (res && res.status === 200) {
|
||||||
|
toast({
|
||||||
|
title: t("success"),
|
||||||
|
description: t("policyUpdatedSuccess")
|
||||||
|
});
|
||||||
|
router.refresh();
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
toast({
|
||||||
|
variant: "destructive",
|
||||||
|
title: t("policyErrorUpdate"),
|
||||||
|
description: t("policyErrorUpdateMessageDescription")
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isExpanded) {
|
if (!isExpanded) {
|
||||||
|
|||||||
Reference in New Issue
Block a user