import express from "express"; import knex from 'knex'; import AwardService from "../service/awardService"; import { CreateAwardCommand, DeleteAwardCommand } from "../command/awardCommand"; import AwardCommandHandler from "../command/awardCommandHandler"; import { award } from "../entity/award"; import MemberService from "../service/memberService"; import { CreateMemberCommand, DeleteMemberCommand } from "../command/memberCommand"; import { member } from "../entity/member"; import MemberCommandHandler from "../command/memberCommandHandler"; import { Salutation } from "../enums/salutation"; var router = express.Router({ mergeParams: true }); router.get("/", async (req, res) => { const dbhost = process.env.OLD_DB_HOST; const dbport = Number(process.env.OLD_DB_PORT); const dbuser = process.env.OLD_DB_USER; const dbuserpass = process.env.OLD_DB_USERPASS; const dbname = process.env.OLD_DB_NAME; const db = knex({ client: 'mssql', connection: { host: dbhost, port: dbport, user: dbuser, password: dbuserpass, database: dbname, options: { trustServerCertificate: true, enableArithAbort: true, encrypt: true } }, debug: false, pool: { min: 0, max: 30 } }); let queryResult = await db('Mitglieder'); console.log(`Read ${queryResult.length} Mitglieder`); // Delete members let [members, total] = await MemberService.getAll(0, 9999); for (const m of members) { let deleteMember: DeleteMemberCommand = { id: m.id, }; console.log(`Delete member ${m.id}`); await MemberCommandHandler.delete(deleteMember); } // Delete awards let awards = await AwardService.getAll(); for (const award of awards) { let deleteAward: DeleteAwardCommand = { id: award.id, }; console.log(`Delete award ${award.id}`); await AwardCommandHandler.delete(deleteAward); } const sAwardsById :any = {}; // Create Awards const awardNames = ['Ehrennadel Silber', 'Ehrennadel Gold', 'Ehrenkreuz Silber', 'Ehrenkreuz Gold', 'Ehrenmitgliedschaft', '25 Jahre aktiv', '40 Jahre aktiv']; for (const awardName of awardNames) { let createAward: CreateAwardCommand = { award: awardName, }; const awardId = await AwardCommandHandler.create(createAward); console.log(`Created award ${awardName} with id ${awardId}`); sAwardsById[awardId] = awardName; } for (const queryResultElement of queryResult) { let nameAffix :string = ''; let nn = queryResultElement.Nachname.trim(); if (nn.endsWith(', jun.')) { nameAffix = 'jun.'; nn = nn.substring(0, nn.length - 6); } if (nn.endsWith(', sen.')) { nameAffix = 'sen.'; nn = nn.substring(0, nn.length - 6); } let newMember: CreateMemberCommand = { salutation: queryResultElement.Anrede.trim(), firstname: queryResultElement.Vorname.trim(), lastname: nn, nameaffix: nameAffix, birthdate: queryResultElement.Geboren ? queryResultElement.Geboren : '1900-01-01', } const memberId = await MemberCommandHandler.create(newMember); console.log(`Created member ${newMember.firstname} ${newMember.lastname} with id ${memberId}`); } res.sendStatus(200); }); export default router;