Module: Legion::Extensions::ServiceNow::UserGroup::Runners::UserGroup
- Includes:
- Helpers::Lex, Helpers::Client
- Included in:
- Client
- Defined in:
- lib/legion/extensions/service_now/user_group/runners/user_group.rb
Instance Method Summary
collapse
-
#add_group_member(group_sys_id:, user_sys_id:) ⇒ Object
-
#create_group(name:, description: nil, manager: nil, email: nil) ⇒ Object
-
#delete_group(sys_id:) ⇒ Object
-
#get_group(sys_id:) ⇒ Object
-
#get_group_by_name(name:) ⇒ Object
-
#list_group_members(group_sys_id:, sysparm_limit: 100) ⇒ Object
-
#list_groups(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil) ⇒ Object
-
#remove_group_member(membership_sys_id:) ⇒ Object
-
#update_group(sys_id:, name: nil, description: nil, manager: nil) ⇒ Object
#connection, #fetch_oauth2_token, #handle_response
Instance Method Details
#add_group_member(group_sys_id:, user_sys_id:) ⇒ Object
61
62
63
64
65
|
# File 'lib/legion/extensions/service_now/user_group/runners/user_group.rb', line 61
def add_group_member(group_sys_id:, user_sys_id:, **)
body = { group: group_sys_id, user: user_sys_id }
resp = connection(**).post('/api/now/table/sys_user_grmember', body)
{ member: resp.body['result'] }
end
|
#create_group(name:, description: nil, manager: nil, email: nil) ⇒ Object
29
30
31
32
33
34
35
36
|
# File 'lib/legion/extensions/service_now/user_group/runners/user_group.rb', line 29
def create_group(name:, description: nil, manager: nil, email: nil, **)
body = { name: name }
body[:description] = description if description
body[:manager] = manager if manager
body[:email] = email if email
resp = connection(**).post('/api/now/table/sys_user_group', body)
{ group: resp.body['result'] }
end
|
#delete_group(sys_id:) ⇒ Object
47
48
49
50
|
# File 'lib/legion/extensions/service_now/user_group/runners/user_group.rb', line 47
def delete_group(sys_id:, **)
resp = connection(**).delete("/api/now/table/sys_user_group/#{sys_id}")
{ deleted: resp.status == 204, sys_id: sys_id }
end
|
#get_group(sys_id:) ⇒ Object
18
19
20
21
|
# File 'lib/legion/extensions/service_now/user_group/runners/user_group.rb', line 18
def get_group(sys_id:, **)
resp = connection(**).get("/api/now/table/sys_user_group/#{sys_id}")
{ group: resp.body['result'] }
end
|
#get_group_by_name(name:) ⇒ Object
23
24
25
26
27
|
# File 'lib/legion/extensions/service_now/user_group/runners/user_group.rb', line 23
def get_group_by_name(name:, **)
params = { sysparm_query: "name=#{name}", sysparm_limit: 1 }
resp = connection(**).get('/api/now/table/sys_user_group', params)
{ group: resp.body['result']&.first }
end
|
#list_group_members(group_sys_id:, sysparm_limit: 100) ⇒ Object
52
53
54
55
56
57
58
59
|
# File 'lib/legion/extensions/service_now/user_group/runners/user_group.rb', line 52
def list_group_members(group_sys_id:, sysparm_limit: 100, **)
params = {
sysparm_query: "group=#{group_sys_id}",
sysparm_limit: sysparm_limit
}
resp = connection(**).get('/api/now/table/sys_user_grmember', params)
{ members: resp.body['result'] }
end
|
#list_groups(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil) ⇒ Object
11
12
13
14
15
16
|
# File 'lib/legion/extensions/service_now/user_group/runners/user_group.rb', line 11
def list_groups(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil, **)
params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
params[:sysparm_query] = sysparm_query if sysparm_query
resp = connection(**).get('/api/now/table/sys_user_group', params)
{ groups: resp.body['result'] }
end
|
#remove_group_member(membership_sys_id:) ⇒ Object
67
68
69
70
|
# File 'lib/legion/extensions/service_now/user_group/runners/user_group.rb', line 67
def remove_group_member(membership_sys_id:, **)
resp = connection(**).delete("/api/now/table/sys_user_grmember/#{membership_sys_id}")
{ deleted: resp.status == 204, sys_id: membership_sys_id }
end
|
#update_group(sys_id:, name: nil, description: nil, manager: nil) ⇒ Object
38
39
40
41
42
43
44
45
|
# File 'lib/legion/extensions/service_now/user_group/runners/user_group.rb', line 38
def update_group(sys_id:, name: nil, description: nil, manager: nil, **)
body = {}
body[:name] = name if name
body[:description] = description if description
body[:manager] = manager if manager
resp = connection(**).patch("/api/now/table/sys_user_group/#{sys_id}", body)
{ group: resp.body['result'] }
end
|