From 0ad93ebbf4175427b99887a73cd4129cfd8ff095 Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Tue, 12 Nov 2024 16:54:09 +0100 Subject: [PATCH] remove change, parameter is neccessary for using is also for gms --- backend/src/apis/humhub/model/Account.ts | 3 ++- backend/src/data/PublishName.logic.test.ts | 6 ++---- backend/src/data/PublishName.logic.ts | 3 +-- backend/src/graphql/resolver/UserResolver.ts | 5 +++-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/backend/src/apis/humhub/model/Account.ts b/backend/src/apis/humhub/model/Account.ts index ac80a195b..1eb3e37be 100644 --- a/backend/src/apis/humhub/model/Account.ts +++ b/backend/src/apis/humhub/model/Account.ts @@ -3,11 +3,12 @@ import { User } from '@entity/User' import { convertGradidoLanguageToHumhub } from '@/apis/humhub/convertLanguage' import { PublishNameLogic } from '@/data/PublishName.logic' +import { PublishNameType } from '@/graphql/enum/PublishNameType' export class Account { public constructor(user: User) { const publishNameLogic = new PublishNameLogic(user) - this.username = publishNameLogic.getUsername() + this.username = publishNameLogic.getUsername(user.humhubPublishName as PublishNameType) this.email = user.emailContact.email this.language = convertGradidoLanguageToHumhub(user.language) this.status = 1 diff --git a/backend/src/data/PublishName.logic.test.ts b/backend/src/data/PublishName.logic.test.ts index 9249670de..280836c5e 100644 --- a/backend/src/data/PublishName.logic.test.ts +++ b/backend/src/data/PublishName.logic.test.ts @@ -9,17 +9,15 @@ describe('test publish name logic', () => { it('alias or initials with alias set', () => { const user = new User() user.alias = 'alias' - user.humhubPublishName = PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS const logic = new PublishNameLogic(user) - expect(logic.getUsername()).toBe(user.alias) + expect(logic.getUsername(PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS)).toBe(user.alias) }) it('alias or initials with empty alias', () => { const user = new User() user.firstName = 'John' user.lastName = 'Smith' - user.humhubPublishName = PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS const logic = new PublishNameLogic(user) - expect(logic.getUsername()).toBe('JoSm') + expect(logic.getUsername(PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS)).toBe('JoSm') }) }) }) diff --git a/backend/src/data/PublishName.logic.ts b/backend/src/data/PublishName.logic.ts index 3c89fc057..d3643d633 100644 --- a/backend/src/data/PublishName.logic.ts +++ b/backend/src/data/PublishName.logic.ts @@ -66,8 +66,7 @@ export class PublishNameLogic { * @returns user.alias for publishNameType = PUBLISH_NAME_ALIAS_OR_INITALS and user has alias * else return user.firstName[0,2] + user.lastName[0,2] for publishNameType = [PUBLISH_NAME_ALIAS_OR_INITALS, PUBLISH_NAME_INITIALS] */ - public getUsername(): string { - const publishNameType = this.user.humhubPublishName as PublishNameType + public getUsername(publishNameType: PublishNameType): string { if ( [ PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS, diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index e74ae8f45..40a1fcbc2 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -60,6 +60,7 @@ import { EVENT_ADMIN_USER_DELETE, EVENT_ADMIN_USER_UNDELETE, } from '@/event/Events' +import { PublishNameType } from '@/graphql/enum/PublishNameType' import { isValidPassword } from '@/password/EncryptorUtils' import { encryptPassword, verifyPassword } from '@/password/PasswordEncryptor' import { Context, getUser, getClientTimezoneOffset } from '@/server/context' @@ -171,7 +172,7 @@ export class UserResolver { if (CONFIG.HUMHUB_ACTIVE && dbUser.humhubAllowed) { const publishNameLogic = new PublishNameLogic(dbUser) humhubUserPromise = HumHubClient.getInstance()?.userByUsernameAsync( - publishNameLogic.getUsername(), + publishNameLogic.getUsername(dbUser.humhubPublishName as PublishNameType), ) } @@ -741,7 +742,7 @@ export class UserResolver { throw new LogError('cannot create humhub client') } const userNameLogic = new PublishNameLogic(dbUser) - const username = userNameLogic.getUsername() + const username = userNameLogic.getUsername(dbUser.humhubPublishName as PublishNameType) let humhubUser = await humhubClient.userByUsername(username) if (!humhubUser) { humhubUser = await humhubClient.userByEmail(dbUser.emailContact.email)