Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion app/controllers/api/users_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ def show
end

def forget
user = User.find_by!(stem_user_id: params[:stem_user_id])
user = if params[:stem_achiever_contact_no].present?
User.find_by!(stem_achiever_contact_no: params[:stem_achiever_contact_no])
else
User.find_by!(stem_user_id: params[:stem_user_id])
end
user.forget!
render json: as_json(user)
end
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/auth_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ def callback
auth = omniauth_params
course_booking_uri = course_redirect_params

user_exists = User.exists?(stem_user_id: auth.info.stem_user_id)
user_exists = User.exists?(stem_achiever_contact_no: auth.info.achiever_contact_no)
user = User.from_auth(auth.uid, auth.credentials, auth.info)

session[:user_id] = user.id
Expand Down
8 changes: 4 additions & 4 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
class User < ApplicationRecord
validates :first_name, presence: true
validates :last_name, presence: true
validates :stem_achiever_contact_no, presence: true
validates :stem_achiever_contact_no, presence: true, uniqueness: true
validates :stem_credentials_access_token, presence: true
validates :stem_credentials_expires_at, presence: true
validates :stem_user_id, presence: true, uniqueness: true
validates :stem_user_id, uniqueness: true, allow_nil: true
# WARNING: We are consiously choosing not to have a unique constraint on
# emails
validates :email, presence: true
Expand Down Expand Up @@ -35,7 +35,7 @@ class User < ApplicationRecord
alias_method :support_audits, :audits

def self.from_auth(id, credentials, info)
user = where(stem_user_id: info.stem_user_id).first_or_initialize
user = where(stem_achiever_contact_no: info.achiever_contact_no).first_or_initialize

users_with_new_email_count = User.where(email: info.email.downcase).count

Expand All @@ -50,7 +50,7 @@ def self.from_auth(id, credentials, info)
end

user.auth0_id = id
user.stem_user_id = info.stem_user_id
user.stem_user_id = info.stem_user_id if info.stem_user_id.present?
user.first_name = info.first_name
user.last_name = info.last_name
user.email = info.email.downcase
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class MakeUserStemUserIdNullableOnUserReportEntries < ActiveRecord::Migration[8.1]
def change
change_column_null :user_report_entries, :user_stem_user_id, true
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class AddUniqueIndexToUsersStemAchieverContactNo < ActiveRecord::Migration[8.1]
def change
add_index :users, :stem_achiever_contact_no, unique: true
end
end
Loading