Spaces:
Sleeping
Sleeping
| import axios from 'axios'; | |
| import { API_BASE_URL } from '@/config'; | |
| import { Role, RoleCreateRequest, RoleUpdateRequest, ResponseData } from '@/types'; | |
| import { createHeaders } from '@/lib/api'; | |
| import apiClient from '@/lib/api/axios-instance'; | |
| // Role API service | |
| export const getAllRoles = async (): Promise<ResponseData<Role[]>> => { | |
| const response = await apiClient.get(`/api/Role`); | |
| return { | |
| data: response.data, | |
| success: true | |
| }; | |
| }; | |
| export const getRoleById = async (roleId: number): Promise<ResponseData<Role>> => { | |
| const response = await apiClient.get(`/api/Role/${roleId}`); | |
| return { | |
| data: response.data, | |
| success: true | |
| }; | |
| }; | |
| export const createRole = async (role: RoleCreateRequest): Promise<ResponseData<Role>> => { | |
| const response = await apiClient.post(`/api/Role`, role); | |
| return { | |
| data: response.data, | |
| success: true | |
| }; | |
| }; | |
| export const updateRole = async (role: RoleUpdateRequest): Promise<ResponseData<Role>> => { | |
| const response = await apiClient.put(`/api/Role/${role.roleId}`, role); | |
| return { | |
| data: response.data, | |
| success: true | |
| }; | |
| }; | |
| export const deleteRole = async (roleId: number): Promise<ResponseData<boolean>> => { | |
| const response = await apiClient.delete(`/api/Role/${roleId}`); | |
| return { | |
| data: response.status === 200, | |
| success: response.status === 200 | |
| }; | |
| }; |