From cd3c3168817b1b56c86d5e5a201dc98c6ec19f39 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Thu, 24 Mar 2022 16:21:30 +0100 Subject: [PATCH] Return a proper error directly when a group name conflicts And translate the error Signed-off-by: Thomas Citharel --- lib/graphql/api/groups.ex | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/graphql/api/groups.ex b/lib/graphql/api/groups.ex index 28919d5d9..566164048 100644 --- a/lib/graphql/api/groups.ex +++ b/lib/graphql/api/groups.ex @@ -5,9 +5,10 @@ defmodule Mobilizon.GraphQL.API.Groups do alias Mobilizon.Actors alias Mobilizon.Actors.Actor - + alias Mobilizon.GraphQL.Error alias Mobilizon.Federation.ActivityPub.{Actions, Activity} alias Mobilizon.Service.Formatter.HTML + import Mobilizon.Web.Gettext @doc """ Create a group @@ -26,7 +27,13 @@ defmodule Mobilizon.GraphQL.API.Groups do Actions.Create.create(:actor, args, true, %{"actor" => args.creator_actor.url}) %Actor{} -> - {:error, "A profile or group with that name already exists"} + {:error, + %Error{ + code: :validation, + message: dgettext("errors", "A profile or group with that name already exists"), + status_code: 409, + field: "preferred_username" + }} end end