grocery-app/frontend/src/api/stores.js
2026-05-26 00:38:53 -07:00

56 lines
2.6 KiB
JavaScript

import api from "./axios";
// Legacy global store catalog for the system-admin page.
export const getAllStores = () => api.get("/stores");
export const createStore = (name, default_zones) =>
api.post("/stores", { name, default_zones });
export const updateStore = (storeId, name, default_zones) =>
api.patch(`/stores/${storeId}`, { name, default_zones });
export const deleteStore = (storeId) =>
api.delete(`/stores/${storeId}`);
// Household-owned store locations used by the grocery flow.
export const getHouseholdStores = (householdId) =>
api.get(`/households/${householdId}/stores`);
export const createHouseholdStore = (householdId, payload) =>
api.post(`/households/${householdId}/stores`, payload);
export const updateHouseholdStore = (householdId, householdStoreId, payload) =>
api.patch(`/households/${householdId}/stores/${householdStoreId}`, payload);
export const deleteHouseholdStore = (householdId, householdStoreId) =>
api.delete(`/households/${householdId}/stores/${householdStoreId}`);
export const addLocationToStore = (householdId, householdStoreId, payload) =>
api.post(`/households/${householdId}/stores/${householdStoreId}/locations`, payload);
export const updateLocation = (householdId, locationId, payload) =>
api.patch(`/households/${householdId}/locations/${locationId}`, payload);
export const removeLocation = (householdId, locationId) =>
api.delete(`/households/${householdId}/locations/${locationId}`);
export const setDefaultLocation = (householdId, locationId) =>
api.patch(`/households/${householdId}/locations/${locationId}/default`);
export const getLocationZones = (householdId, locationId) =>
api.get(`/households/${householdId}/locations/${locationId}/zones`);
export const createLocationZone = (householdId, locationId, payload) =>
api.post(`/households/${householdId}/locations/${locationId}/zones`, payload);
export const updateLocationZone = (householdId, locationId, zoneId, payload) =>
api.patch(`/households/${householdId}/locations/${locationId}/zones/${zoneId}`, payload);
export const deleteLocationZone = (householdId, locationId, zoneId) =>
api.delete(`/households/${householdId}/locations/${locationId}/zones/${zoneId}`);
// Compatibility aliases for older callers.
export const addStoreToHousehold = (householdId, storeId, isDefault = false) =>
api.post(`/stores/household/${householdId}`, { storeId, isDefault });
export const removeStoreFromHousehold = (householdId, storeId) =>
api.delete(`/stores/household/${householdId}/${storeId}`);
export const setDefaultStore = (householdId, storeId) =>
api.patch(`/stores/household/${householdId}/${storeId}/default`);