index.js

"use strict";
/**
 *  @module     RechargeBill
 *  @overview   Defines the model for a `RechargeBill`
 *
 *  @author     Animesh Mishra <hello@animesh.ltd>
 *  @copyright  © Animesh Ltd. All Rights Reserved.
 */
Object.defineProperty(exports, "__esModule", { value: true });
const Operator_1 = require("./Source/Operator");
exports.Operator = Operator_1.Operator;
const DTH_1 = require("./Source/DTH");
exports.DTH = DTH_1.DTH;
const Datacard_1 = require("./Source/Datacard");
exports.Datacard = Datacard_1.Datacard;
const MobilePrepaid_1 = require("./Source/Mobile/MobilePrepaid");
exports.MobilePrepaid = MobilePrepaid_1.MobilePrepaid;
const MobilePostpaid_1 = require("./Source/Mobile/MobilePostpaid");
exports.MobilePostpaid = MobilePostpaid_1.MobilePostpaid;
const Fixedline_1 = require("./Source/Fixedline");
exports.Fixedline = Fixedline_1.Fixedline;
class RechargeBill {
    constructor(instructions, response) {
        // Set transaction category
        switch (instructions.constructor) {
            case Datacard_1.Datacard:
                this.service = "Datacard";
                break;
            case DTH_1.DTH:
                this.service = "DTH";
                break;
            case MobilePrepaid_1.MobilePrepaid:
                this.service = "Mobile Prepaid";
                break;
            case MobilePostpaid_1.MobilePostpaid:
                this.service = "Mobile Postpaid";
                break;
            default:
                this.service = "Fixedline and Broadband";
        }
        this.instructions = instructions;
        this.status = response.status;
        this.vendorReference = response.rocket_trans_id;
        this.operatorReference = response.opr_transid;
        this.amountCharged = Number(response.charged_amount);
        this.commission = response.commission;
        this.date = new Date(response.datetime);
    }
}
exports.RechargeBill = RechargeBill;
//# sourceMappingURL=index.js.map