mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
26 lines
933 B
TypeScript
26 lines
933 B
TypeScript
import { Resolver, Authorized, Mutation, Ctx } from 'type-graphql'
|
|
|
|
import { unsubscribe, subscribe } from '@/apis/KlicktippController'
|
|
import { RIGHTS } from '@/auth/RIGHTS'
|
|
import { EVENT_NEWSLETTER_SUBSCRIBE, EVENT_NEWSLETTER_UNSUBSCRIBE } from '@/event/Events'
|
|
import { Context, getUser } from '@/server/context'
|
|
|
|
@Resolver()
|
|
export class KlicktippResolver {
|
|
@Authorized([RIGHTS.UNSUBSCRIBE_NEWSLETTER])
|
|
@Mutation(() => Boolean)
|
|
async unsubscribeNewsletter(@Ctx() context: Context): Promise<boolean> {
|
|
const user = getUser(context)
|
|
await EVENT_NEWSLETTER_UNSUBSCRIBE(user)
|
|
return unsubscribe(user.emailContact.email)
|
|
}
|
|
|
|
@Authorized([RIGHTS.SUBSCRIBE_NEWSLETTER])
|
|
@Mutation(() => Boolean)
|
|
async subscribeNewsletter(@Ctx() context: Context): Promise<boolean> {
|
|
const user = getUser(context)
|
|
await EVENT_NEWSLETTER_SUBSCRIBE(user)
|
|
return subscribe(user.emailContact.email, user.language)
|
|
}
|
|
}
|