ExDisco.Users.Profile (ex_disco v0.1.0)

Copy Markdown View Source

Represents the user profile as returned by /users/{username}

Summary

Types

Supported currency codes for curr_abbr.

t()

Fields accepted by ExDisco.Users.update_profile/2,3.

Functions

Validates the map for the profile update

Types

currency()

@type currency() :: String.t()

Supported currency codes for curr_abbr.

t()

@type t() :: %ExDisco.Users.Profile{
  avatar_url: String.t(),
  banner_url: String.t(),
  buyer_num_ratings: pos_integer(),
  buyer_rating: float(),
  buyer_rating_stars: pos_integer(),
  collection_fields_url: String.t(),
  collection_folders_url: String.t(),
  curr_abbr: currency(),
  email: String.t() | nil,
  home_page: String.t() | nil,
  id: pos_integer(),
  inventory_url: String.t(),
  location: String.t(),
  name: String.t(),
  num_collection: pos_integer(),
  num_for_sale: pos_integer(),
  num_lists: pos_integer(),
  num_pending: pos_integer(),
  num_wantlist: pos_integer(),
  profile: String.t(),
  rank: pos_integer(),
  rating_avg: float(),
  registered: DateTime.t(),
  releases_contributed: pos_integer(),
  releases_rated: pos_integer(),
  resource_url: String.t(),
  seller_num_ratings: pos_integer(),
  seller_rating: float(),
  seller_rating_stars: pos_integer(),
  uri: String.t(),
  username: String.t(),
  wantlist_url: String.t()
}

update()

@type update() :: %{
  optional(:name) => String.t(),
  optional(:home_page) => String.t(),
  optional(:location) => String.t(),
  optional(:profile) => String.t(),
  optional(:curr_abbr) => currency()
}

Fields accepted by ExDisco.Users.update_profile/2,3.

All fields are optional — only the keys you include will be updated. curr_abbr must be one of: USD, GBP, EUR, CAD, AUD, JPY, CHF, MXN, BRL, NZD, SEK, ZAR.

Functions

validate_update(arg1)

@spec validate_update(update()) :: :ok | {:error, ExDisco.Error.t()}

Validates the map for the profile update