module WorkOS::Organizations
The Organizations
module provides resource methods for working with Organizations
Public Class Methods
create_organization(domains:, name:)
click to toggle source
# File lib/workos/organizations.rb, line 89 def create_organization(domains:, name:) request = post_request( auth: true, body: { domains: domains, name: name }, path: '/organizations', ) response = execute_request(request: request) check_and_raise_organization_error(response: response) WorkOS::Organization.new(response.body) end
delete_organization(id:)
click to toggle source
# File lib/workos/organizations.rb, line 138 def delete_organization(id:) request = delete_request( auth: true, path: "/organizations/#{id}", ) response = execute_request(request: request) response.is_a? Net::HTTPSuccess end
get_organization(id:)
click to toggle source
# File lib/workos/organizations.rb, line 67 def get_organization(id:) request = get_request( auth: true, path: "/organizations/#{id}", ) response = execute_request(request: request) WorkOS::Organization.new(response.body) end
list_organizations(options = {})
click to toggle source
# File lib/workos/organizations.rb, line 30 def list_organizations(options = {}) response = execute_request( request: get_request( path: '/organizations', auth: true, params: options, ), ) parsed_response = JSON.parse(response.body) organizations = parsed_response['data'].map do |organization| ::WorkOS::Organization.new(organization.to_json) end WorkOS::Types::ListStruct.new( data: organizations, list_metadata: parsed_response['listMetadata'], ) end
update_organization(organization:, domains:, name:)
click to toggle source
# File lib/workos/organizations.rb, line 115 def update_organization(organization:, domains:, name:) request = put_request( auth: true, body: { domains: domains, name: name }, path: "/organizations/#{organization}", ) response = execute_request(request: request) check_and_raise_organization_error(response: response) WorkOS::Organization.new(response.body) end
Private Class Methods
check_and_raise_organization_error(response:)
click to toggle source
# File lib/workos/organizations.rb, line 152 def check_and_raise_organization_error(response:) begin body = JSON.parse(response.body) return unless body['message'] message = body['message'] request_id = response['x-request-id'] rescue StandardError message = 'Something went wrong' end raise APIError.new( message: message, http_status: nil, request_id: request_id, ) end