Module: Legion::Extensions::ServiceNow::ServicePortal::Runners::ServicePortal

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

Constant Summary

Constants included from Helpers::Client

Helpers::Client::OAUTH_TOKEN_BUFFER_SECONDS

Instance Method Summary collapse

Methods included from Helpers::Client

#connection, #fetch_oauth2_token, #handle_response

Instance Method Details

#get_portal(sys_id:) ⇒ Object



17
18
19
20
# File 'lib/legion/extensions/service_now/service_portal/runners/service_portal.rb', line 17

def get_portal(sys_id:, **)
  resp = get("/api/sn_sp/portal/#{sys_id}", {}, **)
  { portal: resp.body['result'] }
end

#get_portal_page(sys_id:) ⇒ Object



31
32
33
34
# File 'lib/legion/extensions/service_now/service_portal/runners/service_portal.rb', line 31

def get_portal_page(sys_id:, **)
  resp = get("/api/now/table/sp_page/#{sys_id}", {}, **)
  { page: resp.body['result'] }
end

#get_portal_widget(sys_id:) ⇒ Object



43
44
45
46
# File 'lib/legion/extensions/service_now/service_portal/runners/service_portal.rb', line 43

def get_portal_widget(sys_id:, **)
  resp = get("/api/now/table/sp_widget/#{sys_id}", {}, **)
  { widget: resp.body['result'] }
end

#list_portal_pages(portal_sys_id:, sysparm_limit: 100) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/legion/extensions/service_now/service_portal/runners/service_portal.rb', line 22

def list_portal_pages(portal_sys_id:, sysparm_limit: 100, **)
  params = {
    sysparm_query: "sp_portal=#{portal_sys_id}",
    sysparm_limit: sysparm_limit
  }
  resp = get('/api/now/table/sp_page', params, **)
  { pages: resp.body['result'] }
end

#list_portal_widgets(portal_sys_id: nil, sysparm_limit: 100) ⇒ Object



36
37
38
39
40
41
# File 'lib/legion/extensions/service_now/service_portal/runners/service_portal.rb', line 36

def list_portal_widgets(portal_sys_id: nil, sysparm_limit: 100, **)
  params = { sysparm_limit: sysparm_limit }
  params[:sysparm_query] = "sp_portal=#{portal_sys_id}" if portal_sys_id
  resp = get('/api/now/table/sp_widget', params, **)
  { widgets: resp.body['result'] }
end

#list_portals(sysparm_limit: 100, sysparm_offset: 0) ⇒ Object



11
12
13
14
15
# File 'lib/legion/extensions/service_now/service_portal/runners/service_portal.rb', line 11

def list_portals(sysparm_limit: 100, sysparm_offset: 0, **)
  params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
  resp = get('/api/sn_sp/portal', params, **)
  { portals: resp.body['result'] }
end