UNPKG

mastercard-mastercom

Version:

Core functionality for MasterCard API

135 lines (119 loc) 5.33 kB
/* * Copyright (c) 2013 - 2016, MasterCard International Incorporated * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. * 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. * Neither the name of the MasterCard International Incorporated 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. * */ var MasterCardAPI = require('mastercard-api-core'); var ResourceConfig = require('./resourceconfig'); var Queues = {}; var operationConfigs = {}; /** * Initialize Queues * @private */ var _init = function() { operationConfigs["0b871ba5-aa53-49b6-bd74-0fcc54984a31"] = new MasterCardAPI.OperationConfig("/mastercom/v6/queues", "list", ["queue-name"], [""]); operationConfigs["d9244b2e-3643-4086-bbae-6bc960c4f22d"] = new MasterCardAPI.OperationConfig("/mastercom/v6/queues", "create", [""], [""]); operationConfigs["6a92531a-904b-474f-a113-4777b7d3af5c"] = new MasterCardAPI.OperationConfig("/mastercom/v6/queues/names", "list", [""], [""]); }; _init(); /** * Private function to get operation config * @returns Object operation config * @private */ var _getOperationConfig = function(operationUUID) { var operationConfig = operationConfigs[operationUUID]; if(!MasterCardAPI.isSet(operationConfig)) { throw new MasterCardAPI.MasterCardError.SDKError("Invalid operationUUID supplied: " + operationUUID); } return operationConfig; }; var _getOperationMetaData = function() { return new MasterCardAPI.OperationMetaData(ResourceConfig.getVersion(), ResourceConfig.getHost(), ResourceConfig.getContext(), ResourceConfig.getJsonNative(), ResourceConfig.getContentTypeOverride()); }; /** * Function to retrieve a list Queues objects. * * @method list * @param {Object} params - A map of parameters in which to define the Queues list from. * @param {Function} callback A function to handle success/error responses from the API.<br/> * The function takes 2 parameters, the first is an error object. This is null if no error occurs. The second parameter is the response data. This is null if an error occurs. */ Queues.retrieveClaimsFromQueue = function(params, callback) { var params = MasterCardAPI.isSet(params) ? params : {}; try { MasterCardAPI.execute({ operationConfig: _getOperationConfig("0b871ba5-aa53-49b6-bd74-0fcc54984a31"), operationMetaData: _getOperationMetaData(), params: params }, callback); } catch (e) { callback(e, null); } }; /** * Function to create a Queues object. * * @method create * @param {Object} params - A map of parameters in which to create the Queues from. * @param {Function} callback - A function to handle success/error responses from the API.<br/> * The function takes 2 parameters, the first is an error object. This is null if no error occurs. The second parameter is the response data. This is null if an error occurs. */ Queues.retrieveClaimsFromQueueWithDateInterval = function(params, callback) { try { MasterCardAPI.execute({ operationConfig: _getOperationConfig("d9244b2e-3643-4086-bbae-6bc960c4f22d"), operationMetaData: _getOperationMetaData(), params: params }, callback); } catch (e) { callback(e, null); } }; /** * Function to retrieve a list Queues objects. * * @method list * @param {Object} params - A map of parameters in which to define the Queues list from. * @param {Function} callback A function to handle success/error responses from the API.<br/> * The function takes 2 parameters, the first is an error object. This is null if no error occurs. The second parameter is the response data. This is null if an error occurs. */ Queues.retrieveQueueNames = function(params, callback) { var params = MasterCardAPI.isSet(params) ? params : {}; try { MasterCardAPI.execute({ operationConfig: _getOperationConfig("6a92531a-904b-474f-a113-4777b7d3af5c"), operationMetaData: _getOperationMetaData(), params: params }, callback); } catch (e) { callback(e, null); } }; module.exports = Queues;