diff --git a/.env b/.env new file mode 100644 index 0000000..3f608cb --- /dev/null +++ b/.env @@ -0,0 +1 @@ +VITE_SERVER_URL=https://avl-frontend-exam.herokuapp.com \ No newline at end of file diff --git a/src/api/fetchFollowData.ts b/src/api/fetchFollowData.ts new file mode 100644 index 0000000..65a70cf --- /dev/null +++ b/src/api/fetchFollowData.ts @@ -0,0 +1,29 @@ +import type { FollowUser } from 'types/follow' + +const { VITE_SERVER_URL } = import.meta.env + +type Props = { + type: 'followers' | 'following' + page: number + pageSize?: number +} + +type ResponseData = { + total: number + totalPages: number + page: number + pageSize: number + data: FollowUser[] +} + +export default async function fetchFollowData({ + type, + page, + pageSize = 10 +}: Props) { + const queryType = type === 'followers' ? 'all' : 'friends' + const response = await fetch( + `${VITE_SERVER_URL}/api/users/${queryType}?page=${page}&pageSize=${pageSize}` + ) + return (await response.json()) as ResponseData +}