ash_authentication/dev/dev_server/gql_router.ex
James Harton 8797005175
feat(Ash.PlugHelpers): Support standard actor configuration. (#16)
* improvement(docs): change all references to `actor` to `user`.

The word "actor" has special meaning in the Ash ecosystem.

* chore: format `dev` directory also.

* feat(Ash.PlugHelpers): Support standard actor configuration.

* Adds the `:set_actor` plug which will set the actor to a resource based on the subject name.
* Also includes GraphQL and JSON:API interfaces in the devserver for testing.
2022-10-31 16:43:00 +13:00

26 lines
486 B
Elixir

defmodule DevServer.GqlRouter do
@moduledoc """
Router for GraphQL requests.
"""
use Plug.Router
import Example.AuthPlug
plug(:load_from_bearer)
plug(:set_actor, :user_with_username)
plug(AshGraphql.Plug)
plug(:match)
plug(:dispatch)
forward("/playground",
to: Absinthe.Plug.GraphiQL,
init_opts: [
schema: Example.Schema,
interface: :playground
]
)
forward("/",
to: Absinthe.Plug,
init_opts: [schema: Example.Schema]
)
end