diff --git a/backend/services/FileService/index.ts b/backend/services/FileService/index.ts index 360d0b3..450ee75 100644 --- a/backend/services/FileService/index.ts +++ b/backend/services/FileService/index.ts @@ -122,7 +122,7 @@ class MongoFileService { let searchQuery = query.search || ""; const parent = query.parent || "/"; let limit = query.limit || 50; - let sortBy = query.sortby || "DEFAULT"; + let sortBy = query.soryBy || "DEFAULT"; const startAt = query.startAt || undefined; const startAtDate = query.startAtDate || "0"; const startAtName = query.startAtName || ""; @@ -136,7 +136,7 @@ class MongoFileService { const queryObj = createQuery( userID.toString(), parent, - query.sortby, + query.sortBy, startAt, startAtDate, searchQuery, diff --git a/src/actions/auth.js b/src/actions/auth.js index 4b63b62..ea49135 100755 --- a/src/actions/auth.js +++ b/src/actions/auth.js @@ -114,8 +114,6 @@ export const startLoginCheck = (currentRoute) => { env.emailAddress = response.data.email; env.name = response.data.name || ""; - console.log("login checked"); - if (emailVerified) { dispatch(setLoginFailed(false)); dispatch(login(id)); diff --git a/src/api/filesAPI.js b/src/api/filesAPI.js deleted file mode 100644 index b54d031..0000000 --- a/src/api/filesAPI.js +++ /dev/null @@ -1,10 +0,0 @@ -import axios from "../axiosInterceptor"; - -export const getFilesList = async ({ queryKey, pageParam }) => { - console.log("quer", queryKey, pageParam); - const [_key, { parent, search, sortBy, limit }] = queryKey; - const response = await axios.get( - `/file-service/list?parent=${parent}&sortby=${sortBy}&search=${search}&limit=${limit}` - ); - return response.data; -}; diff --git a/src/api/filesAPI.ts b/src/api/filesAPI.ts new file mode 100644 index 0000000..ca8a85d --- /dev/null +++ b/src/api/filesAPI.ts @@ -0,0 +1,40 @@ +import { QueryFunctionContext } from "react-query"; +import axios from "../axiosInterceptor"; + +interface QueryKeyParams { + parent: string; + search?: string; + sortBy?: string; + limit?: number; + startAtDate?: string; + startAtName?: string; + startAt?: boolean; +} + +export const getFilesList = async ({ + queryKey, + pageParam, +}: QueryFunctionContext<[string, QueryKeyParams]>) => { + const [ + _key, + { parent = "/", search = "", sortBy = "date_desc", limit = 50 }, + ] = queryKey; + + const queryParams: QueryKeyParams = { + parent, + search, + sortBy, + limit, + }; + + if (pageParam?.startAtDate && pageParam?.startAtName) { + queryParams.startAtDate = pageParam.startAtDate; + queryParams.startAtName = pageParam.startAtName; + queryParams.startAt = true; + } + + const response = await axios.get(`/file-service/list`, { + params: queryParams, + }); + return response.data; +}; diff --git a/src/api/foldersAPI.js b/src/api/foldersAPI.js deleted file mode 100644 index d81a080..0000000 --- a/src/api/foldersAPI.js +++ /dev/null @@ -1,9 +0,0 @@ -import axios from "../axiosInterceptor"; - -export const getFoldersList = async ({ queryKey }) => { - const [_key, { parent, search, sortBy, limit }] = queryKey; - const response = await axios.get( - `/folder-service/list?parent=${parent}&sortby=${sortBy}&search=${search}&limit=${limit}` - ); - return response.data; -}; diff --git a/src/api/foldersAPI.ts b/src/api/foldersAPI.ts new file mode 100644 index 0000000..e7fc1a9 --- /dev/null +++ b/src/api/foldersAPI.ts @@ -0,0 +1,24 @@ +import { QueryFunctionContext } from "react-query"; +import axios from "../axiosInterceptor"; + +interface QueryKeyParams { + parent: string; + search?: string; + sortBy?: string; + limit?: number; +} + +export const getFoldersList = async ({ + queryKey, +}: QueryFunctionContext<[string, QueryKeyParams]>) => { + const [_key, { parent, search, sortBy, limit }] = queryKey; + const response = await axios.get(`/folder-service/list`, { + params: { + parent, + search, + sortBy, + limit, + }, + }); + return response.data; +}; diff --git a/src/components/Dataform/DataForm.jsx b/src/components/Dataform/DataForm.jsx index 4b284a0..e8a7dce 100644 --- a/src/components/Dataform/DataForm.jsx +++ b/src/components/Dataform/DataForm.jsx @@ -9,45 +9,13 @@ import { useParams } from "react-router-dom"; import { useInfiniteQuery, useQuery } from "react-query"; import { getFilesList } from "../../api/filesAPI"; import { getFoldersList } from "../../api/foldersAPI"; +import { useFiles } from "../../hooks/files"; +import { useFolders } from "../../hooks/folders"; const DataForm = (props) => { const params = useParams(); - const { data: files, fetchNextPage: filesFetchNextPage } = useInfiniteQuery({ - queryKey: [ - "files", - { - parent: params.id || "/", - search: "", - sortBy: undefined, - limit: undefined, - }, - ], - queryFn: getFilesList, - initialPageParam: { - startAtDate: undefined, - startAtName: undefined, - }, - getNextPageParam: (lastPage, pages) => { - console.log("last page", lastPage); - return { - startAtDate: "test", - startAtName: "tes2", - }; - }, - }); - const { data: folders } = useQuery( - [ - "folders", - { - parent: params.id || "/", - search: "", - sortBy: undefined, - limit: undefined, - }, - ], - getFoldersList - ); - console.log(" files", files, folders); + const { data: files, fetchNextPage: filesFetchNextPage } = useFiles(); + const { data: folders } = useFolders(); return (