dishplanner/frontend/archive/src/utils/api/scheduledUserDishesApi.ts
2025-10-13 14:58:50 +02:00

77 lines
No EOL
2.2 KiB
TypeScript

import { apiRequest } from "@/utils/api/apiRequest";
export const listScheduledUserDishesStartingFromDate = async (startDate: string) => {
const token = localStorage.getItem('token');
if (!token) {
throw new Error('No token found in localStorage.');
}
return apiRequest.get(`/api/scheduled-user-dishes?start=${startDate}`, {
headers: {
Authorization: `Bearer ${token}`,
}
})
.then((scheduledDishesData) => scheduledDishesData?.payload?.schedule)
.catch((err) => {
throw err;
});
};
export const listScheduledUserDishesEndingAtDate = async (endDate: string) => {
const token = localStorage.getItem('token');
if (!token) {
throw new Error('No token found in localStorage.');
}
return apiRequest.get(`/api/scheduled-user-dishes?end=${endDate}`, {
headers: {
Authorization: `Bearer ${token}`,
}
})
.then((scheduledDishesData) => scheduledDishesData?.payload?.schedule)
.catch((err) => {
throw err;
});
};
export const getScheduledUserDish = async (id: number) => {
const token = localStorage.getItem('token');
if (!token) {
throw new Error('No token found in localStorage.');
}
return apiRequest.get(`/api/scheduled-user-dishes/${id}`, {
headers: {
Authorization: `Bearer ${token}`,
}
})
.then((scheduledDishesData) => scheduledDishesData?.payload?.scheduled_user_dish)
.catch((err) => {
throw err;
});
};
export const updateScheduledUserDish = async (id: number, userDishId: number) => {
const token = localStorage.getItem('token');
if (!token) {
throw new Error('No token found in localStorage.');
}
const payload = userDishId > 0
? { user_dish_id: userDishId }
: { user_dish_id: null, is_skipped: true };
return apiRequest.put(`/api/scheduled-user-dishes/${id}`, payload, {
headers: {
Authorization: `Bearer ${token}`,
}
})
.then((scheduledDishesData) => scheduledDishesData?.payload?.scheduled_user_dish)
.catch((err) => {
throw err;
});
};