@foxy.io/sdk
Version:
Universal SDK for a full server-side and a limited in-browser access to Foxy hAPI.
30 lines (29 loc) • 1.11 kB
JavaScript
import { isNextTransactionDate as backendIsNextTransactionDate } from '../backend/isNextTransactionDate.js';
/**
* Checks if given date (YYYY-MM-DD) can be used as the next transaction
* date for given subscription.
*
* @param opts Subscription, customer portal settings and value.
* @returns True if given date can be used as next transaction date.
*/
export function isNextTransactionDate(opts) {
const customerConfig = opts.settings.subscriptions.allow_next_date_modification;
let allowNextDateModification;
if (typeof customerConfig === 'boolean') {
allowNextDateModification = customerConfig;
}
else {
allowNextDateModification = customerConfig.map(rule => ({
allowedDays: rule.allowed_days,
disallowedDates: rule.disallowed_dates,
jsonataQuery: rule.jsonata_query,
max: rule.max,
min: rule.min,
}));
}
return backendIsNextTransactionDate({
settings: { subscriptions: { allowNextDateModification } },
subscription: opts.subscription,
value: opts.value,
});
}