59 lines
1.4 KiB
JavaScript
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}`);
|