#! /usr/bin/perl -w

# purge Routes database (uninstalled contribs)

use strict;
use warnings;

use esmith::ConfigDB;

use constant WEBFUNCTIONS => '/usr/share/smanager/lib/SrvMngr/Controller/';

my $rtdb = esmith::ConfigDB->open('routes') or
        die "Couldn't access Routes database\n";

my @routes = $rtdb->get_all_by_prop( type => 'route' );

exit 0 unless @routes;

my ($sv_contrib, $sv_exist, $file) = '';

for (@routes) {
    my ( $contrib, $name ) = split ( /\+/, $_->key);

    if ( $contrib ne $sv_contrib) {
	$sv_contrib = $contrib;
	$file = WEBFUNCTIONS . ucfirst($contrib) .'.pm';
	$sv_exist = ( -f $file ) ? 1 : 0;
    }
    # print("$contrib $file deleted \n") unless $sv_exist;
    $rtdb->get($_->key)->delete() unless $sv_exist;

}

exit 0;