feat: Equipment-System, Buchungsbearbeitung, Kundenadresse, LexOffice-Fix
- Vintage Modell hinzugefuegt - Equipment Multi-Select (Neue Buchung + Bearbeitung) - Kundenadresse in Formularen - Bearbeiten-Seite fuer Buchungen - Abbau-Zeiten in Formularen und Uebersicht - Vertrag PDF nur bei Privatkunden - LexOffice Kontakt-Erstellung Fix (BUSINESS) - Zurueck-Pfeil auf Touren-Seite
This commit is contained in:
73
scripts/check-email-sync.ts
Normal file
73
scripts/check-email-sync.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
async function checkEmailSync() {
|
||||
console.log('🔍 Prüfe E-Mail-Sync Status...\n');
|
||||
|
||||
const luebeck = await prisma.location.findUnique({
|
||||
where: { slug: 'luebeck' },
|
||||
select: {
|
||||
name: true,
|
||||
emailSyncEnabled: true,
|
||||
lastEmailSync: true,
|
||||
imapHost: true,
|
||||
imapUser: true,
|
||||
},
|
||||
});
|
||||
|
||||
if (!luebeck) {
|
||||
console.log('❌ Lübeck Location nicht gefunden!');
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('📍 Lübeck:');
|
||||
console.log(` E-Mail-Sync: ${luebeck.emailSyncEnabled ? '✅ Aktiviert' : '❌ Deaktiviert'}`);
|
||||
console.log(` IMAP konfiguriert: ${luebeck.imapHost ? '✅ Ja' : '❌ Nein'}`);
|
||||
console.log(` Letzter Sync: ${luebeck.lastEmailSync ? new Date(luebeck.lastEmailSync).toLocaleString('de-DE') : 'Noch nie'}`);
|
||||
|
||||
if (!luebeck.emailSyncEnabled) {
|
||||
console.log('\n⚠️ E-Mail-Sync ist deaktiviert!');
|
||||
console.log(' Buchungen werden NICHT automatisch erfasst.');
|
||||
console.log(' → Entweder manuell im Dashboard anlegen');
|
||||
console.log(' → Oder E-Mail-Sync aktivieren\n');
|
||||
} else {
|
||||
console.log('\n✅ E-Mail-Sync ist aktiviert!');
|
||||
console.log(' → E-Mails werden automatisch abgerufen (Cron-Job oder manuell)');
|
||||
console.log(' → Buchungen erscheinen im Dashboard\n');
|
||||
}
|
||||
|
||||
// Prüfe ob es neue Buchungen gibt
|
||||
const recentBookings = await prisma.booking.findMany({
|
||||
where: {
|
||||
locationId: luebeck ? undefined : undefined,
|
||||
},
|
||||
orderBy: {
|
||||
createdAt: 'desc',
|
||||
},
|
||||
take: 5,
|
||||
select: {
|
||||
id: true,
|
||||
bookingNumber: true,
|
||||
customerName: true,
|
||||
createdAt: true,
|
||||
location: {
|
||||
select: { name: true },
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
if (recentBookings.length > 0) {
|
||||
console.log('📊 Letzte 5 Buchungen:');
|
||||
recentBookings.forEach((booking, idx) => {
|
||||
console.log(` ${idx + 1}. ${booking.bookingNumber} - ${booking.customerName} (${booking.location.name})`);
|
||||
console.log(` Erstellt: ${new Date(booking.createdAt).toLocaleString('de-DE')}`);
|
||||
});
|
||||
} else {
|
||||
console.log('📊 Keine Buchungen gefunden.');
|
||||
}
|
||||
|
||||
await prisma.$disconnect();
|
||||
}
|
||||
|
||||
checkEmailSync();
|
||||
Reference in New Issue
Block a user