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:)