Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var bus = {};
  2. var log;
  3. var xml2js = require('xml2js');
  4. var when = require('when');
  5. var utIdentity = require('ut-identity/utnet')();
  6. var decryptPassword = require('../helpers').decryptPassword;
  7. var triggerError = require('../helpers').triggerError;
  8. var triggerErrorv2 = require('../helpers').triggerErrorv2;
  9. var _ = require('lodash');
  10.  
  11. module.exports = {
  12.     init: function (b) {
  13.         bus = b;
  14.         log = bus.logFactory.createLog('fatal', { name: 'ut', context: 'identity' });
  15.     },
  16.  
  17.     check: function (msg, $meta) {
  18.         var profile;
  19.         var result = {};
  20.         var auth = $meta.auth || {};
  21.         var t24Info = {};
  22.  
  23.         return bus.importMethod('cbs.login')({
  24.             username: $meta.auth.username,
  25.             password: $meta.auth.password,
  26.             company: "IN0010001"
  27.         }).then(function (loginResponse) {
  28.             var result = {};
  29.             var responses = loginResponse.result.split(';');
  30.             responses.forEach(function (element, index) {
  31.                 var tempElement = element.split('=');
  32.                 switch (tempElement[0]) {
  33.                     case 'RET.CODE':
  34.                         result.retCode = tempElement[1];
  35.                         break;
  36.                     case 'USER.ID':
  37.                         result.userId = tempElement[1];
  38.                         break;
  39.                     case 'USER.NAME':
  40.                         result.firstName = tempElement[1];
  41.                         result.lastName = '';
  42.                         break;
  43.                     case 'DAO.ID':
  44.                         result.daoId = tempElement[1];
  45.                         break;
  46.                     case 'COMP.LIST':
  47.                         result.accountOfficer = tempElement[1];
  48.                         break;
  49.                     case 'CURR.DATE':
  50.                         result.currentDate = tempElement[1];
  51.                         break;
  52.                     case 'NXT.WRK.DATE':
  53.                         result.nextWorkDate = tempElement[1];
  54.                         break;
  55.                     case 'TELLER.ID':
  56.                         result.tellerId = tempElement[1];
  57.                         break;
  58.                     case 'TILL.STATUS':
  59.                         result.tillStatus = tempElement[1];
  60.                         break;
  61.                 }
  62.             });
  63.  
  64.             if (result.daoId == '8') {
  65.                 result.role = 'maker';
  66.             } else if (result.daoId == '4') {
  67.                 result.role = 'checker';
  68.             } else {
  69.                 throw Error("Unknown user role [" + result.daoId + "]");
  70.             }
  71.             if (result.retCode == '-1') {
  72.                 throw Error("Invalid credentials");
  73.             }
  74.             if (result.retCode == '-3') {
  75.                 throw Error("Invalid credentials");
  76.             }
  77.             result.accessRights = [];
  78.            // result.accessRights.push("MA1");
  79.            result.accessRights.push("MA2");
  80.            // result.accessRights.push("MA3");
  81.            // result.accessRights.push("MA4");
  82.             return result;
  83.         }).catch(function (error) {
  84.             if (error.message.indexOf("RET.CODE=-1") > -1) {
  85.                 throw Error("Invalid credentials");
  86.             }
  87.             if (error.message.indexOf("RET.CODE=-3") > -1) {
  88.                 throw Error("Password expired");
  89.             }
  90.             throw Error(error.message);
  91.         });
  92.     }
  93. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement