courrier multi account restore compose

This commit is contained in:
alma 2025-04-28 13:11:54 +02:00
parent 12383d53fd
commit fa4dc41ba9
2 changed files with 14 additions and 3 deletions

View File

@ -135,7 +135,7 @@ export async function POST(request: Request) {
// Save credentials to database and cache
console.log(`Saving credentials for user: ${session.user.id}`);
await saveUserEmailCredentials(session.user.id, credentials);
await saveUserEmailCredentials(session.user.id, email, credentials);
console.log(`Email account successfully added for user ${session.user.id}`);
return NextResponse.json({

View File

@ -197,16 +197,27 @@ export async function saveUserEmailCredentials(
credentials: EmailCredentials
): Promise<void> {
console.log('Saving credentials for user:', userId, 'account:', accountId);
console.log('Saving credentials for user:', userId, 'account:', credentials);
if (!credentials) {
throw new Error('No credentials provided');
}
// Extract only the fields that exist in the database schema
const dbCredentials = {
email: credentials.email,
password: credentials.password ?? '',
host: credentials.host,
port: credentials.port
port: credentials.port,
secure: credentials.secure ?? true,
smtp_host: credentials.smtp_host || null,
smtp_port: credentials.smtp_port || null,
smtp_secure: credentials.smtp_secure ?? false,
display_name: credentials.display_name || null,
color: credentials.color || null
};
// Save to database - only using fields that exist in the schema
// Save to database
await prisma.mailCredentials.upsert({
where: {
id: accountId,