32 lines
658 B
TypeScript
32 lines
658 B
TypeScript
import { api } from './client';
|
|
import type { User } from './types';
|
|
|
|
export interface CreateUserPayload {
|
|
email: string;
|
|
password: string;
|
|
firstName?: string;
|
|
lastName?: string;
|
|
role?: string;
|
|
phone?: string;
|
|
assignedEvents?: string[];
|
|
customRoleId?: string;
|
|
}
|
|
|
|
export const usersApi = {
|
|
list() {
|
|
return api.get<{ users: User[] }>('/users');
|
|
},
|
|
|
|
create(payload: CreateUserPayload) {
|
|
return api.post<User>('/users', payload);
|
|
},
|
|
|
|
update(id: string, payload: Partial<CreateUserPayload>) {
|
|
return api.put<User>(`/users/${id}`, payload);
|
|
},
|
|
|
|
remove(id: string) {
|
|
return api.delete<unknown>(`/users/${id}`);
|
|
},
|
|
};
|