class Spaceship::Portal::Key

Constants

APNS_ID

data model for managing JWT tokens or “Keys” as the ADP refers to them

DEVICE_CHECK_ID
MUSIC_KIT_ID

Attributes

id[RW]
name[RW]

Public Class Methods

all() click to toggle source
# File spaceship/lib/spaceship/portal/key.rb, line 24
def self.all
  keys = client.list_keys
  keys.map do |key|
    new(key)
  end
end
create(name: nil, apns: nil, device_check: nil, music_id: nil) click to toggle source

Creates a new JWT / Key for making requests to services.

@param name [String] the name of the key @param apns [Bool] whether the key should be able to make APNs requests @param device_check [Bool] whether the key should be able to make DeviceCheck requests @param music_id [String] the Music Id id (the autogenerated id, not the user specified identifier “music.com.etc…”)

# File spaceship/lib/spaceship/portal/key.rb, line 43
def self.create(name: nil, apns: nil, device_check: nil, music_id: nil)
  service_config = {}
  service_config[APNS_ID] = [] if apns
  service_config[DEVICE_CHECK_ID] = [] if device_check
  service_config[MUSIC_KIT_ID] = [music_id] if music_id

  key = client.create_key!(name: name, service_configs: service_config)
  new(key)
end
find(id) click to toggle source
# File spaceship/lib/spaceship/portal/key.rb, line 31
def self.find(id)
  key = client.get_key(id: id)
  new(key)
end

Public Instance Methods

download() click to toggle source
# File spaceship/lib/spaceship/portal/key.rb, line 57
def download
  client.download_key(id: id)
end
has_apns?() click to toggle source
# File spaceship/lib/spaceship/portal/key.rb, line 72
def has_apns?
  has_service?(APNS_ID)
end
has_device_check?() click to toggle source
# File spaceship/lib/spaceship/portal/key.rb, line 80
def has_device_check?
  has_service?(DEVICE_CHECK_ID)
end
has_music_kit?() click to toggle source
# File spaceship/lib/spaceship/portal/key.rb, line 76
def has_music_kit?
  has_service?(MUSIC_KIT_ID)
end
reload() click to toggle source
# File spaceship/lib/spaceship/portal/key.rb, line 84
def reload
  self.raw_data = self.class.find(id).raw_data
end
revoke!() click to toggle source
# File spaceship/lib/spaceship/portal/key.rb, line 53
def revoke!
  client.revoke_key!(id: id)
end
service_configs_for(service_id) click to toggle source
# File spaceship/lib/spaceship/portal/key.rb, line 66
def service_configs_for(service_id)
  if (service = find_service(service_id))
    service['configurations']
  end
end
services() click to toggle source
Calls superclass method
# File spaceship/lib/spaceship/portal/key.rb, line 61
def services
  raw_data['services'] || reload
  super
end

Private Instance Methods

find_service(service_id) click to toggle source
# File spaceship/lib/spaceship/portal/key.rb, line 90
def find_service(service_id)
  services.find do |service|
    service['id'] == service_id
  end
end
has_service?(service_id) click to toggle source
# File spaceship/lib/spaceship/portal/key.rb, line 96
def has_service?(service_id)
  find_service(service_id) != nil
end