Sha256: 9f55b76085211e51ef3914f01eb62b9eda8d74615d2dad0ddc4bdffcf9da3a17

Contents?: true

Size: 1.16 KB

Versions: 4

Compression:

Stored size: 1.16 KB

Contents

# frozen_string_literal: true

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

    interfaces [
      Decidim::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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
decidim-core-0.9.3 lib/decidim/core/api/user_type.rb
decidim-core-0.9.2 lib/decidim/core/api/user_type.rb
decidim-core-0.9.1 lib/decidim/core/api/user_type.rb
decidim-core-0.9.0 lib/decidim/core/api/user_type.rb