widget email 6

This commit is contained in:
Alma 2025-04-13 21:04:26 +02:00
parent 582c69a96d
commit 8065e088eb

View File

@ -19,12 +19,14 @@ export async function GET(req: NextRequest) {
); );
} }
// First, try to get the user's Nextcloud ID using the Keycloak token // First, try to get the user's Nextcloud ID using the OCS API
const userInfoResponse = await fetch(`${nextcloudUrl}/ocs/v2.php/cloud/user`, { const userInfoResponse = await fetch(`${nextcloudUrl}/ocs/v2.php/cloud/user`, {
headers: { headers: {
'Authorization': `Bearer ${session.accessToken}`, 'Authorization': `Bearer ${session.accessToken}`,
'Accept': 'application/json', 'Accept': 'application/json',
'OCS-APIRequest': 'true', 'OCS-APIRequest': 'true',
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
}, },
}); });
@ -32,7 +34,8 @@ export async function GET(req: NextRequest) {
console.error('Failed to get user info:', { console.error('Failed to get user info:', {
status: userInfoResponse.status, status: userInfoResponse.status,
statusText: userInfoResponse.statusText, statusText: userInfoResponse.statusText,
url: userInfoResponse.url url: userInfoResponse.url,
headers: Object.fromEntries(userInfoResponse.headers.entries())
}); });
if (userInfoResponse.status === 401) { if (userInfoResponse.status === 401) {
@ -56,12 +59,14 @@ export async function GET(req: NextRequest) {
); );
} }
// Now try to access the Mail app // Now try to access the Mail app using OCS API
const response = await fetch(`${nextcloudUrl}/index.php/apps/mail/api/accounts`, { const response = await fetch(`${nextcloudUrl}/ocs/v2.php/apps/mail/api/v1/accounts`, {
headers: { headers: {
'Authorization': `Bearer ${session.accessToken}`, 'Authorization': `Bearer ${session.accessToken}`,
'Accept': 'application/json', 'Accept': 'application/json',
'OCS-APIRequest': 'true',
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
}, },
}); });
@ -69,7 +74,8 @@ export async function GET(req: NextRequest) {
console.error('Mail app check failed:', { console.error('Mail app check failed:', {
status: response.status, status: response.status,
statusText: response.statusText, statusText: response.statusText,
url: response.url url: response.url,
headers: Object.fromEntries(response.headers.entries())
}); });
if (response.status === 401) { if (response.status === 401) {
@ -82,7 +88,8 @@ export async function GET(req: NextRequest) {
); );
} }
const accounts = await response.json(); const data = await response.json();
const accounts = data?.ocs?.data || [];
// For now, return a success response with an empty array // For now, return a success response with an empty array
// We'll implement the actual message fetching once we confirm the correct endpoint // We'll implement the actual message fetching once we confirm the correct endpoint