diff --git a/backend/src/graphql/arg/CreateUserArgs.ts b/backend/src/graphql/arg/CreateUserArgs.ts index cb263b84a..f1d69af2b 100644 --- a/backend/src/graphql/arg/CreateUserArgs.ts +++ b/backend/src/graphql/arg/CreateUserArgs.ts @@ -2,6 +2,9 @@ import { ArgsType, Field, Int } from 'type-graphql' @ArgsType() export class CreateUserArgs { + @Field(() => String, { nullable: true }) + alias?: string | null + @Field(() => String) email: string diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 9934c93de..16f09f403 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -207,7 +207,7 @@ export class UserResolver { @Mutation(() => User) async createUser( @Args() - { email, firstName, lastName, language, publisherId = null, redeemCode = null }: CreateUserArgs, + { alias = null, email, firstName, lastName, language, publisherId = null, redeemCode = null }: CreateUserArgs, ): Promise { logger.addContext('user', 'unknown') logger.info( @@ -243,6 +243,9 @@ export class UserResolver { user.lastName = lastName user.language = language user.publisherId = publisherId + if (alias && (await validateAlias(alias))) { + user.alias = alias + } logger.debug('partly faked user', user) void sendAccountMultiRegistrationEmail({ @@ -276,6 +279,9 @@ export class UserResolver { dbUser.firstName = firstName dbUser.lastName = lastName dbUser.language = language + if (alias && (await validateAlias(alias))) { + dbUser.alias = alias + } dbUser.publisherId = publisherId ?? 0 dbUser.passwordEncryptionType = PasswordEncryptionType.NO_PASSWORD logger.debug('new dbUser', dbUser) diff --git a/backend/src/seeds/graphql/mutations.ts b/backend/src/seeds/graphql/mutations.ts index 22e0b1b09..6d2a54864 100644 --- a/backend/src/seeds/graphql/mutations.ts +++ b/backend/src/seeds/graphql/mutations.ts @@ -50,6 +50,7 @@ export const updateUserInfos = gql` export const createUser = gql` mutation ( + $alias: String $firstName: String! $lastName: String! $email: String! @@ -58,6 +59,7 @@ export const createUser = gql` $redeemCode: String ) { createUser( + alias: $alias email: $email firstName: $firstName lastName: $lastName diff --git a/backend/src/seeds/users/UserInterface.ts b/backend/src/seeds/users/UserInterface.ts index 08aa5d19d..181eb3f8e 100644 --- a/backend/src/seeds/users/UserInterface.ts +++ b/backend/src/seeds/users/UserInterface.ts @@ -1,4 +1,5 @@ export interface UserInterface { + alias?: string email?: string firstName?: string lastName?: string