+require 'common/runner'
+require 'prune/plugins/postfixadmin'
+require 'rm/rm_runner'
+
class PruneRunner
include Runner
def run(plugin)
- puts "Not implemented"
+ # We don't want to check the PostfixAdmin database against itself.
+ return if plugin.class == PostfixadminPrune
+
+ cfg = Configuration.new()
+ pfa = PostfixadminPrune.new(cfg)
+
+ db_users = pfa.list_users()
+ db_domains = pfa.list_domains()
+
+ leftovers = plugin.get_leftover_users(db_users)
+ leftovers += plugin.get_leftover_domains(db_domains)
+
+ rm_runner = RmRunner.new()
+ rm_runner.run(plugin, *leftovers)
end
end