#!/usr/bin/perl

use strict;
use warnings;
use Getopt::Long qw(:config no_ignore_case);
use Text::ASCIITable;
use Perun::Agent;
use Perun::Common qw(printMessage getSortingFunction printTable);


sub help {
	return <<EOF
Find user by login in external source
------------------------
Available options:
--extSourceName | -e extSource name
--login         | -l login
--batch         | -b batch
--help          | -h prints this help
EOF
}

my ($extSourceName, $login, $batch);
GetOptions(
	"help|h" => sub {
		print help();
		exit 0;
	},
	"batch|b"             => \$batch,
	"extSourceName|e=s"   => \$extSourceName,
	"login|l=s"           => \$login
) or die help();

# Check options
unless (defined($extSourceName)) { die "ERROR: extSourceName is required \n";}
unless (defined($login)) { die "ERROR: login is required \n";}

my $agent = Perun::Agent->new();
my $usersAgent = $agent->getUsersAgent;

my $user = $usersAgent->getUserByExtSourceNameAndExtLogin( extSourceName => $extSourceName, extLogin => $login );

#output
printTable(getSortingFunction("getId"), $user);
