From 5610e327d3afbd30fac722a92ba589a6a9893508 Mon Sep 17 00:00:00 2001 From: elweyn Date: Fri, 24 Mar 2023 08:11:47 +0100 Subject: [PATCH 01/12] fix(backend): subscription KlickTipp searches user --- frontend/src/components/UserSettings/UserNewsletter.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/frontend/src/components/UserSettings/UserNewsletter.vue b/frontend/src/components/UserSettings/UserNewsletter.vue index 39f3a14af..f17463354 100644 --- a/frontend/src/components/UserSettings/UserNewsletter.vue +++ b/frontend/src/components/UserSettings/UserNewsletter.vue @@ -42,7 +42,6 @@ export default { .mutate({ mutation: this.newsletterState ? subscribeNewsletter : unsubscribeNewsletter, variables: { - email: this.$store.state.email, language: this.newsletterState ? this.$store.state.language : undefined, }, }) From 7149de1b93bfbe0f834ca6650c4ecbc8590651f4 Mon Sep 17 00:00:00 2001 From: elweyn Date: Fri, 24 Mar 2023 08:12:57 +0100 Subject: [PATCH 02/12] remove email from graphql mutation --- frontend/src/graphql/mutations.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/graphql/mutations.js b/frontend/src/graphql/mutations.js index 55858b09b..bd4d6c145 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($language: String!) { + subscribeNewsletter(language: $language) } ` export const unsubscribeNewsletter = gql` - mutation($email: String!) { - unsubscribeNewsletter(email: $email) + mutation { + unsubscribeNewsletter } ` From 0997d81ca9f6a339fd6728d03b0f5a7abe3d3c6c Mon Sep 17 00:00:00 2001 From: elweyn Date: Fri, 24 Mar 2023 08:13:25 +0100 Subject: [PATCH 03/12] Remove ununsed Args definition --- backend/src/graphql/arg/SubscribeNewsletterArgs.ts | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 backend/src/graphql/arg/SubscribeNewsletterArgs.ts 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 -} From d07d76298b1cba69366aaff0762c0402d350ea66 Mon Sep 17 00:00:00 2001 From: elweyn Date: Fri, 24 Mar 2023 08:14:12 +0100 Subject: [PATCH 04/12] email is searched from user object --- .../src/graphql/resolver/KlicktippResolver.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/backend/src/graphql/resolver/KlicktippResolver.ts b/backend/src/graphql/resolver/KlicktippResolver.ts index dd137f07c..7d4444263 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, Args, 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,18 @@ 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 await unsubscribe(user.emailContact.email) } @Authorized([RIGHTS.SUBSCRIBE_NEWSLETTER]) @Mutation(() => Boolean) async subscribeNewsletter( - @Args() { email, language }: SubscribeNewsletterArgs, + @Arg('language') language: string, + @Ctx() context: Context, ): Promise { - return await klicktippSignIn(email, language) + const user = getUser(context) + return await klicktippSignIn(user.emailContact.email, language) } } From f7af88fcef21324621d9bd142e26e5f00cd18f69 Mon Sep 17 00:00:00 2001 From: elweyn Date: Fri, 24 Mar 2023 08:34:15 +0100 Subject: [PATCH 05/12] unsubscribeNewslette variable language undefined --- frontend/src/components/UserSettings/UserNewsletter.spec.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/frontend/src/components/UserSettings/UserNewsletter.spec.js b/frontend/src/components/UserSettings/UserNewsletter.spec.js index bb2781586..c21c6b052 100644 --- a/frontend/src/components/UserSettings/UserNewsletter.spec.js +++ b/frontend/src/components/UserSettings/UserNewsletter.spec.js @@ -61,7 +61,7 @@ describe('UserCard_Newsletter', () => { expect(mockAPIcall).toBeCalledWith({ mutation: unsubscribeNewsletter, variables: { - email: 'peter@lustig.de', + language: undefined, }, }) }) @@ -90,7 +90,6 @@ describe('UserCard_Newsletter', () => { expect(mockAPIcall).toBeCalledWith({ mutation: subscribeNewsletter, variables: { - email: 'peter@lustig.de', language: 'de', }, }) From 4081a9eecf829d944d1edff32b7a9d202048507f Mon Sep 17 00:00:00 2001 From: elweyn Date: Fri, 24 Mar 2023 08:34:33 +0100 Subject: [PATCH 06/12] remove Args import --- backend/src/graphql/resolver/KlicktippResolver.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/graphql/resolver/KlicktippResolver.ts b/backend/src/graphql/resolver/KlicktippResolver.ts index 7d4444263..661aeb4a6 100644 --- a/backend/src/graphql/resolver/KlicktippResolver.ts +++ b/backend/src/graphql/resolver/KlicktippResolver.ts @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/no-unsafe-return */ -import { Resolver, Query, Authorized, Arg, Mutation, Args, Ctx } from 'type-graphql' +import { Resolver, Query, Authorized, Arg, Mutation, Ctx } from 'type-graphql' import { getKlickTippUser, From 1f136130492e136defc049c17ecdb0ebea6fd32a Mon Sep 17 00:00:00 2001 From: elweyn Date: Fri, 24 Mar 2023 13:35:03 +0100 Subject: [PATCH 07/12] remove language from mutation --- backend/src/graphql/resolver/KlicktippResolver.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/backend/src/graphql/resolver/KlicktippResolver.ts b/backend/src/graphql/resolver/KlicktippResolver.ts index 661aeb4a6..f3681ce29 100644 --- a/backend/src/graphql/resolver/KlicktippResolver.ts +++ b/backend/src/graphql/resolver/KlicktippResolver.ts @@ -33,11 +33,8 @@ export class KlicktippResolver { @Authorized([RIGHTS.SUBSCRIBE_NEWSLETTER]) @Mutation(() => Boolean) - async subscribeNewsletter( - @Arg('language') language: string, - @Ctx() context: Context, - ): Promise { + async subscribeNewsletter(@Ctx() context: Context): Promise { const user = getUser(context) - return await klicktippSignIn(user.emailContact.email, language) + return await klicktippSignIn(user.emailContact.email, user.language) } } From 68064a9797272ecc03aaff5b27b51951a2cc598e Mon Sep 17 00:00:00 2001 From: elweyn Date: Fri, 24 Mar 2023 13:35:43 +0100 Subject: [PATCH 08/12] remove language from mutation definition --- frontend/src/graphql/mutations.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/graphql/mutations.js b/frontend/src/graphql/mutations.js index bd4d6c145..4b43cade4 100644 --- a/frontend/src/graphql/mutations.js +++ b/frontend/src/graphql/mutations.js @@ -1,8 +1,8 @@ import gql from 'graphql-tag' export const subscribeNewsletter = gql` - mutation($language: String!) { - subscribeNewsletter(language: $language) + mutation { + subscribeNewsletter } ` From 5a960a6e27d3cebcabbfe4c9cc04b1fae623cf02 Mon Sep 17 00:00:00 2001 From: elweyn Date: Fri, 24 Mar 2023 13:36:18 +0100 Subject: [PATCH 09/12] Frontend mutation call remove language --- frontend/src/components/UserSettings/UserNewsletter.vue | 3 --- 1 file changed, 3 deletions(-) diff --git a/frontend/src/components/UserSettings/UserNewsletter.vue b/frontend/src/components/UserSettings/UserNewsletter.vue index f17463354..50e442a29 100644 --- a/frontend/src/components/UserSettings/UserNewsletter.vue +++ b/frontend/src/components/UserSettings/UserNewsletter.vue @@ -41,9 +41,6 @@ export default { this.$apollo .mutate({ mutation: this.newsletterState ? subscribeNewsletter : unsubscribeNewsletter, - variables: { - language: this.newsletterState ? this.$store.state.language : undefined, - }, }) .then(() => { this.$store.commit('newsletterState', this.newsletterState) From 06a5cd678bb27d4c8b260e4957ca8daa09320bb1 Mon Sep 17 00:00:00 2001 From: elweyn Date: Fri, 24 Mar 2023 13:36:25 +0100 Subject: [PATCH 10/12] Fix test --- frontend/src/components/UserSettings/UserNewsletter.spec.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/frontend/src/components/UserSettings/UserNewsletter.spec.js b/frontend/src/components/UserSettings/UserNewsletter.spec.js index c21c6b052..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: { - language: undefined, - }, }) }) @@ -89,9 +86,6 @@ describe('UserCard_Newsletter', () => { it('calls the subscribe mutation', () => { expect(mockAPIcall).toBeCalledWith({ mutation: subscribeNewsletter, - variables: { - language: 'de', - }, }) }) From d6536f275fcf4df34193df2b4884e444308ac9b2 Mon Sep 17 00:00:00 2001 From: Hannes Heine Date: Tue, 28 Mar 2023 01:49:08 +0200 Subject: [PATCH 11/12] Update backend/src/graphql/resolver/KlicktippResolver.ts Co-authored-by: Ulf Gebhardt --- backend/src/graphql/resolver/KlicktippResolver.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/graphql/resolver/KlicktippResolver.ts b/backend/src/graphql/resolver/KlicktippResolver.ts index f3681ce29..0b054ddcc 100644 --- a/backend/src/graphql/resolver/KlicktippResolver.ts +++ b/backend/src/graphql/resolver/KlicktippResolver.ts @@ -28,7 +28,7 @@ export class KlicktippResolver { @Mutation(() => Boolean) async unsubscribeNewsletter(@Ctx() context: Context): Promise { const user = getUser(context) - return await unsubscribe(user.emailContact.email) + return unsubscribe(user.emailContact.email) } @Authorized([RIGHTS.SUBSCRIBE_NEWSLETTER]) From 3c9dca5b46c297c655d384f9c5f9a80fe539543a Mon Sep 17 00:00:00 2001 From: Hannes Heine Date: Tue, 28 Mar 2023 01:49:27 +0200 Subject: [PATCH 12/12] Update backend/src/graphql/resolver/KlicktippResolver.ts Co-authored-by: Ulf Gebhardt --- backend/src/graphql/resolver/KlicktippResolver.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/graphql/resolver/KlicktippResolver.ts b/backend/src/graphql/resolver/KlicktippResolver.ts index 0b054ddcc..31bde0581 100644 --- a/backend/src/graphql/resolver/KlicktippResolver.ts +++ b/backend/src/graphql/resolver/KlicktippResolver.ts @@ -35,6 +35,6 @@ export class KlicktippResolver { @Mutation(() => Boolean) async subscribeNewsletter(@Ctx() context: Context): Promise { const user = getUser(context) - return await klicktippSignIn(user.emailContact.email, user.language) + return klicktippSignIn(user.emailContact.email, user.language) } }