App-Dochazka-CLI

 view release on metacpan or  search on metacpan

lib/App/Dochazka/CLI/CommandMap.pm  view on Meta::CPAN

# *************************************************************************
# Copyright (c) 2014-2017, SUSE LLC
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# 3. Neither the name of SUSE LLC nor the names of its contributors may be
# used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# *************************************************************************
#
# Command map
#
package App::Dochazka::CLI::CommandMap;

use 5.012;
use strict;
use warnings;

use App::CELL qw( $CELL );
use App::Dochazka::CLI::Commands::Activity qw( 
    activity_all 
);
use App::Dochazka::CLI::Commands::Component qw( 
    component_path
    generate_report
);
use App::Dochazka::CLI::Commands::Employee qw( 
    employee_ldap
    employee_ldap_import
    employee_list
    employee_profile
    employee_team
    set_employee_self_sec_id 
    set_employee_other_sec_id 
    set_employee_self_fullname
    set_employee_other_fullname 
    set_employee_self_password
    set_employee_other_password 
    set_employee_supervisor
);
use App::Dochazka::CLI::Commands::History qw(
    add_priv_history
    add_schedule_history
    dump_priv_history
    dump_schedule_history
    set_history_remark
);
use App::Dochazka::CLI::Commands::Interval qw(
    interval_date
    interval_date_date1
    interval_datelist
    interval_tsrange
    interval_month
    interval_num_num1
    interval_promptdate
    interval_new_date_time_date1_time1
    interval_new_time_time1
    interval_new_timerange
);
use App::Dochazka::CLI::Commands::Misc qw( 
    change_prompt_date 
    noop
);
use App::Dochazka::CLI::Commands::Priv qw(
    show_priv_as_at
);
use App::Dochazka::CLI::Commands::Schedule qw( 
    add_memsched_entry 
    assign_memsched_scode
    clear_memsched_entries
    dump_memsched_entries
    fetch_all_schedules
    replicate_memsched_entry
    schedule_all
    schedule_new
    schedulespec
    schedulespec_remark
    schedulespec_scode
    show_schedule_as_at
);
use Data::Dumper;
use Exporter qw( import );


=head1 NAME

App::Dochazka::CLI::CommandMap - Command map




=head1 PACKAGE VARIABLES

=cut

# bring in the _method... functions
require App::Dochazka::CLI::Commands::RestTest::Activity;
require App::Dochazka::CLI::Commands::RestTest::Employee;

lib/App/Dochazka/CLI/CommandMap.pm  view on Meta::CPAN

    "GET SCHEDULE NICK _TERM _TIMESTAMP" => \&_method_schedule_nick_term_timestamp,
    "PUT SCHEDULE NICK _TERM _TIMESTAMP" => \&_method_schedule_nick_term_timestamp,
    "POST SCHEDULE NICK _TERM _TIMESTAMP" => \&_method_schedule_nick_term_timestamp,
    "DELETE SCHEDULE NICK _TERM _TIMESTAMP" => \&_method_schedule_nick_term_timestamp,
    "GET SCHEDULE SCODE _TERM" => \&_method_schedule_scode_term,
    "PUT SCHEDULE SCODE _TERM" => \&_method_schedule_scode_term,
    "POST SCHEDULE SCODE _TERM" => \&_method_schedule_scode_term,
    "DELETE SCHEDULE SCODE _TERM" => \&_method_schedule_scode_term,
    "GET SCHEDULE SELF" => \&_method_schedule_self,
    "PUT SCHEDULE SELF" => \&_method_schedule_self,
    "POST SCHEDULE SELF" => \&_method_schedule_self,
    "DELETE SCHEDULE SELF" => \&_method_schedule_self,
    "GET SCHEDULE SELF _TIMESTAMP" => \&_method_schedule_self_timestamp,
    "PUT SCHEDULE SELF _TIMESTAMP" => \&_method_schedule_self_timestamp,
    "POST SCHEDULE SELF _TIMESTAMP" => \&_method_schedule_self_timestamp,
    "DELETE SCHEDULE SELF _TIMESTAMP" => \&_method_schedule_self_timestamp,
    "GET SCHEDULE SID _NUM" => \&_method_schedule_sid_num,
    "PUT SCHEDULE SID _NUM" => \&_method_schedule_sid_num,
    "POST SCHEDULE SID _NUM" => \&_method_schedule_sid_num,
    "DELETE SCHEDULE SID _NUM" => \&_method_schedule_sid_num,
    "GET SCHEDULE NEW" => \&_method_schedule_new,
    "PUT SCHEDULE NEW" => \&_method_schedule_new,
    "POST SCHEDULE NEW" => \&_method_schedule_new,
    "DELETE SCHEDULE NEW" => \&_method_schedule_new,

    # Activity commands
    "ACTIVITY" => \&activity_all,
    "ACTIVITY ALL" => \&activity_all,
    "ACTIVITY ALL DISABLED" => \&activity_all,
    
    # Report commands
    #"COMPONENT PATH _PATH" => \&component_path,
    "GENERATE REPORT _PATH" => \&generate_report,
    "GENERATE REPORT _PATH _JSON" => \&generate_report,

    # Employee commands
    "EMPLOYEE" => \&employee_profile,
    "EID" => \&noop,
    "NICK" => \&noop,
    "SEC_ID" => \&noop,
    "EMPLOYEE LDAP" => \&employee_ldap,
    "EMPLOYEE LIST" => \&employee_list,
    "EMPLOYEE LIST _TERM" => \&employee_list,
    "EMPLOYEE PROFILE" => \&employee_profile,
    "EMPLOYEE SHOW" => \&employee_profile,
    "EMPLOYEE_SPEC" => \&employee_profile,
    "EMPLOYEE_SPEC LDAP" => \&employee_ldap,
    "EMPLOYEE_SPEC LDAP IMPORT" => \&employee_ldap_import,
    "EMPLOYEE_SPEC PROFILE" => \&employee_profile,
    "EMPLOYEE_SPEC SHOW" => \&employee_profile,
    "EMPLOYEE SEC_ID _TERM" => \&set_employee_self_sec_id,
    "EMPLOYEE SET SEC_ID _TERM" => \&set_employee_self_sec_id,
    "EMPLOYEE FULLNAME" => \&set_employee_self_fullname,
    "EMPLOYEE SET FULLNAME" => \&set_employee_self_fullname,
    "EMPLOYEE_SPEC SEC_ID _TERM" => \&set_employee_other_sec_id,
    "EMPLOYEE_SPEC SET SEC_ID _TERM" => \&set_employee_other_sec_id,
    "EMPLOYEE_SPEC FULLNAME" => \&set_employee_other_fullname,
    "EMPLOYEE_SPEC SET FULLNAME" => \&set_employee_other_fullname,
    "EMPLOYEE_SPEC SUPERVISOR _TERM" => \&set_employee_supervisor,
    "EMPLOYEE_SPEC SET SUPERVISOR _TERM" => \&set_employee_supervisor,
    "EMPLOYEE PASSWORD" => \&set_employee_self_password,
    "EMPLOYEE SET PASSWORD" => \&set_employee_self_password,
    "EMPLOYEE_SPEC PASSWORD" => \&set_employee_other_password,
    "EMPLOYEE_SPEC SET PASSWORD" => \&set_employee_other_password,
    "EMPLOYEE TEAM" => \&employee_team,
    "EMPLOYEE_SPEC TEAM" => \&employee_team,

    # History commands
    "PRIV HISTORY" => \&dump_priv_history,
    "EMPLOYEE_SPEC PRIV HISTORY" => \&dump_priv_history,
    "SCHEDULE HISTORY" => \&dump_schedule_history,
    "EMPLOYEE_SPEC SCHEDULE HISTORY" => \&dump_schedule_history,
    "EMPLOYEE_SPEC PRIV_SPEC _DATE" => \&add_priv_history,
    "EMPLOYEE_SPEC PRIV_SPEC EFFECTIVE _DATE" => \&add_priv_history,
    "EMPLOYEE_SPEC SCHEDULE_SPEC _DATE" => \&add_schedule_history,
    "EMPLOYEE_SPEC SCHEDULE_SPEC EFFECTIVE _DATE" => \&add_schedule_history,
    "EMPLOYEE_SPEC SID" => \&noop,
    "EMPLOYEE_SPEC SCODE" => \&noop,
    "EMPLOYEE_SPEC SET PRIV_SPEC _DATE" => \&add_priv_history,
    "EMPLOYEE_SPEC SET PRIV_SPEC EFFECTIVE _DATE" => \&add_priv_history,
    "EMPLOYEE_SPEC SET SCHEDULE_SPEC _DATE" => \&add_schedule_history,
    "EMPLOYEE_SPEC SET SCHEDULE_SPEC EFFECTIVE _DATE" => \&add_schedule_history,
    "PHISTORY_SPEC REMARK" => \&set_history_remark,
    "PHISTORY_SPEC SET REMARK" => \&set_history_remark,
    "SHISTORY_SPEC REMARK" => \&set_history_remark,
    "SHISTORY_SPEC SET REMARK" => \&set_history_remark,

    # Interval commands

    # fetch/fillup intervals
    "INTERVAL" => \&interval_promptdate,
    "EMPLOYEE_SPEC INTERVAL" => \&interval_promptdate,
    "INTERVAL FETCH" => \&interval_promptdate,
    "EMPLOYEE_SPEC INTERVAL FETCH" => \&interval_promptdate,
    "INTERVAL FILLUP" => \&interval_promptdate,
    "EMPLOYEE_SPEC INTERVAL FILLUP" => \&interval_promptdate,
    "INTERVAL FILLUP DRY_RUN" => \&interval_promptdate,
    "EMPLOYEE_SPEC INTERVAL FILLUP DRY_RUN" => \&interval_promptdate,
    "INTERVAL SUMMARY" => \&interval_promptdate,
    "EMPLOYEE_SPEC INTERVAL SUMMARY" => \&interval_promptdate,
    "INTERVAL REPORT" => \&interval_promptdate,
    "EMPLOYEE_SPEC INTERVAL REPORT" => \&interval_promptdate,
    "INTERVAL DELETE" => \&interval_promptdate,
    "EMPLOYEE_SPEC INTERVAL DELETE" => \&interval_promptdate,

    "INTERVAL _DATE" => \&interval_date,
    "EMPLOYEE_SPEC INTERVAL _DATE" => \&interval_date,
    "INTERVAL FETCH _DATE" => \&interval_date,
    "EMPLOYEE_SPEC INTERVAL FETCH _DATE" => \&interval_date,
    "INTERVAL FILLUP _DATE" => \&interval_date,
    "EMPLOYEE_SPEC INTERVAL FILLUP _DATE" => \&interval_date,
    "INTERVAL FILLUP DRY_RUN _DATE" => \&interval_date,
    "EMPLOYEE_SPEC INTERVAL FILLUP DRY_RUN _DATE" => \&interval_date,
    "INTERVAL SUMMARY _DATE" => \&interval_date,
    "EMPLOYEE_SPEC INTERVAL SUMMARY _DATE" => \&interval_date,
    "INTERVAL REPORT _DATE" => \&interval_date,
    "EMPLOYEE_SPEC INTERVAL REPORT _DATE" => \&interval_date,
    "INTERVAL DELETE _DATE" => \&interval_date,
    "EMPLOYEE_SPEC INTERVAL DELETE _DATE" => \&interval_date,

    "INTERVAL _DATE _DATE1" => \&interval_date_date1,
    "EMPLOYEE_SPEC INTERVAL _DATE _DATE1" => \&interval_date_date1,
    "INTERVAL FETCH _DATE _DATE1" => \&interval_date_date1,
    "EMPLOYEE_SPEC INTERVAL FETCH _DATE _DATE1" => \&interval_date_date1,



( run in 0.946 second using v1.01-cache-2.11-cpan-ceb78f64989 )