mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
createUser returns User object, adopt mutations, reduce db calls in seed
This commit is contained in:
parent
2bdd508679
commit
1182b94075
@ -313,10 +313,10 @@ export class UserResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Authorized([RIGHTS.CREATE_USER])
|
@Authorized([RIGHTS.CREATE_USER])
|
||||||
@Mutation(() => String)
|
@Mutation(() => User)
|
||||||
async createUser(
|
async createUser(
|
||||||
@Args() { email, firstName, lastName, language, publisherId }: CreateUserArgs,
|
@Args() { email, firstName, lastName, language, publisherId }: CreateUserArgs,
|
||||||
): Promise<string> {
|
): Promise<User> {
|
||||||
// TODO: wrong default value (should be null), how does graphql work here? Is it an required field?
|
// TODO: wrong default value (should be null), how does graphql work here? Is it an required field?
|
||||||
// default int publisher_id = 0;
|
// default int publisher_id = 0;
|
||||||
|
|
||||||
@ -396,7 +396,7 @@ export class UserResolver {
|
|||||||
} finally {
|
} finally {
|
||||||
await queryRunner.release()
|
await queryRunner.release()
|
||||||
}
|
}
|
||||||
return 'success'
|
return new User(dbUser)
|
||||||
}
|
}
|
||||||
|
|
||||||
// THis is used by the admin only - should we move it to the admin resolver?
|
// THis is used by the admin only - should we move it to the admin resolver?
|
||||||
|
|||||||
@ -11,19 +11,23 @@ export const userFactory = async (
|
|||||||
): Promise<void> => {
|
): Promise<void> => {
|
||||||
const { mutate } = client
|
const { mutate } = client
|
||||||
|
|
||||||
await mutate({ mutation: createUser, variables: user })
|
const {
|
||||||
let dbUser = await User.findOneOrFail({ where: { email: user.email } })
|
data: {
|
||||||
|
createUser: { id },
|
||||||
|
},
|
||||||
|
} = await mutate({ mutation: createUser, variables: user })
|
||||||
|
|
||||||
if (user.emailChecked) {
|
if (user.emailChecked) {
|
||||||
const optin = await LoginEmailOptIn.findOneOrFail({ where: { userId: dbUser.id } })
|
const optin = await LoginEmailOptIn.findOneOrFail({ userId: id })
|
||||||
await mutate({
|
await mutate({
|
||||||
mutation: setPassword,
|
mutation: setPassword,
|
||||||
variables: { password: 'Aa12345_', code: optin.verificationCode },
|
variables: { password: 'Aa12345_', code: optin.verificationCode },
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// refetch data
|
if (user.createdAt || user.deletedAt || user.isAdmin) {
|
||||||
dbUser = await User.findOneOrFail({ where: { email: user.email } })
|
// get user from database
|
||||||
|
const dbUser = await User.findOneOrFail({ id })
|
||||||
|
|
||||||
if (user.createdAt || user.deletedAt) {
|
if (user.createdAt || user.deletedAt) {
|
||||||
if (user.createdAt) dbUser.createdAt = user.createdAt
|
if (user.createdAt) dbUser.createdAt = user.createdAt
|
||||||
@ -44,3 +48,4 @@ export const userFactory = async (
|
|||||||
await admin.save()
|
await admin.save()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -52,7 +52,9 @@ export const createUser = gql`
|
|||||||
lastName: $lastName
|
lastName: $lastName
|
||||||
language: $language
|
language: $language
|
||||||
publisherId: $publisherId
|
publisherId: $publisherId
|
||||||
)
|
) {
|
||||||
|
id
|
||||||
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
|
|||||||
@ -52,7 +52,9 @@ export const createUser = gql`
|
|||||||
lastName: $lastName
|
lastName: $lastName
|
||||||
language: $language
|
language: $language
|
||||||
publisherId: $publisherId
|
publisherId: $publisherId
|
||||||
)
|
) {
|
||||||
|
id
|
||||||
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user