optional data set correctly

This commit is contained in:
Moriz Wahl 2022-03-15 16:32:32 +01:00
parent d55caacf6b
commit 764f1ee572

View File

@ -9,18 +9,25 @@ import { UserInterface } from '@/seeds/users/UserInterface'
export const createUserFactory = async (mutate: any, user: UserInterface): Promise<void> => {
await mutate({ mutation: createUser, variables: user })
const dbUser = await User.findOne({ where: { email: user.email } })
if (!dbUser) throw new Error('Ups, no user found')
let dbUser = await User.findOneOrFail({ where: { email: user.email } })
if (user.emailChecked) {
const optin = await LoginEmailOptIn.findOne({ where: { userId: dbUser.id } })
if (!optin) throw new Error('Ups, no optin found')
const optin = await LoginEmailOptIn.findOneOrFail({ where: { userId: dbUser.id } })
await mutate({
mutation: setPassword,
variables: { password: 'Aa12345_', code: optin.verificationCode },
})
}
// refetch data
dbUser = await User.findOneOrFail({ where: { email: user.email } })
if (user.createdAt || user.deletedAt) {
if (user.createdAt) dbUser.createdAt = user.createdAt
if (user.deletedAt) dbUser.deletedAt = user.deletedAt
await dbUser.save()
}
if (user.isAdmin) {
const admin = new ServerUser()
admin.username = dbUser.firstName
@ -31,6 +38,6 @@ export const createUserFactory = async (mutate: any, user: UserInterface): Promi
admin.lastLogin = new Date()
admin.created = dbUser.createdAt
admin.modified = dbUser.createdAt
admin.save()
await admin.save()
}
}