@ixo/supamoto-bot-sdk
Version: 
An SDK to easily interact with Supamoto bot db
81 lines (80 loc) • 4.28 kB
JavaScript
;
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.createApiClient = createApiClient;
var _validators = require("../utils/validators");
var _1 = _interopRequireWildcard(require("./claims/v1"));
var _2 = _interopRequireWildcard(require("./collectionIds/v1"));
var _3 = _interopRequireWildcard(require("./customers/v1"));
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
var api;
(function (_api) {
  var claims;
  (function (_claims) {
    var v1 = _claims.v1 = _1;
  })(claims || (claims = _api.claims || (_api.claims = {})));
  var collectionIds;
  (function (_collectionIds) {
    var v1 = _collectionIds.v1 = _2;
  })(collectionIds || (collectionIds = _api.collectionIds || (_api.collectionIds = {})));
  var customers;
  (function (_customers) {
    var v1 = _customers.v1 = _3;
  })(customers || (customers = _api.customers || (_api.customers = {})));
})(api || (api = {}));
function createApiClient(params) {
  var botUrl = params.botUrl,
    accessToken = params.accessToken;
  if (!botUrl || !(0, _validators.isValidUrl)(botUrl)) {
    throw new Error('Invalid bot URL');
  }
  if (!accessToken || !(0, _validators.isValidAccessToken)(accessToken)) {
    throw new Error('Invalid access token');
  }
  return {
    claims: {
      v1: {
        getClaim: function getClaim(params, overrideBotUrl, overrideAccessToken) {
          return api.claims.v1.getClaim(params, overrideBotUrl || botUrl, overrideAccessToken || accessToken);
        },
        saveClaim: function saveClaim(params, overrideBotUrl, overrideAccessToken) {
          return api.claims.v1.saveClaim(params, overrideBotUrl || botUrl, overrideAccessToken || accessToken);
        },
        getCollectionClaims: function getCollectionClaims(params, overrideBotUrl, overrideAccessToken) {
          return api.claims.v1.getCollectionClaims(params, overrideBotUrl || botUrl, overrideAccessToken || accessToken);
        },
        getCustomerClaims: function getCustomerClaims(params, overrideBotUrl, overrideAccessToken) {
          return api.claims.v1.getCustomerClaims(params, overrideBotUrl || botUrl, overrideAccessToken || accessToken);
        }
      }
    },
    collectionIds: {
      v1: {
        getCollectionIds: function getCollectionIds(overrideBotUrl, overrideAccessToken) {
          return api.collectionIds.v1.getCollectionIds(overrideBotUrl || botUrl, overrideAccessToken || accessToken);
        },
        getCollectionId: function getCollectionId(params, overrideBotUrl, overrideAccessToken) {
          return api.collectionIds.v1.getCollectionId(params, overrideBotUrl || botUrl, overrideAccessToken || accessToken);
        },
        setCollectionId: function setCollectionId(params, overrideBotUrl, overrideAccessToken) {
          return api.collectionIds.v1.setCollectionId(params, overrideBotUrl || botUrl, overrideAccessToken || accessToken);
        }
      }
    },
    customers: {
      v1: {
        searchCustomers: function searchCustomers(params, overrideBotUrl, overrideAccessToken) {
          return api.customers.v1.searchCustomers(params, overrideBotUrl || botUrl, overrideAccessToken || accessToken);
        },
        getCustomer: function getCustomer(params, overrideBotUrl, overrideAccessToken) {
          return api.customers.v1.getCustomer(params, overrideBotUrl || botUrl, overrideAccessToken || accessToken);
        },
        getCustomers: function getCustomers(params, overrideBotUrl, overrideAccessToken) {
          return api.customers.v1.getCustomers(params, overrideBotUrl || botUrl, overrideAccessToken || accessToken);
        }
      }
    }
  };
}