#!/usr/bin/perl
#
## Copyright (c) 2008 Red Hat, Inc.
##
## This software is licensed to you under the GNU General Public License,
## version 2 (GPLv2). There is NO WARRANTY for this software, express or
## implied, including the implied warranties of MERCHANTABILITY or FITNESS
## FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
## along with this software; if not, see
## http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
##
## Red Hat trademarks are not licensed under GPLv2. No permission is
## granted to use or replicate Red Hat trademarks that are incorporated
## in this software or its documentation.
##
#
use lib '/var/www/lib';

use RHN::Token;
use RHN::DB;
use RHN::User;
use RHN::Server;

if ($#ARGV < 2) {
    print "Usage: $0 database system-id username\n";
    exit 1;
}

my $db = $ARGV[0];
my $sysid= $ARGV[1];
my $username = $ARGV[2];

RHN::DB->set_default_handle($db);

my $user = RHN::User->lookup(-username => $username);
my $server = RHN::Server->lookup(-id => $sysid);

my $token = RHN::Token->create_token;
$token->user_id($user->id);
$token->org_id($user->org_id);
$token->activation_key_token(RHN::Token->generate_random_key);

$token->server_id($server->id);
$token->note("Activation key for " . $server->name . ".");
$token->usage_limit(1);
#my $ent_level = $token->RHN::Token->get_entitlement_level($server->is_entitled);
my $ent_level = RHN::Token->get_entitlement_level($server->is_entitled);
$token->entitlement_level($ent_level);

$token->commit;

print $token->activation_key_token, "\n";
