Files
rustfs-console/hooks/use-groups.ts
T
安正超 ca87e9e007 fix: status home redirect (#47)
* feat: move status route and format repo

* fix: resolve lint warnings

* fix: load bucket usage asynchronously

* fix: sign version config request

* fix: show spinner for bucket usage loading

* fix: prevent object list fetch loop

* fix: dedupe list requests

* feat: add sidebar version footer
2026-02-04 21:42:11 +08:00

44 lines
1.3 KiB
TypeScript

"use client"
import { useCallback } from "react"
import { useApi } from "@/contexts/api-context"
export function useGroups() {
const api = useApi()
const listGroup = useCallback(async () => api.get("/groups"), [api])
const getGroup = useCallback(async (name: string) => api.get(`/group?group=${encodeURIComponent(name)}`), [api])
const createGroup = useCallback(async (data: Record<string, unknown>) => api.post("/groups", data), [api])
const removeGroup = useCallback(async (name: string) => api.delete(`/group/${encodeURIComponent(name)}`), [api])
const updateGroup = useCallback(
async (name: string, data: Record<string, unknown>) => api.put(`/group/${encodeURIComponent(name)}`, data),
[api],
)
const updateGroupStatus = useCallback(
async (name: string, data: { status: string }) =>
api.put(`/set-group-status?group=${encodeURIComponent(name)}&status=${data.status}`, data),
[api],
)
const updateGroupMembers = useCallback(
async (data: { group: string; members: string[]; isRemove: boolean; groupStatus?: string }) =>
api.put("/update-group-members", data),
[api],
)
return {
listGroup,
getGroup,
createGroup,
removeGroup,
updateGroup,
updateGroupStatus,
updateGroupMembers,
}
}