// Test endpoint: GET /api/git/test // Verifies Gitea connection and repo access export default defineEventHandler(async (event) => { const config = useRuntimeConfig() const { giteaUrl, giteaToken, giteaOrg, giteaMindmapRepo } = config if (!giteaUrl || !giteaToken) { return { success: false, message: 'GITEA_URL or GITEA_TOKEN not set in .env' } } try { // Test 1: check repo exists const repo = await $fetch(`${giteaUrl}/api/v1/repos/${giteaOrg}/${giteaMindmapRepo}`, { headers: { 'Authorization': `token ${giteaToken}` } }) // Test 2: check/create canvases folder by listing contents let folderExists = false try { await $fetch(`${giteaUrl}/api/v1/repos/${giteaOrg}/${giteaMindmapRepo}/contents/canvases`, { headers: { 'Authorization': `token ${giteaToken}` } }) folderExists = true } catch { folderExists = false } return { success: true, repo: repo.full_name, private: repo.private, folderExists, message: folderExists ? '✅ Gitea connected, canvases/ folder exists' : '✅ Gitea connected, canvases/ folder will be created on first save' } } catch (e: any) { return { success: false, message: `❌ Gitea connection failed: ${e?.message || e}`, hint: 'Check GITEA_URL, GITEA_TOKEN, GITEA_ORG, GITEA_MINDMAP_REPO in .env' } } })