diff --git a/webapp/components/Registration/RegistrationSlideCreate.vue b/webapp/components/Registration/RegistrationSlideCreate.vue index 908b5d953..8cb2bf897 100644 --- a/webapp/components/Registration/RegistrationSlideCreate.vue +++ b/webapp/components/Registration/RegistrationSlideCreate.vue @@ -280,17 +280,18 @@ export default { }, async submit() { const { name, password, about } = this.formData - const { email, nonce } = this.sliderData.collectedInputData + const { email, inviteCode = null, nonce } = this.sliderData.collectedInputData const termsAndConditionsAgreedVersion = VERSION const locale = this.$i18n.locale() try { await this.$apollo.mutate({ - mutation: SignupVerificationMutation, // Wolle add nonce in 'SignupVerificationMutation' definition in case + mutation: SignupVerificationMutation, variables: { name, password, about, email, + inviteCode, nonce, termsAndConditionsAgreedVersion, locale, diff --git a/webapp/components/Registration/RegistrationSlideEmail.vue b/webapp/components/Registration/RegistrationSlideEmail.vue index b5306602c..ce9e0410f 100644 --- a/webapp/components/Registration/RegistrationSlideEmail.vue +++ b/webapp/components/Registration/RegistrationSlideEmail.vue @@ -68,10 +68,9 @@ import { isEmail } from 'validator' import normalizeEmail from '~/components/utils/NormalizeEmail' // Wolle import { SweetalertIcon } from 'vue-sweetalert-icons' -// Wolle add nonce in in case export const SignupMutation = gql` - mutation($email: String!) { - Signup(email: $email) { + mutation($email: String!, $inviteCode: String) { + Signup(email: $email, inviteCode: $inviteCode) { email } } @@ -183,7 +182,8 @@ export default { }, async onNextClick() { const { email } = this.formData - const variables = { email } // Wolle add nonce in case + const { inviteCode = null } = this.sliderData.collectedInputData + const variables = { email, inviteCode } if (!this.sendEmailAgain && this.sliderData.collectedInputData.emailSend) { return true @@ -192,10 +192,9 @@ export default { if (this.sendEmailAgain || !this.isVariablesRequested(variables)) { try { const response = await this.$apollo.mutate({ SignupMutation, variables }) // e-mail is send in emailMiddleware of backend - this.sliderData.setSliderValuesCallback( - this.sliderData.sliders[this.sliderIndex].validated, - { sliderData: { request: { variables }, response: response.data } }, - ) + this.sliderData.setSliderValuesCallback(null, { + sliderData: { request: { variables }, response: response.data }, + }) if (this.sliderData.sliders[this.sliderIndex].data.response) { this.sliderData.setSliderValuesCallback(this.validInput, { @@ -212,10 +211,9 @@ export default { } return true } catch (err) { - this.sliderData.setSliderValuesCallback( - this.sliderData.sliders[this.sliderIndex].validated, - { sliderData: { request: null, response: null } }, - ) + this.sliderData.setSliderValuesCallback(null, { + sliderData: { request: null, response: null }, + }) this.sliderData.setSliderValuesCallback(this.validInput, { collectedInputData: { emailSend: false }, }) diff --git a/webapp/components/Registration/RegistrationSlideInvite.vue b/webapp/components/Registration/RegistrationSlideInvite.vue index 478a351bc..b4d709bb0 100644 --- a/webapp/components/Registration/RegistrationSlideInvite.vue +++ b/webapp/components/Registration/RegistrationSlideInvite.vue @@ -121,10 +121,9 @@ export default { ) } } catch (err) { - this.sliderData.setSliderValuesCallback( - this.sliderData.sliders[this.sliderIndex].validated, - { sliderData: { response: { isValidInviteCode: false } } }, - ) + this.sliderData.setSliderValuesCallback(null, { + sliderData: { response: { isValidInviteCode: false } }, + }) const { message } = err this.$toast.error(message) diff --git a/webapp/components/Registration/RegistrationSlideNonce.vue b/webapp/components/Registration/RegistrationSlideNonce.vue index 0be02e922..dda0c299b 100644 --- a/webapp/components/Registration/RegistrationSlideNonce.vue +++ b/webapp/components/Registration/RegistrationSlideNonce.vue @@ -113,10 +113,9 @@ export default { if (!this.isVariablesRequested(variables)) { try { const response = await this.$apollo.query({ query: verifyNonceQuery, variables }) - this.sliderData.setSliderValuesCallback( - this.sliderData.sliders[this.sliderIndex].validated, - { sliderData: { request: { variables }, response: response.data } }, - ) + this.sliderData.setSliderValuesCallback(null, { + sliderData: { request: { variables }, response: response.data }, + }) if ( this.sliderData.sliders[this.sliderIndex].data.response && @@ -127,10 +126,9 @@ export default { ) } } catch (err) { - this.sliderData.setSliderValuesCallback( - this.sliderData.sliders[this.sliderIndex].validated, - { sliderData: { response: { VerifyNonce: false } } }, - ) + this.sliderData.setSliderValuesCallback(null, { + sliderData: { response: { VerifyNonce: false } }, + }) const { message } = err this.$toast.error(message) diff --git a/webapp/components/Registration/Signup.vue b/webapp/components/Registration/Signup.vue index 64173a115..607dafad6 100644 --- a/webapp/components/Registration/Signup.vue +++ b/webapp/components/Registration/Signup.vue @@ -69,8 +69,8 @@ import metadata from '~/constants/metadata' import { SweetalertIcon } from 'vue-sweetalert-icons' export const SignupMutation = gql` - mutation($email: String!) { - Signup(email: $email) { + mutation($email: String!, $inviteCode: String) { + Signup(email: $email, inviteCode: $inviteCode) { email } } @@ -118,7 +118,10 @@ export default { const { email } = this.formData try { - const response = await this.$apollo.mutate({ SignupMutation, variables: { email } }) + const response = await this.$apollo.mutate({ + SignupMutation, + variables: { email, inviteCode: null }, + }) this.data = response.data setTimeout(() => { this.$emit('submit', { email: this.data.Signup.email }) diff --git a/webapp/graphql/Registration.js b/webapp/graphql/Registration.js index 873c855db..fcf9c52a7 100644 --- a/webapp/graphql/Registration.js +++ b/webapp/graphql/Registration.js @@ -4,6 +4,7 @@ export const SignupVerificationMutation = gql` $nonce: String! $name: String! $email: String! + $inviteCode: String $password: String! $about: String $termsAndConditionsAgreedVersion: String! @@ -12,6 +13,7 @@ export const SignupVerificationMutation = gql` SignupVerification( nonce: $nonce email: $email + inviteCode: $inviteCode name: $name password: $password about: $about