fix(crm): catálogo de permisos no cargaba por redirect 307 (slash final)
permissionsAPI.list pegaba a /v1/core/permissions/ (con slash); la ruta backend
es @router.get("") sin slash, así que FastAPI devolvía 307 y el cliente no lo
seguía → "No se pudieron cargar roles/permisos". Se quitan los slash finales de
list/getById/create/update/delete/getModules/getActions para que matcheen exacto.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -57,7 +57,9 @@ export const permissionsAPI = {
|
|||||||
if (params?.action) queryParams.set('action', params.action);
|
if (params?.action) queryParams.set('action', params.action);
|
||||||
if (params?.search) queryParams.set('search', params.search);
|
if (params?.search) queryParams.set('search', params.search);
|
||||||
const query = queryParams.toString();
|
const query = queryParams.toString();
|
||||||
const response = await api.get(`/v1/core/permissions/${query ? '?' + query : ''}`);
|
// Sin slash final: la ruta backend es @router.get("") = /v1/core/permissions.
|
||||||
|
// Con slash FastAPI responde 307 y el cliente server-side no lo sigue.
|
||||||
|
const response = await api.get(`/v1/core/permissions${query ? '?' + query : ''}`);
|
||||||
return response.data;
|
return response.data;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -65,7 +67,7 @@ export const permissionsAPI = {
|
|||||||
* Obtener un permiso por ID
|
* Obtener un permiso por ID
|
||||||
*/
|
*/
|
||||||
async getById(id: number): Promise<Permission> {
|
async getById(id: number): Promise<Permission> {
|
||||||
const response = await api.get(`/v1/core/permissions/${id}/`);
|
const response = await api.get(`/v1/core/permissions/${id}`);
|
||||||
return response.data;
|
return response.data;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -73,7 +75,7 @@ export const permissionsAPI = {
|
|||||||
* Crear un nuevo permiso
|
* Crear un nuevo permiso
|
||||||
*/
|
*/
|
||||||
async create(data: CreatePermissionData): Promise<Permission> {
|
async create(data: CreatePermissionData): Promise<Permission> {
|
||||||
const response = await api.post('/v1/core/permissions/', data);
|
const response = await api.post('/v1/core/permissions', data);
|
||||||
return response.data;
|
return response.data;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -81,7 +83,7 @@ export const permissionsAPI = {
|
|||||||
* Actualizar un permiso
|
* Actualizar un permiso
|
||||||
*/
|
*/
|
||||||
async update(id: number, data: UpdatePermissionData): Promise<Permission> {
|
async update(id: number, data: UpdatePermissionData): Promise<Permission> {
|
||||||
const response = await api.put(`/v1/core/permissions/${id}/`, data);
|
const response = await api.put(`/v1/core/permissions/${id}`, data);
|
||||||
return response.data;
|
return response.data;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -89,14 +91,14 @@ export const permissionsAPI = {
|
|||||||
* Eliminar un permiso
|
* Eliminar un permiso
|
||||||
*/
|
*/
|
||||||
async delete(id: number): Promise<void> {
|
async delete(id: number): Promise<void> {
|
||||||
await api.delete(`/v1/core/permissions/${id}/`);
|
await api.delete(`/v1/core/permissions/${id}`);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Obtener módulos únicos
|
* Obtener módulos únicos
|
||||||
*/
|
*/
|
||||||
async getModules(): Promise<string[]> {
|
async getModules(): Promise<string[]> {
|
||||||
const response = await api.get('/v1/core/permissions/modules/');
|
const response = await api.get('/v1/core/permissions/modules');
|
||||||
return response.data;
|
return response.data;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -104,7 +106,7 @@ export const permissionsAPI = {
|
|||||||
* Obtener acciones únicas
|
* Obtener acciones únicas
|
||||||
*/
|
*/
|
||||||
async getActions(): Promise<string[]> {
|
async getActions(): Promise<string[]> {
|
||||||
const response = await api.get('/v1/core/permissions/actions/');
|
const response = await api.get('/v1/core/permissions/actions');
|
||||||
return response.data;
|
return response.data;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user