✨(frontend) refactor document access API and remove infinite query
- 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.
This commit is contained in:
committed by
Anthony LC
parent
93d9dec068
commit
cab7771b82
@@ -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<Access>;
|
||||
export type DocAccessesAPIParams = DocAccessesParams & {};
|
||||
|
||||
export const getDocAccesses = async ({
|
||||
page,
|
||||
docId,
|
||||
ordering,
|
||||
}: DocAccessesAPIParams): Promise<AccessesResponse> => {
|
||||
let url = `documents/${docId}/accesses/?page=${page}`;
|
||||
}: DocAccessesAPIParams): Promise<Access[]> => {
|
||||
let url = `documents/${docId}/accesses/`;
|
||||
|
||||
if (ordering) {
|
||||
url += '&ordering=' + ordering;
|
||||
@@ -40,27 +30,18 @@ export const getDocAccesses = async ({
|
||||
);
|
||||
}
|
||||
|
||||
return response.json() as Promise<AccessesResponse>;
|
||||
return (await response.json()) as Access[];
|
||||
};
|
||||
|
||||
export const KEY_LIST_DOC_ACCESSES = 'docs-accesses';
|
||||
|
||||
export function useDocAccesses(
|
||||
params: DocAccessesAPIParams,
|
||||
queryConfig?: UseQueryOptions<AccessesResponse, APIError, AccessesResponse>,
|
||||
queryConfig?: UseQueryOptions<Access[], APIError, Access[]>,
|
||||
) {
|
||||
return useQuery<AccessesResponse, APIError, AccessesResponse>({
|
||||
return useQuery<Access[], APIError, Access[]>({
|
||||
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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user