Class: Openfire::Api
- Inherits:
-
Object
- Object
- Openfire::Api
- Defined in:
- lib/openfire/api.rb
Instance Method Summary collapse
- #add_user_to_chatroom(room_name, role, username_or_jid, params = {}) ⇒ Object
- #add_user_to_group(username, groupname) ⇒ Object
- #add_user_to_groups(username, groupnames) ⇒ Object
- #close_user_sessions(username) ⇒ Object
- #create_chatroom(room_data = {}) ⇒ Object
- #create_group(group_data) ⇒ Object
- #create_system_property(property_name, value) ⇒ Object
- #create_user(user_data = {}) ⇒ Object
- #create_user_roster(username, roster_data = {}) ⇒ Object
- #delete_chatroom(room_name) ⇒ Object
- #delete_group(groupname) ⇒ Object
- #delete_system_property(property_name) ⇒ Object
- #delete_user(username) ⇒ Object
- #delete_user_from_chatroom(room_name, role, username_or_jid, params = {}) ⇒ Object
- #delete_user_from_group(username, groupname) ⇒ Object
- #delete_user_from_groups(username, groupnames) ⇒ Object
- #delete_user_roster(username, jid) ⇒ Object
- #get_chatroom(room_name) ⇒ Object
- #get_chatroom_occupants(room_name) ⇒ Object
- #get_chatroom_participants(room_name) ⇒ Object
- #get_chatrooms(filters = {}) ⇒ Object
- #get_concurrent_sessions_count ⇒ Object
- #get_group(groupname) ⇒ Object
- #get_groups ⇒ Object
- #get_sessions ⇒ Object
- #get_system_properties ⇒ Object
- #get_system_property(property_name) ⇒ Object
- #get_user(username) ⇒ Object
- #get_user_groups(username) ⇒ Object
- #get_user_roster(username) ⇒ Object
- #get_user_sessions(username) ⇒ Object
- #get_users(filters = {}) ⇒ Object
-
#initialize(endpoint_url, access_token) ⇒ Api
constructor
A new instance of Api.
- #lock_user(username) ⇒ Object
- #send_broadcast_message(message_text) ⇒ Object
- #unlock_user(username) ⇒ Object
- #update_chatroom(room_name, room_data = {}) ⇒ Object
- #update_group(groupname, group_data = {}) ⇒ Object
- #update_system_property(property_name, value) ⇒ Object
- #update_user(username, user_data = {}) ⇒ Object
- #update_user_roster(username, jid, roster_data = {}) ⇒ Object
Constructor Details
#initialize(endpoint_url, access_token) ⇒ Api
Returns a new instance of Api.
3 4 5 6 |
# File 'lib/openfire/api.rb', line 3 def initialize(endpoint_url, access_token) @endpoint_url = endpoint_url @access_token = access_token end |
Instance Method Details
#add_user_to_chatroom(room_name, role, username_or_jid, params = {}) ⇒ Object
126 127 128 129 |
# File 'lib/openfire/api.rb', line 126 def add_user_to_chatroom(room_name, role, username_or_jid, params={}) request = web_request('POST', "/chatrooms/#{room_name}/#{role}/#{username_or_jid}", params, default_headers) (request[:status_code] == 201) end |
#add_user_to_group(username, groupname) ⇒ Object
49 50 51 52 |
# File 'lib/openfire/api.rb', line 49 def add_user_to_group(username, groupname) request = web_request('POST', "/users/#{username}/groups/#{groupname}", { }, default_headers) (request[:status_code] == 201) end |
#add_user_to_groups(username, groupnames) ⇒ Object
54 55 56 57 58 |
# File 'lib/openfire/api.rb', line 54 def add_user_to_groups(username, groupnames) payload = { groupname: groupnames }.to_json request = web_request('POST', "/users/#{username}/groups", payload, default_headers) (request[:status_code] == 201) end |
#close_user_sessions(username) ⇒ Object
219 220 221 222 |
# File 'lib/openfire/api.rb', line 219 def close_user_sessions(username) request = web_request('DELETE', "/sessions/#{username}", { }, default_headers) (request[:status_code] == 200) end |
#create_chatroom(room_data = {}) ⇒ Object
111 112 113 114 |
# File 'lib/openfire/api.rb', line 111 def create_chatroom(room_data={}) request = web_request('POST', '/chatrooms', room_data.to_json, default_headers) (request[:status_code] == 201) end |
#create_group(group_data) ⇒ Object
184 185 186 187 |
# File 'lib/openfire/api.rb', line 184 def create_group(group_data) request = web_request('POST', '/groups', group_data.to_json, default_headers) (request[:status_code] == 201) end |
#create_system_property(property_name, value) ⇒ Object
146 147 148 149 150 151 152 153 |
# File 'lib/openfire/api.rb', line 146 def create_system_property(property_name, value) payload = { '@key' => property_name, '@value' => value }.to_json request = web_request('POST', '/system/properties', payload, default_headers) (request[:status_code] == 201) end |
#create_user(user_data = {}) ⇒ Object
18 19 20 21 |
# File 'lib/openfire/api.rb', line 18 def create_user(user_data={}) request = web_request('POST', '/users', user_data.to_json, default_headers) (request[:status_code] == 201) end |
#create_user_roster(username, roster_data = {}) ⇒ Object
76 77 78 79 |
# File 'lib/openfire/api.rb', line 76 def create_user_roster(username, roster_data={}) request = web_request('POST', "/users/#{username}/roster", roster_data.to_json, default_headers) (request[:status_code] == 201) end |
#delete_chatroom(room_name) ⇒ Object
116 117 118 119 |
# File 'lib/openfire/api.rb', line 116 def delete_chatroom(room_name) request = web_request('DELETE', "/chatrooms/#{room_name}", { }, default_headers) (request[:status_code] == 200) end |
#delete_group(groupname) ⇒ Object
194 195 196 197 |
# File 'lib/openfire/api.rb', line 194 def delete_group(groupname) request = web_request('DELETE', "/groups/#{groupname}", { }, default_headers) (request[:status_code] == 200) end |
#delete_system_property(property_name) ⇒ Object
155 156 157 158 |
# File 'lib/openfire/api.rb', line 155 def delete_system_property(property_name) request = web_request('DELETE', "/system/properties/#{property_name}", { }, default_headers) (request[:status_code] == 200) end |
#delete_user(username) ⇒ Object
28 29 30 31 |
# File 'lib/openfire/api.rb', line 28 def delete_user(username) request = web_request('DELETE', "/users/#{username}", { }, default_headers) (request[:status_code] == 200) end |
#delete_user_from_chatroom(room_name, role, username_or_jid, params = {}) ⇒ Object
131 132 133 134 |
# File 'lib/openfire/api.rb', line 131 def delete_user_from_chatroom(room_name, role, username_or_jid, params={}) request = web_request('DELETE', "/chatrooms/#{room_name}/#{role}/#{username_or_jid}", params, default_headers) (request[:status_code] == 200) end |
#delete_user_from_group(username, groupname) ⇒ Object
60 61 62 63 |
# File 'lib/openfire/api.rb', line 60 def delete_user_from_group(username, groupname) request = web_request('DELETE', "/users/#{username}/groups/#{groupname}", { }, default_headers) (request[:status_code] == 200) end |
#delete_user_from_groups(username, groupnames) ⇒ Object
65 66 67 68 69 |
# File 'lib/openfire/api.rb', line 65 def delete_user_from_groups(username, groupnames) payload = { groupname: groupnames }.to_json request = web_request('DELETE', "/users/#{username}/groups", payload, default_headers) (request[:status_code] == 200) end |
#delete_user_roster(username, jid) ⇒ Object
81 82 83 84 |
# File 'lib/openfire/api.rb', line 81 def delete_user_roster(username, jid) request = web_request('DELETE', "/users/#{username}/roster/#{jid}", { }, default_headers) (request[:status_code] == 200) end |
#get_chatroom(room_name) ⇒ Object
96 97 98 99 |
# File 'lib/openfire/api.rb', line 96 def get_chatroom(room_name) request = web_request('GET', "/chatrooms/#{room_name}", { }, default_headers) Openfire::ChatRoom.new(request[:body]) end |
#get_chatroom_occupants(room_name) ⇒ Object
106 107 108 109 |
# File 'lib/openfire/api.rb', line 106 def get_chatroom_occupants(room_name) request = web_request('GET', "/chatrooms/#{room_name}/occupants", { }, default_headers) request[:body] end |
#get_chatroom_participants(room_name) ⇒ Object
101 102 103 104 |
# File 'lib/openfire/api.rb', line 101 def get_chatroom_participants(room_name) request = web_request('GET', "/chatrooms/#{room_name}/participants", { }, default_headers) request[:body] end |
#get_chatrooms(filters = {}) ⇒ Object
91 92 93 94 |
# File 'lib/openfire/api.rb', line 91 def get_chatrooms(filters={}) request = web_request('GET', '/chatrooms', filters, default_headers) request[:body]['chatroom'].map { |x| Openfire::ChatRoom.new(x) } end |
#get_concurrent_sessions_count ⇒ Object
169 170 171 172 |
# File 'lib/openfire/api.rb', line 169 def get_concurrent_sessions_count request = web_request('GET', '/system/statistics/sessions', { }, default_headers) Openfire::SessionsCount.new(request[:body]) end |
#get_group(groupname) ⇒ Object
179 180 181 182 |
# File 'lib/openfire/api.rb', line 179 def get_group(groupname) request = web_request('GET', "/groups/#{groupname}", { }, default_headers) Openfire::Group.new(request[:body]) end |
#get_groups ⇒ Object
174 175 176 177 |
# File 'lib/openfire/api.rb', line 174 def get_groups request = web_request('GET', '/groups', { }, default_headers) request[:body]['group'].map { |x| Openfire::Group.new(x) } end |
#get_sessions ⇒ Object
199 200 201 202 203 204 205 206 207 |
# File 'lib/openfire/api.rb', line 199 def get_sessions request = web_request('GET', '/sessions', { }, default_headers) data = request[:body]['session'] if data.is_a?(Array) data.map { |x| Openfire::Session.new(x) } else [Openfire::Session.new(data)] end end |
#get_system_properties ⇒ Object
136 137 138 139 |
# File 'lib/openfire/api.rb', line 136 def get_system_properties request = web_request('GET', '/system/properties', { }, default_headers) request[:body]['property'].map { |x| Openfire::SystemProperty.new(x) } end |
#get_system_property(property_name) ⇒ Object
141 142 143 144 |
# File 'lib/openfire/api.rb', line 141 def get_system_property(property_name) request = web_request('GET', "/system/properties/#{property_name}", { }, default_headers) Openfire::SystemProperty.new(request[:body]) end |
#get_user(username) ⇒ Object
13 14 15 16 |
# File 'lib/openfire/api.rb', line 13 def get_user(username) request = web_request('GET', "/users/#{username}", { }, default_headers) Openfire::User.new(request[:body]) end |
#get_user_groups(username) ⇒ Object
43 44 45 46 47 |
# File 'lib/openfire/api.rb', line 43 def get_user_groups(username) request = web_request('GET', "/users/#{username}/groups", { }, default_headers) body = request[:body]['groupname'] body.is_a?(Array) ? body : [body] end |
#get_user_roster(username) ⇒ Object
71 72 73 74 |
# File 'lib/openfire/api.rb', line 71 def get_user_roster(username) request = web_request('GET', "/users/#{username}/roster", { }, default_headers) Openfire::UserRoster.new(request[:body]) end |
#get_user_sessions(username) ⇒ Object
209 210 211 212 213 214 215 216 217 |
# File 'lib/openfire/api.rb', line 209 def get_user_sessions(username) request = web_request('GET', "/sessions/#{username}", { }, default_headers) data = request[:body]['session'] if data.is_a?(Array) data.map { |x| Openfire::Session.new(x) } else [Openfire::Session.new(data)] end end |
#get_users(filters = {}) ⇒ Object
8 9 10 11 |
# File 'lib/openfire/api.rb', line 8 def get_users(filters={}) request = web_request('GET', '/users', filters, default_headers) request[:body]['user'].map { |x| Openfire::User.new(x) } end |
#lock_user(username) ⇒ Object
33 34 35 36 |
# File 'lib/openfire/api.rb', line 33 def lock_user(username) request = web_request('POST', "/lockouts/#{username}", { }, default_headers) (request[:status_code] == 200) end |
#send_broadcast_message(message_text) ⇒ Object
224 225 226 227 228 |
# File 'lib/openfire/api.rb', line 224 def () payload = { body: }.to_json request = web_request('POST', '/messages/users', payload, default_headers) (request[:status_code] == 201) end |
#unlock_user(username) ⇒ Object
38 39 40 41 |
# File 'lib/openfire/api.rb', line 38 def unlock_user(username) request = web_request('DELETE', "/lockouts/#{username}", { }, default_headers) (request[:status_code] == 200) end |
#update_chatroom(room_name, room_data = {}) ⇒ Object
121 122 123 124 |
# File 'lib/openfire/api.rb', line 121 def update_chatroom(room_name, room_data={}) request = web_request('PUT', "/chatrooms/#{room_name}", room_data.to_json, default_headers) (request[:status_code] == 200) end |
#update_group(groupname, group_data = {}) ⇒ Object
189 190 191 192 |
# File 'lib/openfire/api.rb', line 189 def update_group(groupname, group_data={}) request = web_request('PUT', "/groups/#{groupname}", group_data.to_json, default_headers) (request[:status_code] == 200) end |
#update_system_property(property_name, value) ⇒ Object
160 161 162 163 164 165 166 167 |
# File 'lib/openfire/api.rb', line 160 def update_system_property(property_name, value) payload = { '@key' => property_name, '@value' => value }.to_json request = web_request('PUT', "/system/properties/#{property_name}", payload, default_headers) (request[:status_code] == 200) end |
#update_user(username, user_data = {}) ⇒ Object
23 24 25 26 |
# File 'lib/openfire/api.rb', line 23 def update_user(username, user_data={}) request = web_request('PUT', "/users/#{username}", user_data.to_json, default_headers) (request[:status_code] == 200) end |
#update_user_roster(username, jid, roster_data = {}) ⇒ Object
86 87 88 89 |
# File 'lib/openfire/api.rb', line 86 def update_user_roster(username, jid, roster_data={}) request = web_request('PUT', "/users/#{username}/roster/#{jid}", roster_data.to_json, default_headers) (request[:status_code] == 200) end |