/** Remote users, groups, keys and SSH policy (`users.read`, `users.manage`). */ import { call } from "../transport"; import type { Payload } from "../types"; export const users = Object.freeze({ list: (sessionId: string) => call("module_users_list", "plugin:users:list", { sessionId }), manage: (sessionId: string, payload: Payload) => call("module_users_manage", "plugin:users:manage", { ...payload, sessionId }), privileges: (sessionId: string, refresh = false) => call("module_users_privileges", "plugin:users:privileges", { sessionId, refresh }), inventory: (sessionId: string, options: Payload = {}) => call("module_users_inventory", "plugin:users:inventory", { ...options, sessionId }), detail: (sessionId: string, username: string, options: Payload = {}) => call("module_users_detail", "plugin:users:detail", { ...options, sessionId, username }), keys: (sessionId: string, payload: Payload) => call("module_users_keys", "plugin:users:keys", { ...payload, sessionId }), sshPolicy: (sessionId: string, payload: Payload) => call("module_users_ssh_policy", "plugin:users:sshPolicy", { ...payload, sessionId }) });