UNPKG

amberflo-metering-typescript

Version:
39 lines 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CustomerPrepaidOrder = exports.CustomerPrepaidOrderApiPayload = exports.BillingPeriod = void 0; const validation_1 = require("./validation"); const constants_1 = require("./constants"); class BillingPeriod { constructor(intervalsCount, interval) { this.intervalsCount = intervalsCount; this.interval = interval; } validate(prefix) { validation_1.validators.positiveInteger(`${prefix}.intervalsCount`, this.intervalsCount, false); } } exports.BillingPeriod = BillingPeriod; class CustomerPrepaidOrderApiPayload { constructor(id, customerId, startTimeInSeconds, prepaidPrice) { this.id = id; this.customerId = customerId; this.startTimeInSeconds = startTimeInSeconds; this.prepaidPrice = prepaidPrice; } validate() { validation_1.validators.nonEmptyStr('id', this.id, false); validation_1.validators.nonEmptyStr('customerId', this.customerId, false); validation_1.validators.positiveInteger('startTimeInSeconds', this.startTimeInSeconds, false); validation_1.validators.positiveInteger('prepaidOfferVersion', this.prepaidOfferVersion); validation_1.validators.positiveNumber('prepaidPrice', this.prepaidPrice, false); validation_1.validators.positiveNumber('originalWorth', this.originalWorth); validation_1.validators.valid('recurrenceFrequency', this.recurrenceFrequency); this.prepaidOfferVersion || (this.prepaidOfferVersion = constants_1.defaultOfferVersion); this.productId || (this.productId = constants_1.defaultProductId); } } exports.CustomerPrepaidOrderApiPayload = CustomerPrepaidOrderApiPayload; class CustomerPrepaidOrder { } exports.CustomerPrepaidOrder = CustomerPrepaidOrder; //# sourceMappingURL=customerPrepaidOrderApiPayload.js.map