Class: UserService

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

Overview

User Service for CRUD operation related to user

Class Method Summary collapse

Class Method Details

.change_password(user, bearer_token) ⇒ Json

Updates old password to new password

Parameters:

  • user (Object)

    User object with old and new password details

  • bearer_token (String)

Returns:

  • (Json)

    Response of change password



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

def self.change_password(user, bearer_token)
  change_password_payload = User.get_payload(user)
  RestClient::Request.execute(method: :post,
                              url: ApplicationConfig.get_url('change_password_path'),
                              payload: change_password_payload,
                              headers: { 'Content-Type': 'application/json',
                                         'Authorization': bearer_token })
end

.check_email(user) ⇒ Json

Verifies if email is already registered

Parameters:

  • user (Object)

    user object conatining email

Returns:

  • (Json)

    Response of verify email



48
49
50
51
52
53
54
55
# File 'lib/services/user_service.rb', line 48

def self.check_email(user)
  RestClient::Request.execute(method: :get,
                              url: ApplicationConfig.get_url('check_email_path'),
                              headers: { 'Content-Type': 'application/json',
                                        params: { email: user.email,
                                                  client_id: ApplicationConfig.client_id,
                                                  client_secret: ApplicationConfig.client_secret } })
end

.create_user(user) ⇒ Json

Creates User

Parameters:

  • user (Object)

    User Object for create

Returns:

  • (Json)

    Response of create user



16
17
18
19
20
21
22
# File 'lib/services/user_service.rb', line 16

def self.create_user(user)
  create_user_payload = User.get_payload_with_client_info(user)
  RestClient::Request.execute(method: :post,
                              url: ApplicationConfig.get_url('create_user_path'),
                              payload: create_user_payload,
                              headers: { 'Content-Type': 'application/json' })
end

.reset_password(user) ⇒ Json

Sends email with reset password link

Parameters:

  • user (Object)

    User object

Returns:

  • (Json)

    Response of reset password



64
65
66
67
68
69
70
# File 'lib/services/user_service.rb', line 64

def self.reset_password(user)
  reset_password_payload = User.get_payload_with_client_info(user)
  RestClient::Request.execute(method: :post,
                              url: ApplicationConfig.get_url('reset_password_path'),
                              payload: reset_password_payload,
                              headers: { 'Content-Type': 'application/json' })
end

.show_logged_in_user(bearer_token) ⇒ Json

Displays logged in user details

Parameters:

  • bearer_token (String)

Returns:

  • (Json)

    Response containing logged in user details



96
97
98
99
100
101
# File 'lib/services/user_service.rb', line 96

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

.show_user_id(user_id, bearer_token) ⇒ Json

Displays details of user id

Parameters:

  • user_id (String)
  • bearer_token (String)

Returns:

  • (Json)

    Response containing details of given user id



111
112
113
114
115
116
117
# File 'lib/services/user_service.rb', line 111

def self.show_user_id(user_id, bearer_token)
  url_with_id = ApplicationConfig.get_url('show_user_id_path') + '/' + user_id.to_s
  RestClient::Request.execute(method: :get,
                              url: url_with_id,
                              headers: { 'Content-Type': 'application/json',
                                         'Authorization': bearer_token })
end

.update_user(user, bearer_token) ⇒ Json

Updates existing user

Parameters:

  • user (Object)

    User Object for update

  • bearer_token (String)

Returns:

  • (Json)

    Response of update user



32
33
34
35
36
37
38
39
# File 'lib/services/user_service.rb', line 32

def self.update_user(user, bearer_token)
  update_user_payload = User.get_payload(user)
  RestClient::Request.execute(method: :put,
                              url: ApplicationConfig.get_url('update_user_path'),
                              payload: update_user_payload,
                              headers: { 'Content-Type': 'application/json',
                                         'Authorization': bearer_token })
end