fix(export): use axiosInstance to ensure correct backend URL and auth

- Changed useExport.ts to import and use axiosInstance from api.ts
- This ensures requests go to port 8918 (backend) not 8919 (frontend)
- Removed manual token handling (axiosInstance interceptor handles it)
- Removed /api prefix from paths (axiosInstance baseURL has the full URL)
- Exported axiosInstance from api.ts for reuse in other modules
- Fixes 404 errors caused by requests routing to frontend instead of backend
This commit is contained in:
2026-04-23 11:04:11 +03:00
parent 1ed2cb6c07
commit dc6970700b
2 changed files with 8 additions and 12 deletions

View File

@@ -1,5 +1,5 @@
import { useState } from "react"; import { useState } from "react";
import axios from "axios"; import { axiosInstance } from "../lib/api";
interface UseExportReturn { interface UseExportReturn {
exportSnapshot: (format: "csv" | "xlsx") => Promise<void>; exportSnapshot: (format: "csv" | "xlsx") => Promise<void>;
@@ -49,12 +49,10 @@ export function useExport(): UseExportReturn {
setError(null); setError(null);
try { try {
const token = localStorage.getItem('inventory_token'); const response = await axiosInstance.get(
const response = await axios.get( `/admin/db/export?format=${format}&type=inventory`,
`/api/admin/db/export?format=${format}&type=inventory`,
{ {
responseType: "blob", responseType: "blob"
headers: { 'Authorization': `Bearer ${token}` }
} }
); );
@@ -84,12 +82,10 @@ export function useExport(): UseExportReturn {
setError(null); setError(null);
try { try {
const token = localStorage.getItem('inventory_token'); const response = await axiosInstance.get(
const response = await axios.get( `/admin/db/export?format=${format}&type=audit`,
`/api/admin/db/export?format=${format}&type=audit`,
{ {
responseType: "blob", responseType: "blob"
headers: { 'Authorization': `Bearer ${token}` }
} }
); );

View File

@@ -57,7 +57,7 @@ export const buildPhotoUrl = (backendUrl: string, photoPath: string): string =>
* [C-01] Axios instance cu JWT Bearer token în header * [C-01] Axios instance cu JWT Bearer token în header
* și interceptor pentru 401 Unauthorized (token expired) * și interceptor pentru 401 Unauthorized (token expired)
*/ */
const axiosInstance = axios.create({}); export const axiosInstance = axios.create({});
axiosInstance.interceptors.request.use(async (config) => { axiosInstance.interceptors.request.use(async (config) => {
if (!config.baseURL) { if (!config.baseURL) {