Class: Blueticks::Resources::ChatsResource

Inherits:
BaseResource show all
Defined in:
lib/blueticks/resources/chats.rb

Instance Attribute Summary

Attributes inherited from BaseResource

#client

Instance Method Summary collapse

Methods inherited from BaseResource

#initialize

Constructor Details

This class inherits a constructor from Blueticks::BaseResource

Instance Method Details

#archive(chat_id) ⇒ Object

Archive a chat.



46
47
48
49
# File 'lib/blueticks/resources/chats.rb', line 46

def archive(chat_id)
  env = client.request("POST", "/v1/chats/#{chat_id}/archive")
  Types::OkResult.from_hash(env && env["data"])
end

#list(search_token: nil, filter: nil, include_last_message: nil, include_extended_info: nil, include_without_name: nil, include_archive: nil, skip: nil, limit: nil) ⇒ Object

List/search chats, newest first. Offset-paginated.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/blueticks/resources/chats.rb', line 12

def list(search_token: nil, filter: nil, include_last_message: nil,
         include_extended_info: nil, include_without_name: nil,
         include_archive: nil, skip: nil, limit: nil)
  params = {}
  params["searchToken"] = search_token unless search_token.nil?
  params["filter"] = filter unless filter.nil?
  params["includeLastMessage"] = include_last_message unless include_last_message.nil?
  params["includeExtendedInfo"] = include_extended_info unless include_extended_info.nil?
  params["includeWithoutName"] = include_without_name unless include_without_name.nil?
  params["includeArchive"] = include_archive unless include_archive.nil?
  params["skip"] = skip unless skip.nil?
  params["limit"] = limit unless limit.nil?
  env = client.request("GET", "/v1/chats", params: params.empty? ? nil : params)
  Types::PaginatedPage.from_hash(env, item_type: Types::Chat)
end

#list_participants(chat_id, search_token: nil, skip: nil, limit: nil) ⇒ Object

List participants in a group/community chat. Offset-paginated.



35
36
37
38
39
40
41
42
43
# File 'lib/blueticks/resources/chats.rb', line 35

def list_participants(chat_id, search_token: nil, skip: nil, limit: nil)
  params = {}
  params["searchToken"] = search_token unless search_token.nil?
  params["skip"] = skip unless skip.nil?
  params["limit"] = limit unless limit.nil?
  env = client.request("GET", "/v1/chats/#{chat_id}/participants",
                       params: params.empty? ? nil : params)
  Types::PaginatedPage.from_hash(env, item_type: Types::Participant)
end

#mark_read(chat_id) ⇒ Object

Mark a chat as read (sends read receipts if enabled).



58
59
60
61
# File 'lib/blueticks/resources/chats.rb', line 58

def mark_read(chat_id)
  env = client.request("POST", "/v1/chats/#{chat_id}/mark_read")
  Types::OkResult.from_hash(env && env["data"])
end

#retrieve(chat_id) ⇒ Object

Retrieve a chat by its JID.



29
30
31
32
# File 'lib/blueticks/resources/chats.rb', line 29

def retrieve(chat_id)
  env = client.request("GET", "/v1/chats/#{chat_id}")
  Types::Chat.from_hash(env && env["data"])
end

#unarchive(chat_id) ⇒ Object

Unarchive a chat.



52
53
54
55
# File 'lib/blueticks/resources/chats.rb', line 52

def unarchive(chat_id)
  env = client.request("POST", "/v1/chats/#{chat_id}/unarchive")
  Types::OkResult.from_hash(env && env["data"])
end