From d0a6e83038fb54e5e69243274914eef6ff6d193e Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Fri, 25 Sep 2020 18:35:51 +0700
Subject: [PATCH] Pebaikan config amount_pattern

---
 lib/irs/reverse-report.js |  5 ++++-
 lib/partner.js            |  5 ++++-
 lib/reverse-report.js     | 15 ++++++++++++---
 3 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/lib/irs/reverse-report.js b/lib/irs/reverse-report.js
index 5baecd5..6815b6f 100644
--- a/lib/irs/reverse-report.js
+++ b/lib/irs/reverse-report.js
@@ -37,7 +37,10 @@ function processPartnerReport(qs) {
     if (rc === '00') {
         amount = Number(qs.hrg);
         if (!amount) {
-            amount = irs.getPriceFromMessage(qs.msg, config.partner.price_pattern);
+            amount = irs.getPriceFromMessage(
+                qs.msg, 
+                config.partner.price_pattern || config.price_pattern || 
+            );
         }
     }
 
diff --git a/lib/partner.js b/lib/partner.js
index 82fe9b8..3be2139 100644
--- a/lib/partner.js
+++ b/lib/partner.js
@@ -109,7 +109,10 @@ function _topUpRequest(task, isAdvice) {
             rc: komodoRc(value[RESPONSECODE_TAG]) || '40',
             message: 'topUpRequest: ' +  stringify(value),
             sn: (value.SN || '').replace(/;$/, '') || st24.extractSnFromMessage(value.MESSAGE, config.sn_pattern),
-            amount: value.PRICE || st24.extractPriceFromMsg(value.MESSAGE, config.amount_pattern),
+            amount: value.PRICE || st24.extractPriceFromMsg(
+                value.MESSAGE,
+                config.partner.price_pattern || config.partner.amount_pattern || config.amount_pattern,
+            ),
             balance,
             raw: value,
             misc: {
diff --git a/lib/reverse-report.js b/lib/reverse-report.js
index b042b65..ace71b0 100644
--- a/lib/reverse-report.js
+++ b/lib/reverse-report.js
@@ -40,9 +40,18 @@ function create() {
                 rc: partner.komodoRc(value[partner.RESPONSECODE_TAG]) || '40',
                 //message: value.MESSAGE,
                 message: 'topUpReport: ' + stringify(value),
-                sn: (value.SN || '').replace(/;+$/, '').replace(/#+$/, '') || st24.extractSnFromMessage(value.MESSAGE, config.sn_pattern),
-                amount: value.PRICE || st24.extractPriceFromMsg(value.MESSAGE, config.amount_pattern),
-                balance: st24.extractBalanceFromMsg(value.MESSAGE, config.balance_pattern),
+                sn: (value.SN || '').replace(/;+$/, '').replace(/#+$/, '') || st24.extractSnFromMessage(
+                    value.MESSAGE, 
+                    config.partner.sn_pattern || config.sn_pattern,
+                ),
+                amount: value.PRICE || st24.extractPriceFromMsg(
+                    value.MESSAGE,
+                    config.partner.price_pattern || config.partner.amount_pattern || config.amount_pattern,
+                ),
+                balance: st24.extractBalanceFromMsg(
+                    value.MESSAGE,
+                    config.partner.balance_pattern || config.balance_pattern,
+                ),
                 raw: value,
                 misc: {
                 }
-- 
1.9.0