Files
HoruxDespachosNuevo/apps/web/lib/api/usuarios.ts

37 lines
1.3 KiB
TypeScript

import { apiClient } from './client';
import type { UserListItem, UserInvite, UserUpdate } from '@horux/shared';
export async function getUsuarios(): Promise<UserListItem[]> {
const response = await apiClient.get<UserListItem[]>('/usuarios');
return response.data;
}
export async function inviteUsuario(data: UserInvite): Promise<UserListItem> {
const response = await apiClient.post<UserListItem>('/usuarios/invite', data);
return response.data;
}
export async function updateUsuario(id: string, data: UserUpdate): Promise<UserListItem> {
const response = await apiClient.patch<UserListItem>(`/usuarios/${id}`, data);
return response.data;
}
export async function deleteUsuario(id: string): Promise<void> {
await apiClient.delete(`/usuarios/${id}`);
}
// Funciones globales (admin global)
export async function getAllUsuarios(): Promise<UserListItem[]> {
const response = await apiClient.get<UserListItem[]>('/usuarios/global/all');
return response.data;
}
export async function updateUsuarioGlobal(id: string, data: UserUpdate): Promise<UserListItem> {
const response = await apiClient.patch<UserListItem>(`/usuarios/global/${id}`, data);
return response.data;
}
export async function deleteUsuarioGlobal(id: string): Promise<void> {
await apiClient.delete(`/usuarios/global/${id}`);
}