From e520e3e217b5a1ad872dcb4ccaac443ecbe3bfd2 Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Wed, 17 Dec 2025 20:31:09 +0000 Subject: [PATCH] chore: delete unused useMembers hook from use-rbac.ts --- surfsense_web/hooks/use-rbac.ts | 122 -------------------------------- 1 file changed, 122 deletions(-) diff --git a/surfsense_web/hooks/use-rbac.ts b/surfsense_web/hooks/use-rbac.ts index e7f85b87e..b4b3693d5 100644 --- a/surfsense_web/hooks/use-rbac.ts +++ b/surfsense_web/hooks/use-rbac.ts @@ -96,128 +96,6 @@ export interface InviteInfo { // ============ Members Hook ============ -export function useMembers(searchSpaceId: number) { - const [members, setMembers] = useState([]); - const [loading, setLoading] = useState(true); - const [error, setError] = useState(null); - - const fetchMembers = useCallback(async () => { - if (!searchSpaceId) return; - - try { - setLoading(true); - const response = await authenticatedFetch( - `${process.env.NEXT_PUBLIC_FASTAPI_BACKEND_URL}/api/v1/searchspaces/${searchSpaceId}/members`, - { method: "GET" } - ); - - if (!response.ok) { - const errorData = await response.json().catch(() => ({})); - throw new Error(errorData.detail || "Failed to fetch members"); - } - - const data = await response.json(); - setMembers(data); - setError(null); - return data; - } catch (err: any) { - setError(err.message || "Failed to fetch members"); - console.error("Error fetching members:", err); - } finally { - setLoading(false); - } - }, [searchSpaceId]); - - useEffect(() => { - fetchMembers(); - }, [fetchMembers]); - - const updateMemberRole = useCallback( - async (membershipId: number, roleId: number | null) => { - try { - const response = await authenticatedFetch( - `${process.env.NEXT_PUBLIC_FASTAPI_BACKEND_URL}/api/v1/searchspaces/${searchSpaceId}/members/${membershipId}`, - { - headers: { "Content-Type": "application/json" }, - method: "PUT", - body: JSON.stringify({ role_id: roleId }), - } - ); - - if (!response.ok) { - const errorData = await response.json().catch(() => ({})); - throw new Error(errorData.detail || "Failed to update member role"); - } - - const updatedMember = await response.json(); - setMembers((prev) => prev.map((m) => (m.id === membershipId ? updatedMember : m))); - toast.success("Member role updated successfully"); - return updatedMember; - } catch (err: any) { - toast.error(err.message || "Failed to update member role"); - throw err; - } - }, - [searchSpaceId] - ); - - const removeMember = useCallback( - async (membershipId: number) => { - try { - const response = await authenticatedFetch( - `${process.env.NEXT_PUBLIC_FASTAPI_BACKEND_URL}/api/v1/searchspaces/${searchSpaceId}/members/${membershipId}`, - { method: "DELETE" } - ); - - if (!response.ok) { - const errorData = await response.json().catch(() => ({})); - throw new Error(errorData.detail || "Failed to remove member"); - } - - setMembers((prev) => prev.filter((m) => m.id !== membershipId)); - toast.success("Member removed successfully"); - return true; - } catch (err: any) { - toast.error(err.message || "Failed to remove member"); - return false; - } - }, - [searchSpaceId] - ); - - const leaveSearchSpace = useCallback(async () => { - try { - const response = await authenticatedFetch( - `${process.env.NEXT_PUBLIC_FASTAPI_BACKEND_URL}/api/v1/searchspaces/${searchSpaceId}/members/me`, - { method: "DELETE" } - ); - - if (!response.ok) { - const errorData = await response.json().catch(() => ({})); - throw new Error(errorData.detail || "Failed to leave search space"); - } - - toast.success("Successfully left the search space"); - return true; - } catch (err: any) { - toast.error(err.message || "Failed to leave search space"); - return false; - } - }, [searchSpaceId]); - - return { - members, - loading, - error, - fetchMembers, - updateMemberRole, - removeMember, - leaveSearchSpace, - }; -} - -// ============ Roles Hook ============ - export function useUserAccess(searchSpaceId: number) { const [access, setAccess] = useState(null); const [loading, setLoading] = useState(true);