From f2d0b72afdcdba8ffec7218d6534c8d704738e2c Mon Sep 17 00:00:00 2001 From: Zsolt Tasnadi Date: Fri, 21 Aug 2026 21:28:10 +0200 Subject: [PATCH] password reset fix --- apps/api/app/models/admin_user.rb | 3 +-- apps/api/config/initializers/devise.rb | 3 --- apps/api/lib/tasks/admin_user.rake | 28 ++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 apps/api/lib/tasks/admin_user.rake diff --git a/apps/api/app/models/admin_user.rb b/apps/api/app/models/admin_user.rb index ae49dcb..05b11e7 100644 --- a/apps/api/app/models/admin_user.rb +++ b/apps/api/app/models/admin_user.rb @@ -1,6 +1,5 @@ class AdminUser < ApplicationRecord - devise :database_authenticatable, - :recoverable, :rememberable, :validatable + devise :database_authenticatable, :rememberable, :validatable belongs_to :member, optional: true diff --git a/apps/api/config/initializers/devise.rb b/apps/api/config/initializers/devise.rb index 03699c2..ecba806 100644 --- a/apps/api/config/initializers/devise.rb +++ b/apps/api/config/initializers/devise.rb @@ -1,6 +1,4 @@ Devise.setup do |config| - config.mailer_sender = "noreply@teletype.hu" - require "devise/orm/active_record" config.case_insensitive_keys = [:email] @@ -11,6 +9,5 @@ Devise.setup do |config| config.expire_all_remember_me_on_sign_out = true config.password_length = 6..128 config.email_regexp = /\A[^@\s]+@[^@\s]+\z/ - config.reset_password_within = 6.hours config.sign_out_via = :delete end diff --git a/apps/api/lib/tasks/admin_user.rake b/apps/api/lib/tasks/admin_user.rake new file mode 100644 index 0000000..c2629ed --- /dev/null +++ b/apps/api/lib/tasks/admin_user.rake @@ -0,0 +1,28 @@ +namespace :admin_user do + desc "Set an admin user password: rake admin_user:password EMAIL=... PASSWORD=..." + task password: :environment do + email = ENV["EMAIL"].to_s.strip + password = ENV["PASSWORD"].to_s + + if email.empty? || password.empty? + abort "Használat: rake admin_user:password EMAIL=admin@teletype.hu PASSWORD=újjelszó" + end + + user = AdminUser.find_by(email: email) + abort "Nincs ilyen admin user: #{email}" if user.nil? + + user.password = password + user.password_confirmation = password + + if user.save + puts "Jelszó frissítve: #{user.email}" + else + abort "Sikertelen: #{user.errors.full_messages.join(', ')}" + end + end + + desc "List admin users" + task list: :environment do + AdminUser.order(:email).each { |u| puts "#{u.id}\t#{u.email}" } + end +end