Class: Asdawqw::MessagingController

Inherits:
BaseController show all
Defined in:
lib/asdawqw/controllers/messaging_controller.rb

Overview

MessagingController

Class Attribute Summary collapse

Attributes inherited from BaseController

#http_call_back, #http_client

Instance Method Summary collapse

Methods inherited from BaseController

#execute_request, #initialize, #validate_parameters, #validate_response

Constructor Details

This class inherits a constructor from Asdawqw::BaseController

Class Attribute Details

.instanceObject

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.

Parameters:

  • thread_id (String)

    Required parameter: ID of the thread

Returns:

  • GetMessageListForSpecificThreadResponse response from the API call



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 get_message_list_for_specific_thread(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

Parameters:

  • page (Integer)

    Required parameter: Number of current page

  • limit (Integer)

    Required parameter: Limit of how many threads will

  • thread_type (String)

    Required parameter: Request all threads or

Returns:

  • GetMessageThreadsResponse response from the API call



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 get_message_threads(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

#instanceObject



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:

Parameters:

Returns:

  • APIResponseWithoutData response from the API call



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 post_new_message_for_specific_thread(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