init feature
This commit is contained in:
@@ -11,6 +11,11 @@ import type {
|
||||
CreateExpenseRequest,
|
||||
VerifyFamilyPasswordRequest,
|
||||
VerifyFamilyPasswordResponse,
|
||||
ShoppingItem,
|
||||
CreateShoppingItemRequest,
|
||||
UpdateShoppingItemRequest,
|
||||
MarkAsPurchasedRequest,
|
||||
BulkOperationResponse,
|
||||
} from '../types';
|
||||
|
||||
const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || '';
|
||||
@@ -87,3 +92,29 @@ export const expenseApi = {
|
||||
getRemainingLimit: (familyId: number, categoryId: number) =>
|
||||
apiClient.get<RemainingLimit>(`/families/${familyId}/categories/${categoryId}/remaining`),
|
||||
};
|
||||
|
||||
export const shoppingItemApi = {
|
||||
getAllByFamily: (familyId: number) =>
|
||||
apiClient.get<ShoppingItem[]>(`/families/${familyId}/shopping-items`),
|
||||
|
||||
getById: (familyId: number, itemId: number) =>
|
||||
apiClient.get<ShoppingItem>(`/families/${familyId}/shopping-items/${itemId}`),
|
||||
|
||||
create: (familyId: number, data: CreateShoppingItemRequest) =>
|
||||
apiClient.post<ShoppingItem>(`/families/${familyId}/shopping-items`, data),
|
||||
|
||||
update: (familyId: number, itemId: number, data: UpdateShoppingItemRequest) =>
|
||||
apiClient.put<ShoppingItem>(`/families/${familyId}/shopping-items/${itemId}`, data),
|
||||
|
||||
delete: (familyId: number, itemId: number) =>
|
||||
apiClient.delete(`/families/${familyId}/shopping-items/${itemId}`),
|
||||
|
||||
markAsPurchased: (familyId: number, itemId: number, data: MarkAsPurchasedRequest) =>
|
||||
apiClient.patch<ShoppingItem>(`/families/${familyId}/shopping-items/${itemId}/purchased`, data),
|
||||
|
||||
markAllAsPurchased: (familyId: number) =>
|
||||
apiClient.post<BulkOperationResponse>(`/families/${familyId}/shopping-items/mark-all-purchased`),
|
||||
|
||||
clearAll: (familyId: number) =>
|
||||
apiClient.delete<BulkOperationResponse>(`/families/${familyId}/shopping-items/clear-all`),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user