Move queries and mutations to submodules

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2019-01-25 15:41:10 +01:00
parent 0c2931c10b
commit c55ae19f84
9 changed files with 220 additions and 203 deletions

View File

@@ -3,6 +3,8 @@ defmodule MobilizonWeb.Schema.UserType do
Schema representation for User
"""
use Absinthe.Schema.Notation
alias MobilizonWeb.Resolvers.User
import MobilizonWeb.Schema.Utils
@desc "A local user of Mobilizon"
object :user do
@@ -33,4 +35,68 @@ defmodule MobilizonWeb.Schema.UserType do
description: "The token sent when requesting password token"
)
end
object :user_queries do
@desc "Get an user"
field :user, :user do
arg(:id, non_null(:id))
resolve(&User.find_user/3)
end
@desc "Get the current user"
field :logged_user, :user do
resolve(&User.get_current_user/3)
end
end
object :user_mutations do
@desc "Create an user"
field :create_user, type: :user do
arg(:email, non_null(:string))
arg(:password, non_null(:string))
resolve(handle_errors(&User.create_user/3))
end
@desc "Validate an user after registration"
field :validate_user, type: :login do
arg(:token, non_null(:string))
resolve(&User.validate_user/3)
end
@desc "Resend registration confirmation token"
field :resend_confirmation_email, type: :string do
arg(:email, non_null(:string))
arg(:locale, :string, default_value: "en")
resolve(&User.resend_confirmation_email/3)
end
@desc "Send a link through email to reset user password"
field :send_reset_password, type: :string do
arg(:email, non_null(:string))
arg(:locale, :string, default_value: "en")
resolve(&User.send_reset_password/3)
end
@desc "Reset user password"
field :reset_password, type: :login do
arg(:token, non_null(:string))
arg(:password, non_null(:string))
arg(:locale, :string, default_value: "en")
resolve(&User.reset_password/3)
end
@desc "Login an user"
field :login, :login do
arg(:email, non_null(:string))
arg(:password, non_null(:string))
resolve(&User.login_user/3)
end
@desc "Change default actor for user"
field :change_default_actor, :user do
arg(:preferred_username, non_null(:string))
resolve(&User.change_default_actor/3)
end
end
end