Class: AppleVPP::Client
- Inherits:
-
Object
- Object
- AppleVPP::Client
- Defined in:
- lib/apple_vpp/client.rb
Instance Attribute Summary collapse
-
#s_token ⇒ Object
Returns the value of attribute s_token.
Instance Method Summary collapse
- #associate_license_with_user(params = {}) ⇒ Object
- #client_config(params = {}) ⇒ Object
- #disassociate_license_from_user(params = {}) ⇒ Object
- #edit_user(params = {}) ⇒ Object
- #get_assets(params = {}) ⇒ Object
- #get_licenses(params = {}) ⇒ Object
- #get_user(params = {}) ⇒ Object
- #get_users(params = {}) ⇒ Object
-
#initialize(s_token) ⇒ Client
constructor
A new instance of Client.
- #manage_licenses_by_adam_id(params = {}) ⇒ Object
- #register_user(params = {}) ⇒ Object
- #retire_user(params = {}) ⇒ Object
Constructor Details
#initialize(s_token) ⇒ Client
Returns a new instance of Client.
9 10 11 12 |
# File 'lib/apple_vpp/client.rb', line 9 def initialize(s_token) @s_token = s_token @url_service = UrlService.new end |
Instance Attribute Details
#s_token ⇒ Object
Returns the value of attribute s_token.
7 8 9 |
# File 'lib/apple_vpp/client.rb', line 7 def s_token @s_token end |
Instance Method Details
#associate_license_with_user(params = {}) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/apple_vpp/client.rb', line 14 def associate_license_with_user(params = {}) require_params [[:user_id, :client_user_id_str], [:adam_id, :license_id]], params body = { 'userId' => params[:user_id], 'clientUserIdStr' => params[:client_user_id_str], 'adamId' => params[:adam_id], 'licenseId' => params[:license_id], 'pricingParam' => params[:pricing_param] } resp = request :associate_license_srv_url, body AppleSerializer.to_ruby [ resp['license'], resp['user'] ] end |
#client_config(params = {}) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/apple_vpp/client.rb', line 42 def client_config(params = {}) body = { 'clientContext' => params[:client_context], 'apnToken' => params[:apn_token] } resp = request :client_config_srv_url, body resp.delete('status') AppleSerializer.to_ruby resp end |
#disassociate_license_from_user(params = {}) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/apple_vpp/client.rb', line 30 def disassociate_license_from_user(params = {}) require_params :license_id, params body = { 'licenseId' => params[:license_id] } resp = request :disassociate_license_srv_url, body AppleSerializer.to_ruby [ resp['license'], resp['user'] ] end |
#edit_user(params = {}) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/apple_vpp/client.rb', line 54 def edit_user(params = {}) require_params [[:user_id, :client_user_id_str]], params body = { 'userId' => params[:user_id], 'clientUserIdStr' => params[:client_user_id_str], 'email' => params[:email] } resp = request :edit_user_srv_url, body AppleSerializer.to_ruby resp['user'] end |
#get_assets(params = {}) ⇒ Object
68 69 70 71 72 73 74 75 76 |
# File 'lib/apple_vpp/client.rb', line 68 def get_assets(params = {}) body = { 'includeLicenseCounts' => params[:include_license_counts] } resp = request :get_vpp_assets_srv_url, body AppleSerializer.to_ruby resp['assets'] end |
#get_licenses(params = {}) ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/apple_vpp/client.rb', line 78 def get_licenses(params = {}) licenses = [] batch_token = nil since_modified_token = nil begin body = { 'batchToken' => batch_token, 'sinceModifiedToken' => params[:since_modified_token], 'adamId' => params[:adam_id], 'pricingParam' => params[:pricing_param] } resp = request :get_licenses_srv_url, body licenses.concat( resp['licenses'] ) if resp['licenses'] batch_token = resp['batchToken'] since_modified_token = resp['sinceModifiedToken'] end while batch_token { licenses: AppleSerializer.to_ruby(licenses), since_modified_token: since_modified_token } end |
#get_user(params = {}) ⇒ Object
107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/apple_vpp/client.rb', line 107 def get_user(params = {}) require_params [[:user_id, :client_user_id_str]], params body = { 'userId' => params[:user_id], 'clientUserIdStr' => params[:client_user_id_str], 'itsIdHash' => params[:its_id_hash] } resp = request :get_user_srv_url, body AppleSerializer.to_ruby resp['user'] end |
#get_users(params = {}) ⇒ Object
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
# File 'lib/apple_vpp/client.rb', line 175 def get_users(params = {}) users = [] batch_token = nil since_modified_token = nil begin body = { 'batchToken' => batch_token, 'sinceModifiedToken' => params[:since_modified_token], 'includeRetired' => params[:include_retired] ? 1 : nil } resp = request :get_users_srv_url, body users.concat( resp['users'] ) if resp['users'] batch_token = resp['batchToken'] since_modified_token = resp['sinceModifiedToken'] end while batch_token { users: AppleSerializer.to_ruby(users), since_modified_token: since_modified_token } end |
#manage_licenses_by_adam_id(params = {}) ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
# File 'lib/apple_vpp/client.rb', line 121 def manage_licenses_by_adam_id(params = {}) require_params [:adam_id_str, :pricing_param], params unless params.has_key?(:associate_client_user_id_strs) ^ params.has_key?(:associate_serial_numbers) ^ params.has_key?(:disassociate_client_user_id_strs) ^ params.has_key?(:disassociate_license_id_strs) raise ArgumentError, 'One and only one of these parameters may be provided: associate_client_user_id_strs, associate_serial_numbers, disassociate_client_user_id_strs, disassociate_license_id_strs.' end body = { 'adamIdStr' => params[:adam_id_str], 'associateClientUserIdStrs' => params[:associate_client_user_id_strs], 'associateSerialNumbers' => params[:associate_serial_numbers], 'disassociateClientUserIdStrs' => params[:disassociate_client_user_id_strs], 'disassociateLicenseIdStrs' => params[:disassociate_license_id_strs], 'pricingParam' => params[:pricing_param], 'notifyDisassociation' => params[:notify_disassociation] } resp = request :manage_vpp_licenses_by_adam_id_srv_url, body ret = AppleSerializer.to_ruby resp ret.delete(:status) ret end |
#register_user(params = {}) ⇒ Object
149 150 151 152 153 154 155 156 157 158 159 160 |
# File 'lib/apple_vpp/client.rb', line 149 def register_user(params = {}) require_params :client_user_id_str, params body = { 'clientUserIdStr' => params[:client_user_id_str], 'email' => params[:email] } resp = request :register_user_srv_url, body AppleSerializer.to_ruby resp['user'] end |
#retire_user(params = {}) ⇒ Object
162 163 164 165 166 167 168 169 170 171 172 173 |
# File 'lib/apple_vpp/client.rb', line 162 def retire_user(params = {}) require_params [[:user_id, :client_user_id_str]], params body = { 'userId' => params[:user_id], 'clientUserIdStr' => params[:client_user_id_str] } resp = request :retire_user_srv_url, body AppleSerializer.to_ruby resp['user'] end |