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



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

def self.create_widget(widget, bearer_token)
  widget_data = get_widget(widget)
  create_widget_payload = Widget.get_payload(widget_data)
  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



55
56
57
58
59
60
61
# File 'lib/services/widget_service.rb', line 55

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



70
71
72
73
74
75
# File 'lib/services/widget_service.rb', line 70

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



84
85
86
87
88
89
90
91
# File 'lib/services/widget_service.rb', line 84

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



101
102
103
104
105
106
107
108
109
# File 'lib/services/widget_service.rb', line 101

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

.get_widget(widget) ⇒ Object

Sets Parent to Widget object

Parameters:

  • widget (Object)

    Widget Object

Returns:

  • (Object)

    Widget as child object



118
119
120
121
122
# File 'lib/services/widget_service.rb', line 118

def self.get_widget(widget)
  widget_data = WidgetBase.new
  widget_data.widget = widget
  widget_data
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



37
38
39
40
41
42
43
44
45
# File 'lib/services/widget_service.rb', line 37

def self.update_widget(widget, widget_id, bearer_token)
  widget_data = get_widget(widget)
  update_widget_payload = Widget.get_payload(widget_data)
  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