fix: solución de bloqueos y estandarización de permisos

This commit is contained in:
2026-04-27 10:47:30 -05:00
parent fa3cbb4d0a
commit 5c2a84e95d
312 changed files with 13889 additions and 7911 deletions

View File

@@ -2,7 +2,7 @@
* API para gestión de roles por compañía
*/
import { api } from '$lib/api';
import { api, type ApiResponse } from '$lib/api';
export interface CompanyRole {
id: number;
@@ -49,45 +49,41 @@ export const rolesAPI = {
is_active?: boolean;
search?: string;
}
): Promise<RoleListResponse> {
): Promise<ApiResponse<RoleListResponse>> {
const queryParams = new URLSearchParams();
queryParams.set('company_id', companyId.toString());
if (params?.page) queryParams.set('page', params.page.toString());
if (params?.page_size) queryParams.set('page_size', params.page_size.toString());
if (params?.is_active !== undefined) queryParams.set('is_active', params.is_active.toString());
if (params?.search) queryParams.set('search', params.search);
const response = await api.get(`/v1/core/permissions/roles?${queryParams.toString()}`);
return response.data;
return api.get(`/v1/core/permissions/roles?${queryParams.toString()}`);
},
/**
* Obtener un rol por ID
*/
async getById(id: number, companyId: number): Promise<CompanyRole> {
const response = await api.get(`/v1/core/permissions/roles/${id}?company_id=${companyId}`);
return response.data;
async getById(id: number, companyId: number): Promise<ApiResponse<CompanyRole>> {
return api.get(`/v1/core/permissions/roles/${id}?company_id=${companyId}`);
},
/**
* Crear un nuevo rol
*/
async create(companyId: number, data: CreateRoleData): Promise<CompanyRole> {
const response = await api.post(`/v1/core/permissions/roles?company_id=${companyId}`, data);
return response.data;
async create(companyId: number, data: CreateRoleData): Promise<ApiResponse<CompanyRole>> {
return api.post(`/v1/core/permissions/roles?company_id=${companyId}`, data);
},
/**
* Actualizar un rol
*/
async update(id: number, companyId: number, data: UpdateRoleData): Promise<CompanyRole> {
const response = await api.patch(`/v1/core/permissions/roles/${id}?company_id=${companyId}`, data);
return response.data;
async update(id: number, companyId: number, data: UpdateRoleData): Promise<ApiResponse<CompanyRole>> {
return api.patch(`/v1/core/permissions/roles/${id}?company_id=${companyId}`, data);
},
/**
* Eliminar un rol
*/
async delete(id: number, companyId: number): Promise<void> {
await api.delete(`/v1/core/permissions/roles/${id}?company_id=${companyId}`);
async delete(id: number, companyId: number): Promise<ApiResponse<void>> {
return api.delete(`/v1/core/permissions/roles/${id}?company_id=${companyId}`);
}
};