Docs / workspaces / useUserManagement

useUserManagement

hooknot for built apps

Admin hook to list, search, paginate, and mutate managed users plus view user stats and activity.

import { useUserManagement } from 'flowstack-sdk'

Admin user management. Role hierarchy: owner > admin > member > viewer.

Signature

const { users, stats, isLoading, error, canManageUsers, pagination, refreshUsers, getUser, updateUser, suspendUser, reactivateUser, deleteUser, getUserActivity, refreshStats, setPage, setSearch, setRoleFilter, setStatusFilter } = useUserManagement()

Returns

FieldTypeDescription
usersManagedUser[]The managed users.
statsUserStats | null{ totalUsers, activeUsers, newUsersThisMonth }.
isLoadingbooleanRequest in flight.
errorstring | nullLast error message.
canManageUsersbooleanWhether the current user has management permission.
pagination{ page, limit, totalCount, hasMore }Pagination state.
refreshUsers(params?) => Promise<void>Re-fetch the user list.
getUser(userId) => Promise<ManagedUser | null>Fetch a single user.
updateUser(userId, updates) => Promise<boolean>Update a user.
suspendUser(userId, reason?) => Promise<boolean>Suspend a user.
reactivateUser(userId) => Promise<boolean>Reactivate a suspended user.
deleteUser(userId) => Promise<boolean>Delete a user.
getUserActivity(userId, limit?) => Promise<UserActivityLog[]>Fetch a user's activity log.
refreshStats() => Promise<void>Re-fetch user stats.
setPage(page) => voidSet the current page.
setSearch(search) => voidSet the search query.
setRoleFilter(role) => voidFilter by role.
setStatusFilter(status) => voidFilter by status.

Examples

Admin user management
const {
  users,           // ManagedUser[]
  stats,           // UserStats | null — { totalUsers, activeUsers, newUsersThisMonth }
  isLoading,       // boolean
  error,           // string | null
  canManageUsers,  // boolean
  pagination,      // { page, limit, totalCount, hasMore }
  refreshUsers,    // (params?) => Promise<void>
  getUser,         // (userId) => Promise<ManagedUser | null>
  updateUser,      // (userId, updates) => Promise<boolean>
  suspendUser,     // (userId, reason?) => Promise<boolean>
  reactivateUser,  // (userId) => Promise<boolean>
  deleteUser,      // (userId) => Promise<boolean>
  getUserActivity, // (userId, limit?) => Promise<UserActivityLog[]>
  refreshStats,    // () => Promise<void>
  setPage,         // (page) => void
  setSearch,       // (search) => void
  setRoleFilter,   // (role) => void
  setStatusFilter, // (status) => void
} = useUserManagement();
NoteRole hierarchy: owner > admin > member > viewer.

See also

useWorkspace

Source: README.md#useusermanagement · Also available in llms-full.txt and registry.json.