mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
remove profiling, lint, fix test
This commit is contained in:
parent
97f3cd456d
commit
04696c46d4
@ -105,10 +105,7 @@ export class HumHubClient {
|
||||
}
|
||||
|
||||
public async userByEmailAsync(email: string): Promise<IRestResponse<GetUser>> {
|
||||
const startTime = new Date()
|
||||
const options = await this.createRequestOptions({ email })
|
||||
const endTime = new Date()
|
||||
console.log("time for prepare connection: ", endTime.getTime() - startTime.getTime())
|
||||
return this.restClient.get<GetUser>('/api/v1/user/get-by-email', options)
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { User } from '@entity/User'
|
||||
import { UserContact } from '@entity/UserContact'
|
||||
import { IRestResponse } from 'typed-rest-client'
|
||||
|
||||
import { GetUser } from '@/apis/humhub/model/GetUser'
|
||||
import { PostUser } from '@/apis/humhub/model/PostUser'
|
||||
@ -33,6 +34,25 @@ export class HumHubClient {
|
||||
return Promise.resolve(new GetUser(user, 1))
|
||||
}
|
||||
|
||||
public async userByEmailAsync(email: string): Promise<IRestResponse<GetUser>> {
|
||||
const user = new User()
|
||||
user.emailContact = new UserContact()
|
||||
user.emailContact.email = email
|
||||
return Promise.resolve({
|
||||
statusCode: 200,
|
||||
result: new GetUser(user, 1),
|
||||
headers: {},
|
||||
})
|
||||
}
|
||||
|
||||
public async userByUsername(username: string): Promise<GetUser | null> {
|
||||
const user = new User()
|
||||
user.alias = username
|
||||
user.emailContact = new UserContact()
|
||||
user.emailContact.email = 'testemail@gmail.com'
|
||||
return Promise.resolve(new GetUser(user, 1))
|
||||
}
|
||||
|
||||
public async createUser(): Promise<void> {
|
||||
return Promise.resolve()
|
||||
}
|
||||
|
||||
@ -73,6 +73,8 @@ import { objectValuesToArray } from '@/util/utilities'
|
||||
|
||||
import { Location2Point } from './util/Location2Point'
|
||||
|
||||
jest.mock('@/apis/humhub/HumHubClient')
|
||||
|
||||
jest.mock('@/emails/sendEmailVariants', () => {
|
||||
const originalModule = jest.requireActual('@/emails/sendEmailVariants')
|
||||
return {
|
||||
|
||||
@ -10,6 +10,7 @@ import { UserContact as DbUserContact } from '@entity/UserContact'
|
||||
import { UserRole } from '@entity/UserRole'
|
||||
import i18n from 'i18n'
|
||||
import { Resolver, Query, Args, Arg, Authorized, Ctx, Mutation, Int } from 'type-graphql'
|
||||
import { IRestResponse } from 'typed-rest-client'
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
|
||||
import { UserArgs } from '@arg//UserArgs'
|
||||
@ -32,6 +33,7 @@ import { UserAdmin, SearchUsersResult } from '@model/UserAdmin'
|
||||
import { updateGmsUser } from '@/apis/gms/GmsClient'
|
||||
import { GmsUser } from '@/apis/gms/model/GmsUser'
|
||||
import { HumHubClient } from '@/apis/humhub/HumHubClient'
|
||||
import { GetUser } from '@/apis/humhub/model/GetUser'
|
||||
import { subscribe } from '@/apis/KlicktippController'
|
||||
import { encode } from '@/auth/JWT'
|
||||
import { RIGHTS } from '@/auth/RIGHTS'
|
||||
@ -82,8 +84,6 @@ import { setUserRole, deleteUserRole } from './util/modifyUserRole'
|
||||
import { sendUserToGms } from './util/sendUserToGms'
|
||||
import { syncHumhub } from './util/syncHumhub'
|
||||
import { validateAlias } from './util/validateAlias'
|
||||
import { GetUser } from '@/apis/humhub/model/GetUser'
|
||||
import { IRestResponse } from 'typed-rest-client'
|
||||
|
||||
const LANGUAGES = ['de', 'en', 'es', 'fr', 'nl']
|
||||
const DEFAULT_LANGUAGE = 'de'
|
||||
@ -146,10 +146,6 @@ export class UserResolver {
|
||||
@Args() { email, password, publisherId }: UnsecureLoginArgs,
|
||||
@Ctx() context: Context,
|
||||
): Promise<User> {
|
||||
let humhubUserPromise: Promise<IRestResponse<GetUser>> | undefined
|
||||
if (CONFIG.HUMHUB_ACTIVE && HumHubClient.getInstance()) {
|
||||
humhubUserPromise = HumHubClient.getInstance()?.userByEmailAsync(email)
|
||||
}
|
||||
logger.info(`login with ${email}, ***, ${publisherId} ...`)
|
||||
email = email.trim().toLowerCase()
|
||||
const dbUser = await findUserByEmail(email)
|
||||
@ -164,11 +160,17 @@ export class UserResolver {
|
||||
// TODO we want to catch this on the frontend and ask the user to check his emails or resend code
|
||||
throw new LogError('The User has not set a password yet', dbUser)
|
||||
}
|
||||
|
||||
if (!verifyPassword(dbUser, password)) {
|
||||
throw new LogError('No user with this credentials', dbUser)
|
||||
}
|
||||
|
||||
// request to humhub and klicktipp run in parallel
|
||||
let humhubUserPromise: Promise<IRestResponse<GetUser>> | undefined
|
||||
const klicktippStatePromise = getKlicktippState(dbUser.emailContact.email)
|
||||
if (CONFIG.HUMHUB_ACTIVE && dbUser.humhubAllowed) {
|
||||
humhubUserPromise = HumHubClient.getInstance()?.userByEmailAsync(email)
|
||||
}
|
||||
|
||||
if (dbUser.passwordEncryptionType !== PasswordEncryptionType.GRADIDO_ID) {
|
||||
dbUser.passwordEncryptionType = PasswordEncryptionType.GRADIDO_ID
|
||||
dbUser.password = encryptPassword(dbUser, password)
|
||||
@ -190,7 +192,6 @@ export class UserResolver {
|
||||
dbUser.publisherId = publisherId
|
||||
await DbUser.save(dbUser)
|
||||
}
|
||||
user.klickTipp = await getKlicktippState(dbUser.emailContact.email)
|
||||
|
||||
context.setHeaders.push({
|
||||
key: 'token',
|
||||
@ -199,13 +200,11 @@ export class UserResolver {
|
||||
|
||||
await EVENT_USER_LOGIN(dbUser)
|
||||
// load humhub state
|
||||
if (CONFIG.HUMHUB_ACTIVE && user.humhubAllowed) {
|
||||
const startTime = new Date()
|
||||
if (humhubUserPromise) {
|
||||
const result = await humhubUserPromise
|
||||
const endTime = new Date()
|
||||
console.log("wait for humhub at login ", endTime.getTime() - startTime.getTime())
|
||||
user.humhubAllowed = result?.result?.account.status === 1
|
||||
}
|
||||
user.klickTipp = await klicktippStatePromise
|
||||
logger.info(`successful Login: ${JSON.stringify(user, null, 2)}`)
|
||||
return user
|
||||
}
|
||||
|
||||
@ -332,7 +332,7 @@
|
||||
"hideAmountGDT": "Dein GDT Betrag ist versteckt.",
|
||||
"humhub": {
|
||||
"delete-disabled": "Das Benutzerkonto kann nur im Profil-Menü der Kooperationsplattform gelöscht werden.",
|
||||
"disabled": "Daten werden nicht in die Gradido Community exportiert",
|
||||
"disabled": "Daten werden nicht in die Gradido Community exportiert",
|
||||
"enabled": "Daten werden in die Gradido Community exportiert",
|
||||
"naming-format": "Namen anzeigen:",
|
||||
"publish-name": {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user