Files
manyfold/app/lib/cli/users_command.rb
2026-02-09 15:45:58 +00:00

35 lines
1002 B
Ruby

require "thor"
module Cli
class UsersCommand < Thor
namespace :users
DESCRIPTION = "manage users"
desc "approve", "approves a user"
option :email, required: true, type: :string, aliases: :mail
def approve
u = User.find_by(email: options[:email])
raise "User not found" if u.nil?
u.update(approved: true)
puts "\nUser #{u.email} approved"
rescue RuntimeError
puts "\nUser #{options[:email]} not found"
end
desc "password", "resets password for user"
option :email, required: true, type: :string, aliases: :mail
def password
u = User.find_by(email: options[:email])
raise "User not found" if u.nil?
u.password = ask("Enter password: ", echo: false)
puts "\n"
u.password_confirmation = ask("Confirm password: ", echo: false)
puts "\nPassword changed!" if u.save!
rescue ActiveRecord::RecordInvalid => e
puts "\n#{e}"
rescue RuntimeError => e
puts "\n#{e}"
end
end
end