From cab7771b82695b04b05779398438bebfafefcbc0 Mon Sep 17 00:00:00 2001 From: Nathan Panchout Date: Mon, 19 May 2025 09:01:33 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(frontend)=20refactor=20document=20acc?= =?UTF-8?q?ess=20API=20and=20remove=20infinite=20query?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Simplified the `getDocAccesses` function by removing pagination parameters. - Updated the `useDocAccesses` hook to reflect changes in the API response type. - Removed the `useDocAccessesInfinite` function to streamline document access management. --- .../docs/doc-share/api/useDocAccesses.tsx | 35 +++++-------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/api/useDocAccesses.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/api/useDocAccesses.tsx index f072f657..dbd9ab86 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/api/useDocAccesses.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/api/useDocAccesses.tsx @@ -1,12 +1,7 @@ import { UseQueryOptions, useQuery } from '@tanstack/react-query'; -import { - APIError, - APIList, - errorCauses, - fetchAPI, - useAPIInfiniteQuery, -} from '@/api'; +import { APIError, errorCauses, fetchAPI } from '@/api'; + import { Access } from '@/docs/doc-management'; export type DocAccessesParams = { @@ -14,18 +9,13 @@ export type DocAccessesParams = { ordering?: string; }; -export type DocAccessesAPIParams = DocAccessesParams & { - page: number; -}; - -type AccessesResponse = APIList; +export type DocAccessesAPIParams = DocAccessesParams & {}; export const getDocAccesses = async ({ - page, docId, ordering, -}: DocAccessesAPIParams): Promise => { - let url = `documents/${docId}/accesses/?page=${page}`; +}: DocAccessesAPIParams): Promise => { + let url = `documents/${docId}/accesses/`; if (ordering) { url += '&ordering=' + ordering; @@ -40,27 +30,18 @@ export const getDocAccesses = async ({ ); } - return response.json() as Promise; + return (await response.json()) as Access[]; }; export const KEY_LIST_DOC_ACCESSES = 'docs-accesses'; export function useDocAccesses( params: DocAccessesAPIParams, - queryConfig?: UseQueryOptions, + queryConfig?: UseQueryOptions, ) { - return useQuery({ + return useQuery({ queryKey: [KEY_LIST_DOC_ACCESSES, params], queryFn: () => getDocAccesses(params), ...queryConfig, }); } - -/** - * @param param Used for infinite scroll pagination - * @param queryConfig - * @returns - */ -export function useDocAccessesInfinite(params: DocAccessesParams) { - return useAPIInfiniteQuery(KEY_LIST_DOC_ACCESSES, getDocAccesses, params); -}