From 883fdb10286513a45ad41b000f234268b254c446 Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <gua@adhisimon.org>
Date: Tue, 18 Aug 2015 23:15:38 +0700
Subject: [PATCH] parsing message utk respon error

---
 partner-trugee.js | 30 ++++++++++++++++++++++--------
 1 file changed, 22 insertions(+), 8 deletions(-)

diff --git a/partner-trugee.js b/partner-trugee.js
index 058ac42..c2eb6d6 100644
--- a/partner-trugee.js
+++ b/partner-trugee.js
@@ -99,19 +99,26 @@ function directResponseHandler(body, request_id) {
         if (status === 'failed') {
             response_code = '40';
             
-            if (message.indexOf('Jenis produk tidak cocok') >= 0) {
-                response_code = '14';
-            } else if (message.indexOf('GAGAL. Nomor telp salah.') >= 0) {
-                response_code = '14';
-            } else if (message.indexOf('GAGAL. MSISDN tidak ditemukan') >= 0) {
-                response_code = '14';
+            var new_response_code = responseCodeFromMessage(message);
+            if (new_response_code) {
+                response_code = new_response_code;
             }
 
         }
         
         callbackReport(request_id, response_code, message);
     });
-    
+}
+
+function responseCodeFromMessage(message) {
+    if (message.indexOf('Jenis produk tidak cocok') >= 0) {
+        return '14';
+    } else if (message.indexOf('GAGAL. Nomor telp salah.') >= 0) {
+        return '14';
+    } else if (message.indexOf('GAGAL. MSISDN tidak ditemukan') >= 0) {
+        return '14';
+    } 
+    return;
 }
 
 function createServer() {
@@ -138,7 +145,14 @@ function createServer() {
         } else if (qs.code == 4) {
             response_code = '00';
             message = 'SN=' + qs.sn + ';' + message;
-        } 
+        }
+        
+        if (respose_code == '40') {
+            var new_response_code = responseCodeFromMessage(message);
+            if (new_response_code) {
+                response_code = new_response_code;
+            }
+        }
         
         callbackReport(request_id, response_code, message);
     });
-- 
1.9.0