grocery-app/frontend/src/api/households.js

59 lines
1.4 KiB
JavaScript

import api from "./axios";
/**
* Get all households for the current user
*/
export const getUserHouseholds = () => api.get("/households");
/**
* Get details of a specific household
*/
export const getHousehold = (householdId) => api.get(`/households/${householdId}`);
/**
* Create a new household
*/
export const createHousehold = (name) => api.post("/households", { name });
/**
* Update household name
*/
export const updateHousehold = (householdId, name) =>
api.patch(`/households/${householdId}`, { name });
/**
* Delete a household
*/
export const deleteHousehold = (householdId) =>
api.delete(`/households/${householdId}`);
/**
* Refresh household invite code
*/
export const refreshInviteCode = (householdId) =>
api.post(`/households/${householdId}/invite/refresh`);
/**
* Join a household using invite code
*/
export const joinHousehold = (inviteCode) =>
api.post(`/households/join/${inviteCode}`);
/**
* Get household members
*/
export const getHouseholdMembers = (householdId) =>
api.get(`/households/${householdId}/members`);
/**
* Update member role
*/
export const updateMemberRole = (householdId, userId, role) =>
api.patch(`/households/${householdId}/members/${userId}/role`, { role });
/**
* Remove member from household
*/
export const removeMember = (householdId, userId) =>
api.delete(`/households/${householdId}/members/${userId}`);