Sha256: bb0a1cce44e1caa8fd3cd3d174ebfd924f5856b333fa1dae7213212c7927d89c

Contents?: true

Size: 1.24 KB

Versions: 5

Compression:

Stored size: 1.24 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 :name, !types.String, "The user's name"

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

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

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

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

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

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
decidim-core-0.11.2 app/types/decidim/core/user_type.rb
decidim-core-0.11.1 app/types/decidim/core/user_type.rb
decidim-core-0.11.0.pre1 app/types/decidim/core/user_type.rb
decidim-core-0.10.1 app/types/decidim/core/user_type.rb
decidim-core-0.10.0 app/types/decidim/core/user_type.rb