import { request } from '../lib/apiClient' /** The ONLY endpoint that returns `permissions`. Login and refresh do not. */ export function me() { return request('/users/me') } export function list({ record_id, search, top, skip, roleId } = {}) { return request('/users/fetch', { params: { record_id, search, top, skip, role_id: roleId } }) } export function listPendingApprovals() { return request('/users/pending-approvals') } export function approve(recordId) { return request('/users/approve', { method: 'PUT', params: { record_id: recordId } }) } export function create(body) { return request('/users/create', { method: 'POST', body }) } export function update(recordId, body) { return request('/users/update', { method: 'PUT', params: { record_id: recordId }, body }) } export function assignRole(recordId, roleId) { return request('/users/assign-role', { method: 'PUT', params: { record_id: recordId }, body: { role_id: roleId }, }) } export function removeRole(recordId) { return request('/users/remove-role', { method: 'PUT', params: { record_id: recordId } }) } export function remove(recordId) { return request('/users/delete', { method: 'DELETE', params: { record_id: recordId } }) } export function toManagerView(row) { return { id: row.id, name: row.name || row.email || 'Unknown', email: row.email || '', roleName: row.role_name || null, openReqs: row.open_reqs ?? 0, department: row.department ?? null, title: row.title ?? null, teamSize: row.team_size ?? null, } }