lib/postfix_admin/runner.rb in postfix_admin-0.3.0 vs lib/postfix_admin/runner.rb in postfix_admin-0.3.1
- old
+ new
@@ -28,25 +28,70 @@
"Display details about domains, admins, or accounts"
def show(name = nil)
runner { @cli.show(name) }
end
- desc "setup example.com password", "Set up a domain"
+ desc "admins", "List all admin users"
+ def admins
+ runner { @cli.show_admins }
+ end
+
+ desc "domains", "List all domains"
+ def domains
+ runner { @cli.show_domains }
+ end
+
+ desc "accounts", "List all accounts"
+ def accounts
+ runner { @cli.show_accounts }
+ end
+
+ desc "aliases", "List all aliases"
+ def aliases
+ runner { @cli.show_aliases }
+ end
+
+ desc "forwards", "List all forwards"
+ def forwards
+ runner { @cli.show_forwards }
+ end
+
+ desc "setup example.com password", "Set up a domain (add a domain and an admin user for it)"
+ method_option :scheme, type: :string, aliases: "-s", desc: "password scheme"
+ method_option :rounds, type: :string, aliases: "-r", desc: "encryption rounds for BLF-CRYPT, SHA256-CRYPT and SHA512-CRYPT schemes"
def setup(domain_name, password)
- runner { @cli.setup_domain(domain_name, password) }
+ runner do
+ @cli.setup_domain(domain_name, password,
+ scheme: options[:scheme], rounds: options[:rounds])
+ end
end
+ desc "teardown example.com", "Tear down a domain (delete a domain and an admin user for it)"
+ def teardown(domain_name)
+ runner { @cli.teardown_domain(domain_name) }
+ end
+
desc "admin_passwd admin@example.com new_password",
"Change the password of an admin user"
+ method_option :scheme, type: :string, aliases: "-s", desc: "password scheme"
+ method_option :rounds, type: :string, aliases: "-r", desc: "encryption rounds for BLF-CRYPT, SHA256-CRYPT and SHA512-CRYPT schemes"
def admin_passwd(user_name, password)
- runner { @cli.change_admin_password(user_name, password) }
+ runner do
+ @cli.change_admin_password(user_name, password,
+ scheme: options[:scheme], rounds: options[:rounds])
+ end
end
desc "account_passwd user@example.com new_password",
"Change the password of an account"
+ method_option :scheme, type: :string, aliases: "-s", desc: "password scheme"
+ method_option :rounds, type: :string, aliases: "-r", desc: "encryption rounds for BLF-CRYPT, SHA256-CRYPT and SHA512-CRYPT schemes"
def account_passwd(user_name, password)
- runner { @cli.change_account_password(user_name, password) }
+ runner do
+ @cli.change_account_password(user_name, password,
+ scheme: options[:scheme], rounds: options[:rounds])
+ end
end
desc "add_domain example.com", "Add a new domain"
method_option :description, type: :string, aliases: "-d", desc: "description"
def add_domain(domain_name)
@@ -84,23 +129,25 @@
def delete_account(address)
runner { @cli.delete_account(address) }
end
desc "add_account user@example.com password", "Add a new account"
- method_option :scheme, type: :string, aliases: "-s", desc: "password scheme"
method_option :name, type: :string, aliases: "-n", desc: "full name"
+ method_option :scheme, type: :string, aliases: "-s", desc: "password scheme"
+ method_option :rounds, type: :string, aliases: "-r", desc: "encryption rounds for BLF-CRYPT, SHA256-CRYPT and SHA512-CRYPT schemes"
def add_account(address, password)
runner do
if options[:scheme] == 'scheme'
warn "Specify password scheme"
help('add_account')
else
if options[:name] == 'name'
warn "Specify name"
help('add_account')
else
- @cli.add_account(address, password, options[:scheme], options[:name])
+ @cli.add_account(address, password, name: options[:name],
+ scheme: options[:scheme], rounds: options[:rounds])
end
end
end
end
@@ -144,16 +191,19 @@
end
desc "add_admin admin@example.com password", "Add a new admin user"
method_option :super, type: :boolean, aliases: "-S", desc: "register as a super admin"
method_option :scheme, type: :string, aliases: "-s", desc: "password scheme"
+ method_option :rounds, type: :string, aliases: "-r", desc: "encryption rounds for BLF-CRYPT, SHA256-CRYPT and SHA512-CRYPT schemes"
def add_admin(user_name, password)
runner do
if options[:scheme] == 'scheme'
warn "Specify password scheme"
help('add_admin')
else
- @cli.add_admin(user_name, password, options[:super], options[:scheme])
+ @cli.add_admin(user_name, password,
+ super_admin: options[:super], scheme: options[:scheme],
+ rounds: options[:rounds])
end
end
end
desc "add_admin_domain admin@example.com example.com",