sezaru
AshAuthentication sign_in fails when using with AshGraphql
Hey, I use AshAuthentication in my User resource with the password strategy.
I want to expose the sign_in_with_password action via AshGraphQL. I’m trying to do it like this:
read_one :sign_in_with_password, :sign_in_with_password do
as_mutation? true
end
This will give the following error:
** (Spark.Error.DslError) [Marketplace.Accounts.User]
Queries for actions with metadata must have a type configured on the query.
The sign_in_with_password action on Marketplace.Accounts.User has the following metadata fields:
* token
To generate a new type and include the metadata in that type, provide a new type
name, for example `type :user_with_token`.
To ignore the generated metadata, use the same type as the default.
(ash_graphql 0.26.2) lib/resource/verifiers/verify_query_metadata.ex:24: anonymous fn/2 in AshGraphql.Resource.Verifiers.VerifyQueryMetadata.verify/1
(elixir 1.15.5) lib/enum.ex:984: Enum."-each/2-lists^foreach/1-0-"/2
(ash_graphql 0.26.2) lib/resource/verifiers/verify_query_metadata.ex:12: AshGraphql.Resource.Verifiers.VerifyQueryMetadata.verify/1
(marketplace 1.3.2) lib/marketplace/accounts/user.ex:1: anonymous fn/1 in Marketplace.Accounts.User.__verify_spark_dsl__/1
(elixir 1.15.5) lib/enum.ex:984: Enum."-each/2-lists^foreach/1-0-"/2
(marketplace 1.3.2) lib/marketplace/accounts/user.ex:1: Marketplace.Accounts.User.__verify_spark_dsl__/1
(elixir 1.15.5) lib/enum.ex:984: Enum."-each/2-lists^foreach/1-0-"/2
(elixir 1.15.5) lib/module/parallel_checker.ex:271: Module.ParallelChecker.check_module/3
(elixir 1.15.5) lib/module/parallel_checker.ex:82: anonymous fn/6 in Module.ParallelChecker.spawn/4
** (EXIT from #PID<0.1455.0>) shell process exited with reason: an exception was raised:
** (Spark.Error.DslError) [Marketplace.Accounts.User]
What an I doing wrong here?
Marked As Solved
zachdaniel
Creator of Ash
That action returns additional metadata, and so cannot use the default type name of :user. To see what I mean, add the type :user_with_token config to your mutation:
read_one :sign_in_with_password, :sign_in_with_password do
as_mutation? true
type_name :user_with_metadata
end
EDIT: changed type to type_name in the example above.
Also Liked
zachdaniel
Creator of Ash
ah, right
That is what I meant. Did that work?
1
sezaru
Yep, worked great ![]()
1
Popular in Questions
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
After calling mix ecto.create I get this error:
17:00:32.162 [error] GenServer #PID<0.412.0> terminating
** (Postgrex.Error) FATAL...
New
I have followed this StackOverflow post to install the specific version of Erlang.
And When I am running mix ecto.setup then getting fol...
New
Hi guys, i’m new in the Elixir world, and i have to say, that i love it!
i’m having some problem to understand anonymous functions with ...
New
i’m a new one to elixir
which editor can i use
vs code? or atom?
Thanks! :smiley:
New
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this:
...
New
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
In the Dialyzer docs ( dialyzer — OTP 29.0.2 (dialyzer 6.0.1) ), there is a way to turn off a specific warning for a function:
-dialyzer...
New
Other popular topics
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch.
This project took far...
New
If I have a post route which an argument:
post /my_post_route/:my_param1, MyController.my_post_handler
How would get the post params ...
New
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
New
Hello all!
I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
Hi,
I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
Hello guys,
I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
New
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum.
...
New
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
I wrote this comment on r/haskell, and it’s not popular there. :wink: But I think I’m on to something…
Haskell reminds me of Java, and e...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








