This commit is contained in:
Matthias Hochmeister
2026-03-13 14:01:06 +01:00
parent 3361f1e28d
commit 7215e7f472
10 changed files with 119 additions and 17 deletions

View File

@@ -54,7 +54,8 @@ function mapDienstgrad(raw: string): string | null {
export async function syncToDatabase(
pool: Pool,
members: FdiskMember[],
ausbildungen: FdiskAusbildung[]
ausbildungen: FdiskAusbildung[],
force = false
): Promise<void> {
const client = await pool.connect();
try {
@@ -62,6 +63,7 @@ export async function syncToDatabase(
let updated = 0;
let unchanged = 0;
let forced = 0;
let skipped = 0;
for (const member of members) {
@@ -161,12 +163,20 @@ export async function syncToDatabase(
if (changes.length > 0) {
log(`Updated ${member.vorname} ${member.zuname} (${member.standesbuchNr}): ${changes.join(', ')}`);
updated++;
} else if (force) {
// Force mode: explicitly update timestamp and log even unchanged rows
await client.query(
`UPDATE mitglieder_profile SET updated_at = NOW() WHERE user_id = $1`,
[userId]
);
log(`Forced update ${member.vorname} ${member.zuname} (${member.standesbuchNr}): no changes, timestamp refreshed`);
forced++;
} else {
unchanged++;
}
}
log(`Members: ${updated} changed, ${unchanged} unchanged, ${skipped} skipped (no dashboard account)`);
log(`Members: ${updated} changed, ${unchanged} unchanged, ${forced} forced, ${skipped} skipped (no dashboard account)`);
// Upsert Ausbildungen
let ausbildungNew = 0;