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:
@@ -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}` }
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user