Refactor: Organize api requests by type and remove toastContext

This commit is contained in:
Aaron William Po
2023-05-21 21:49:52 -04:00
parent 10bba6ab02
commit 27e72d3dcf
30 changed files with 345 additions and 180 deletions

View File

@@ -0,0 +1,22 @@
import APIResponseValidationSchema from '@/validation/APIResponseValidationSchema';
const deleteBeerPostRequest = async (id: string) => {
const response = await fetch(`/api/beers/${id}`, {
method: 'DELETE',
});
if (!response.ok) {
throw new Error(response.statusText);
}
const json = await response.json();
const parsed = APIResponseValidationSchema.safeParse(json);
if (!parsed.success) {
throw new Error('Could not successfully parse the response.');
}
return parsed;
};
export default deleteBeerPostRequest;

View File

@@ -1,7 +1,7 @@
import APIResponseValidationSchema from '@/validation/APIResponseValidationSchema';
import { z } from 'zod';
const validateEmail = async (email: string) => {
const validateEmailRequest = async (email: string) => {
const response = await fetch(`/api/users/check-email?email=${email}`);
const json = await response.json();
@@ -22,4 +22,4 @@ const validateEmail = async (email: string) => {
return !parsedPayload.data.emailIsTaken;
};
export default validateEmail;
export default validateEmailRequest;

View File

@@ -1,7 +1,7 @@
import APIResponseValidationSchema from '@/validation/APIResponseValidationSchema';
import { z } from 'zod';
const validateUsername = async (username: string) => {
const validateUsernameRequest = async (username: string) => {
const response = await fetch(`/api/users/check-username?username=${username}`);
const json = await response.json();
@@ -22,4 +22,4 @@ const validateUsername = async (username: string) => {
return !parsedPayload.data.usernameIsTaken;
};
export default validateUsername;
export default validateUsernameRequest;