Sha256: ebda83543c6352f70ef763d9d1fd4523cadb10594f10c71f3a001f060b24f262

Contents?: true

Size: 1.73 KB

Versions: 9

Compression:

Stored size: 1.73 KB

Contents

# frozen_string_literal: true

module Decidim
  module Core
    # This type represents a User.
    UserType = GraphQL::ObjectType.define do
      name "User"
      description "A user"

      interfaces [
        -> { Decidim::Core::AuthorInterface }
      ]

      field :id, !types.ID, "The user's id"

      field :name, !types.String, "The user's name"

      field :nickname, !types.String, "The user's nickname" do
        resolve ->(user, _args, _ctx) { user.presenter.nickname }
      end

      field :avatarUrl, !types.String, "The user's avatar url" do
        resolve ->(user, _args, _ctx) { user.presenter.avatar_url(:thumb) }
      end

      field :profilePath, !types.String, "The user's profile url" do
        resolve ->(user, _args, _ctx) { user.presenter.profile_path }
      end

      field :directMessagesEnabled, !types.String, "If the user making the request is logged in,
       it will return whether this recipient accepts a conversation or not. It will return false for non-logged requests." do
        resolve ->(user, _args, ctx) { user.presenter.direct_messages_enabled?(ctx.to_h) }
      end

      field :organizationName, !types.String, "The user's organization name" do
        resolve ->(user, _args, _ctx) { user.organization.name }
      end

      field :deleted, !types.Boolean, "Whether the user's account has been deleted or not" do
        resolve ->(user, _args, _ctx) { user.presenter.deleted? }
      end

      field :badge, !types.String, "A badge for the user group" do
        resolve ->(user, _args, _ctx) { user.presenter.badge }
      end

      field :groups, !types[UserGroupType], "Groups where this user belongs" do
        resolve ->(user, _args, _ctx) { user.accepted_user_groups }
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
decidim-core-0.23.6 app/types/decidim/core/user_type.rb
decidim-core-0.23.5 app/types/decidim/core/user_type.rb
decidim-core-0.23.4 app/types/decidim/core/user_type.rb
decidim-core-0.23.3 app/types/decidim/core/user_type.rb
decidim-core-0.23.2 app/types/decidim/core/user_type.rb
decidim-core-0.23.1 app/types/decidim/core/user_type.rb
decidim-core-0.23.1.rc1 app/types/decidim/core/user_type.rb
decidim-core-0.23.0 app/types/decidim/core/user_type.rb
decidim-core-0.22.0 app/types/decidim/core/user_type.rb