fix(api): add trailing slashes to API endpoints for consistency

This commit is contained in:
Galindo97
2026-01-22 13:09:11 -06:00
parent ce8712436e
commit 0b822bb904
18 changed files with 91 additions and 91 deletions

View File

@@ -103,23 +103,23 @@ export async function getCompanies(
page_size: pageSize.toString(),
...filters
});
return await api.get(`/v1/a76/company?${queryParams.toString()}`);
return await api.get(`/v1/a76/company/?${queryParams.toString()}`);
}
export async function getCompany(id: number): Promise<ApiResponse<Company>> {
return await api.get(`/v1/a76/company/${id}`);
return await api.get(`/v1/a76/company/${id}/`);
}
export async function createCompany(data: CompanyCreate): Promise<ApiResponse<Company>> {
return await api.post(`/v1/a76/company`, data);
return await api.post(`/v1/a76/company/`, data);
}
export async function updateCompany(id: number, data: CompanyUpdate): Promise<ApiResponse<Company>> {
return await api.put(`/v1/a76/company/${id}`, data);
return await api.put(`/v1/a76/company/${id}/`, data);
}
export async function deleteCompany(id: number): Promise<ApiResponse<void>> {
return await api.delete(`/v1/a76/company/${id}`);
return await api.delete(`/v1/a76/company/${id}/`);
}
export async function uploadCompanyLogo(id: number, file: File): Promise<ApiResponse<{ message: string; logo_path: string; company_id: number }>> {

View File

@@ -57,25 +57,25 @@ export async function getConcepts(
...filters
});
return await api.get(`/v1/a76/concepts?${params.toString()}`);
return await api.get(`/v1/a76/concepts/?${params.toString()}`);
}
export async function getConcept(id: number, companyId: number): Promise<ApiResponse<Concept>> {
return await api.get(`/v1/a76/concepts/${id}?company_id=${companyId}`);
return await api.get(`/v1/a76/concepts/${id}/?company_id=${companyId}`);
}
export async function createConcept(data: ConceptCreate, companyId: number): Promise<ApiResponse<Concept>> {
return await api.post(`/v1/a76/concepts?company_id=${companyId}`, data);
return await api.post(`/v1/a76/concepts/?company_id=${companyId}`, data);
}
export async function updateConcept(id: number, data: ConceptUpdate, companyId: number): Promise<ApiResponse<Concept>> {
return await api.put(`/v1/a76/concepts/${id}?company_id=${companyId}`, data);
return await api.put(`/v1/a76/concepts/${id}/?company_id=${companyId}`, data);
}
export async function deleteConcept(id: number, companyId: number): Promise<ApiResponse<void>> {
return await api.delete(`/v1/a76/concepts/${id}?company_id=${companyId}`);
return await api.delete(`/v1/a76/concepts/${id}/?company_id=${companyId}`);
}

View File

@@ -43,21 +43,21 @@ export async function getCustomsBrokerConcepts(
...filters
});
return await api.get(`/v1/a76/customs-broker-concepts?${params.toString()}`);
return await api.get(`/v1/a76/customs-broker-concepts/?${params.toString()}`);
}
export async function getCustomsBrokerConcept(id: number, companyId: number): Promise<ApiResponse<CustomsBrokerConcept>> {
return await api.get(`/v1/a76/customs-broker-concepts/${id}?company_id=${companyId}`);
return await api.get(`/v1/a76/customs-broker-concepts/${id}/?company_id=${companyId}`);
}
export async function createCustomsBrokerConcept(data: CustomsBrokerConceptCreate, companyId: number): Promise<ApiResponse<CustomsBrokerConcept>> {
return await api.post(`/v1/a76/customs-broker-concepts?company_id=${companyId}`, data);
return await api.post(`/v1/a76/customs-broker-concepts/?company_id=${companyId}`, data);
}
export async function updateCustomsBrokerConcept(id: number, data: CustomsBrokerConceptUpdate, companyId: number): Promise<ApiResponse<CustomsBrokerConcept>> {
return await api.put(`/v1/a76/customs-broker-concepts/${id}?company_id=${companyId}`, data);
return await api.put(`/v1/a76/customs-broker-concepts/${id}/?company_id=${companyId}`, data);
}
export async function deleteCustomsBrokerConcept(id: number, companyId: number): Promise<ApiResponse<void>> {
return await api.delete(`/v1/a76/customs-broker-concepts/${id}?company_id=${companyId}`);
return await api.delete(`/v1/a76/customs-broker-concepts/${id}/?company_id=${companyId}`);
}

View File

@@ -178,7 +178,7 @@ export async function getDodas(
if (companyId) {
params.append('company_id', companyId.toString());
}
const response = await api.get(`/v1/a76/doda?${params.toString()}`);
const response = await api.get(`/v1/a76/doda/?${params.toString()}`);
return response.data;
}
@@ -187,20 +187,20 @@ export async function getDoda(id: number, companyId?: number): Promise<Doda> {
if (companyId) {
params.append('company_id', companyId.toString());
}
const response = await api.get(`/v1/a76/doda/${id}?${params.toString()}`);
const response = await api.get(`/v1/a76/doda/${id}/?${params.toString()}`);
return response.data;
}
export async function createDoda(data: DodaCreate, companyId: number): Promise<Doda> {
const response = await api.post(`/v1/a76/doda?company_id=${companyId}`, data);
const response = await api.post(`/v1/a76/doda/?company_id=${companyId}`, data);
return response.data;
}
export async function updateDoda(id: number, data: DodaUpdate, companyId: number): Promise<Doda> {
const response = await api.put(`/v1/a76/doda/${id}?company_id=${companyId}`, data);
const response = await api.put(`/v1/a76/doda/${id}/?company_id=${companyId}`, data);
return response.data;
}
export async function deleteDoda(id: number, companyId: number): Promise<void> {
await api.delete(`/v1/a76/doda/${id}?company_id=${companyId}`);
await api.delete(`/v1/a76/doda/${id}/?company_id=${companyId}`);
}

View File

@@ -50,7 +50,7 @@ export async function getLocation(
companyId: number
): Promise<Location> {
const params = new URLSearchParams({ company_id: companyId.toString() });
return api.get<Location>(`/v1/a76/ports/${locationId}?${params.toString()}`);
return api.get<Location>(`/v1/a76/ports/${locationId}/?${params.toString()}`);
}
export async function createLocation(
@@ -74,7 +74,7 @@ export async function updateLocation(
): Promise<Location> {
const params = new URLSearchParams({ company_id: companyId.toString() });
return api.put<Location>(
`/v1/a76/ports/${locationId}?${params.toString()}`,
`/v1/a76/ports/${locationId}/?${params.toString()}`,
{
location_description: data.location_description
}
@@ -86,5 +86,5 @@ export async function deleteLocation(
companyId: number
): Promise<void> {
const params = new URLSearchParams({ company_id: companyId.toString() });
return api.delete(`/v1/a76/ports/${locationId}?${params.toString()}`);
return api.delete(`/v1/a76/ports/${locationId}/?${params.toString()}`);
}

View File

@@ -52,19 +52,19 @@ export async function getPackages(
...filters
});
return await api.get(`/v1/a76/packages?${params.toString()}`);
return await api.get(`/v1/a76/packages/?${params.toString()}`);
}
export async function getPackage(id: number, companyId: number): Promise<ApiResponse<Package>> {
return await api.get(`/v1/a76/packages/${id}?company_id=${companyId}`);
return await api.get(`/v1/a76/packages/${id}/?company_id=${companyId}`);
}
export async function createPackage(
data: PackageCreate,
companyId: number
): Promise<ApiResponse<Package>> {
return await api.post(`/v1/a76/packages?company_id=${companyId}`, data);
return await api.post(`/v1/a76/packages/?company_id=${companyId}`, data);
}
@@ -73,9 +73,9 @@ export async function updatePackage(
data: PackageUpdate,
companyId: number
): Promise<ApiResponse<Package>> {
return await api.put(`/v1/a76/packages/${id}?company_id=${companyId}`, data);
return await api.put(`/v1/a76/packages/${id}/?company_id=${companyId}`, data);
}
export async function deletePackage(id: number, companyId: number): Promise<ApiResponse<void>> {
return await api.delete(`/v1/a76/packages/${id}?company_id=${companyId}`);
return await api.delete(`/v1/a76/packages/${id}/?company_id=${companyId}`);
}

View File

@@ -58,17 +58,17 @@ export async function getPorts(
queryParams.append('company_id', companyId.toString());
}
return await api.get(`/v1/a76/ports?${queryParams.toString()}`);
return await api.get(`/v1/a76/ports/?${queryParams.toString()}`);
}
export async function createPort(data: PortCreate, companyId: number): Promise<ApiResponse<Port>> {
return await api.post(`/v1/a76/ports?company_id=${companyId}`, data);
return await api.post(`/v1/a76/ports/?company_id=${companyId}`, data);
}
export async function updatePort(id: number, data: PortUpdate, companyId: number): Promise<ApiResponse<Port>> {
return await api.put(`/v1/a76/ports/${id}?company_id=${companyId}`, data);
return await api.put(`/v1/a76/ports/${id}/?company_id=${companyId}`, data);
}
export async function deletePort(id: number, companyId: number): Promise<ApiResponse<void>> {
return await api.delete(`/v1/a76/ports/${id}?company_id=${companyId}`);
return await api.delete(`/v1/a76/ports/${id}/?company_id=${companyId}`);
}

View File

@@ -44,7 +44,7 @@ export async function getSeals(
if (filters?.page_size) params.append('page_size', filters.page_size.toString());
if (filters?.seal) params.append('seal', filters.seal);
const response = await api.get(`/v1/a76/seals?${params.toString()}`);
const response = await api.get(`/v1/a76/seals/?${params.toString()}`);
return response;
}
@@ -56,7 +56,7 @@ export async function getSeal(
id: number,
companyId: number
): Promise<{ data: Seal; status: number }> {
const response = await api.get(`/v1/a76/seals/${id}?company_id=${companyId}`);
const response = await api.get(`/v1/a76/seals/${id}/?company_id=${companyId}`);
return response;
}
@@ -67,7 +67,7 @@ export async function createSeal(
data: SealCreateRequest,
companyId: number
): Promise<{ data: Seal; status: number }> {
const response = await api.post(`/v1/a76/seals?company_id=${companyId}`, data);
const response = await api.post(`/v1/a76/seals/?company_id=${companyId}`, data);
return response;
}
@@ -79,7 +79,7 @@ export async function updateSeal(
data: SealUpdateRequest,
companyId: number
): Promise<{ data: Seal; status: number }> {
const response = await api.put(`/v1/a76/seals/${id}?company_id=${companyId}`, data);
const response = await api.put(`/v1/a76/seals/${id}/?company_id=${companyId}`, data);
return response;
}

View File

@@ -43,33 +43,33 @@ export async function getUMACE(
page_size: pageSize.toString(),
...filters
});
return await api.get(`/a76/units-of-measure/ace?${queryParams.toString()}`);
return await api.get(`/a76/units-of-measure/ace/?${queryParams.toString()}`);
}
/**
* Obtiene una unidad de medida por ID
*/
export async function getUMACEById(id: number): Promise<ApiResponse<UMACE>> {
return await api.get(`/a76/units-of-measure/ace/${id}`);
return await api.get(`/a76/units-of-measure/ace/${id}/`);
}
/**
* Crea una nueva unidad de medida
*/
export async function createUMACE(data: UMACECreate): Promise<ApiResponse<UMACE>> {
return await api.post('/a76/units-of-measure/ace', data);
return await api.post('/a76/units-of-measure/ace/', data);
}
/**
* Actualiza una unidad de medida
*/
export async function updateUMACE(id: number, data: UMACEUpdate): Promise<ApiResponse<UMACE>> {
return await api.put(`/a76/units-of-measure/ace/${id}`, data);
return await api.put(`/a76/units-of-measure/ace/${id}/`, data);
}
/**
* Elimina una unidad de medida
*/
export async function deleteUMACE(id: number): Promise<ApiResponse<void>> {
return await api.delete(`/a76/units-of-measure/ace/${id}`);
return await api.delete(`/a76/units-of-measure/ace/${id}/`);
}

View File

@@ -43,33 +43,33 @@ export async function getUMCustomsAme(
page_size: pageSize.toString(),
...filters
});
return await api.get(`/a76/units-of-measure/american?${queryParams.toString()}`);
return await api.get(`/a76/units-of-measure/american/?${queryParams.toString()}`);
}
/**
* Obtiene una unidad de medida por ID
*/
export async function getUMCustomsAmeById(id: number): Promise<ApiResponse<UMCustomsAme>> {
return await api.get(`/a76/units-of-measure/american/${id}`);
return await api.get(`/a76/units-of-measure/american/${id}/`);
}
/**
* Crea una nueva unidad de medida
*/
export async function createUMCustomsAme(data: UMCustomsAmeCreate): Promise<ApiResponse<UMCustomsAme>> {
return await api.post('/a76/units-of-measure/american', data);
return await api.post('/a76/units-of-measure/american/', data);
}
/**
* Actualiza una unidad de medida
*/
export async function updateUMCustomsAme(id: number, data: UMCustomsAmeUpdate): Promise<ApiResponse<UMCustomsAme>> {
return await api.put(`/a76/units-of-measure/american/${id}`, data);
return await api.put(`/a76/units-of-measure/american/${id}/`, data);
}
/**
* Elimina una unidad de medida
*/
export async function deleteUMCustomsAme(id: number): Promise<ApiResponse<void>> {
return await api.delete(`/a76/units-of-measure/american/${id}`);
return await api.delete(`/a76/units-of-measure/american/${id}/`);
}

View File

@@ -43,33 +43,33 @@ export async function getUMCustomsMex(
page_size: pageSize.toString(),
...filters
});
return await api.get(`/a76/units-of-measure/customs?${queryParams.toString()}`);
return await api.get(`/a76/units-of-measure/customs/?${queryParams.toString()}`);
}
/**
* Obtiene una unidad de medida por ID
*/
export async function getUMCustomsMexById(id: number): Promise<ApiResponse<UMCustomsMex>> {
return await api.get(`/a76/units-of-measure/customs/${id}`);
return await api.get(`/a76/units-of-measure/customs/${id}/`);
}
/**
* Crea una nueva unidad de medida
*/
export async function createUMCustomsMex(data: UMCustomsMexCreate): Promise<ApiResponse<UMCustomsMex>> {
return await api.post('/a76/units-of-measure/customs', data);
return await api.post('/a76/units-of-measure/customs/', data);
}
/**
* Actualiza una unidad de medida
*/
export async function updateUMCustomsMex(id: number, data: UMCustomsMexUpdate): Promise<ApiResponse<UMCustomsMex>> {
return await api.put(`/a76/units-of-measure/customs/${id}`, data);
return await api.put(`/a76/units-of-measure/customs/${id}/`, data);
}
/**
* Elimina una unidad de medida
*/
export async function deleteUMCustomsMex(id: number): Promise<ApiResponse<void>> {
return await api.delete(`/a76/units-of-measure/customs/${id}`);
return await api.delete(`/a76/units-of-measure/customs/${id}/`);
}

View File

@@ -43,33 +43,33 @@ export async function getUMOMA(
page_size: pageSize.toString(),
...filters
});
return await api.get(`/a76/units-of-measure/oma?${queryParams.toString()}`);
return await api.get(`/a76/units-of-measure/oma/?${queryParams.toString()}`);
}
/**
* Obtiene una unidad de medida por ID
*/
export async function getUMOMAById(id: number): Promise<ApiResponse<UMOMA>> {
return await api.get(`/a76/units-of-measure/oma/${id}`);
return await api.get(`/a76/units-of-measure/oma/${id}/`);
}
/**
* Crea una nueva unidad de medida
*/
export async function createUMOMA(data: UMOMACreate): Promise<ApiResponse<UMOMA>> {
return await api.post('/a76/units-of-measure/oma', data);
return await api.post('/a76/units-of-measure/oma/', data);
}
/**
* Actualiza una unidad de medida
*/
export async function updateUMOMA(id: number, data: UMOMAUpdate): Promise<ApiResponse<UMOMA>> {
return await api.put(`/a76/units-of-measure/oma/${id}`, data);
return await api.put(`/a76/units-of-measure/oma/${id}/`, data);
}
/**
* Elimina una unidad de medida
*/
export async function deleteUMOMA(id: number): Promise<ApiResponse<void>> {
return await api.delete(`/a76/units-of-measure/oma/${id}`);
return await api.delete(`/a76/units-of-measure/oma/${id}/`);
}

View File

@@ -48,14 +48,14 @@ export interface UpdatePedimentoDatesData {
export const pedimentoDatesApi = {
get: (pedimentoId: number) =>
api.get<PedimentoDates>(`/v1/a76/pedimentos/${pedimentoId}/dates`),
api.get<PedimentoDates>(`/v1/a76/pedimentos/${pedimentoId}/dates/`),
create: (pedimentoId: number, data: CreatePedimentoDatesData) =>
api.post<PedimentoDates>(`/v1/a76/pedimentos/${pedimentoId}/dates`, data),
api.post<PedimentoDates>(`/v1/a76/pedimentos/${pedimentoId}/dates/`, data),
update: (pedimentoId: number, data: UpdatePedimentoDatesData) =>
api.put<PedimentoDates>(`/v1/a76/pedimentos/${pedimentoId}/dates`, data),
api.put<PedimentoDates>(`/v1/a76/pedimentos/${pedimentoId}/dates/`, data),
delete: (pedimentoId: number) =>
api.delete(`/v1/a76/pedimentos/${pedimentoId}/dates`)
api.delete(`/v1/a76/pedimentos/${pedimentoId}/dates/`)
};

View File

@@ -51,14 +51,14 @@ export interface UpdatePedimentoPaymentsData {
export const pedimentoPaymentsApi = {
get: (pedimentoId: number) =>
api.get<PedimentoPayments>(`/v1/a76/pedimentos/${pedimentoId}/payments`),
api.get<PedimentoPayments>(`/v1/a76/pedimentos/${pedimentoId}/payments/`),
create: (pedimentoId: number, data: CreatePedimentoPaymentsData) =>
api.post<PedimentoPayments>(`/v1/a76/pedimentos/${pedimentoId}/payments`, data),
api.post<PedimentoPayments>(`/v1/a76/pedimentos/${pedimentoId}/payments/`, data),
update: (pedimentoId: number, data: UpdatePedimentoPaymentsData) =>
api.put<PedimentoPayments>(`/v1/a76/pedimentos/${pedimentoId}/payments`, data),
api.put<PedimentoPayments>(`/v1/a76/pedimentos/${pedimentoId}/payments/`, data),
delete: (pedimentoId: number) =>
api.delete(`/v1/a76/pedimentos/${pedimentoId}/payments`)
api.delete(`/v1/a76/pedimentos/${pedimentoId}/payments/`)
};

View File

@@ -30,14 +30,14 @@ export interface UpdatePedimentoTransportMeansData {
export const pedimentoTransportApi = {
get: (pedimentoId: number) =>
api.get<PedimentoTransportMeans>(`/v1/a76/pedimentos/${pedimentoId}/transport-means`),
api.get<PedimentoTransportMeans>(`/v1/a76/pedimentos/${pedimentoId}/transport-means/`),
create: (pedimentoId: number, data: CreatePedimentoTransportMeansData) =>
api.post<PedimentoTransportMeans>(`/v1/a76/pedimentos/${pedimentoId}/transport-means`, data),
api.post<PedimentoTransportMeans>(`/v1/a76/pedimentos/${pedimentoId}/transport-means/`, data),
update: (pedimentoId: number, data: UpdatePedimentoTransportMeansData) =>
api.put<PedimentoTransportMeans>(`/v1/a76/pedimentos/${pedimentoId}/transport-means`, data),
api.put<PedimentoTransportMeans>(`/v1/a76/pedimentos/${pedimentoId}/transport-means/`, data),
delete: (pedimentoId: number) =>
api.delete(`/v1/a76/pedimentos/${pedimentoId}/transport-means`)
api.delete(`/v1/a76/pedimentos/${pedimentoId}/transport-means/`)
};

View File

@@ -42,14 +42,14 @@ export interface UpdatePedimentoValidationData {
export const pedimentoValidationApi = {
get: (pedimentoId: number) =>
api.get<PedimentoValidation>(`/v1/a76/pedimentos/${pedimentoId}/validation`),
api.get<PedimentoValidation>(`/v1/a76/pedimentos/${pedimentoId}/validation/`),
create: (pedimentoId: number, data: CreatePedimentoValidationData) =>
api.post<PedimentoValidation>(`/v1/a76/pedimentos/${pedimentoId}/validation`, data),
api.post<PedimentoValidation>(`/v1/a76/pedimentos/${pedimentoId}/validation/`, data),
update: (pedimentoId: number, data: UpdatePedimentoValidationData) =>
api.put<PedimentoValidation>(`/v1/a76/pedimentos/${pedimentoId}/validation`, data),
api.put<PedimentoValidation>(`/v1/a76/pedimentos/${pedimentoId}/validation/`, data),
delete: (pedimentoId: number) =>
api.delete(`/v1/a76/pedimentos/${pedimentoId}/validation`)
api.delete(`/v1/a76/pedimentos/${pedimentoId}/validation/`)
};

View File

@@ -57,7 +57,7 @@ export const permissionsAPI = {
if (params?.action) queryParams.set('action', params.action);
if (params?.search) queryParams.set('search', params.search);
const query = queryParams.toString();
const response = await api.get(`/v1/core/permissions${query ? '?' + query : ''}`);
const response = await api.get(`/v1/core/permissions/${query ? '?' + query : ''}`);
return response.data;
},
@@ -65,7 +65,7 @@ export const permissionsAPI = {
* Obtener un permiso por ID
*/
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;
},
@@ -73,7 +73,7 @@ export const permissionsAPI = {
* Crear un nuevo permiso
*/
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;
},
@@ -81,7 +81,7 @@ export const permissionsAPI = {
* Actualizar un permiso
*/
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;
},
@@ -89,14 +89,14 @@ export const permissionsAPI = {
* Eliminar un permiso
*/
async delete(id: number): Promise<void> {
await api.delete(`/v1/core/permissions/${id}`);
await api.delete(`/v1/core/permissions/${id}/`);
},
/**
* Obtener módulos únicos
*/
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;
},
@@ -104,7 +104,7 @@ export const permissionsAPI = {
* Obtener acciones únicas
*/
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;
}
};