diff --git a/backend/src/graphql/arg/SubscribeNewsletterArgs.ts b/backend/src/graphql/arg/SubscribeNewsletterArgs.ts deleted file mode 100644 index 98a3bb2d3..000000000 --- a/backend/src/graphql/arg/SubscribeNewsletterArgs.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { ArgsType, Field } from 'type-graphql' - -@ArgsType() -export default class SubscribeNewsletterArgs { - @Field(() => String) - email: string - - @Field(() => String) - language: string -} diff --git a/backend/src/graphql/resolver/KlicktippResolver.ts b/backend/src/graphql/resolver/KlicktippResolver.ts index dd137f07c..31bde0581 100644 --- a/backend/src/graphql/resolver/KlicktippResolver.ts +++ b/backend/src/graphql/resolver/KlicktippResolver.ts @@ -1,7 +1,5 @@ /* eslint-disable @typescript-eslint/no-unsafe-return */ -import { Resolver, Query, Authorized, Arg, Mutation, Args } from 'type-graphql' - -import SubscribeNewsletterArgs from '@arg/SubscribeNewsletterArgs' +import { Resolver, Query, Authorized, Arg, Mutation, Ctx } from 'type-graphql' import { getKlickTippUser, @@ -10,6 +8,7 @@ import { klicktippSignIn, } from '@/apis/KlicktippController' import { RIGHTS } from '@/auth/RIGHTS' +import { Context, getUser } from '@/server/context' @Resolver() export class KlicktippResolver { @@ -27,15 +26,15 @@ export class KlicktippResolver { @Authorized([RIGHTS.UNSUBSCRIBE_NEWSLETTER]) @Mutation(() => Boolean) - async unsubscribeNewsletter(@Arg('email') email: string): Promise { - return await unsubscribe(email) + async unsubscribeNewsletter(@Ctx() context: Context): Promise { + const user = getUser(context) + return unsubscribe(user.emailContact.email) } @Authorized([RIGHTS.SUBSCRIBE_NEWSLETTER]) @Mutation(() => Boolean) - async subscribeNewsletter( - @Args() { email, language }: SubscribeNewsletterArgs, - ): Promise { - return await klicktippSignIn(email, language) + async subscribeNewsletter(@Ctx() context: Context): Promise { + const user = getUser(context) + return klicktippSignIn(user.emailContact.email, user.language) } } diff --git a/frontend/src/components/UserSettings/UserNewsletter.spec.js b/frontend/src/components/UserSettings/UserNewsletter.spec.js index bb2781586..b211ec169 100644 --- a/frontend/src/components/UserSettings/UserNewsletter.spec.js +++ b/frontend/src/components/UserSettings/UserNewsletter.spec.js @@ -60,9 +60,6 @@ describe('UserCard_Newsletter', () => { it('calls the unsubscribe mutation', () => { expect(mockAPIcall).toBeCalledWith({ mutation: unsubscribeNewsletter, - variables: { - email: 'peter@lustig.de', - }, }) }) @@ -89,10 +86,6 @@ describe('UserCard_Newsletter', () => { it('calls the subscribe mutation', () => { expect(mockAPIcall).toBeCalledWith({ mutation: subscribeNewsletter, - variables: { - email: 'peter@lustig.de', - language: 'de', - }, }) }) diff --git a/frontend/src/components/UserSettings/UserNewsletter.vue b/frontend/src/components/UserSettings/UserNewsletter.vue index 39f3a14af..50e442a29 100644 --- a/frontend/src/components/UserSettings/UserNewsletter.vue +++ b/frontend/src/components/UserSettings/UserNewsletter.vue @@ -41,10 +41,6 @@ export default { this.$apollo .mutate({ mutation: this.newsletterState ? subscribeNewsletter : unsubscribeNewsletter, - variables: { - email: this.$store.state.email, - language: this.newsletterState ? this.$store.state.language : undefined, - }, }) .then(() => { this.$store.commit('newsletterState', this.newsletterState) diff --git a/frontend/src/graphql/mutations.js b/frontend/src/graphql/mutations.js index 55858b09b..4b43cade4 100644 --- a/frontend/src/graphql/mutations.js +++ b/frontend/src/graphql/mutations.js @@ -1,14 +1,14 @@ import gql from 'graphql-tag' export const subscribeNewsletter = gql` - mutation($email: String!, $language: String!) { - subscribeNewsletter(email: $email, language: $language) + mutation { + subscribeNewsletter } ` export const unsubscribeNewsletter = gql` - mutation($email: String!) { - unsubscribeNewsletter(email: $email) + mutation { + unsubscribeNewsletter } `