import apiClient from './api-client'; import type { RolesResponse, CreateRoleRequest, CreateRoleResponse, GetRoleResponse, UpdateRoleRequest, UpdateRoleResponse, DeleteRoleResponse, } from '@/types/role'; export const roleService = { getAll: async ( page: number = 1, limit: number = 20, scope?: string | null, orderBy?: string[] | null ): Promise => { const params = new URLSearchParams(); params.append('page', String(page)); params.append('limit', String(limit)); if (scope) { params.append('scope', scope); } if (orderBy && Array.isArray(orderBy) && orderBy.length === 2) { params.append('orderBy[]', orderBy[0]); params.append('orderBy[]', orderBy[1]); } const response = await apiClient.get(`/roles?${params.toString()}`); return response.data; }, getById: async (id: string): Promise => { const response = await apiClient.get(`/roles/${id}`); return response.data; }, create: async (data: CreateRoleRequest): Promise => { const response = await apiClient.post('/roles', data); return response.data; }, update: async (id: string, data: UpdateRoleRequest): Promise => { const response = await apiClient.put(`/roles/${id}`, data); return response.data; }, delete: async (id: string): Promise => { const response = await apiClient.delete(`/roles/${id}`); return response.data; }, };