Dealer_Onboard_Frontend/src/services/admin.service.ts

58 lines
2.1 KiB
TypeScript

import API from '../api/API';
import { toast } from 'sonner';
export const adminService = {
async getAllUsers() {
try {
const response = await API.getUsers() as any;
return response.data;
} catch (error: any) {
console.error('Error fetching users:', error);
toast.error(error.response?.data?.message || 'Failed to fetch users');
return { success: false, data: [] };
}
},
async createUser(userData: any) {
try {
const response = await API.createUser(userData) as any;
if (response.ok && response.data?.success) {
// Toast handled in component
}
return response.data;
} catch (error: any) {
console.error('Error creating user:', error);
toast.error(error.response?.data?.message || 'Failed to create user');
return { success: false };
}
},
async updateUser(id: string, userData: any) {
try {
const response = await API.updateUser(id, userData) as any;
if (response.ok && response.data?.success) {
toast.success(response.data.message || 'User updated successfully');
}
return response.data;
} catch (error: any) {
console.error('Error updating user:', error);
toast.error(error.response?.data?.message || 'Failed to update user');
return { success: false };
}
},
async updateUserStatus(id: string, status: string, isActive: boolean) {
try {
const response = await API.updateUserStatus(id, { status, isActive }) as any;
if (response.ok && response.data?.success) {
toast.success(response.data.message || 'User status updated');
}
return response.data;
} catch (error: any) {
console.error('Error updating status:', error);
toast.error(error.response?.data?.message || 'Failed to update status');
return { success: false };
}
}
};