class UserService

User Service for CRUD operation related to user

Public Class Methods

change_password(user, bearer_token) click to toggle source

Updates old password to new password

@param [Object] user User object with old and new password details @param [String] bearer_token

@return [Json] Response of change password

# 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) click to toggle source

Verifies if email is already registered

@param [Object] user user object conatining email

@return [Json] Response of verify email

# 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) click to toggle source

Creates User

@param [Object] user User Object for create

@return [Json] Response of create user

# 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) click to toggle source

Sends email with reset password link

@param [Object] user User object

@return [Json] Response of reset password

# 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) click to toggle source

Displays logged in user details

@param [String] bearer_token

@return [Json] Response containing logged in user details

# 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) click to toggle source

Displays details of user id

@param [String] user_id @param [String] bearer_token

@return [Json] Response containing details of given user id

# 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) click to toggle source

Updates existing user

@param [Object] user User Object for update @param [String] bearer_token

@return [Json] Response of update user

# 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