Merge branch 'ent-9098-13503-creacion-llamada-insert_gis_data-cli' into 'develop'

Ent 9098 13503 creacion llamada insert gis data cli

#9098

https://brutus.artica.es:8081/artica/pandora_enterprise/-/issues/9098

See merge request artica/pandorafms!5132
This commit is contained in:
Jimmy Olano 2022-10-18 11:26:51 +00:00
commit 0612bb05db
1 changed files with 46 additions and 3 deletions

View File

@ -251,6 +251,11 @@ sub help_screen{
print "\nEVENTS\n\n" unless $param ne '';
help_screen_line('--event_in_progress', '<id_event> ', 'Set event in progress');
print "\nGIS\n\n" unless $param ne '';
help_screen_line('--get_gis_agent', '<agent_id> ', 'Gets agent GIS information');
help_screen_line('--insert_gis_data', '<agent_id> [<latitude>] [<longitude>] [<altitude>]', 'Sets new GIS data for specified agent');
print "\n";
exit;
}
@ -261,7 +266,7 @@ sub help_screen{
sub api_call($$$;$$$$) {
my ($pa_config, $op, $op2, $id, $id2, $other, $return_type) = @_;
my $content = undef;
eval {
# Set the parameters for the POST request.
my $params = {};
@ -275,10 +280,11 @@ sub api_call($$$;$$$$) {
$params->{"other"} = $other;
$params->{"return_type"} = $return_type;
$params->{"other_mode"} = "url_encode_separator_|";
# Call the API.
my $ua = new LWP::UserAgent;
my $url = $pa_config->{"console_api_url"};
my $response = $ua->post($url, $params);
if ($response->is_success) {
@ -288,7 +294,7 @@ sub api_call($$$;$$$$) {
$content = $response->decoded_content();
}
};
return $content;
}
@ -8045,6 +8051,14 @@ sub pandora_manage_main ($$$) {
param_check($ltotal, 4, 5);
cli_agent_update_custom_fields();
}
elsif ($param eq '--get_gis_agent') {
param_check($ltotal, 1, 0);
cli_get_gis_agent();
}
elsif ($param eq '--insert_gis_data'){
param_check($ltotal, 4, 0);
cli_insert_gis_data();
}
else {
print_log "[ERROR] Invalid option '$param'.\n\n";
$param = '';
@ -8765,3 +8779,32 @@ sub pandora_validate_alert_id($$$$) {
return 1;
}
##############################################################################
# Get GIS data from agent
##############################################################################
sub cli_get_gis_agent(){
my $agent_id = @ARGV[2];
my $result = api_call(\%conf,'get', 'gis_agent', $agent_id);
print "$result \n\n ";
}
##############################################################################
# Set GIS data for specified agent
##############################################################################
sub cli_insert_gis_data(){
my ($agent_id, $latitude, $longitude, $altitude) = @ARGV[2..5];
my $agent_id = @ARGV[2];
my @position = @ARGV[3..5];
my $other = join('|', @position);
my $result = api_call(\%conf,'set', 'gis_agent_only_position', $agent_id, undef, "$other");
print "$result \n\n ";
}