UNPKG

razorpay-esm

Version:
86 lines (81 loc) 1.83 kB
"use strict"; /* * DOCS: https://razorpay.com/docs/subscriptions/api/ */ import Promise from "promise"; import { normalizeDate } from "../utils/razorpay-utils.js"; export default function (api) { const BASE_URL = "/addons"; const MISSING_ID_ERROR = "Addon ID is mandatory"; return { fetch(addonId, callback) { /* * Fetches addon given addon id * @param {String} addonId * @param {Function} callback * * @return {Promise} */ if (!addonId) { return Promise.reject(MISSING_ID_ERROR); } const url = `${BASE_URL}/${addonId}`; return api.get({ url }, callback); }, delete(addonId, callback) { /* * Deletes addon given addon id * @param {String} addonId * @param {Function} callback * * @return {Promise} */ if (!addonId) { return Promise.reject(MISSING_ID_ERROR); } const url = `${BASE_URL}/${addonId}`; return api.delete({ url }, callback); }, all() { var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var callback = arguments[1]; /* * Get all Addons * * @param {Object} params * @param {Funtion} callback * * @return {Promise} */ let { from, to, count, skip } = params, url = BASE_URL; if (from) { from = normalizeDate(from); } if (to) { to = normalizeDate(to); } count = Number(count) || 10; skip = Number(skip) || 0; return api.get({ url: url, data: { ...params, from, to, count, skip } }, callback); } }; }