Move all integration queries/mutations to hooks

This commit is contained in:
Tuan Dang
2023-08-10 14:15:24 +07:00
parent 9963724a6a
commit 78802409bd
60 changed files with 448 additions and 300 deletions
@@ -2,6 +2,10 @@ import { useEffect, useState } from "react";
import { useRouter } from "next/router";
import queryString from "query-string";
import {
useCreateIntegration
} from "@app/hooks/api";
import {
Button,
Card,
@@ -17,7 +21,6 @@ import {
useGetIntegrationAuthVercelBranches
} from "../../../hooks/api/integrationAuth";
import { useGetWorkspaceById } from "../../../hooks/api/workspace";
import createIntegration from "../../api/integrations/createIntegration";
const vercelEnvironments = [
{ name: "Development", slug: "development" },
@@ -27,6 +30,7 @@ const vercelEnvironments = [
export default function VercelCreateIntegrationPage() {
const router = useRouter();
const { mutateAsync } = useCreateIntegration();
const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState("");
const [secretPath, setSecretPath] = useState("/");
@@ -81,7 +85,7 @@ export default function VercelCreateIntegrationPage() {
const path = targetEnvironment === "preview" && targetBranch !== "" ? targetBranch : null;
await createIntegration({
await mutateAsync({
integrationAuthId: integrationAuth?._id,
isActive: true,
app: targetApp.name,
@@ -2,10 +2,13 @@ import { useEffect } from "react";
import { useRouter } from "next/router";
import queryString from "query-string";
import AuthorizeIntegration from "../../../api/integrations/authorizeIntegration";
import {
useAuthorizeIntegration
} from "@app/hooks/api";
export default function VercelOAuth2CallbackPage() {
const router = useRouter();
const { mutateAsync } = useAuthorizeIntegration();
const { code, state } = queryString.parse(router.asPath.split("?")[1]);
@@ -15,8 +18,8 @@ export default function VercelOAuth2CallbackPage() {
// validate state
if (state !== localStorage.getItem("latestCSRFToken")) return;
localStorage.removeItem("latestCSRFToken");
const integrationAuth = await AuthorizeIntegration({
const integrationAuth = await mutateAsync({
workspaceId: localStorage.getItem("projectData.id") as string,
code: code as string,
integration: "vercel"