Class: Asdawqw::MessagingController
- Inherits:
-
BaseController
- Object
- BaseController
- Asdawqw::MessagingController
- Defined in:
- lib/asdawqw/controllers/messaging_controller.rb
Overview
MessagingController
Class Attribute Summary collapse
-
.instance ⇒ Object
Returns the value of attribute instance.
Attributes inherited from BaseController
Instance Method Summary collapse
-
#get_message_list_for_specific_thread(thread_id) ⇒ Object
This function allows the logged in user to get a list of all messages from passed thread Id.
-
#get_message_threads(page, limit, thread_type) ⇒ Object
This function allows the logged in user to get all message threads or message threads with unresponded message from guest for whole PM.
- #instance ⇒ Object
-
#post_new_message_for_specific_thread(content_type, body) ⇒ Object
This function will allow PM to post new messages in already existing threads.
Methods inherited from BaseController
#execute_request, #initialize, #validate_parameters, #validate_response
Constructor Details
This class inherits a constructor from Asdawqw::BaseController
Class Attribute Details
.instance ⇒ Object
Returns the value of attribute instance.
12 13 14 |
# File 'lib/asdawqw/controllers/messaging_controller.rb', line 12 def instance @instance end |
Instance Method Details
#get_message_list_for_specific_thread(thread_id) ⇒ Object
This function allows the logged in user to get a list of all messages from passed thread Id. You need to use PM credentials.
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/asdawqw/controllers/messaging_controller.rb', line 72 def (thread_id) # Prepare query url. _path_url = '/message/specificthread/{threadId}/' _path_url = APIHelper.append_url_with_template_parameters( _path_url, 'threadId' => thread_id ) _query_builder = Configuration.get_base_uri _query_builder << _path_url _query_url = APIHelper.clean_url _query_builder # Prepare headers. _headers = { 'accept' => 'application/json', 'x-api-key' => Configuration.x_api_key } # Prepare and execute HttpRequest. _request = @http_client.get( _query_url, headers: _headers ) CustomQueryAuth.apply(_request) _context = execute_request(_request) validate_response(_context) # Return appropriate response type. decoded = APIHelper.json_deserialize(_context.response.raw_body) GetMessageListForSpecificThreadResponse.from_hash(decoded) end |
#get_message_threads(page, limit, thread_type) ⇒ Object
This function allows the logged in user to get all message threads or message threads with unresponded message from guest for whole PM. You need to use PM credentials. There is also paging as optional values. If you do not pass this value, we will return first page and 10 threads per page. And in heading you will get a link for the next page. be showed at one page only threads with unanswered message new,all
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/asdawqw/controllers/messaging_controller.rb', line 30 def (page, limit, thread_type) # Prepare query url. _path_url = '/message/allthreads/{threadType}' _path_url = APIHelper.append_url_with_template_parameters( _path_url, 'threadType' => thread_type ) _query_builder = Configuration.get_base_uri _query_builder << _path_url _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, { 'page' => page, 'limit' => limit }, array_serialization: Configuration.array_serialization ) _query_url = APIHelper.clean_url _query_builder # Prepare headers. _headers = { 'accept' => 'application/json', 'x-api-key' => Configuration.x_api_key } # Prepare and execute HttpRequest. _request = @http_client.get( _query_url, headers: _headers ) CustomQueryAuth.apply(_request) _context = execute_request(_request) validate_response(_context) # Return appropriate response type. decoded = APIHelper.json_deserialize(_context.response.raw_body) GetMessageThreadsResponse.from_hash(decoded) end |
#instance ⇒ Object
15 16 17 |
# File 'lib/asdawqw/controllers/messaging_controller.rb', line 15 def instance self.class.instance end |
#post_new_message_for_specific_thread(content_type, body) ⇒ Object
This function will allow PM to post new messages in already existing threads. Example:
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/asdawqw/controllers/messaging_controller.rb', line 106 def (content_type, body) # Prepare query url. _path_url = '/message' _query_builder = Configuration.get_base_uri _query_builder << _path_url _query_url = APIHelper.clean_url _query_builder # Prepare headers. _headers = { 'accept' => 'application/json', 'x-api-key' => Configuration.x_api_key, 'Content-Type' => content_type } # Prepare and execute HttpRequest. _request = @http_client.post( _query_url, headers: _headers, parameters: body.to_json ) CustomQueryAuth.apply(_request) _context = execute_request(_request) validate_response(_context) # Return appropriate response type. decoded = APIHelper.json_deserialize(_context.response.raw_body) APIResponseWithoutData.from_hash(decoded) end |