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



58
59
60
61
62
63
64
# File 'lib/services/widget_service.rb', line 58

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



73
74
75
76
77
78
# File 'lib/services/widget_service.rb', line 73

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



87
88
89
90
91
92
93
94
# File 'lib/services/widget_service.rb', line 87

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



104
105
106
107
108
109
110
111
112
# File 'lib/services/widget_service.rb', line 104

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



121
122
123
124
125
# File 'lib/services/widget_service.rb', line 121

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
46
47
48
# File 'lib/services/widget_service.rb', line 37

def self.update_widget(widget, widget_id, bearer_token)
 # puts widget.kind
 #widget.attributes.except("name")
  widget_data = get_widget(widget)
  update_widget_payload = Widget.get_payload(widget_data)
  puts update_widget_payload
  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