Built motion from commit (unavailable).|2.5.6
[motion2.git] / server / api / cmHopperFinal / cmHopperFinal.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x5373=['order','sort','where','pick','filter','merge','VIRTUAL','options','CmHopperFinal','includeAll','include','findAll','rows','catch','show','params','filtears','length','find','describe','body','uniqueid','countContactsQueueCampaignHopperFinal','sequelize','COUNT','literal','`state`\x20=\x200,\x201,\x20null','noSuchContacts','noAnswerContacts','`state`\x20=\x205,\x201,\x20null','busyContacts','congestionContacts','`state`\x20=\x2010\x20,\x201,\x20null','`state`\x20=\x2011\x20,\x201,\x20null','`state`\x20=\x2022,\x201,\x20null','reCallContacts','answeringMachine','countContactsIvrCampaignHopperFinal','`state`\x20=\x203,\x201,\x20null','`state`\x20=\x208,\x201,\x20null','dropContacts','`state`\x20=\x2019,\x201,\x20null','VoiceQueue','insert','into','cm_hopper','fromQuery','phone','scheduledAt','VoiceQueueId','createdAt','updatedAt','select','ANY_VALUE(calleridnum)','field','ANY_VALUE(ContactId)','ContactId','ANY_VALUE(ListId)','NOW()','cm_hopper_final','VoiceQueueId\x20=\x20?','toString','calleridnum\x20IS\x20NOT\x20NULL','calleridnum\x20NOT\x20IN\x20(?)','from','calleridnum','state\x20=\x204','group','moveContactsIvrCampaignHopperFinal','ListId','CampaignId','ANY_VALUE(CampaignId)','CampaignId\x20=\x20?','state','checkContactHopper','findOne','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','update','then','stack','name','map','rawAttributes','fieldName','type','keys','query','filters','intersection','model','fields','attributes','hasOwnProperty','nolimit'];(function(_0x60d261,_0x557c14){var _0x432267=function(_0x2cbc6f){while(--_0x2cbc6f){_0x60d261['push'](_0x60d261['shift']());}};_0x432267(++_0x557c14);}(_0x5373,0x1cf));var _0x3537=function(_0x1d0643,_0x580295){_0x1d0643=_0x1d0643-0x0;var _0x490e8c=_0x5373[_0x1d0643];return _0x490e8c;};'use strict';var pdf=require(_0x3537('0x0'));var emlformat=require(_0x3537('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x3537('0x2'));var jsonpatch=require(_0x3537('0x3'));var rp=require(_0x3537('0x4'));var moment=require('moment');var BPromise=require(_0x3537('0x5'));var Mustache=require(_0x3537('0x6'));var util=require(_0x3537('0x7'));var path=require(_0x3537('0x8'));var sox=require(_0x3537('0x9'));var csv=require(_0x3537('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x3537('0xb'));var squel=require(_0x3537('0xc'));var crypto=require(_0x3537('0xd'));var jsforce=require(_0x3537('0xe'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x3537('0xf'));var Papa=require(_0x3537('0x10'));var Redis=require(_0x3537('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x3537('0x12'));var as=require(_0x3537('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3537('0x14'))(_0x3537('0x15'));var utils=require(_0x3537('0x16'));var config=require(_0x3537('0x17'));var licenseUtil=require(_0x3537('0x18'));var db=require(_0x3537('0x19'))['db'];function respondWithStatusCode(_0x299986,_0x46b059){_0x46b059=_0x46b059||0xcc;return function(_0x7b4a65){if(_0x7b4a65){return _0x299986[_0x3537('0x1a')](_0x46b059);}return _0x299986[_0x3537('0x1b')](_0x46b059)[_0x3537('0x1c')]();};}function respondWithResult(_0x32dcce,_0x1a8958){_0x1a8958=_0x1a8958||0xc8;return function(_0x2c3fbf){if(_0x2c3fbf){return _0x32dcce[_0x3537('0x1b')](_0x1a8958)[_0x3537('0x1d')](_0x2c3fbf);}};}function respondWithFilteredResult(_0x148c39,_0x11ec5d){return function(_0x1b8199){if(_0x1b8199){var _0x2a9e3e=_0x1b8199[_0x3537('0x1e')],_0x1c5cd1=_0x11ec5d[_0x3537('0x1f')],_0x101917=_0x11ec5d[_0x3537('0x1f')]+_0x11ec5d[_0x3537('0x20')],_0x2bebd7;if(_0x101917>=_0x2a9e3e){_0x101917=_0x2a9e3e;_0x2bebd7=0xc8;}else{_0x2bebd7=0xce;}_0x148c39['status'](_0x2bebd7);return _0x148c39[_0x3537('0x21')](_0x3537('0x22'),_0x1c5cd1+'-'+_0x101917+'/'+_0x2a9e3e)[_0x3537('0x1d')](_0x1b8199);}return null;};}function patchUpdates(_0x1fa3ad){return function(_0x51cbe8){try{jsonpatch['apply'](_0x51cbe8,_0x1fa3ad,!![]);}catch(_0x163c4c){return BPromise[_0x3537('0x23')](_0x163c4c);}return _0x51cbe8['save']();};}function saveUpdates(_0x2d4c91,_0x5502c8){return function(_0x12f813){if(_0x12f813){return _0x12f813[_0x3537('0x24')](_0x2d4c91)['then'](function(_0x4ee2df){return _0x4ee2df;});}return null;};}function removeEntity(_0x1cc1dc,_0x39ac49){return function(_0x2bd0e1){if(_0x2bd0e1){return _0x2bd0e1['destroy']()[_0x3537('0x25')](function(){_0x1cc1dc['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2643a9,_0x1a8f39){return function(_0x4cd2a9){if(!_0x4cd2a9){_0x2643a9[_0x3537('0x1a')](0x194);}return _0x4cd2a9;};}function handleError(_0x3e9323,_0x3a7637){_0x3a7637=_0x3a7637||0x1f4;return function(_0x595c5d){logger['error'](_0x595c5d[_0x3537('0x26')]);if(_0x595c5d[_0x3537('0x27')]){delete _0x595c5d[_0x3537('0x27')];}_0x3e9323['status'](_0x3a7637)['send'](_0x595c5d);};}exports['index']=function(_0x381143,_0x2b35e3){var _0x5636bf={},_0x225b30={},_0x317aab={'count':0x0,'rows':[]};var _0x3f776=_[_0x3537('0x28')](db['CmHopperFinal'][_0x3537('0x29')],function(_0x4e14f3){return{'name':_0x4e14f3[_0x3537('0x2a')],'type':_0x4e14f3[_0x3537('0x2b')]['key']};});_0x225b30['model']=_[_0x3537('0x28')](_0x3f776,'name');_0x225b30['query']=_[_0x3537('0x2c')](_0x381143[_0x3537('0x2d')]);_0x225b30[_0x3537('0x2e')]=_[_0x3537('0x2f')](_0x225b30[_0x3537('0x30')],_0x225b30[_0x3537('0x2d')]);_0x5636bf['attributes']=_['intersection'](_0x225b30[_0x3537('0x30')],qs[_0x3537('0x31')](_0x381143[_0x3537('0x2d')][_0x3537('0x31')]));_0x5636bf['attributes']=_0x5636bf[_0x3537('0x32')]['length']?_0x5636bf['attributes']:_0x225b30[_0x3537('0x30')];if(!_0x381143[_0x3537('0x2d')][_0x3537('0x33')](_0x3537('0x34'))){_0x5636bf['limit']=qs[_0x3537('0x20')](_0x381143[_0x3537('0x2d')][_0x3537('0x20')]);_0x5636bf['offset']=qs['offset'](_0x381143[_0x3537('0x2d')][_0x3537('0x1f')]);}_0x5636bf[_0x3537('0x35')]=qs[_0x3537('0x36')](_0x381143[_0x3537('0x2d')]['sort']);_0x5636bf[_0x3537('0x37')]=qs[_0x3537('0x2e')](_[_0x3537('0x38')](_0x381143['query'],_0x225b30['filters']),_0x3f776);if(_0x381143[_0x3537('0x2d')][_0x3537('0x39')]){_0x5636bf[_0x3537('0x37')]=_[_0x3537('0x3a')](_0x5636bf[_0x3537('0x37')],{'$or':_['map'](_0x3f776,function(_0x7df793){if(_0x7df793[_0x3537('0x2b')]!==_0x3537('0x3b')){var _0x20ef8c={};_0x20ef8c[_0x7df793[_0x3537('0x27')]]={'$like':'%'+_0x381143[_0x3537('0x2d')][_0x3537('0x39')]+'%'};return _0x20ef8c;}})});}_0x5636bf=_[_0x3537('0x3a')]({},_0x5636bf,_0x381143[_0x3537('0x3c')]);var _0xf9ee29={'where':_0x5636bf[_0x3537('0x37')]};return db[_0x3537('0x3d')][_0x3537('0x1e')](_0xf9ee29)[_0x3537('0x25')](function(_0x346fc4){_0x317aab[_0x3537('0x1e')]=_0x346fc4;if(_0x381143[_0x3537('0x2d')][_0x3537('0x3e')]){_0x5636bf[_0x3537('0x3f')]=[{'all':!![]}];}return db['CmHopperFinal'][_0x3537('0x40')](_0x5636bf);})[_0x3537('0x25')](function(_0x353333){_0x317aab[_0x3537('0x41')]=_0x353333;return _0x317aab;})[_0x3537('0x25')](respondWithFilteredResult(_0x2b35e3,_0x5636bf))[_0x3537('0x42')](handleError(_0x2b35e3,null));};exports[_0x3537('0x43')]=function(_0x39608c,_0x1c1626){var _0x29c539={'raw':!![],'where':{'id':_0x39608c[_0x3537('0x44')]['id']}},_0x3a5ebd={};_0x3a5ebd['model']=_[_0x3537('0x2c')](db[_0x3537('0x3d')][_0x3537('0x29')]);_0x3a5ebd[_0x3537('0x2d')]=_['keys'](_0x39608c[_0x3537('0x2d')]);_0x3a5ebd[_0x3537('0x45')]=_[_0x3537('0x2f')](_0x3a5ebd[_0x3537('0x30')],_0x3a5ebd['query']);_0x29c539[_0x3537('0x32')]=_[_0x3537('0x2f')](_0x3a5ebd[_0x3537('0x30')],qs[_0x3537('0x31')](_0x39608c[_0x3537('0x2d')][_0x3537('0x31')]));_0x29c539[_0x3537('0x32')]=_0x29c539[_0x3537('0x32')][_0x3537('0x46')]?_0x29c539[_0x3537('0x32')]:_0x3a5ebd[_0x3537('0x30')];if(_0x39608c[_0x3537('0x2d')]['includeAll']){_0x29c539[_0x3537('0x3f')]=[{'all':!![]}];}_0x29c539=_['merge']({},_0x29c539,_0x39608c['options']);return db['CmHopperFinal'][_0x3537('0x47')](_0x29c539)[_0x3537('0x25')](handleEntityNotFound(_0x1c1626,null))['then'](respondWithResult(_0x1c1626,null))[_0x3537('0x42')](handleError(_0x1c1626,null));};exports[_0x3537('0x48')]=function(_0x5b7eb6,_0x47394f){return db[_0x3537('0x3d')][_0x3537('0x48')]()['then'](respondWithResult(_0x47394f,null))['catch'](handleError(_0x47394f,null));};exports[_0x3537('0x24')]=function(_0x221ec3,_0x1cce09){if(_0x221ec3[_0x3537('0x49')]['uniqueid']){delete _0x221ec3[_0x3537('0x49')][_0x3537('0x4a')];}return db[_0x3537('0x3d')][_0x3537('0x47')]({'where':{'uniqueid':_0x221ec3[_0x3537('0x44')]['id']}})[_0x3537('0x25')](handleEntityNotFound(_0x1cce09,null))[_0x3537('0x25')](saveUpdates(_0x221ec3[_0x3537('0x49')],null))[_0x3537('0x25')](respondWithResult(_0x1cce09,null))[_0x3537('0x42')](handleError(_0x1cce09,null));};exports[_0x3537('0x4b')]=function(_0x5ac732,_0x2310c4,_0x585e68){return db[_0x3537('0x3d')][_0x3537('0x40')]({'raw':![],'where':{'VoiceQueueId':_0x5ac732['params']['id']},'attributes':[[db[_0x3537('0x4c')]['fn'](_0x3537('0x4d'),db[_0x3537('0x4c')]['fn']('IF',db[_0x3537('0x4c')][_0x3537('0x4e')](_0x3537('0x4f')))),_0x3537('0x50')],[db[_0x3537('0x4c')]['fn']('COUNT',db[_0x3537('0x4c')]['fn']('IF',db['sequelize'][_0x3537('0x4e')]('`state`\x20=\x203,\x201,\x20null'))),_0x3537('0x51')],[db[_0x3537('0x4c')]['fn'](_0x3537('0x4d'),db['sequelize']['fn']('IF',db[_0x3537('0x4c')][_0x3537('0x4e')](_0x3537('0x52')))),_0x3537('0x53')],[db[_0x3537('0x4c')]['fn'](_0x3537('0x4d'),db[_0x3537('0x4c')]['fn']('IF',db[_0x3537('0x4c')][_0x3537('0x4e')]('`state`\x20=\x208,\x201,\x20null'))),_0x3537('0x54')],[db['sequelize']['fn']('COUNT',db[_0x3537('0x4c')]['fn']('IF',db[_0x3537('0x4c')][_0x3537('0x4e')](_0x3537('0x55')))),'dropContacts'],[db[_0x3537('0x4c')]['fn']('COUNT',db[_0x3537('0x4c')]['fn']('IF',db[_0x3537('0x4c')][_0x3537('0x4e')](_0x3537('0x56')))),'abandonedContacts'],[db[_0x3537('0x4c')]['fn']('COUNT',db[_0x3537('0x4c')]['fn']('IF',db['sequelize'][_0x3537('0x4e')](_0x3537('0x57')))),_0x3537('0x58')],[db['sequelize']['fn'](_0x3537('0x4d'),db['sequelize']['fn']('IF',db[_0x3537('0x4c')][_0x3537('0x4e')]('`state`\x20=\x2019,\x201,\x20null'))),_0x3537('0x59')]]})[_0x3537('0x25')](handleEntityNotFound(_0x2310c4,null))[_0x3537('0x25')](respondWithResult(_0x2310c4,null))[_0x3537('0x42')](handleError(_0x2310c4,null));};exports[_0x3537('0x5a')]=function(_0x13fe18,_0x3c0316,_0x186470){return db[_0x3537('0x3d')][_0x3537('0x40')]({'raw':![],'where':{'CampaignId':_0x13fe18[_0x3537('0x44')]['id']},'attributes':[[db[_0x3537('0x4c')]['fn']('COUNT',db[_0x3537('0x4c')]['fn']('IF',db['sequelize'][_0x3537('0x4e')](_0x3537('0x4f')))),_0x3537('0x50')],[db[_0x3537('0x4c')]['fn']('COUNT',db['sequelize']['fn']('IF',db['sequelize'][_0x3537('0x4e')](_0x3537('0x5b')))),_0x3537('0x51')],[db[_0x3537('0x4c')]['fn']('COUNT',db[_0x3537('0x4c')]['fn']('IF',db[_0x3537('0x4c')][_0x3537('0x4e')](_0x3537('0x52')))),_0x3537('0x53')],[db[_0x3537('0x4c')]['fn'](_0x3537('0x4d'),db[_0x3537('0x4c')]['fn']('IF',db[_0x3537('0x4c')]['literal'](_0x3537('0x5c')))),'congestionContacts'],[db[_0x3537('0x4c')]['fn'](_0x3537('0x4d'),db[_0x3537('0x4c')]['fn']('IF',db['sequelize'][_0x3537('0x4e')](_0x3537('0x55')))),_0x3537('0x5d')],[db[_0x3537('0x4c')]['fn']('COUNT',db[_0x3537('0x4c')]['fn']('IF',db[_0x3537('0x4c')][_0x3537('0x4e')](_0x3537('0x56')))),'abandonedContacts'],[db['sequelize']['fn'](_0x3537('0x4d'),db[_0x3537('0x4c')]['fn']('IF',db[_0x3537('0x4c')][_0x3537('0x4e')]('`state`\x20=\x2022,\x201,\x20null'))),_0x3537('0x58')],[db[_0x3537('0x4c')]['fn'](_0x3537('0x4d'),db[_0x3537('0x4c')]['fn']('IF',db[_0x3537('0x4c')]['literal'](_0x3537('0x5e')))),_0x3537('0x59')]]})[_0x3537('0x25')](handleEntityNotFound(_0x3c0316,null))[_0x3537('0x25')](respondWithResult(_0x3c0316,null))['catch'](handleError(_0x3c0316,null));};exports['moveContactsQueueCampaignHopperFinal']=function(_0x368228,_0x3ff347,_0x15934b){return db[_0x3537('0x5f')][_0x3537('0x47')]({'where':{'id':_0x368228[_0x3537('0x44')]['id']}})[_0x3537('0x25')](handleEntityNotFound(_0x3ff347,null))[_0x3537('0x25')](function(_0x357d12){var _0x11c88e;if(_0x357d12){_0x11c88e=squel[_0x3537('0x60')]()[_0x3537('0x61')](_0x3537('0x62'))[_0x3537('0x63')]([_0x3537('0x64'),_0x3537('0x65'),'ContactId','ListId',_0x3537('0x66'),_0x3537('0x67'),_0x3537('0x68')],squel[_0x3537('0x69')]()['field'](_0x3537('0x6a'),_0x3537('0x64'))[_0x3537('0x6b')]('NOW()',_0x3537('0x65'))[_0x3537('0x6b')](_0x3537('0x6c'),_0x3537('0x6d'))['field'](_0x3537('0x6e'),'ListId')[_0x3537('0x6b')]('ANY_VALUE(VoiceQueueId)',_0x3537('0x66'))[_0x3537('0x6b')](_0x3537('0x6f'),'createdAt')[_0x3537('0x6b')]('NOW()',_0x3537('0x68'))['from'](_0x3537('0x70'))[_0x3537('0x37')](_0x3537('0x71'),_0x368228[_0x3537('0x44')]['id'][_0x3537('0x72')]())[_0x3537('0x37')]('state\x20=\x20?',_0x368228['body']['state'][_0x3537('0x72')]())['where'](_0x3537('0x73'))[_0x3537('0x37')](_0x3537('0x74'),squel['select']()[_0x3537('0x6b')](_0x3537('0x64'))[_0x3537('0x75')](_0x3537('0x62'))[_0x3537('0x37')](_0x3537('0x71'),_0x368228['params']['id'][_0x3537('0x72')]()))['where'](_0x3537('0x74'),squel[_0x3537('0x69')]()['field'](_0x3537('0x76'))[_0x3537('0x75')](_0x3537('0x70'))[_0x3537('0x37')](_0x3537('0x71'),_0x368228['params']['id'][_0x3537('0x72')]())[_0x3537('0x37')](_0x3537('0x77')))[_0x3537('0x78')](_0x3537('0x6d')))[_0x3537('0x72')]();return db[_0x3537('0x4c')]['query'](_0x11c88e);}return[];})['then'](respondWithResult(_0x3ff347,null))[_0x3537('0x42')](handleError(_0x3ff347,null));};exports[_0x3537('0x79')]=function(_0x54fe50,_0xed47ba,_0x17cdd4){return db['Campaign'][_0x3537('0x47')]({'where':{'id':_0x54fe50[_0x3537('0x44')]['id']}})[_0x3537('0x25')](handleEntityNotFound(_0xed47ba,null))[_0x3537('0x25')](function(_0x53943b){var _0x3fd5c9;if(_0x53943b){_0x3fd5c9=squel['insert']()['into'](_0x3537('0x62'))['fromQuery'](['phone','scheduledAt',_0x3537('0x6d'),_0x3537('0x7a'),_0x3537('0x7b'),'createdAt',_0x3537('0x68')],squel['select']()[_0x3537('0x6b')](_0x3537('0x6a'),'phone')[_0x3537('0x6b')](_0x3537('0x6f'),'scheduledAt')['field']('ANY_VALUE(ContactId)',_0x3537('0x6d'))[_0x3537('0x6b')](_0x3537('0x6e'),_0x3537('0x7a'))['field'](_0x3537('0x7c'),_0x3537('0x7b'))[_0x3537('0x6b')](_0x3537('0x6f'),_0x3537('0x67'))[_0x3537('0x6b')](_0x3537('0x6f'),'updatedAt')[_0x3537('0x75')](_0x3537('0x70'))[_0x3537('0x37')](_0x3537('0x7d'),_0x54fe50[_0x3537('0x44')]['id'][_0x3537('0x72')]())[_0x3537('0x37')]('state\x20=\x20?',_0x54fe50['body'][_0x3537('0x7e')][_0x3537('0x72')]())[_0x3537('0x37')](_0x3537('0x73'))['where'](_0x3537('0x74'),squel[_0x3537('0x69')]()[_0x3537('0x6b')]('phone')[_0x3537('0x75')](_0x3537('0x62'))[_0x3537('0x37')](_0x3537('0x7d'),_0x54fe50[_0x3537('0x44')]['id'][_0x3537('0x72')]()))[_0x3537('0x37')]('calleridnum\x20NOT\x20IN\x20(?)',squel[_0x3537('0x69')]()[_0x3537('0x6b')]('calleridnum')[_0x3537('0x75')](_0x3537('0x70'))['where'](_0x3537('0x7d'),_0x54fe50[_0x3537('0x44')]['id'][_0x3537('0x72')]())[_0x3537('0x37')](_0x3537('0x77')))['group'](_0x3537('0x6d')))[_0x3537('0x72')]();return db[_0x3537('0x4c')][_0x3537('0x2d')](_0x3fd5c9);}return[];})[_0x3537('0x25')](respondWithResult(_0xed47ba,null))[_0x3537('0x42')](handleError(_0xed47ba,null));};exports[_0x3537('0x7f')]=function(_0x5c98a9,_0x28a405,_0x44a523){return db['CmHopper'][_0x3537('0x80')]({'where':{'VoiceQueueId':_0x5c98a9['body'][_0x3537('0x66')],'CampaignId':_0x5c98a9[_0x3537('0x49')][_0x3537('0x7b')],'ContactId':_0x5c98a9[_0x3537('0x49')][_0x3537('0x6d')]}})['then'](handleEntityNotFound(_0x28a405,null))[_0x3537('0x25')](function(_0xd4994a){if(_0xd4994a){return _0xd4994a;}return null;})[_0x3537('0x25')](respondWithResult(_0x28a405,null))['catch'](handleError(_0x28a405,null));};