require "uri" module PureCloud class GroupsApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Get a group list # # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size Page size # @option opts [Integer] :page_number Page number # @option opts [String] :sort_order Ascending or descending sort order # @return [GroupEntityListing] def get_groups(opts = {}) data, status_code, headers = get_groups_with_http_info(opts) return data end # Get a group list # # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size Page size # @option opts [Integer] :page_number Page number # @option opts [String] :sort_order Ascending or descending sort order # @return [Array<(GroupEntityListing, Fixnum, Hash)>] GroupEntityListing data, response status code and response headers def get_groups_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#get_groups ..." end if opts[:'sort_order'] && !['[ascending', 'descending]'].include?(opts[:'sort_order']) fail 'invalid value for "sort_order", must be one of [ascending, descending]' end # resource path path = "/api/v2/groups".sub('{format}','json') # query parameters query_params = {} query_params[:'pageSize'] = opts[:'page_size'] if opts[:'page_size'] query_params[:'pageNumber'] = opts[:'page_number'] if opts[:'page_number'] query_params[:'sortOrder'] = opts[:'sort_order'] if opts[:'sort_order'] # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:GET, path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'GroupEntityListing') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#get_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Search using q64 # # @param [Hash] opts the optional parameters # @option opts [String] :q64 # @option opts [Array] :expand # @return [GroupsSearchResponse] def get_search(opts = {}) data, status_code, headers = get_search_with_http_info(opts) return data end # Search using q64 # # @param [Hash] opts the optional parameters # @option opts [String] :q64 # @option opts [Array] :expand # @return [Array<(GroupsSearchResponse, Fixnum, Hash)>] GroupsSearchResponse data, response status code and response headers def get_search_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#get_search ..." end # resource path path = "/api/v2/groups/search".sub('{format}','json') # query parameters query_params = {} query_params[:'q64'] = opts[:'q64'] if opts[:'q64'] query_params[:'expand'] = @api_client.build_collection_param(opts[:'expand'], :multi) if opts[:'expand'] # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:GET, path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'GroupsSearchResponse') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#get_search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Search # # @param [Hash] opts the optional parameters # @option opts [SearchRequest] :body Search request options # @return [GroupsSearchResponse] def post_search(opts = {}) data, status_code, headers = post_search_with_http_info(opts) return data end # Search # # @param [Hash] opts the optional parameters # @option opts [SearchRequest] :body Search request options # @return [Array<(GroupsSearchResponse, Fixnum, Hash)>] GroupsSearchResponse data, response status code and response headers def post_search_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#post_search ..." end # resource path path = "/api/v2/groups/search".sub('{format}','json') # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(opts[:'body']) auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:POST, path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'GroupsSearchResponse') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#post_search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get group # # @param group_id Group ID # @param [Hash] opts the optional parameters # @return [Group] def get_group_id(group_id, opts = {}) data, status_code, headers = get_group_id_with_http_info(group_id, opts) return data end # Get group # # @param group_id Group ID # @param [Hash] opts the optional parameters # @return [Array<(Group, Fixnum, Hash)>] Group data, response status code and response headers def get_group_id_with_http_info(group_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#get_group_id ..." end # verify the required parameter 'group_id' is set fail "Missing the required parameter 'group_id' when calling get_group_id" if group_id.nil? # resource path path = "/api/v2/groups/{groupId}".sub('{format}','json').sub('{' + 'groupId' + '}', group_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:GET, path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'Group') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#get_group_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get group members # # @param group_id Group ID # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size Page size # @option opts [Integer] :page_number Page number # @option opts [String] :sort_order Ascending or descending sort order # @return [UserEntityListing] def get_group_id_members(group_id, opts = {}) data, status_code, headers = get_group_id_members_with_http_info(group_id, opts) return data end # Get group members # # @param group_id Group ID # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size Page size # @option opts [Integer] :page_number Page number # @option opts [String] :sort_order Ascending or descending sort order # @return [Array<(UserEntityListing, Fixnum, Hash)>] UserEntityListing data, response status code and response headers def get_group_id_members_with_http_info(group_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: GroupsApi#get_group_id_members ..." end # verify the required parameter 'group_id' is set fail "Missing the required parameter 'group_id' when calling get_group_id_members" if group_id.nil? if opts[:'sort_order'] && !['[ascending', 'descending]'].include?(opts[:'sort_order']) fail 'invalid value for "sort_order", must be one of [ascending, descending]' end # resource path path = "/api/v2/groups/{groupId}/members".sub('{format}','json').sub('{' + 'groupId' + '}', group_id.to_s) # query parameters query_params = {} query_params[:'pageSize'] = opts[:'page_size'] if opts[:'page_size'] query_params[:'pageNumber'] = opts[:'page_number'] if opts[:'page_number'] query_params[:'sortOrder'] = opts[:'sort_order'] if opts[:'sort_order'] # header parameters header_params = {} # HTTP header 'Accept' (if needed) _header_accept = ['application/json'] _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result # HTTP header 'Content-Type' _header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:GET, path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'UserEntityListing') if @api_client.config.debugging @api_client.config.logger.debug "API called: GroupsApi#get_group_id_members\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end