mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
WIP: Adding newsletterState to the user when login is called over a middleware.
This commit is contained in:
parent
e931b394ec
commit
e60c38819f
@ -26,7 +26,11 @@ export const signout = async (email: string, language: string): Promise<boolean>
|
||||
return result
|
||||
}
|
||||
|
||||
export const userTags = async (email: string): Promise<any> => {
|
||||
export const unsubscribe = async (email: string): Promise<boolean> => {
|
||||
return await klicktippConnector.unsubscribe(email)
|
||||
}
|
||||
|
||||
export const getKlickTippUser = async (email: string): Promise<any> => {
|
||||
const isLogin = await loginKlicktippUser()
|
||||
if (isLogin) {
|
||||
const subscriberId = await klicktippConnector.subscriberSearch(email)
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||
|
||||
import { Resolver, Query, Authorized, Arg } from 'type-graphql'
|
||||
import { userTags, getKlicktippTagMap } from '../../apis/KlicktippController'
|
||||
import { getKlickTippUser, getKlicktippTagMap } from '../../apis/KlicktippController'
|
||||
import CONFIG from '../../config'
|
||||
import { TransactionList } from '../models/Transaction'
|
||||
|
||||
@ -10,15 +10,11 @@ import { TransactionList } from '../models/Transaction'
|
||||
export class KlicktippResolver {
|
||||
@Query(() => String)
|
||||
async getKlicktippUser(@Arg('email') email: string): Promise<string> {
|
||||
const userTagList = await userTags(email)
|
||||
console.log('userTags', userTagList)
|
||||
return userTagList
|
||||
return await getKlickTippUser(email)
|
||||
}
|
||||
|
||||
@Query(() => String)
|
||||
async getKlicktippTagMap(): Promise<string> {
|
||||
const klicktippTagMap = await getKlicktippTagMap()
|
||||
console.log('klicktippTagMap', klicktippTagMap)
|
||||
return 'klicktippTagMap'
|
||||
return await getKlicktippTagMap()
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,13 +16,17 @@ import {
|
||||
UpdateUserInfosArgs,
|
||||
} from '../inputs/LoginUserInput'
|
||||
import { apiPost, apiGet } from '../../apis/HttpRequest'
|
||||
import { klicktippRegistrationMiddleware } from '../../middleware/klicktippMiddleware'
|
||||
import {
|
||||
klicktippRegistrationMiddleware,
|
||||
klicktippNewsletterStateMiddleware,
|
||||
} from '../../middleware/klicktippMiddleware'
|
||||
import encode from '../../jwt/encode'
|
||||
import { CheckEmailResponse } from '../models/CheckEmailResponse'
|
||||
|
||||
@Resolver()
|
||||
export class UserResolver {
|
||||
@Query(() => String)
|
||||
@UseMiddleware(klicktippNewsletterStateMiddleware)
|
||||
async login(@Args() { email, password }: UnsecureLoginArgs): Promise<string> {
|
||||
email = email.trim().toLowerCase()
|
||||
const result = await apiPost(CONFIG.LOGIN_API_URL + 'unsecureLogin', { email, password })
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { MiddlewareFn } from 'type-graphql'
|
||||
import { signin } from '../apis/KlicktippController'
|
||||
import { signin, getKlickTippUser } from '../apis/KlicktippController'
|
||||
import decode from '../jwt/decode'
|
||||
|
||||
export const klicktippRegistrationMiddleware: MiddlewareFn = async (
|
||||
// Only for demo
|
||||
@ -13,3 +14,15 @@ export const klicktippRegistrationMiddleware: MiddlewareFn = async (
|
||||
signin(result.email, result.language, result.firstName, result.lastName)
|
||||
return result
|
||||
}
|
||||
|
||||
export const klicktippNewsletterStateMiddleware: MiddlewareFn = async (
|
||||
{ root, args, context, info },
|
||||
next,
|
||||
) => {
|
||||
const result = await next()
|
||||
const decodedResult = decode(result)
|
||||
console.log('result', decodedResult)
|
||||
const klickTippUser = getKlickTippUser(decodedResult.email)
|
||||
console.log('klickTippUser', klickTippUser)
|
||||
return result
|
||||
}
|
||||
|
||||
0
backend/src/middleware/userResolverMiddleware.ts
Normal file
0
backend/src/middleware/userResolverMiddleware.ts
Normal file
Loading…
x
Reference in New Issue
Block a user