Module: OnSIP::User::ClassMethods

Included in:
OnSIP::User
Defined in:
lib/onsip/models/user.rb

Instance Method Summary collapse

Instance Method Details

#add(organization, attrs = {}) ⇒ Object



87
88
89
90
91
92
93
94
95
# File 'lib/onsip/models/user.rb', line 87

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, {})
  process_add_user_response response
end

#browse(account_id) ⇒ Object



38
39
40
41
42
# File 'lib/onsip/models/user.rb', line 38

def browse()
  params = {'Action' => 'UserBrowse', 'AccountId' => , 'SessionId' => OnSIP.session.id, 'Output' => 'json'}
  response = OnSIP.connection.get('/api', params, {})
  process_browse_user_response response
end

#delete!(user_id) ⇒ Object



54
55
56
57
58
# File 'lib/onsip/models/user.rb', line 54

def delete!(user_id)
  params = {'Action' => 'UserDelete', 'SessionId' => OnSIP.session.id, 'UserId' => user_id, 'Output' => 'json'}
  response = OnSIP.connection.get('/api', params, {})
  process_delete_user_response response
end

#edit_status(user_id, attrs = {}) ⇒ Object



70
71
72
73
74
# File 'lib/onsip/models/user.rb', line 70

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, {})
  process_edit_user_status_response response
end

#process_add_user_response(response) ⇒ Object



97
98
99
100
101
102
103
104
105
# File 'lib/onsip/models/user.rb', line 97

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



44
45
46
47
48
49
50
51
52
# File 'lib/onsip/models/user.rb', line 44

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_delete_user_response(response) ⇒ Object



60
61
62
63
64
65
66
67
68
# File 'lib/onsip/models/user.rb', line 60

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



76
77
78
79
80
81
82
83
84
85
# File 'lib/onsip/models/user.rb', line 76

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



112
113
114
115
116
117
118
119
120
# File 'lib/onsip/models/user.rb', line 112

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) ⇒ Object



107
108
109
110
# File 'lib/onsip/models/user.rb', line 107

def read(user_id)
  response = OnSIP.connection.get('/api', {'Action' => 'UserRead', 'UserId' => user_id, 'SessionId' => OnSIP.session.id, 'Output' => 'json'}, {})
  process_read_user_response response
end