feat(sync): fix exam sync pagination, add AGL/AT20-Theorie lehrgang variants with yellow checkmark

This commit is contained in:
Matthias Hochmeister
2026-04-19 19:28:22 +02:00
parent ed3ee143dd
commit d796fae978
7 changed files with 72 additions and 21 deletions

View File

@@ -2,7 +2,7 @@ import 'dotenv/config';
import * as http from 'http';
import { Pool } from 'pg';
import { scrapeAll } from './scraper';
import { syncToDatabase, syncAT20ToAtemschutz, syncUntersuchungenToAtemschutz } from './db';
import { syncToDatabase, syncLehrgangToAtemschutz, syncUntersuchungenToAtemschutz } from './db';
// In-memory log ring buffer — last 500 lines captured from all modules
const LOG_BUFFER_MAX = 500;
@@ -70,7 +70,7 @@ async function runSync(force = false): Promise<void> {
const { members, ausbildungen, befoerderungen, untersuchungen, fahrgenehmigungen } = await scrapeAll(username, password);
await syncToDatabase(pool, members, ausbildungen, befoerderungen, untersuchungen, fahrgenehmigungen, force);
log(`Sync complete — ${members.length} members, ${ausbildungen.length} Ausbildungen, ${befoerderungen.length} Beförderungen, ${untersuchungen.length} Untersuchungen, ${fahrgenehmigungen.length} Fahrgenehmigungen`);
await syncAT20ToAtemschutz(pool);
await syncLehrgangToAtemschutz(pool);
await syncUntersuchungenToAtemschutz(pool);
} finally {
syncRunning = false;