amberflo-metering-typescript
Version:
Amberflo metering client for TypeScript
39 lines • 1.89 kB
JavaScript
"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