v1.9: Zähler-Modul (Strom/Wasser/Gas) + Registrierungs-Mail an Verwaltung + Vorname/Nachname im Formular

This commit is contained in:
2026-10-04 10:26:34 +02:00
parent dbaffa45c9
commit a7b959b9fb
11 changed files with 518 additions and 14 deletions
+27 -1
View File
@@ -5,7 +5,7 @@
*/
const { pool } = require('./db')
const { users, registrationCodes, tickets, documents, threads, announcements } = require('./seed-data')
const { users, registrationCodes, tickets, documents, threads, announcements, meters } = require('./seed-data')
const generated = require('../seed/generated.json')
async function seed() {
@@ -87,6 +87,14 @@ async function seed() {
)
}
for (const z of meters) {
await client.query(
`INSERT INTO meters (id, unit_id, building, nummer, art, stand, stand_am, geaendert_am)
VALUES ($1,$2,$3,$4,$5,$6,$7,$8)`,
[z.id, z.unit_id, z.building, z.nummer, z.art, z.stand, z.stand_am, z.geaendert_am],
)
}
await client.query('COMMIT')
return true
} catch (e) {
@@ -98,3 +106,21 @@ async function seed() {
}
module.exports = { seed }
/** Zähler-Demo-Daten: idempotent – läuft bei jedem Start und füllt die
* Zähler-Tabelle nur, wenn sie leer ist (auch nachträglich auf bestehenden
* Datenbanken, z. B. nach dem v1.9-Update). */
async function seedeZaehler() {
const { rows } = await pool.query('SELECT COUNT(*)::int AS n FROM meters')
if (rows[0].n > 0) return false
for (const z of meters) {
await pool.query(
`INSERT INTO meters (id, unit_id, building, nummer, art, stand, stand_am, geaendert_am)
VALUES ($1,$2,$3,$4,$5,$6,$7,$8)`,
[z.id, z.unit_id, z.building, z.nummer, z.art, z.stand, z.stand_am, z.geaendert_am],
)
}
return true
}
module.exports = { seed, seedeZaehler }