diff --git a/src/app/[orgId]/settings/(private)/access/approvals/page.tsx b/src/app/[orgId]/settings/(private)/access/approvals/page.tsx index 5db0f4a5..0fef0d78 100644 --- a/src/app/[orgId]/settings/(private)/access/approvals/page.tsx +++ b/src/app/[orgId]/settings/(private)/access/approvals/page.tsx @@ -1,8 +1,9 @@ -import { ApprovalFeed, type ApprovalItem } from "@app/components/ApprovalFeed"; +import { ApprovalFeed } from "@app/components/ApprovalFeed"; import SettingsSectionTitle from "@app/components/SettingsSectionTitle"; import { internal } from "@app/lib/api"; import { authCookieHeader } from "@app/lib/api/cookies"; import { getCachedOrg } from "@app/lib/api/getCachedOrg"; +import type { ApprovalItem } from "@app/lib/queries"; import OrgProvider from "@app/providers/OrgProvider"; import type { GetOrgResponse } from "@server/routers/org"; import type { AxiosResponse } from "axios"; diff --git a/src/components/ApprovalFeed.tsx b/src/components/ApprovalFeed.tsx index 05f97f72..b3d446b1 100644 --- a/src/components/ApprovalFeed.tsx +++ b/src/components/ApprovalFeed.tsx @@ -3,7 +3,11 @@ import { useEnvContext } from "@app/hooks/useEnvContext"; import { toast } from "@app/hooks/useToast"; import { createApiClient, formatAxiosError } from "@app/lib/api"; import { cn } from "@app/lib/cn"; -import { approvalFiltersSchema, approvalQueries } from "@app/lib/queries"; +import { + approvalFiltersSchema, + approvalQueries, + type ApprovalItem +} from "@app/lib/queries"; import { useQuery } from "@tanstack/react-query"; import { ArrowRight, Ban, Check, LaptopMinimal, RefreshCw } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -23,19 +27,6 @@ import { } from "./ui/select"; import { Separator } from "./ui/separator"; -export type ApprovalItem = { - approvalId: number; - orgId: string; - clientId: number | null; - decision: "pending" | "approved" | "denied"; - type: "user_device"; - user: { - name: string | null; - userId: string; - username: string; - }; -}; - export type ApprovalFeedProps = { orgId: string; }; diff --git a/src/lib/queries.ts b/src/lib/queries.ts index 2e9647c7..de2dc64a 100644 --- a/src/lib/queries.ts +++ b/src/lib/queries.ts @@ -1,5 +1,11 @@ import { build } from "@server/build"; +import type { QueryRequestAnalyticsResponse } from "@server/routers/auditLogs"; import type { ListClientsResponse } from "@server/routers/client"; +import type { ListDomainsResponse } from "@server/routers/domain"; +import type { + GetResourceWhitelistResponse, + ListResourceNamesResponse +} from "@server/routers/resource"; import type { ListRolesResponse } from "@server/routers/role"; import type { ListSitesResponse } from "@server/routers/site"; import type { @@ -7,21 +13,14 @@ import type { ListSiteResourceRolesResponse, ListSiteResourceUsersResponse } from "@server/routers/siteResource"; +import type { ListTargetsResponse } from "@server/routers/target"; import type { ListUsersResponse } from "@server/routers/user"; import type ResponseT from "@server/types/Response"; import { keepPreviousData, queryOptions } from "@tanstack/react-query"; -import type { AxiosInstance, AxiosResponse } from "axios"; +import type { AxiosResponse } from "axios"; import z from "zod"; import { remote } from "./api"; import { durationToMs } from "./durationToMs"; -import type { QueryRequestAnalyticsResponse } from "@server/routers/auditLogs"; -import type { - GetResourceWhitelistResponse, - ListResourceNamesResponse -} from "@server/routers/resource"; -import type { ListTargetsResponse } from "@server/routers/target"; -import type { ListDomainsResponse } from "@server/routers/domain"; -import type { ListApprovalsResponse } from "@server/private/routers/approvals"; export type ProductUpdate = { link: string | null; @@ -331,6 +330,19 @@ export const approvalFiltersSchema = z.object({ .catch("all") }); +export type ApprovalItem = { + approvalId: number; + orgId: string; + clientId: number | null; + decision: "pending" | "approved" | "denied"; + type: "user_device"; + user: { + name: string | null; + userId: string; + username: string; + }; +}; + export const approvalQueries = { listApprovals: ( orgId: string, @@ -346,7 +358,7 @@ export const approvalQueries = { } const res = await meta!.api.get< - AxiosResponse + AxiosResponse<{ approvals: ApprovalItem[] }> >(`/org/${orgId}/approvals?${sp.toString()}`, { signal });