Module: OnSIP::User::ClassMethods
Constant Summary collapse
- DEFAULT_OPTIONS =
{ :browse => { :order_by => {:k => 'OrderBy', :v => 'UserId'}, :limit => {:k => 'Limit', :v => 100}, :offset => {:k => 'Offset', :v => 0}, :calc_found => {:k => 'CalcFound', :v => true} } }
Instance Method Summary collapse
-
#add(organization, attrs = {}) {|response| ... } ⇒ User
Adds a User to an Organization.
- #browse(account_id, options = {}) {|response| ... } ⇒ Object
- #change_role(user_id, role) {|response| ... } ⇒ Object
- #delete!(user_id) {|response| ... } ⇒ Object
- #edit_status(user_id, attrs = {}) {|response| ... } ⇒ Object
- #generate_random_password(length = 8) ⇒ Object
- #process_add_user_response(response) ⇒ Object
- #process_browse_user_response(response) ⇒ Object
- #process_change_role_user_response(response) ⇒ Object
- #process_delete_user_response(response) ⇒ Object
- #process_edit_user_status_response(response) ⇒ Object
- #process_read_user_response(response) ⇒ Object
- #read(user_id) {|response| ... } ⇒ Object
Methods included from Model::ClassMethods
Instance Method Details
#add(organization, attrs = {}) {|response| ... } ⇒ User
Adds a User to an Organization
reference at developer.onsip.com/admin-api/Users/#user-add
attrs = => ‘docs’,
'Name' => 'Docs',
'Email' => '[email protected]',
'AuthUsername' => 'example',
'Password' => 'mysuperpassword',
'PasswordConfirm' => 'mysuperpassword'
User.add(organization, attrs)
148 149 150 151 152 153 154 155 156 157 |
# File 'lib/onsip/models/user.rb', line 148 def add(organization, attrs = {}) params = attrs.merge({'Action' => 'UserAdd', 'SessionId' => OnSIP.session.id, 'OrganizationId' => organization.id, 'Domain' => organization.attributes.Domain, 'Output' => 'json'}) response = OnSIP.connection.get('/api', params, {}) yield response if block_given? process_add_user_response response end |
#browse(account_id, options = {}) {|response| ... } ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/onsip/models/user.rb', line 77 def browse(account_id, = {}) params = merge_params(DEFAULT_OPTIONS[:browse], ) params = params.merge({'Action' => 'UserBrowse', 'AccountId' => account_id, 'SessionId' => OnSIP.session.id, 'Output' => 'json'}) response = OnSIP.connection.get('/api', params, {}) yield response if block_given? process_browse_user_response response end |
#change_role(user_id, role) {|response| ... } ⇒ Object
185 186 187 188 189 |
# File 'lib/onsip/models/user.rb', line 185 def change_role(user_id, role) response = OnSIP.connection.get('/api', {'Action' => 'UserEditRoleSubmit', 'UserId' => user_id, 'SessionId' => OnSIP.session.id, 'RoleNames[]' => role, 'Output' => 'json'}, {}) yield response if block_given? process_change_role_user_response response end |
#delete!(user_id) {|response| ... } ⇒ Object
99 100 101 102 103 104 |
# File 'lib/onsip/models/user.rb', line 99 def delete!(user_id) params = {'Action' => 'UserDelete', 'SessionId' => OnSIP.session.id, 'UserId' => user_id, 'Output' => 'json'} response = OnSIP.connection.get('/api', params, {}) yield response if block_given? process_delete_user_response response end |
#edit_status(user_id, attrs = {}) {|response| ... } ⇒ Object
116 117 118 119 120 121 |
# File 'lib/onsip/models/user.rb', line 116 def edit_status(user_id, attrs = {}) params = attrs.merge({'Action' => 'UserEditStatus', 'SessionId' => OnSIP.session.id, 'UserId' => user_id, 'Output' => 'json'}) response = OnSIP.connection.get('/api', params, {}) yield response if block_given? process_edit_user_status_response response end |
#generate_random_password(length = 8) ⇒ Object
201 202 203 |
# File 'lib/onsip/models/user.rb', line 201 def generate_random_password(length = 8) SecureRandom.urlsafe_base64[0,8] end |
#process_add_user_response(response) ⇒ Object
159 160 161 162 163 164 165 166 167 |
# File 'lib/onsip/models/user.rb', line 159 def process_add_user_response(response) user = nil key_path = %w(Response Result UserAdd User) a = ResponseParser.parse_response response, key_path user = (a.map { |h| new h }).first if a user end |
#process_browse_user_response(response) ⇒ Object
89 90 91 92 93 94 95 96 97 |
# File 'lib/onsip/models/user.rb', line 89 def process_browse_user_response(response) users = [] key_path = %w(Response Result UserBrowse Users User) a = ResponseParser.parse_response response, key_path users = a.map { |h| new h } if a users end |
#process_change_role_user_response(response) ⇒ Object
191 192 193 194 195 196 197 198 199 |
# File 'lib/onsip/models/user.rb', line 191 def process_change_role_user_response(response) user = nil key_path = %w(Response Result UserEditRoleSubmit User) a = ResponseParser.parse_response response, key_path user = (a.map { |h| new h }).first if a user end |
#process_delete_user_response(response) ⇒ Object
106 107 108 109 110 111 112 113 114 |
# File 'lib/onsip/models/user.rb', line 106 def process_delete_user_response(response) r = response.env.body['Response'] if r && r['Context'] && r['Context']['Action'] && r['Context']['Action'] return true else raise OnSIPRequestException, 'Problem with user request' end end |
#process_edit_user_status_response(response) ⇒ Object
123 124 125 126 127 128 129 130 131 132 |
# File 'lib/onsip/models/user.rb', line 123 def process_edit_user_status_response(response) user = nil r = response.env.body['Response'] key_path = %w(Response Result UserEditStatus User) a = ResponseParser.parse_response response, key_path user = (a.map { |h| new h }).first if a user end |
#process_read_user_response(response) ⇒ Object
175 176 177 178 179 180 181 182 183 |
# File 'lib/onsip/models/user.rb', line 175 def process_read_user_response(response) user = nil key_path = %w(Response Result UserRead User) a = ResponseParser.parse_response response, key_path user = (a.map { |h| new h }).first if a user end |
#read(user_id) {|response| ... } ⇒ Object
169 170 171 172 173 |
# File 'lib/onsip/models/user.rb', line 169 def read(user_id) response = OnSIP.connection.get('/api', {'Action' => 'UserRead', 'UserId' => user_id, 'SessionId' => OnSIP.session.id, 'Output' => 'json'}, {}) yield response if block_given? process_read_user_response response end |