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, include_rooms: false) ⇒ 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
139 140 141 142 143 144 145 146 |
# File 'lib/rocket_chat/messages/user.rb', line 139 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, include_rooms: false) ⇒ User
users.info REST API
122 123 124 125 126 127 128 129 130 |
# File 'lib/rocket_chat/messages/user.rb', line 122 def info(user_id: nil, username: nil, include_rooms: false) response = session.request_json( '/api/v1/users.info', body: user_params(user_id, username).merge(include_rooms ? { includeUserRooms: true } : {}), 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
172 173 174 175 176 177 178 |
# File 'lib/rocket_chat/messages/user.rb', line 172 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
155 156 157 158 159 160 161 162 163 |
# File 'lib/rocket_chat/messages/user.rb', line 155 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(, include_personal_fields: true) } ) RocketChat::User.new response['user'] end |