#!/bin/perl

use LWP::UserAgent;
use Modern::Perl;

if ( scalar @ARGV != 3 ) {
    die "Usage: $0 url username password";
}

my ( $url, $user, $password ) = @ARGV;

my $ua = LWP::UserAgent->new();
$ua->cookie_jar({});

make_request( 'Authenticate', 'authentication', { userid =>$user, password => $password } );
make_request( 'Insert',       'members/upsert', { matchField=>'cardnumber', cardnumber=>'98765', categorycode=>'PT', branchcode=>'CPL', surname=>'Joe' } );
make_request( 'Update',       'members/upsert', { matchField=>'cardnumber', cardnumber=>'98765', categorycode=>'PT', branchcode=>'CPL', surname=>'Joes' } );
make_request( 'Delete',       'members/delete', { cardnumber=>'98765' } );

sub make_request {

    my ( $diag, $urlfrag, $data ) = @_;
    
    say "*** $diag ***";
    my $resp = $ua->post( "$url/cgi-bin/koha/svc/$urlfrag", $data );
    die $resp->status_line unless $resp->is_success;
    say $resp->decoded_content;

}
