|
| 1 | +{Gateway} = require('./gateway') |
| 2 | +{CreditCardVerification} = require('./credit_card_verification') |
| 3 | +{CreditCardVerificationSearch} = require('./credit_card_verification_search') |
| 4 | + |
| 5 | +util = require('util') |
| 6 | +_ = require('underscore') |
| 7 | + |
| 8 | +exceptions = require('./exceptions') |
| 9 | + |
| 10 | +class CreditCardVerificationGateway extends Gateway |
| 11 | + constructor: (@gateway) -> |
| 12 | + |
| 13 | + find: (creditCardVerificationId, callback) -> |
| 14 | + if(creditCardVerificationId.trim() == '') |
| 15 | + callback(exceptions.NotFoundError(), null) |
| 16 | + else |
| 17 | + @gateway.http.get "/verifications/#{creditCardVerificationId}", (err, response) -> |
| 18 | + if err |
| 19 | + callback(err, null) |
| 20 | + else |
| 21 | + callback(null, new CreditCardVerification(response.verification)) |
| 22 | + |
| 23 | + search: (fn, callback) -> |
| 24 | + search = new CreditCardVerificationSearch() |
| 25 | + fn(search) |
| 26 | + @gateway.http.post("/verifications/advanced_search_ids", {search: search.toHash()}, @searchResponseHandler(@pagingFunctionGenerator(search), callback)) |
| 27 | + |
| 28 | + responseHandler: (callback) -> |
| 29 | + @createResponseHandler("creditCardVerification", CreditCardVerification, callback) |
| 30 | + |
| 31 | + pagingFunctionGenerator: (search) -> |
| 32 | + (ids, callback) => |
| 33 | + searchCriteria = search.toHash() |
| 34 | + searchCriteria["ids"] = ids |
| 35 | + @gateway.http.post("/verifications/advanced_search", |
| 36 | + { search : searchCriteria }, |
| 37 | + (err, response) -> |
| 38 | + if err |
| 39 | + callback(err, null) |
| 40 | + else |
| 41 | + if _.isArray(response.creditCardVerifications.verification) |
| 42 | + for creditCardVerification in response.creditCardVerifications.verification |
| 43 | + callback(null, new CreditCardVerification(creditCardVerification)) |
| 44 | + else |
| 45 | + callback(null, new CreditCardVerification(response.creditCardVerifications.verification))) |
| 46 | + |
| 47 | + |
| 48 | +exports.CreditCardVerificationGateway = CreditCardVerificationGateway |
0 commit comments