From 7edb608c6ff7d742dbaa802893d5f2e9b8e35ff5 Mon Sep 17 00:00:00 2001 From: luandalmazo <luandalmazo@gmail.com> Date: Thu, 4 Aug 2022 10:48:37 -0300 Subject: [PATCH] Issue #9: ADD task that confirm old emails --- app/controllers/v1/sessions_controller.rb | 9 +++++++++ app/models/user.rb | 1 + db/migrate/20220729140004_modify_users_table.rb | 13 +++++++++++++ lib/tasks/access.rake | 13 +++++++++++++ 4 files changed, 36 insertions(+) create mode 100644 db/migrate/20220729140004_modify_users_table.rb create mode 100644 lib/tasks/access.rake diff --git a/app/controllers/v1/sessions_controller.rb b/app/controllers/v1/sessions_controller.rb index bbe5e9ec..741221ec 100644 --- a/app/controllers/v1/sessions_controller.rb +++ b/app/controllers/v1/sessions_controller.rb @@ -55,6 +55,15 @@ require 'open-uri' else render_create_error_bad_credentials end + + end + + def render_create_error_not_confirmed + render json: { + success: false, + errors: [ I18n.t("devise.failure.unconfirmed")], + }, status: 401 + end def render_create_error_banished diff --git a/app/models/user.rb b/app/models/user.rb index bc367036..72862a14 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -539,4 +539,5 @@ class User < ApplicationRecord def complaint_reject(params) end + end diff --git a/db/migrate/20220729140004_modify_users_table.rb b/db/migrate/20220729140004_modify_users_table.rb new file mode 100644 index 00000000..d77eaad8 --- /dev/null +++ b/db/migrate/20220729140004_modify_users_table.rb @@ -0,0 +1,13 @@ +class ModifyUsersTable < ActiveRecord::Migration[7.0] + def change + change_table(:users) do |t| + + ## Lockable + t.integer :failed_attempts, :default => 0, :null => false # Only if lock strategy is :failed_attempts + t.string :unlock_token # Only if unlock strategy is :email or :both + t.datetime :locked_at + + end + end + +end diff --git a/lib/tasks/access.rake b/lib/tasks/access.rake new file mode 100644 index 00000000..78f2b993 --- /dev/null +++ b/lib/tasks/access.rake @@ -0,0 +1,13 @@ +namespace :access do + desc 'Check when all users was created, and give access to them if they were created before a certain date' + base_date = Date.new(2022, 7, 20) + + task :confirm_old_emails => :environment do + User.all.each do |user| + if user.created_at < base_date + user.update_attribute(:email_confirmed, true) + end + + end + end +end \ No newline at end of file -- GitLab