my $self = shift;
my $ou = $self->{ou};
- $self->{base_uri} = OpenILS::Application::AppUtils->ou_ancestor_setting_value($ou, 'ebook_api.rbdigital.base_uri') || EBOOK_API_DOMAIN;
+ # Get the API URl
+ if (TEST_QA) {
+ $self->{base_uri} = EBOOK_API_DOMAIN_QA;
+ } else {
+ my $digital_services_req = _get_digital_services(EBOOK_API_VENDOR);
+ if ($digital_services_req) {
+ $self->{base_uri} = $digital_services_req->content->[0]->api_url;
+ }
+ }
my $object_rdsa = _get_vendor_library($ou);
$basic_search_uri = _build_search_URI($is_eg_advanced_search, $search_type, $media_format, $value_to_search, $facets, $search_inputs, $sort_by, $sort_order, $page_index, $page_size);
$logger->info('EbookAPI: Calling the search API: '.$uri);
- if (TEST_QA) {
- $uri = EBOOK_API_DOMAIN_QA."/$basic_search_uri";
- $req = {
- method => 'GET',
- uri => $uri,
- headers => {
- 'Authorization' => 'bearer ' . EBOOK_API_QA_TOKEN,
- 'Content-Type' => 'application/x-www-form-urlencoded;charset=UTF-8'
- }
- };
- } else {
- $uri = "$base_uri/libraries/$library_id/$basic_search_uri";
- $req = {
- method => 'GET',
- uri => $uri,
- headers => {
- 'Authorization' => 'Basic ' . $self->{basic_token},
- 'Content-Type' => 'application/x-www-form-urlencoded;charset=UTF-8'
- }
- };
- }
+ $uri = "$base_uri/libraries/$library_id/$basic_search_uri";
+ $req = {
+ method => 'GET',
+ uri => $uri,
+ headers => {
+ 'Authorization' => 'Basic ' . $self->{basic_token},
+ 'Content-Type' => 'application/x-www-form-urlencoded;charset=UTF-8'
+ }
+ };
my $res = $self->request($req, $session_id);
sub is_authorized_patron {
my ($self, $home_library_id) = @_;
my $is_authorized = 0;
- my $ebook_rds_req;
+ my $ebook_rdsa_req;
my $pcrud = OpenSRF::AppSession->create('open-ils.pcrud');
$pcrud->connect();
- $ebook_rds_req = $pcrud->request('open-ils.pcrud.search.ebook_rdsa.atomic', "ANONYMOUS",
+ $ebook_rdsa_req = $pcrud->request('open-ils.pcrud.search.ebook_rdsa.atomic', "ANONYMOUS",
{ home_ou => $home_library_id }
)->gather();
- if ($ebook_rds_req && scalar (@$ebook_rds_req) > 0) {
+ if ($ebook_rdsa_req && scalar (@$ebook_rdsa_req) > 0) {
#read the library.id to find corrosponding library id from digital services atuhorized table
$is_authorized = 1;
}
# First, get the Digital Service ID by name
$logger->info("EbookAPI: Calling to retreive vendor id from db.");
- my $digital_services_req = $pcrud->request('open-ils.pcrud.search.ebook_rds.atomic', "ANONYMOUS",
- { vendor_key => $vendor_key }
- )->recv();
+ my $digital_services_req = _get_digital_services($vendor_key);
if ($digital_services_req) {
$digital_services_id = $digital_services_req->content->[0]->id;
return { status => "success" };
}
+
+sub _get_digital_services {
+ my ($vendor_key) = @_;
+
+ $logger->info("EbookAPI: Calling to retreive vendor ($vendor_key) information from db.");
+ my $pcrud = OpenSRF::AppSession->create('open-ils.pcrud');
+ $pcrud->connect();
+ return $pcrud->request('open-ils.pcrud.search.ebook_rds.atomic', "ANONYMOUS",
+ { vendor_key => $vendor_key }
+ )->recv();
+}
1;