|
Line 0
Link Here
|
| 0 |
- |
1 |
if ( typeof KOHA == "undefined" || !KOHA ) { |
|
|
2 |
var KOHA = {}; |
| 3 |
} |
| 4 |
|
| 5 |
KOHA.OverDrive = ( function() { |
| 6 |
var proxy_base_url = '/cgi-bin/koha/svc/overdrive_proxy'; |
| 7 |
var library_base_url = 'http://api.overdrive.com/v1/libraries/'; |
| 8 |
return { |
| 9 |
Get: function( url, params, callback ) { |
| 10 |
$.ajax( { |
| 11 |
type: 'GET', |
| 12 |
url: url.replace( /https?:\/\/api.overdrive.com\/v1/, proxy_base_url ), |
| 13 |
dataType: 'json', |
| 14 |
data: params, |
| 15 |
error: function( xhr, error ) { |
| 16 |
try { |
| 17 |
callback( JSON.parse( xhr.responseText )); |
| 18 |
} catch ( e ) { |
| 19 |
callback( {error: xhr.responseText || true} ); |
| 20 |
} |
| 21 |
}, |
| 22 |
success: callback |
| 23 |
} ); |
| 24 |
}, |
| 25 |
GetCollectionURL: function( library_id, callback ) { |
| 26 |
if ( KOHA.OverDrive.collection_url ) { |
| 27 |
callback( KOHA.OverDrive.collection_url ); |
| 28 |
return; |
| 29 |
} |
| 30 |
|
| 31 |
KOHA.OverDrive.Get( |
| 32 |
library_base_url + library_id, |
| 33 |
{}, |
| 34 |
function ( data ) { |
| 35 |
if ( data.error ) { |
| 36 |
callback( data ); |
| 37 |
return; |
| 38 |
} |
| 39 |
|
| 40 |
KOHA.OverDrive.collection_url = data.links.products.href; |
| 41 |
|
| 42 |
callback( data.links.products.href ); |
| 43 |
} |
| 44 |
); |
| 45 |
}, |
| 46 |
Search: function( library_id, q, limit, offset, callback ) { |
| 47 |
KOHA.OverDrive.GetCollectionURL( library_id, function( data ) { |
| 48 |
if ( data.error ) { |
| 49 |
callback( data ); |
| 50 |
return; |
| 51 |
} |
| 52 |
|
| 53 |
KOHA.OverDrive.Get( |
| 54 |
data, |
| 55 |
{q: q, limit: limit, offset: offset}, |
| 56 |
callback |
| 57 |
); |
| 58 |
} ); |
| 59 |
} |
| 60 |
}; |
| 61 |
} )(); |