class Spaceship::ConnectAPI::User

Constants

ESSENTIAL_INCLUDES

Attributes

agreed_to_terms[RW]
all_apps_visible[RW]
email[RW]
email_vetting_required[RW]
first_name[RW]
last_name[RW]
notifications[RW]
preferred_currency_territory[RW]
provisioning_allowed[RW]
roles[RW]
username[RW]
visible_apps[RW]

Public Class Methods

all(client: nil, filter: {}, includes: ESSENTIAL_INCLUDES, limit: nil, sort: nil) click to toggle source

API

# File spaceship/lib/spaceship/connect_api/models/user.rb, line 63
def self.all(client: nil, filter: {}, includes: ESSENTIAL_INCLUDES, limit: nil, sort: nil)
  client ||= Spaceship::ConnectAPI
  resps = client.get_users(filter: filter, includes: includes).all_pages
  return resps.flat_map(&:to_models)
end
find(client: nil, email: nil, includes: ESSENTIAL_INCLUDES) click to toggle source
# File spaceship/lib/spaceship/connect_api/models/user.rb, line 69
def self.find(client: nil, email: nil, includes: ESSENTIAL_INCLUDES)
  client ||= Spaceship::ConnectAPI
  return all(client: client, filter: { email: email }, includes: includes)
end
type() click to toggle source
# File spaceship/lib/spaceship/connect_api/models/user.rb, line 41
def self.type
  return "users"
end

Public Instance Methods

delete!(client: nil) click to toggle source
# File spaceship/lib/spaceship/connect_api/models/user.rb, line 98
def delete!(client: nil)
  client ||= Spaceship::ConnectAPI
  client.delete_user(user_id: id)
end
get_visible_apps(client: nil, limit: nil) click to toggle source
# File spaceship/lib/spaceship/connect_api/models/user.rb, line 103
def get_visible_apps(client: nil, limit: nil)
  client ||= Spaceship::ConnectAPI
  resp = client.get_user_visible_apps(user_id: id, limit: limit)
  return resp.to_models
end
update(client: nil, all_apps_visible: nil, provisioning_allowed: nil, roles: nil, visible_app_ids: nil) click to toggle source

@param client [ConnectAPI] ConnectAPI client. @param all_apps_visible [Boolean] If all apps must be visible to a user. true - if a user must see all apps, you must not provide visible_app_ids, ‘false` - a user must see only a limited list of apps, and you must provide visible_app_ids. nil if no change is needed. @param provisioning_allowed [Bool] If a user with a Developer or App Manager role must have access to Certificates, Identifiers & Profiles. true - if a user must be able to create new certificates and provisioning profiles, `false` - otherwise. nil if no change is needed. @param roles [Array] Array of strings describing user roles. You can use defined constants in the UserRole, or refer to the Apple Documentation developer.apple.com/documentation/appstoreconnectapi/userrole . Pass nil if no change is needed. @param visible_app_ids [Array] Array of strings with application identifiers the user needs access to. nil if no apps change is needed or user must have access to all apps. @return (User) Modified user.

# File spaceship/lib/spaceship/connect_api/models/user.rb, line 80
def update(client: nil, all_apps_visible: nil, provisioning_allowed: nil, roles: nil, visible_app_ids: nil)
  client ||= Spaceship::ConnectAPI

  all_apps_visible = all_apps_visible.nil? ? self.all_apps_visible : all_apps_visible
  provisioning_allowed = provisioning_allowed.nil? ? self.provisioning_allowed : provisioning_allowed
  roles ||= self.roles
  visible_app_ids ||= self.visible_apps.map(&:id)

  resp = client.patch_user(
    user_id: self.id,
    all_apps_visible: all_apps_visible,
    provisioning_allowed: provisioning_allowed,
    roles: roles,
    visible_app_ids: visible_app_ids
  )
  return resp.to_models.first
end