Class: RocketChat::Messages::User
- Inherits:
-
Object
- Object
- RocketChat::Messages::User
- Includes:
- ListSupport, UserSupport
- Defined in:
- lib/rocket_chat/messages/user.rb
Overview
Rocket.Chat User messages
Instance Method Summary collapse
-
#create(username, email, name, password, options = {}) ⇒ User
users.create REST API.
-
#create_token(user_id: nil, username: nil) ⇒ RocketChat::Token
users.createToken REST API.
-
#delete(user_id: nil, username: nil) ⇒ Boolean
users.delete REST API.
-
#get_presence(user_id: nil, username: nil) ⇒ PresenceStatus
users.getPresence REST API.
-
#info(user_id: nil, username: nil) ⇒ User
users.info REST API.
-
#initialize(session) ⇒ User
constructor
A new instance of User.
-
#list(offset: nil, count: nil, sort: nil, fields: nil, query: nil) ⇒ User[]
users.list REST API.
-
#reset_avatar(user_id: nil, username: nil) ⇒ Boolean
users.resetAvatar REST API.
-
#set_avatar(avatar_url, user_id: nil) ⇒ Boolean
users.setAvatar REST API.
-
#update(id, options = {}) ⇒ User
users.update REST API.
Methods included from UserSupport
Constructor Details
#initialize(session) ⇒ User
Returns a new instance of User.
15 16 17 |
# File 'lib/rocket_chat/messages/user.rb', line 15 def initialize(session) @session = session end |
Instance Method Details
#create(username, email, name, password, options = {}) ⇒ User
users.create REST API
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/rocket_chat/messages/user.rb', line 29 def create(username, email, name, password, = {}) response = session.request_json( '/api/v1/users.create', method: :post, body: { username: username, email: email, name: name, password: password }.merge(user_option_hash()) ) RocketChat::User.new response['user'] end |
#create_token(user_id: nil, username: nil) ⇒ RocketChat::Token
users.createToken REST API
50 51 52 53 54 55 56 57 |
# File 'lib/rocket_chat/messages/user.rb', line 50 def create_token(user_id: nil, username: nil) response = session.request_json( '/api/v1/users.createToken', method: :post, body: user_params(user_id, username) ) RocketChat::Token.new response['data'] end |
#delete(user_id: nil, username: nil) ⇒ Boolean
users.delete REST API
85 86 87 88 89 90 91 92 |
# File 'lib/rocket_chat/messages/user.rb', line 85 def delete(user_id: nil, username: nil) session.request_json( '/api/v1/users.delete', method: :post, body: user_params(user_id, username), upstreamed_errors: ['error-invalid-user'] )['success'] end |
#get_presence(user_id: nil, username: nil) ⇒ PresenceStatus
users.getPresence REST API
137 138 139 140 141 142 143 144 |
# File 'lib/rocket_chat/messages/user.rb', line 137 def get_presence(user_id: nil, username: nil) response = session.request_json( '/api/v1/users.getPresence', body: user_params(user_id, username) ) RocketChat::PresenceStatus.new response if response['success'] end |
#info(user_id: nil, username: nil) ⇒ User
users.info REST API
120 121 122 123 124 125 126 127 128 |
# File 'lib/rocket_chat/messages/user.rb', line 120 def info(user_id: nil, username: nil) response = session.request_json( '/api/v1/users.info', body: user_params(user_id, username), upstreamed_errors: ['error-invalid-user'] ) RocketChat::User.new response['user'] if response['success'] end |
#list(offset: nil, count: nil, sort: nil, fields: nil, query: nil) ⇒ User[]
users.list REST API
104 105 106 107 108 109 110 111 |
# File 'lib/rocket_chat/messages/user.rb', line 104 def list(offset: nil, count: nil, sort: nil, fields: nil, query: nil) response = session.request_json( '/api/v1/users.list', body: build_list_body(offset, count, sort, fields, query) ) response['users'].map { |hash| RocketChat::User.new hash } if response['success'] end |
#reset_avatar(user_id: nil, username: nil) ⇒ Boolean
users.resetAvatar REST API
170 171 172 173 174 175 176 |
# File 'lib/rocket_chat/messages/user.rb', line 170 def reset_avatar(user_id: nil, username: nil) session.request_json( '/api/v1/users.resetAvatar', method: :post, body: user_params(user_id, username) )['success'] end |
#set_avatar(avatar_url, user_id: nil) ⇒ Boolean
users.setAvatar REST API
153 154 155 156 157 158 159 160 161 |
# File 'lib/rocket_chat/messages/user.rb', line 153 def set_avatar(avatar_url, user_id: nil) body = { avatarUrl: avatar_url } body[:userId] = user_id if user_id session.request_json( '/api/v1/users.setAvatar', method: :post, body: body )['success'] end |
#update(id, options = {}) ⇒ User
users.update REST API
66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/rocket_chat/messages/user.rb', line 66 def update(id, = {}) response = session.request_json( '/api/v1/users.update', method: :post, body: { userId: id, data: user_option_hash(, true) } ) RocketChat::User.new response['user'] end |