refactored public page endpoints

This commit is contained in:
daniel31x13
2023-11-15 13:12:06 -05:00
parent 09ee81bf11
commit 59815f47d8
18 changed files with 262 additions and 128 deletions
+8 -22
View File
@@ -1,33 +1,19 @@
import {
PublicCollectionIncludingLinks,
PublicLinkRequestQuery,
} from "@/types/global";
import { CollectionIncludingMembersAndLinkCount } from "@/types/global";
import { Dispatch, SetStateAction } from "react";
const getPublicCollectionData = async (
collectionId: number,
prevData: PublicCollectionIncludingLinks,
setData: Dispatch<SetStateAction<PublicCollectionIncludingLinks | undefined>>
setData: Dispatch<
SetStateAction<CollectionIncludingMembersAndLinkCount | undefined>
>
) => {
const requestBody: PublicLinkRequestQuery = {
cursor: prevData?.links?.at(-1)?.id,
collectionId,
};
const encodedData = encodeURIComponent(JSON.stringify(requestBody));
const res = await fetch(
"/api/v1/public/collections?body=" + encodeURIComponent(encodedData)
);
const res = await fetch("/api/v1/public/collections/" + collectionId);
const data = await res.json();
prevData
? setData({
...data.response,
links: [...prevData.links, ...data.response.links],
})
: setData(data.response);
console.log(data);
setData(data.response);
return data;
};