260320:1709 Refactor Overrall #10 Fix by antigravity: pnpm frontend deploy
Build and Deploy / deploy (push) Successful in 7m25s
Build and Deploy / deploy (push) Successful in 7m25s
This commit is contained in:
+26
-7
@@ -70,28 +70,46 @@ export const {
|
|||||||
password: { label: "Password", type: "password" },
|
password: { label: "Password", type: "password" },
|
||||||
},
|
},
|
||||||
authorize: async (credentials) => {
|
authorize: async (credentials) => {
|
||||||
try {
|
if (!credentials?.username || !credentials?.password) return null;
|
||||||
const { username, password } = await loginSchema.parseAsync(credentials);
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 1. Sanitize payload (Only send username and password)
|
||||||
|
const payload = {
|
||||||
|
username: credentials.username as string,
|
||||||
|
password: credentials.password as string,
|
||||||
|
};
|
||||||
|
|
||||||
|
console.log(`[AUTH] Attempting login at: ${baseUrl}/auth/login`);
|
||||||
|
console.log(`[AUTH] Current process.env.INTERNAL_API_URL: ${process.env.INTERNAL_API_URL}`);
|
||||||
|
console.log(`[AUTH] Current process.env.NEXT_PUBLIC_API_URL: ${process.env.NEXT_PUBLIC_API_URL}`);
|
||||||
|
|
||||||
const res = await fetch(`${baseUrl}/auth/login`, {
|
const res = await fetch(`${baseUrl}/auth/login`, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: { "Content-Type": "application/json" },
|
body: JSON.stringify(payload),
|
||||||
body: JSON.stringify({ username, password }),
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
},
|
||||||
|
cache: 'no-store', // Disable caching for auth requests
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!res.ok) {
|
if (!res.ok) {
|
||||||
const errorMsg = await res.text();
|
console.error(`[AUTH] Login Failed: status ${res.status}`);
|
||||||
|
const errorBody = await res.text().catch(() => "No error body");
|
||||||
|
console.error(`[AUTH] Error details: ${errorBody}`);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const responseJson = await res.json();
|
const data = await res.json();
|
||||||
const backendData = responseJson.data || responseJson;
|
// Handling both { data: { ... } } and direct { ... } response formats
|
||||||
|
const backendData = data.data || data;
|
||||||
|
|
||||||
if (!backendData || !backendData.access_token) {
|
if (!backendData || !backendData.access_token) {
|
||||||
|
console.error("[AUTH] Login failed: Invalid response format from backend (missing access_token)");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log(`[AUTH] Login Successful for user: ${backendData.user?.username || 'unknown'}`);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
id: backendData.user.user_id.toString(),
|
id: backendData.user.user_id.toString(),
|
||||||
name: `${backendData.user.firstName} ${backendData.user.lastName}`,
|
name: `${backendData.user.firstName} ${backendData.user.lastName}`,
|
||||||
@@ -104,6 +122,7 @@ export const {
|
|||||||
} as User;
|
} as User;
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
console.error("[AUTH] Network/Fetch Error during authorize:", error);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ services:
|
|||||||
# --- File Upload ---
|
# --- File Upload ---
|
||||||
UPLOAD_TEMP_DIR: '/app/uploads/temp'
|
UPLOAD_TEMP_DIR: '/app/uploads/temp'
|
||||||
UPLOAD_PERMANENT_DIR: '/app/uploads/permanent'
|
UPLOAD_PERMANENT_DIR: '/app/uploads/permanent'
|
||||||
|
PORT: '3000'
|
||||||
MAX_FILE_SIZE: '52428800'
|
MAX_FILE_SIZE: '52428800'
|
||||||
networks:
|
networks:
|
||||||
- lcbp3
|
- lcbp3
|
||||||
|
|||||||
Reference in New Issue
Block a user