properly typecast and do thing right

This commit is contained in:
Ulf Gebhardt 2022-12-15 11:49:28 +01:00
parent 8afd66088d
commit 97b169da2e
Signed by: ulfgebhardt
GPG Key ID: DA6B843E748679C9

View File

@ -3,6 +3,7 @@
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
/* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/no-explicit-any */
import { v4 as uuidv4 } from 'uuid' import { v4 as uuidv4 } from 'uuid'
import { OkPacket } from 'mysql'
export async function upgrade(queryFn: (query: string, values?: any[]) => Promise<Array<any>>) { export async function upgrade(queryFn: (query: string, values?: any[]) => Promise<Array<any>>) {
const missingUserIds = await queryFn(` const missingUserIds = await queryFn(`
@ -10,8 +11,8 @@ export async function upgrade(queryFn: (query: string, values?: any[]) => Promis
WHERE NOT EXISTS (SELECT id FROM users WHERE id = user_id) GROUP BY user_id;`) WHERE NOT EXISTS (SELECT id FROM users WHERE id = user_id) GROUP BY user_id;`)
for (let i = 0; i < missingUserIds.length; i++) { for (let i = 0; i < missingUserIds.length; i++) {
let gradidoId = null let gradidoId = ''
let countIds = null let countIds: any[] = []
do { do {
gradidoId = uuidv4() gradidoId = uuidv4()
countIds = await queryFn( countIds = await queryFn(
@ -19,19 +20,17 @@ export async function upgrade(queryFn: (query: string, values?: any[]) => Promis
) )
} while (countIds[0] > 0) } while (countIds[0] > 0)
const userContact = await queryFn(` const userContact = (await queryFn(`
INSERT INTO user_contacts INSERT INTO user_contacts
(type, user_id, email, email_checked, created_at, deleted_at) (type, user_id, email, email_checked, created_at, deleted_at)
VALUES VALUES
('EMAIL', ${missingUserIds[i].user_id}, 'deleted.user${missingUserIds[i].user_id}@gradido.net', 0, NOW(), NOW());`) ('EMAIL', ${missingUserIds[i].user_id}, 'deleted.user${missingUserIds[i].user_id}@gradido.net', 0, NOW(), NOW());`)) as unknown as OkPacket
const emaiId = Object.values(userContact)[Object.keys(userContact).indexOf('insertId')]
await queryFn(` await queryFn(`
INSERT INTO users INSERT INTO users
(id, gradido_id, email_id, first_name, last_name, deleted_at, password_encryption_type, created_at, language) (id, gradido_id, email_id, first_name, last_name, deleted_at, password_encryption_type, created_at, language)
VALUES VALUES
(${missingUserIds[i].user_id}, '${gradidoId}', ${emaiId}, 'DELETED', 'USER', NOW(), 0, NOW(), 'de');`) (${missingUserIds[i].user_id}, '${gradidoId}', ${userContact.insertId}, 'DELETED', 'USER', NOW(), 0, NOW(), 'de');`)
} }
} }