diff --git a/backend/src/schema/resolvers/socialMedia.js b/backend/src/schema/resolvers/socialMedia.js index ea9e2d28c..96fca104f 100644 --- a/backend/src/schema/resolvers/socialMedia.js +++ b/backend/src/schema/resolvers/socialMedia.js @@ -3,9 +3,6 @@ import { neo4jgraphql } from 'neo4j-graphql-js' export default { Mutation: { CreateSocialMedia: async (object, params, context, resolveInfo) => { - /** - * TODO?: Creates double Nodes! - */ const socialMedia = await neo4jgraphql(object, params, context, resolveInfo, false) const session = context.driver.session() await session.run( diff --git a/webapp/locales/de.json b/webapp/locales/de.json index 17942ad91..81c7395c1 100644 --- a/webapp/locales/de.json +++ b/webapp/locales/de.json @@ -121,6 +121,7 @@ "social-media": { "name": "Soziale Medien", "placeholder": "Deine Social-Media URL", + "requireUnique": "Dieser Link existiert bereits", "submit": "Link hinzufügen", "successAdd": "Social-Media hinzugefügt. Profil aktualisiert!", "successDelete": "Social-Media gelöscht. Profil aktualisiert!" diff --git a/webapp/locales/en.json b/webapp/locales/en.json index c881bf270..516431148 100644 --- a/webapp/locales/en.json +++ b/webapp/locales/en.json @@ -121,6 +121,7 @@ "social-media": { "name": "Social media", "placeholder": "Your social media url", + "requireUnique": "You added this url already", "submit": "Add link", "successAdd": "Added social media. Updated user profile!", "successDelete": "Deleted social media. Updated user profile!" diff --git a/webapp/pages/settings/my-social-media.vue b/webapp/pages/settings/my-social-media.vue index 8b3b8ec2a..37688d430 100644 --- a/webapp/pages/settings/my-social-media.vue +++ b/webapp/pages/settings/my-social-media.vue @@ -160,6 +160,12 @@ export default { }, async handleSubmitSocialMedia() { const isEditing = !!this.editingLink.id + const url = this.formData.socialMediaLink + + const duplicateUrl = this.socialMediaLinks.find(link => link.url === url); + if (duplicateUrl && duplicateUrl.id !== this.editingLink.id) { + return this.$toast.error(this.$t('settings.social-media.requireUnique')) + } let mutation = gql` mutation($url: String!) { @@ -169,7 +175,7 @@ export default { } } ` - let variables = { url: this.formData.socialMediaLink } + let variables = { url } let successMessage = this.$t('settings.social-media.successAdd') if (isEditing) {