client: updates

* work on groups ui
* move settings to its own page
* other fixes and refactoring
This commit is contained in:
Philipinho
2024-04-04 22:19:15 +01:00
parent cab5e67055
commit 1412f1d982
64 changed files with 1770 additions and 474 deletions

View File

@ -0,0 +1,46 @@
import api from "@/lib/api-client";
import { IGroup } from "@/features/group/types/group.types";
export async function getGroups(): Promise<any> {
// TODO: returns paginated. Fix type
const req = await api.post<any>("/groups");
return req.data;
}
export async function getGroupById(groupId: string): Promise<IGroup> {
const req = await api.post<IGroup>("/groups/info", { groupId });
return req.data as IGroup;
}
export async function getGroupMembers(groupId: string) {
const req = await api.post("/groups/members", { groupId });
return req.data;
}
export async function createGroup(data: Partial<IGroup>): Promise<IGroup> {
const req = await api.post<IGroup>("/groups/create", data);
return req.data;
}
export async function updateGroup(data: Partial<IGroup>): Promise<IGroup> {
const req = await api.post<IGroup>("/groups/update", data);
return req.data;
}
export async function deleteGroup(data: { groupId: string }): Promise<void> {
await api.post("/groups/delete", data);
}
export async function addGroupMember(data: {
groupId: string;
userIds: string[];
}): Promise<void> {
await api.post<IGroup>("/groups/members/add", data);
}
export async function removeGroupMember(data: {
groupId: string;
userId: string;
}): Promise<void> {
await api.post<IGroup>("/groups/members/remove", data);
}