Sha256: 08216c3ee46cf198deaad1e2772d1c4a4599eb9da46efd2d72133daaa3b0e309

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

require 'auth_manager'
require 'session_manager'
require 'dbAccessor'

module Api
class Handler

  def self.create_account(param)
    added = DbAccessor::Writer.write_object(param)  
    if added[:code] == 201
      true
    else
      false
    end
  end

  def self.connect(param, option)
    found = AuthManager::Finder.find_object?(param, option)
    session_response = SessionManager::Handler.create_session(param, option)  if found
    if session_response
      ((session_response[:code] == 200) && found)
    else
      false
    end
  end

  def self.valid_session(object, token, option)
    login = return_id(object, option)
    to_verify = {login: login, token: token}.to_json
    session_response = SessionManager::Handler.verify_session(to_verify, option)
    if session_response
      (session_response[:code] == 200)
    else
      false
    end
  end

  private ###############################

  def self.return_id(param, option)
    if AuthManager::Finder.find_object?(param, option)
      tmp = JSON.parse(param)
      return tmp['login'] if option.fetch(:user)
      return tmp['api_key'] if option.fetch(:app)
    end
  end

end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
recommender_api-0.0.2 lib/api/handler.rb