Class: WidgetService

Inherits:
Object
  • Object
show all
Defined in:
lib/services/widget_service.rb

Overview

Widget Service for CRUD operation related to widget

Class Method Summary collapse

Class Method Details

.create_widget(widget, bearer_token) ⇒ Json

Creates Widget

Parameters:

  • widget (Object)

    Widget object for create

  • bearer_token (String)

Returns:

  • (Json)

    Response of create widget



18
19
20
21
22
23
24
# File 'lib/services/widget_service.rb', line 18

def self.create_widget(widget, bearer_token)
  create_widget_payload = Widget.get_payload(widget)
  RestClient::Request.execute(method: :post, url: ApplicationConfig.get_url('create_widget_path'),
                              payload: create_widget_payload,
                              headers: { 'Content-Type': 'application/json',
                                         'Authorization': bearer_token })
end

.delete_widget(widget_id, bearer_token) ⇒ Json

Deletes own widget for given widget id

Parameters:

  • widget_id (String)

    widgets to delete

  • bearer_token (String)

Returns:

  • (Json)

    Response of delete widget



52
53
54
55
56
57
58
# File 'lib/services/widget_service.rb', line 52

def self.delete_widget(widget_id, bearer_token)
  destroy_url_with_widget_id = ApplicationConfig.get_url('create_widget_path') + '/' + widget_id.to_s
  RestClient::Request.execute(method: :delete,
                              url: destroy_url_with_widget_id,
                              headers: { 'Content-Type': 'application/json',
                                         'Authorization': bearer_token })
end

.get_own_widgets(bearer_token) ⇒ String

Lists own widgets

Parameters:

  • bearer_token (String)

Returns:

  • (String)

    Response with list of own widgets



67
68
69
70
71
72
# File 'lib/services/widget_service.rb', line 67

def self.get_own_widgets(bearer_token)
  RestClient::Request.execute(method: :get,
                              url: ApplicationConfig.get_url('list_own_widget_path'),
                              headers: { 'Content-Type': 'application/json',
                                         'Authorization': bearer_token })
end

.get_public_widgets(bearer_token) ⇒ Json

Lists public widgets

Parameters:

  • bearer_token (String)

Returns:

  • (Json)

    Response with list of public visible widgets



81
82
83
84
85
86
87
88
# File 'lib/services/widget_service.rb', line 81

def self.get_public_widgets(bearer_token)
  RestClient::Request.execute(method: :get,
                              url: ApplicationConfig.get_url('list_public_widget_path'),
                              headers: { 'Content-Type': 'application/json',
                                         params: { client_id: ApplicationConfig.client_id,
                                                  client_secret: ApplicationConfig.client_secret },
                                         'Authorization': bearer_token })
end

.get_public_widgets_with_search_term(search_term, bearer_token) ⇒ Json

Lists public widgets with search term

Parameters:

  • search_term (String)
  • bearer_token (String)

Returns:

  • (Json)

    Response with searched public widgets by given search term



98
99
100
101
102
103
104
105
106
# File 'lib/services/widget_service.rb', line 98

def self.get_public_widgets_with_search_term(search_term, bearer_token)
  RestClient::Request.execute(method: :get,
                              url: ApplicationConfig.get_url('list_public_widget_path'),
                              headers: { 'Content-Type': 'application/json',
                                         params: { client_id: ApplicationConfig.client_id,
                                                   client_secret: ApplicationConfig.client_secret,
                                                   term: search_term },
                                         'Authorization': bearer_token })
end

.update_widget(widget, widget_id, bearer_token) ⇒ Json

Updates existing widget

Parameters:

  • widget (Object)

    Widget object for update

  • widget_id (String)

    widget to update

  • bearer_token (String)

Returns:

  • (Json)

    Response of update widget



35
36
37
38
39
40
41
42
# File 'lib/services/widget_service.rb', line 35

def self.update_widget(widget, widget_id, bearer_token)
  update_widget_payload = Widget.get_payload(widget)
  update_url_with_widget_id = ApplicationConfig.get_url('update_widget_path') + '/' + widget_id.to_s
  RestClient::Request.execute(method: :put, url: update_url_with_widget_id,
                              payload: update_widget_payload,
                              headers: { 'Content-Type': 'application/json',
                                         'Authorization': bearer_token })
end