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
@@ -194,6 +194,33 @@ export const UserProvider = ({ children }) => {
[request]
);
// ─── DELETE /api/admin/users/:id/permanent ────────────────────────────────
const permanentlyDeleteUser = useCallback(
(userId) =>
request(async () => {
const res = await api.delete(`${BASE}/users/${userId}/permanent`);
setUsers((prev) => prev.filter((u) => u.user_id !== userId));
toast.success("User permanently deleted.");
return res.data;
}),
[request]
);
// ─── DELETE /api/admin/users/bulk/permanent ───────────────────────────────
const permanentlyDeleteUsers = useCallback(
({ ids }) =>
request(async () => {
const res = await api.delete(`${BASE}/users/bulk/permanent`, { data: { ids } });
const { deleted_ids } = res.data?.data ?? {};
if (deleted_ids?.length) {
setUsers((prev) => prev.filter((u) => !deleted_ids.includes(u.user_id)));
toast.success(`${deleted_ids.length} user(s) permanently deleted.`);
}
return res.data;
}),
[request]
);
// ─── GET /api/admin/users/:id/sessions ────────────────────────────────────
const fetchUserSessions = useCallback(
(userId) =>
@@ -380,6 +407,7 @@ export const UserProvider = ({ children }) => {
addStaffUser, updateUser,
deactivateUser, deactivateUsers,
restoreUser, restoreUsers,
permanentlyDeleteUser, permanentlyDeleteUsers,
fetchUserSessions, terminateSession,
fetchUserFieldValues,
fetchUserAchievements,