Module: Legion::Extensions::ServiceNow::Audit::Runners::Audit

Includes:
Helpers::Lex, Helpers::Client
Included in:
Client
Defined in:
lib/legion/extensions/service_now/audit/runners/audit.rb

Instance Method Summary collapse

Methods included from Helpers::Client

#connection, #fetch_oauth2_token, #handle_response

Instance Method Details

#get_audit_record(sys_id:) ⇒ Object



24
25
26
27
# File 'lib/legion/extensions/service_now/audit/runners/audit.rb', line 24

def get_audit_record(sys_id:, **)
  resp = connection(**).get("/api/now/table/sys_audit/#{sys_id}")
  { audit_record: resp.body['result'] }
end

#list_audit_records(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil, tablename: nil, documentkey: nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/legion/extensions/service_now/audit/runners/audit.rb', line 11

def list_audit_records(sysparm_limit: 100, sysparm_offset: 0,
                       sysparm_query: nil, tablename: nil,
                       documentkey: nil, **)
  params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
  if tablename && documentkey
    params[:sysparm_query] = "tablename=#{tablename}^documentkey=#{documentkey}"
  elsif sysparm_query
    params[:sysparm_query] = sysparm_query
  end
  resp = connection(**).get('/api/now/table/sys_audit', params)
  { audit_records: resp.body['result'] }
end

#list_field_changes(tablename:, documentkey:, fieldname: nil, sysparm_limit: 100) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/legion/extensions/service_now/audit/runners/audit.rb', line 29

def list_field_changes(tablename:, documentkey:, fieldname: nil,
                       sysparm_limit: 100, **)
  query = "tablename=#{tablename}^documentkey=#{documentkey}"
  query += "^fieldname=#{fieldname}" if fieldname
  params = { sysparm_query: query, sysparm_limit: sysparm_limit }
  resp = connection(**).get('/api/now/table/sys_audit', params)
  { field_changes: resp.body['result'] }
end