Module: Legion::Extensions::ServiceNow::User::Runners::User
- Includes:
- Helpers::Lex, Helpers::Client
- Included in:
- Client
- Defined in:
- lib/legion/extensions/service_now/user/runners/user.rb
Instance Method Summary
collapse
-
#create_user(user_name:, first_name: nil, last_name: nil, email: nil, title: nil, department: nil) ⇒ Object
-
#delete_user(sys_id:) ⇒ Object
-
#get_user(sys_id:) ⇒ Object
-
#get_user_by_email(email:) ⇒ Object
-
#get_user_by_username(user_name:) ⇒ Object
-
#list_users(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil, sysparm_fields: nil) ⇒ Object
-
#update_user(sys_id:, first_name: nil, last_name: nil, email: nil, title: nil, department: nil, active: nil) ⇒ Object
#connection, #fetch_oauth2_token, #handle_response
Instance Method Details
#create_user(user_name:, first_name: nil, last_name: nil, email: nil, title: nil, department: nil) ⇒ Object
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/legion/extensions/service_now/user/runners/user.rb', line 37
def create_user(user_name:, first_name: nil, last_name: nil, email: nil,
title: nil, department: nil, **)
body = { user_name: user_name }
body[:first_name] = first_name if first_name
body[:last_name] = last_name if last_name
body[:email] = email if email
body[:title] = title if title
body[:department] = department if department
resp = connection(**).post('/api/now/table/sys_user', body)
{ user: resp.body['result'] }
end
|
#delete_user(sys_id:) ⇒ Object
62
63
64
65
|
# File 'lib/legion/extensions/service_now/user/runners/user.rb', line 62
def delete_user(sys_id:, **)
resp = connection(**).delete("/api/now/table/sys_user/#{sys_id}")
{ deleted: resp.status == 204, sys_id: sys_id }
end
|
#get_user(sys_id:) ⇒ Object
20
21
22
23
|
# File 'lib/legion/extensions/service_now/user/runners/user.rb', line 20
def get_user(sys_id:, **)
resp = connection(**).get("/api/now/table/sys_user/#{sys_id}")
{ user: resp.body['result'] }
end
|
#get_user_by_email(email:) ⇒ Object
31
32
33
34
35
|
# File 'lib/legion/extensions/service_now/user/runners/user.rb', line 31
def get_user_by_email(email:, **)
params = { sysparm_query: "email=#{email}", sysparm_limit: 1 }
resp = connection(**).get('/api/now/table/sys_user', params)
{ user: resp.body['result']&.first }
end
|
#get_user_by_username(user_name:) ⇒ Object
25
26
27
28
29
|
# File 'lib/legion/extensions/service_now/user/runners/user.rb', line 25
def get_user_by_username(user_name:, **)
params = { sysparm_query: "user_name=#{user_name}", sysparm_limit: 1 }
resp = connection(**).get('/api/now/table/sys_user', params)
{ user: resp.body['result']&.first }
end
|
#list_users(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil, sysparm_fields: nil) ⇒ Object
11
12
13
14
15
16
17
18
|
# File 'lib/legion/extensions/service_now/user/runners/user.rb', line 11
def list_users(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil,
sysparm_fields: nil, **)
params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
params[:sysparm_query] = sysparm_query if sysparm_query
params[:sysparm_fields] = sysparm_fields if sysparm_fields
resp = connection(**).get('/api/now/table/sys_user', params)
{ users: resp.body['result'] }
end
|
#update_user(sys_id:, first_name: nil, last_name: nil, email: nil, title: nil, department: nil, active: nil) ⇒ Object
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/legion/extensions/service_now/user/runners/user.rb', line 49
def update_user(sys_id:, first_name: nil, last_name: nil, email: nil,
title: nil, department: nil, active: nil, **)
body = {}
body[:first_name] = first_name if first_name
body[:last_name] = last_name if last_name
body[:email] = email if email
body[:title] = title if title
body[:department] = department if department
body[:active] = active unless active.nil?
resp = connection(**).patch("/api/now/table/sys_user/#{sys_id}", body)
{ user: resp.body['result'] }
end
|