مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2025-12-01 05:43:04 +00:00
add script to create an initial admin user
هذا الالتزام موجود في:
1
Gemfile
1
Gemfile
@@ -33,6 +33,7 @@ gem 'moonrope', :git => 'https://github.com/adamcooke/moonrope', :branch => 'mas
|
||||
gem 'jwt'
|
||||
gem 'createsend', '~> 4.0'
|
||||
gem 'acme-client', :git => 'https://github.com/unixcharles/acme-client'
|
||||
gem 'highline', :require => true
|
||||
|
||||
group :development, :test do
|
||||
gem 'byebug'
|
||||
|
||||
@@ -106,6 +106,7 @@ GEM
|
||||
haml (4.0.7)
|
||||
tilt
|
||||
hashie (3.4.6)
|
||||
highline (1.7.8)
|
||||
httparty (0.14.0)
|
||||
multi_xml (>= 0.5.2)
|
||||
i18n (0.8.1)
|
||||
@@ -230,6 +231,7 @@ DEPENDENCIES
|
||||
gelf
|
||||
haml
|
||||
hashie
|
||||
highline
|
||||
jquery-rails
|
||||
jwt
|
||||
kaminari
|
||||
|
||||
@@ -80,6 +80,10 @@ case "$1" in
|
||||
run "ruby script/auto_upgrade.rb"
|
||||
;;
|
||||
|
||||
make-user)
|
||||
run "bundle exec ruby script/make_user.rb"
|
||||
;;
|
||||
|
||||
bundle)
|
||||
if [ -n "$2" ]; then
|
||||
run "bundle install --path=$2 --without=development --jobs=4 --clean"
|
||||
@@ -111,5 +115,6 @@ case "$1" in
|
||||
echo -e " * \e[35mregister-lets-encrypt\e[0m - register the generated Let's Encrypt key"
|
||||
echo -e " * \e[35mupgrade\e[0m - upgrade the Postal installation"
|
||||
echo -e " * \e[35mbundle\e[0m - download & install all required Ruby dependencies"
|
||||
echo -e " * \e[35mmake-user\e[0m - create a new admin user"
|
||||
echo
|
||||
esac
|
||||
|
||||
34
lib/postal/user_creator.rb
Normal file
34
lib/postal/user_creator.rb
Normal file
@@ -0,0 +1,34 @@
|
||||
require 'highline'
|
||||
|
||||
module Postal
|
||||
module UserCreator
|
||||
|
||||
def self.start(&block)
|
||||
cli = HighLine.new
|
||||
puts "\e[32mPostal User Creator\e[0m"
|
||||
puts "Enter the information required to create a new Postal user."
|
||||
puts "This tool is usually only used to create your initial admin user."
|
||||
puts
|
||||
user = User.new
|
||||
user.email_address = cli.ask("E-Mail Address".ljust(20, ' ') + ": ")
|
||||
user.first_name = cli.ask("First Name".ljust(20, ' ') + ": ")
|
||||
user.last_name = cli.ask("Last Name".ljust(20, ' ') + ": ")
|
||||
user.password = cli.ask("Initial Password:".ljust(20, ' ') + ": ") { |value| value.echo = '*' }
|
||||
|
||||
block.call(user) if block_given?
|
||||
if user.save
|
||||
puts
|
||||
puts "User has been created with e-mail address \e[32m#{user.email_address}\e[0m"
|
||||
puts
|
||||
else
|
||||
puts
|
||||
puts "\e[31mFailed to create user\e[0m"
|
||||
for error in user.errors.full_messages
|
||||
puts " * #{error}"
|
||||
end
|
||||
puts
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
9
script/make_user.rb
Executable file
9
script/make_user.rb
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env ruby
|
||||
trap("INT") { puts ; exit }
|
||||
|
||||
require_relative '../config/environment'
|
||||
require 'postal/user_creator'
|
||||
|
||||
Postal::UserCreator.start do |u|
|
||||
u.admin = true
|
||||
end
|
||||
المرجع في مشكلة جديدة
حظر مستخدم