@ixo/supamoto-bot-sdk
Version:
An SDK to easily interact with Supamoto bot db
42 lines • 1.64 kB
JavaScript
import { isValidAccessToken, isValidUrl } from '../utils/validators';
import * as _1 from './claims/v1';
import * as _2 from './collectionIds/v1';
let claimsBot;
(function (_claimsBot) {
let claims;
(function (_claims) {
const v1 = _claims.v1 = _1;
})(claims || (claims = _claimsBot.claims || (_claimsBot.claims = {})));
let collectionIds;
(function (_collectionIds) {
const v1 = _collectionIds.v1 = _2;
})(collectionIds || (collectionIds = _claimsBot.collectionIds || (_claimsBot.collectionIds = {})));
})(claimsBot || (claimsBot = {}));
export function createClaimsBotClient(params) {
const {
botUrl,
accessToken
} = params;
if (!botUrl || !isValidUrl(botUrl)) {
throw new Error('Invalid bot URL');
}
if (!accessToken || !isValidAccessToken(accessToken)) {
throw new Error('Invalid access token');
}
return {
claims: {
v1: {
submitOnboardingFeeClaim: params => claimsBot.claims.v1.submitOnboardingFeeClaim(params, botUrl, accessToken),
submitFuelPurchaseClaim: params => claimsBot.claims.v1.submitFuelPurchaseClaim(params, botUrl, accessToken),
submitFuelDeliveryClaim: params => claimsBot.claims.v1.submitFuelDeliveryClaim(params, botUrl, accessToken),
submit1000DayHouseholdClaim: params => claimsBot.claims.v1.submit1000DayHouseholdClaim(params, botUrl, accessToken)
}
},
collectionIds: {
v1: {
getCollectionIds: () => claimsBot.collectionIds.v1.getCollectionIds(botUrl, accessToken),
getCollectionId: params => claimsBot.collectionIds.v1.getCollectionId(params, botUrl, accessToken)
}
}
};
}