pmtool / src /services /roleApi.ts
devarshia5's picture
Upload 487 files
d97b8f9 verified
Raw
History Blame Contribute Delete
1.4 kB
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
};
};