Module: Legion::Extensions::ServiceNow::ServiceCatalog::Runners::ServiceCatalog
- Includes:
- Helpers::Lex, Helpers::Client
- Included in:
- Client
- Defined in:
- lib/legion/extensions/service_now/service_catalog/runners/service_catalog.rb
Instance Method Summary
collapse
#connection, #fetch_oauth2_token
Instance Method Details
#add_to_cart(sys_id:, quantity: 1, variables: nil) ⇒ Object
54
55
56
57
58
59
|
# File 'lib/legion/extensions/service_now/service_catalog/runners/service_catalog.rb', line 54
def add_to_cart(sys_id:, quantity: 1, variables: nil, **)
body = { quantity: quantity }
body[:variables] = variables if variables
resp = connection(**).post("/api/sn_sc/servicecatalog/items/#{sys_id}/add_to_cart", body)
{ cart: resp.body['result'] }
end
|
#checkout_cart ⇒ Object
66
67
68
69
|
# File 'lib/legion/extensions/service_now/service_catalog/runners/service_catalog.rb', line 66
def checkout_cart(**)
resp = connection(**).post('/api/sn_sc/servicecatalog/cart/checkout', {})
{ order: resp.body['result'] }
end
|
#delete_cart(cart_id:) ⇒ Object
71
72
73
74
|
# File 'lib/legion/extensions/service_now/service_catalog/runners/service_catalog.rb', line 71
def delete_cart(cart_id:, **)
resp = connection(**).delete("/api/sn_sc/servicecatalog/cart/#{cart_id}")
{ deleted: resp.status == 204, cart_id: cart_id }
end
|
#get_cart ⇒ Object
61
62
63
64
|
# File 'lib/legion/extensions/service_now/service_catalog/runners/service_catalog.rb', line 61
def get_cart(**)
resp = connection(**).get('/api/sn_sc/servicecatalog/cart')
{ cart: resp.body['result'] }
end
|
#get_catalog(sys_id:) ⇒ Object
17
18
19
20
|
# File 'lib/legion/extensions/service_now/service_catalog/runners/service_catalog.rb', line 17
def get_catalog(sys_id:, **)
resp = connection(**).get("/api/sn_sc/servicecatalog/catalogs/#{sys_id}")
{ catalog: resp.body['result'] }
end
|
#get_category(sys_id:) ⇒ Object
22
23
24
25
|
# File 'lib/legion/extensions/service_now/service_catalog/runners/service_catalog.rb', line 22
def get_category(sys_id:, **)
resp = connection(**).get("/api/sn_sc/servicecatalog/categories/#{sys_id}")
{ category: resp.body['result'] }
end
|
#get_item(sys_id:) ⇒ Object
37
38
39
40
|
# File 'lib/legion/extensions/service_now/service_catalog/runners/service_catalog.rb', line 37
def get_item(sys_id:, **)
resp = connection(**).get("/api/sn_sc/servicecatalog/items/#{sys_id}")
{ item: resp.body['result'] }
end
|
#get_item_variables(sys_id:) ⇒ Object
42
43
44
45
|
# File 'lib/legion/extensions/service_now/service_catalog/runners/service_catalog.rb', line 42
def get_item_variables(sys_id:, **)
resp = connection(**).get("/api/sn_sc/servicecatalog/items/#{sys_id}/variables")
{ variables: resp.body['result'] }
end
|
#list_catalogs(sysparm_limit: 100, sysparm_offset: 0) ⇒ Object
11
12
13
14
15
|
# File 'lib/legion/extensions/service_now/service_catalog/runners/service_catalog.rb', line 11
def list_catalogs(sysparm_limit: 100, sysparm_offset: 0, **)
params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
resp = connection(**).get('/api/sn_sc/servicecatalog/catalogs', params)
{ catalogs: resp.body['result'] }
end
|
#list_items(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil, catalog_id: nil, category_id: nil) ⇒ Object
27
28
29
30
31
32
33
34
35
|
# File 'lib/legion/extensions/service_now/service_catalog/runners/service_catalog.rb', line 27
def list_items(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil,
catalog_id: nil, category_id: nil, **)
params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
params[:sysparm_query] = sysparm_query if sysparm_query
params[:catalog_id] = catalog_id if catalog_id
params[:category_id] = category_id if category_id
resp = connection(**).get('/api/sn_sc/servicecatalog/items', params)
{ items: resp.body['result'] }
end
|
#order_now(sys_id:, quantity: 1, variables: nil) ⇒ Object
47
48
49
50
51
52
|
# File 'lib/legion/extensions/service_now/service_catalog/runners/service_catalog.rb', line 47
def order_now(sys_id:, quantity: 1, variables: nil, **)
body = { quantity: quantity }
body[:variables] = variables if variables
resp = connection(**).post("/api/sn_sc/servicecatalog/items/#{sys_id}/order_now", body)
{ request: resp.body['result'] }
end
|