import api from "@/lib/api-client"; import { IGroup } from "@/features/group/types/group.types"; import { IPagination, QueryParams } from "@/lib/types.ts"; import { IUser } from "@/features/user/types/user.types.ts"; export async function getGroups( params?: QueryParams, ): Promise> { const req = await api.post("/groups", params); return req.data; } export async function getGroupById(groupId: string): Promise { const req = await api.post("/groups/info", { groupId }); return req.data as IGroup; } export async function createGroup(data: Partial): Promise { const req = await api.post("/groups/create", data); return req.data; } export async function updateGroup(data: Partial): Promise { const req = await api.post("/groups/update", data); return req.data; } export async function deleteGroup(data: { groupId: string }): Promise { await api.post("/groups/delete", data); } export async function getGroupMembers( groupId: string, params?: QueryParams, ): Promise> { const req = await api.post("/groups/members", { groupId, ...params }); return req.data; } export async function addGroupMember(data: { groupId: string; userIds: string[]; }): Promise { await api.post("/groups/members/add", data); } export async function removeGroupMember(data: { groupId: string; userId: string; }): Promise { await api.post("/groups/members/remove", data); }