lib/3scale/api/client.rb in 3scale-api-0.1.8 vs lib/3scale/api/client.rb in 3scale-api-0.1.9
- old
+ new
@@ -49,11 +49,11 @@
# @api public
# @return [Hash]
# @param [Fixnum] id Application ID
# @param [String] user_key Application User Key
- # @param [String] application_id Application App ID
+ # @param [String] application_id Application app_id
def find_application(id: nil, user_key: nil, application_id: nil)
params = { application_id: id, user_key: user_key, app_id: application_id }.reject { |_, value| value.nil? }
response = http_client.get('/admin/api/applications/find', params: params)
extract(entity: 'application', from: response)
end
@@ -81,10 +81,19 @@
response = http_client.put("/admin/api/accounts/#{account_id}/applications/#{application_id}/customize_plan")
extract(entity: 'application_plan', from: response)
end
# @api public
+ # @return [Hash] a Plan
+ # @param [Fixnum] account_id Account ID
+ # @param [Fixnum] application_id Application ID
+ def delete_application_plan_customization(account_id, application_id)
+ response = http_client.put("/admin/api/accounts/#{account_id}/applications/#{application_id}/decustomize_plan")
+ extract(entity: 'application_plan', from: response)
+ end
+
+ # @api public
# @return [Hash] an Account
# @param [String] name Account Name
# @param [String] username User Username
# @param [Hash] attributes User and Account Attributes
# @option attributes [String] :email User Email
@@ -365,9 +374,50 @@
# @api public
# @return [Hash]
def delete_activedocs(id)
http_client.delete("/admin/api/active_docs/#{id}")
true
+ end
+
+ # @api public
+ # @return [Array<Hash>]
+ def list_accounts
+ response = http_client.get('/admin/api/accounts')
+ extract(collection: 'accounts', entity: 'account', from: response)
+ end
+
+ # @api public
+ # @param [Fixnum] account_id Account ID
+ # @return [Bool]
+ def delete_account(id)
+ http_client.delete("/admin/api/accounts/#{id}")
+ true
+ end
+
+ # @api public
+ # @param [Fixnum] account_id Account ID
+ # @param [Fixnum] application_id Application ID
+ # @return [Bool]
+ def delete_application(account_id, id)
+ http_client.delete("/admin/api/accounts/#{account_id}/applications/#{id}")
+ true
+ end
+
+ # @api public
+ # @param [Fixnum] id Service ID
+ # @return [Array<Hash>]
+ def show_oidc(service_id)
+ response = http_client.get("/admin/api/services/#{service_id}/proxy/oidc_configuration")
+ extract(entity: 'oidc_configuration', from: response)
+ end
+
+ # @api public
+ # @param [Fixnum] id Service ID
+ # @return [Hash]
+ def update_oidc(service_id, attributes)
+ response = http_client.patch("/admin/api/services/#{service_id}/proxy/oidc_configuration",
+ body: { oidc_configuration: attributes })
+ extract(entity: 'oidc_configuration', from: response)
end
protected
def extract(collection: nil, entity:, from:)