Class: JunglePath::Controller::Key

Inherits:
Base
  • Object
show all
Defined in:
lib/jungle_path/controller/authentication.rb

Instance Attribute Summary

Attributes inherited from Base

#table_class

Instance Method Summary collapse

Methods inherited from Base

#create_table, #delete, #delete_rows, #drop_table, #reset_table, #select, #update

Constructor Details

#initialize(current_user, current_key, params, db) ⇒ Key

Returns a new instance of Key.



81
82
83
# File 'lib/jungle_path/controller/authentication.rb', line 81

def initialize(current_user, current_key, params, db)
  super(current_user, current_key, params, db, JunglePath::Schema::Key)
end

Instance Method Details

#insert(include_secure_columns: false) ⇒ Object

def select_by_user_by_application(include_secure_columns: false)

@params = Controller::Base.transform(@params, Schema::Role.columns)
SQL::Key.by_user_id_application_id(@db, @params[:user_id], @params[:application_id])

end

def select_default_by_user_by_application(include_secure_columns: false)

@params = Controller::Base.transform(@params, Schema::Role.columns)
SQL::Key.default_by_user_id_application_id(@db, @params[:user_id], @params[:application_id])

end



111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/jungle_path/controller/authentication.rb', line 111

def insert(include_secure_columns: false)
  #puts "insert key!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  #already exists?
  array = self.select_by_user_by_key_name
  hash = array.first if array and array.length > 0
  if hash #exists already, do update.
    key = @table_class.new(hash) # get current values which includes primary key (pk is needed for an update).
    key._consume_hash(@params) # overwrite current values with new values
    @params = key.to_hash # put all in @params for update
    update
    key = @db.select._model(key) # return updated object from database.
  else
    @params[:key] = JunglePath::Authentication::Helpers.generate_api_key unless @params[:key] #create a new key_string unless one was passed in.
    super
  end
end

#select_by_key(include_secure_columns: false) ⇒ Object



85
86
87
# File 'lib/jungle_path/controller/authentication.rb', line 85

def select_by_key(include_secure_columns: false)
  JunglePath::SQL::Key.by_key(@db, @params[:key])
end

#select_by_user(include_secure_columns: false) ⇒ Object



89
90
91
# File 'lib/jungle_path/controller/authentication.rb', line 89

def select_by_user(include_secure_columns: false)
  JunglePath::SQL::Key.by_user_id(@db, @params[:user_id])
end

#select_by_user_by_key_name(include_secure_columns: false) ⇒ Object



93
94
95
# File 'lib/jungle_path/controller/authentication.rb', line 93

def select_by_user_by_key_name(include_secure_columns: false)
  JunglePath::SQL::Key.by_user_id_key_name(@db, @params[:user_id], @params[:name])
end

#select_default_by_user(include_secure_columns: false) ⇒ Object



97
98
99
# File 'lib/jungle_path/controller/authentication.rb', line 97

def select_default_by_user(include_secure_columns: false)
  JunglePath::SQL::Key.default_by_user_id(@db, @params[:user_id])
end