import { RolePermission, RolePermissionCreateRequest } from '../types'; import apiClient from '@/lib/api/axios-instance'; import { createHeaders } from '@/lib/api'; import { API_BASE_URL } from '../config'; import axios from 'axios'; // RolePermission API service export const rolePermissionApi = { getAll: async (): Promise => { const response = await apiClient.get(`/api/RolePermission`); if (!response.data) { throw new Error('Failed to fetch role permissions'); } return response.data; }, getByRoleId: async (roleId: number): Promise => { const response = await apiClient.get(`/api/RolePermission/GetByRoleID/${roleId}`); if (!response.data) { throw new Error(`Failed to fetch role permissions for role ID ${roleId}`); } return response.data; }, create: async (rolePermission: RolePermissionCreateRequest): Promise => { const response = await apiClient.post(`/api/RolePermission`, rolePermission); if (!response.data) { throw new Error('Failed to create role permission'); } return response.data; }, delete: async (id: number): Promise => { const response = await apiClient.delete(`/api/RolePermission/${id}`); if (response.status >= 400) { throw new Error(`Failed to delete role permission with ID ${id}`); } }, };