Neah/lib/nextcloud-utils.ts
2025-04-20 12:27:14 +02:00

37 lines
1.1 KiB
TypeScript

import { getServerSession } from 'next-auth';
import { NextCloudService } from './nextcloud';
export async function getNextCloudService() {
const session = await getServerSession();
if (!session?.user?.email) {
throw new Error('Not authenticated');
}
// Get the NextCloud token from the session
const token = session.nextcloudToken;
if (!token) {
console.error('Session details:', {
hasSession: !!session,
hasUser: !!session?.user,
email: session?.user?.email,
sessionKeys: Object.keys(session || {}),
// Don't log sensitive data
tokenPresent: !!token,
hasNextCloudToken: 'nextcloudToken' in session
});
throw new Error('No NextCloud token available');
}
try {
console.log('Initializing NextCloud service with token length:', token.length);
const service = new NextCloudService(token);
return service;
} catch (error) {
console.error('Failed to initialize NextCloud service:', {
error: error instanceof Error ? error.message : error,
hasToken: !!token,
tokenLength: token.length
});
throw error;
}
}