56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
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,
|
|
}
|
|
}
|