pmtool / src /services /rolePermissionApi.ts
devarshia5's picture
Upload 487 files
d97b8f9 verified
Raw
History Blame Contribute Delete
1.43 kB
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<RolePermission[]> => {
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<RolePermission[]> => {
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<RolePermission> => {
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<void> => {
const response = await apiClient.delete(`/api/RolePermission/${id}`);
if (response.status >= 400) {
throw new Error(`Failed to delete role permission with ID ${id}`);
}
},
};