64 lines
2.3 KiB
TypeScript
64 lines
2.3 KiB
TypeScript
import { getBerths, getBerthById } from "../utils/nocodb";
|
|
import { requireAuth } from "../utils/auth";
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
console.log('[test-berth-connection] Testing berth NocoDB connection...');
|
|
|
|
// Check authentication (x-tag header OR Keycloak session)
|
|
await requireAuth(event);
|
|
|
|
try {
|
|
// Test fetching all berths
|
|
console.log('[test-berth-connection] Testing getBerths()...');
|
|
const berthsResponse = await getBerths();
|
|
console.log('[test-berth-connection] Berths fetched successfully:', {
|
|
count: berthsResponse.list?.length || 0,
|
|
firstBerth: berthsResponse.list?.[0] ? {
|
|
id: berthsResponse.list[0].Id,
|
|
mooringNumber: berthsResponse.list[0]['Mooring Number'],
|
|
status: berthsResponse.list[0].Status,
|
|
area: berthsResponse.list[0].Area
|
|
} : null
|
|
});
|
|
|
|
let testBerth = null;
|
|
if (berthsResponse.list && berthsResponse.list.length > 0) {
|
|
const firstBerthId = berthsResponse.list[0].Id.toString();
|
|
console.log('[test-berth-connection] Testing getBerthById() with ID:', firstBerthId);
|
|
testBerth = await getBerthById(firstBerthId);
|
|
console.log('[test-berth-connection] Individual berth fetched successfully:', {
|
|
id: testBerth.Id,
|
|
mooringNumber: testBerth['Mooring Number'],
|
|
interestedPartiesCount: testBerth['Interested Parties']?.length || 0
|
|
});
|
|
}
|
|
|
|
return {
|
|
success: true,
|
|
message: "Berth NocoDB connection test successful",
|
|
data: {
|
|
totalBerths: berthsResponse.list?.length || 0,
|
|
testBerth: testBerth ? {
|
|
id: testBerth.Id,
|
|
mooringNumber: testBerth['Mooring Number'],
|
|
status: testBerth.Status,
|
|
area: testBerth.Area,
|
|
price: testBerth.Price,
|
|
interestedPartiesCount: testBerth['Interested Parties']?.length || 0
|
|
} : null,
|
|
tableId: "mczgos9hr3oa9qc"
|
|
}
|
|
};
|
|
} catch (error) {
|
|
console.error('[test-berth-connection] Error occurred:', error);
|
|
console.error('[test-berth-connection] Error details:', error instanceof Error ? error.message : 'Unknown error');
|
|
|
|
return {
|
|
success: false,
|
|
message: "Berth NocoDB connection test failed",
|
|
error: error instanceof Error ? error.message : 'Unknown error',
|
|
details: error
|
|
};
|
|
}
|
|
});
|