add: more things

Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
This commit is contained in:
2026-07-04 03:35:22 +08:00
parent 72298b86cd
commit b0f40e5133
78 changed files with 2116 additions and 1621 deletions
+28
View File
@@ -208,6 +208,33 @@ export function UserGroupProvider({ children }) {
[request]
);
// ─── DELETE /api/admin/groups/:gid/permanent ──────────────────────────────
const permanentlyDeleteGroup = useCallback(
(gid) =>
request(async () => {
const res = await api.delete(`${BASE}/groups/${gid}/permanent`);
setGroups((prev) => prev.filter((g) => g.group_id !== gid));
toast.success("Group permanently deleted.");
return res.data;
}),
[request]
);
// ─── DELETE /api/admin/groups/bulk/permanent ──────────────────────────────
const permanentlyDeleteGroups = useCallback(
({ ids }) =>
request(async () => {
const res = await api.delete(`${BASE}/groups/bulk/permanent`, { data: { ids } });
const { deleted_ids } = res.data?.data ?? {};
if (deleted_ids?.length) {
setGroups((prev) => prev.filter((g) => !deleted_ids.includes(g.group_id)));
toast.success(`${deleted_ids.length} group(s) permanently deleted.`);
}
return res.data;
}),
[request]
);
// ─── POST /api/admin/groups/:gid/users ────────────────────────────────────
const addUsersToGroup = useCallback(
(gid, user_ids) =>
@@ -242,6 +269,7 @@ export function UserGroupProvider({ children }) {
createGroup, updateGroup,
deactivateGroup, deactivateGroups,
restoreGroup, restoreGroups,
permanentlyDeleteGroup, permanentlyDeleteGroups,
addUsersToGroup, removeUsersFromGroup,
}}>
{children}