diff --git a/app/graphql/resolvers/users.rb b/app/graphql/resolvers/users.rb new file mode 100644 index 0000000..0e5b0a4 --- /dev/null +++ b/app/graphql/resolvers/users.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Resolvers + # Resolver to return a user + class Users < BaseResolver + type Types::UserType.connection_type, null: true + description 'Returns all user for the current user company' + + def resolve(**_args) + ::User.accessible_by(current_ability).includes(:company) + end + end +end diff --git a/app/graphql/types/query_type.rb b/app/graphql/types/query_type.rb index e0b520e..8aa1dbb 100644 --- a/app/graphql/types/query_type.rb +++ b/app/graphql/types/query_type.rb @@ -6,16 +6,9 @@ module Types class QueryType < BaseObject field :me, resolver: Resolvers::Me - field :users, Types::UserType.connection_type, null: false - def users(**_args) - ::User.accessible_by(current_ability).includes(:company) - end + field :users, resolver: Resolvers::Users field :user, resolver: Resolvers::User field :company, resolver: Resolvers::Companies::Company - - def current_ability - Ability.new(context[:current_user]) - end end end diff --git a/config/application.rb b/config/application.rb index 8267484..cba143a 100644 --- a/config/application.rb +++ b/config/application.rb @@ -40,5 +40,8 @@ class Application < Rails::Application # Skip views, helpers and assets when generating a new resource. config.time_zone = 'Berlin' + + # devise uses this for default from options + config.action_mailer.default_options = { from: ENV['DEVISE_MAILER_FROM'] } end end