mirror of
https://github.com/docmost/docmost.git
synced 2025-11-16 16:01:09 +10:00
client: updates
* work on groups ui * move settings to its own page * other fixes and refactoring
This commit is contained in:
46
apps/client/src/features/group/services/group-service.ts
Normal file
46
apps/client/src/features/group/services/group-service.ts
Normal 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);
|
||||
}
|
||||
Reference in New Issue
Block a user