9d4826687c4eb505ea44861153c9b4ad554c3ab2
[motion2.git] / server / api / cmHopper / cmHopper.rpc.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 _0x493c=['CmHopper,\x20%s,\x20%s','CmHopper,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','message','result','GetCmHopper','CmHopper','findAll','options','raw','where','model','attributes','include','map','debug','catch','ShowCmHopper','body','CreateCmHopper','UpdateCmHopper','update','destroy','DestroyCmHopper','GetContactDialer','CmContact','describe','transaction','limit','LOCK','UPDATE','Contact','keys','User','Agent','voicePause','UserId','push','all','MoveContactManagedDialer','CmHopperFinal','create','sequelize','COUNT','literal','`scheduledat`\x20>=\x20','format','\x22%s\x22','contactsRescheduled','CountReScheduled','GetContactRecallMe','log','req\x20value','phone\x20value','phone','findOne','DESC','getcontactbyohone','getContactByPhone','util','moment','bluebird','ioredis','../../mysqldb','rpc','jayson/promise','client','http','request','then','info'];(function(_0x2a1268,_0x4f93b8){var _0x2bf668=function(_0x50b8e5){while(--_0x50b8e5){_0x2a1268['push'](_0x2a1268['shift']());}};_0x2bf668(++_0x4f93b8);}(_0x493c,0x161));var _0xc493=function(_0x4f9ecf,_0x3004c3){_0x4f9ecf=_0x4f9ecf-0x0;var _0x10eca6=_0x493c[_0x4f9ecf];return _0x10eca6;};'use strict';var _=require('lodash');var util=require(_0xc493('0x0'));var moment=require(_0xc493('0x1'));var BPromise=require(_0xc493('0x2'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xc493('0x3'));var db=require(_0xc493('0x4'))['db'];var utils=require('../../config/utils');var logger=require('../../config/logger')(_0xc493('0x5'));var config=require('../../config/environment');var jayson=require(_0xc493('0x6'));var client=jayson[_0xc493('0x7')][_0xc493('0x8')]({'port':0x232a});function respondWithRpcPromise(_0x41cff3,_0x40552d,_0xf5aa16){return new BPromise(function(_0x833c08,_0x1245c5){return client[_0xc493('0x9')](_0x41cff3,_0xf5aa16)[_0xc493('0xa')](function(_0x50f4a0){logger[_0xc493('0xb')](_0xc493('0xc'),_0x40552d,'request\x20sent');logger['debug'](_0xc493('0xd'),_0x40552d,_0xc493('0xe'),JSON[_0xc493('0xf')](_0x50f4a0));if(_0x50f4a0[_0xc493('0x10')]){if(_0x50f4a0['error']['code']===0x1f4){logger['error'](_0xc493('0xc'),_0x40552d,_0x50f4a0[_0xc493('0x10')][_0xc493('0x11')]);return _0x1245c5(_0x50f4a0[_0xc493('0x10')][_0xc493('0x11')]);}logger[_0xc493('0x10')](_0xc493('0xc'),_0x40552d,_0x50f4a0[_0xc493('0x10')]['message']);return _0x833c08(_0x50f4a0[_0xc493('0x10')][_0xc493('0x11')]);}else{logger[_0xc493('0xb')](_0xc493('0xc'),_0x40552d,_0xc493('0xe'));_0x833c08(_0x50f4a0[_0xc493('0x12')][_0xc493('0x11')]);}})['catch'](function(_0x4698bd){logger[_0xc493('0x10')](_0xc493('0xc'),_0x40552d,_0x4698bd);_0x1245c5(_0x4698bd);});});}exports[_0xc493('0x13')]=function(_0x26783a){var _0x388e4b=this;return new Promise(function(_0x65b13e,_0x6247e){return db[_0xc493('0x14')][_0xc493('0x15')]({'raw':_0x26783a[_0xc493('0x16')]?_0x26783a[_0xc493('0x16')][_0xc493('0x17')]===undefined?!![]:![]:!![],'where':_0x26783a['options']?_0x26783a[_0xc493('0x16')][_0xc493('0x18')]||null:null,'attributes':_0x26783a['options']?_0x26783a[_0xc493('0x16')]['attributes']||null:null,'limit':_0x26783a['options']?_0x26783a[_0xc493('0x16')]['limit']||null:null,'include':_0x26783a['options']?_0x26783a[_0xc493('0x16')]['include']?_['map'](_0x26783a['options']['include'],function(_0x31a8ca){return{'model':db[_0x31a8ca[_0xc493('0x19')]],'as':_0x31a8ca['as'],'attributes':_0x31a8ca[_0xc493('0x1a')],'include':_0x31a8ca[_0xc493('0x1b')]?_[_0xc493('0x1c')](_0x31a8ca[_0xc493('0x1b')],function(_0x4429ba){return{'model':db[_0x4429ba[_0xc493('0x19')]],'as':_0x4429ba['as'],'attributes':_0x4429ba[_0xc493('0x1a')],'include':_0x4429ba[_0xc493('0x1b')]?_[_0xc493('0x1c')](_0x4429ba[_0xc493('0x1b')],function(_0x1769de){return{'model':db[_0x1769de[_0xc493('0x19')]],'as':_0x1769de['as'],'attributes':_0x1769de[_0xc493('0x1a')]};}):[]};}):[]};}):[]:[]})[_0xc493('0xa')](function(_0x3631d1){logger[_0xc493('0xb')](_0xc493('0x13'),_0x26783a);logger[_0xc493('0x1d')](_0xc493('0x13'),_0x26783a,JSON['stringify'](_0x3631d1));_0x65b13e(_0x3631d1);})[_0xc493('0x1e')](function(_0x99df85){logger[_0xc493('0x10')](_0xc493('0x13'),_0x99df85[_0xc493('0x11')],_0x26783a);_0x6247e(_0x388e4b[_0xc493('0x10')](0x1f4,_0x99df85[_0xc493('0x11')]));});});};exports[_0xc493('0x1f')]=function(_0x3974bd){var _0x2a7a9b=this;return new Promise(function(_0x41abb1,_0x595503){return db['CmHopper']['find']({'raw':_0x3974bd['options']?_0x3974bd[_0xc493('0x16')]['raw']===undefined?!![]:![]:!![],'where':_0x3974bd[_0xc493('0x16')]?_0x3974bd['options'][_0xc493('0x18')]||null:null,'attributes':_0x3974bd[_0xc493('0x16')]?_0x3974bd[_0xc493('0x16')]['attributes']||null:null,'include':_0x3974bd[_0xc493('0x16')]?_0x3974bd[_0xc493('0x16')][_0xc493('0x1b')]?_[_0xc493('0x1c')](_0x3974bd[_0xc493('0x16')][_0xc493('0x1b')],function(_0x4e521a){return{'model':db[_0x4e521a[_0xc493('0x19')]],'as':_0x4e521a['as'],'attributes':_0x4e521a[_0xc493('0x1a')],'include':_0x4e521a[_0xc493('0x1b')]?_[_0xc493('0x1c')](_0x4e521a[_0xc493('0x1b')],function(_0x1f5f2c){return{'model':db[_0x1f5f2c[_0xc493('0x19')]],'as':_0x1f5f2c['as'],'attributes':_0x1f5f2c[_0xc493('0x1a')],'include':_0x1f5f2c[_0xc493('0x1b')]?_[_0xc493('0x1c')](_0x1f5f2c[_0xc493('0x1b')],function(_0x583341){return{'model':db[_0x583341[_0xc493('0x19')]],'as':_0x583341['as'],'attributes':_0x583341['attributes']};}):[]};}):[]};}):[]:[]})[_0xc493('0xa')](function(_0x33c1d7){logger[_0xc493('0xb')](_0xc493('0x1f'),_0x3974bd);logger[_0xc493('0x1d')](_0xc493('0x1f'),_0x3974bd,JSON[_0xc493('0xf')](_0x33c1d7));_0x41abb1(_0x33c1d7);})[_0xc493('0x1e')](function(_0x1f7e73){logger[_0xc493('0x10')](_0xc493('0x1f'),_0x1f7e73[_0xc493('0x11')],_0x3974bd);_0x595503(_0x2a7a9b[_0xc493('0x10')](0x1f4,_0x1f7e73['message']));});});};exports['CreateCmHopper']=function(_0x4acea6){var _0x58e3e6=this;return new Promise(function(_0x1b81d2,_0x14e9e4){return db[_0xc493('0x14')]['create'](_0x4acea6[_0xc493('0x20')],{'raw':_0x4acea6[_0xc493('0x16')]?_0x4acea6[_0xc493('0x16')]['raw']===undefined?!![]:![]:!![]})[_0xc493('0xa')](function(_0x3d5a5a){logger[_0xc493('0xb')](_0xc493('0x21'),_0x4acea6);logger[_0xc493('0x1d')]('CreateCmHopper',_0x4acea6,JSON[_0xc493('0xf')](_0x3d5a5a));_0x1b81d2(_0x3d5a5a);})[_0xc493('0x1e')](function(_0x16dcb1){logger[_0xc493('0x10')]('CreateCmHopper',_0x16dcb1[_0xc493('0x11')],_0x4acea6);_0x14e9e4(_0x58e3e6['error'](0x1f4,_0x16dcb1['message']));});});};exports[_0xc493('0x22')]=function(_0xb18f2d){var _0x5530e2=this;return new Promise(function(_0xa48251,_0x582312){return db[_0xc493('0x14')][_0xc493('0x23')](_0xb18f2d[_0xc493('0x20')],{'raw':_0xb18f2d[_0xc493('0x16')]?_0xb18f2d[_0xc493('0x16')][_0xc493('0x17')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0xb18f2d[_0xc493('0x16')]?_0xb18f2d[_0xc493('0x16')][_0xc493('0x18')]||null:null,'attributes':_0xb18f2d[_0xc493('0x16')]?_0xb18f2d[_0xc493('0x16')][_0xc493('0x1a')]||null:null,'limit':_0xb18f2d[_0xc493('0x16')]?_0xb18f2d[_0xc493('0x16')]['limit']||null:null})[_0xc493('0xa')](function(_0x59c162){logger[_0xc493('0xb')]('UpdateCmHopper',_0xb18f2d);logger[_0xc493('0x1d')](_0xc493('0x22'),_0xb18f2d,JSON[_0xc493('0xf')](_0x59c162));_0xa48251(_0x59c162);})[_0xc493('0x1e')](function(_0x3adce9){logger[_0xc493('0x10')]('UpdateCmHopper',_0x3adce9['message'],_0xb18f2d);_0x582312(_0x5530e2[_0xc493('0x10')](0x1f4,_0x3adce9[_0xc493('0x11')]));});});};exports['DestroyCmHopper']=function(_0x441a3f){var _0x5ef527=this;return new Promise(function(_0x7ca62,_0x2be0f5){return db[_0xc493('0x14')][_0xc493('0x24')]({'where':_0x441a3f[_0xc493('0x16')]?_0x441a3f[_0xc493('0x16')][_0xc493('0x18')]||null:null})[_0xc493('0xa')](function(_0x4b336d){logger[_0xc493('0xb')]('DestroyCmHopper',_0x441a3f);logger['debug'](_0xc493('0x25'),_0x441a3f,JSON[_0xc493('0xf')](_0x4b336d));_0x7ca62(_0x4b336d);})['catch'](function(_0x1af985){logger['error']('DestroyCmHopper',_0x1af985[_0xc493('0x11')],_0x441a3f);_0x2be0f5(_0x5ef527[_0xc493('0x10')](0x1f4,_0x1af985[_0xc493('0x11')]));});});};exports[_0xc493('0x26')]=function(_0x56106c){var _0x126605=this;return new Promise(function(_0x7f809a,_0x367d01){return db[_0xc493('0x27')][_0xc493('0x28')]()[_0xc493('0xa')](function(_0x27f34d){return db['sequelize'][_0xc493('0x29')](function(_0x340dc5){return db[_0xc493('0x14')][_0xc493('0x15')]({'where':_0x56106c['options']?_0x56106c[_0xc493('0x16')]['where']||null:null,'attributes':_0x56106c[_0xc493('0x16')]?_0x56106c[_0xc493('0x16')][_0xc493('0x1a')]||null:null,'limit':_0x56106c[_0xc493('0x16')]?_0x56106c[_0xc493('0x16')][_0xc493('0x2a')]||null:null,'order':_0x56106c[_0xc493('0x16')]?_0x56106c[_0xc493('0x16')]['order']||null:null,'transaction':_0x340dc5,'lock':_0x340dc5[_0xc493('0x2b')][_0xc493('0x2c')],'include':[{'model':db['CmContact'],'as':_0xc493('0x2d'),'attributes':_[_0xc493('0x2e')](_0x27f34d)},{'model':db[_0xc493('0x2f')],'as':_0xc493('0x30'),'attributes':['id','name',_0xc493('0x31')]}]})[_0xc493('0xa')](function(_0x17d99f){var _0x371dbc=[];var _0x2113bb=[];for(var _0x3f279c=0x0;_0x3f279c<_0x17d99f['length'];_0x3f279c+=0x1){if(!_0x2113bb['includes'](_0x17d99f[_0x3f279c][_0xc493('0x32')])){_0x2113bb[_0xc493('0x33')](_0x17d99f[_0x3f279c]['UserId']);_0x371dbc[_0xc493('0x33')](_0x17d99f[_0x3f279c]['update'](_0x56106c[_0xc493('0x20')],{'transaction':_0x340dc5}));}}return BPromise[_0xc493('0x34')](_0x371dbc);});})['then'](function(_0x40fd3e){logger[_0xc493('0xb')](_0xc493('0x26'),_0x56106c);logger[_0xc493('0x1d')](_0xc493('0x26'),_0x56106c,JSON['stringify'](_0x40fd3e));_0x7f809a(_0x40fd3e);})[_0xc493('0x1e')](function(_0x3599a6){logger['error'](_0xc493('0x26'),_0x3599a6['message'],_0x56106c);_0x367d01(_0x126605[_0xc493('0x10')](0x1f4,_0x3599a6['message']));});});});};exports[_0xc493('0x35')]=function(_0x1b1848){var _0x45710d=this;return new Promise(function(_0x4ac5df,_0x24ce19){return db['sequelize'][_0xc493('0x29')](function(_0x1d1591){return db[_0xc493('0x36')][_0xc493('0x37')](_0x1b1848[_0xc493('0x20')],{'raw':_0x1b1848['options']?_0x1b1848[_0xc493('0x16')][_0xc493('0x17')]===undefined?!![]:![]:!![],'transaction':_0x1d1591})['then'](function(){return db[_0xc493('0x14')][_0xc493('0x24')]({'where':_0x1b1848['options']?_0x1b1848[_0xc493('0x16')][_0xc493('0x18')]||null:null,'transaction':_0x1d1591});});})['then'](function(_0x1dc94b){logger[_0xc493('0xb')](_0xc493('0x35'),_0x1b1848);logger[_0xc493('0x1d')](_0xc493('0x35'),_0x1b1848,JSON['stringify'](_0x1dc94b));_0x4ac5df(_0x1dc94b);})[_0xc493('0x1e')](function(_0x4eab4b){logger[_0xc493('0x10')]('MoveContactManagedDialer',_0x4eab4b['message'],_0x1b1848);_0x24ce19(_0x45710d[_0xc493('0x10')](0x1f4,_0x4eab4b['message']));});});};exports['CountReScheduled']=function(_0x479b7b){var _0x545746=this;return new Promise(function(_0x500e18,_0x308b31){return db[_0xc493('0x14')][_0xc493('0x15')]({'raw':_0x479b7b[_0xc493('0x16')]?_0x479b7b[_0xc493('0x16')][_0xc493('0x17')]===undefined?!![]:![]:!![],'where':_0x479b7b['options']?_0x479b7b[_0xc493('0x16')][_0xc493('0x18')]||null:null,'attributes':[[db[_0xc493('0x38')]['fn'](_0xc493('0x39'),db[_0xc493('0x38')]['fn']('IF',db[_0xc493('0x38')][_0xc493('0x3a')](_0xc493('0x3b')+util[_0xc493('0x3c')](_0xc493('0x3d'),moment()['format']('YYYY-MM-DD\x20HH:mm:ss'))+'\x20,\x201,\x20null'))),_0xc493('0x3e')]]})[_0xc493('0xa')](function(_0x3df2e2){logger[_0xc493('0xb')](_0xc493('0x3f'),_0x479b7b);logger[_0xc493('0x1d')]('CountReScheduled',_0x479b7b,JSON[_0xc493('0xf')](_0x3df2e2));_0x500e18(_0x3df2e2);})[_0xc493('0x1e')](function(_0x483d9d){logger[_0xc493('0x10')](_0xc493('0x3f'),_0x483d9d['message'],_0x479b7b);_0x308b31(_0x545746[_0xc493('0x10')](0x1f4,_0x483d9d[_0xc493('0x11')]));});});};exports['GetContactRecallMe']=function(_0x3b01f3){var _0x1ca7bf=this;return new Promise(function(_0x57d66f,_0xb67e03){return db['CmContact'][_0xc493('0x28')]()['then'](function(_0x501980){return db[_0xc493('0x38')][_0xc493('0x29')](function(_0x58f21c){return db[_0xc493('0x14')][_0xc493('0x15')]({'where':_0x3b01f3[_0xc493('0x16')]?_0x3b01f3[_0xc493('0x16')]['where']||null:null,'attributes':_0x3b01f3['options']?_0x3b01f3[_0xc493('0x16')][_0xc493('0x1a')]||null:null,'limit':0x1,'order':_0x3b01f3[_0xc493('0x16')]?_0x3b01f3['options']['order']||null:null,'group':db[_0xc493('0x14')]['UserId'],'transaction':_0x58f21c,'lock':_0x58f21c['LOCK'][_0xc493('0x2c')],'include':_0x3b01f3[_0xc493('0x16')]?_0x3b01f3['options']['include']?_[_0xc493('0x1c')](_0x3b01f3[_0xc493('0x16')][_0xc493('0x1b')],function(_0x1376af){return{'model':db[_0x1376af[_0xc493('0x19')]],'as':_0x1376af['as'],'attributes':_0x1376af[_0xc493('0x1a')],'include':_0x1376af[_0xc493('0x1b')]?_[_0xc493('0x1c')](_0x1376af[_0xc493('0x1b')],function(_0x124dd5){return{'model':db[_0x124dd5['model']],'as':_0x124dd5['as'],'attributes':_0x124dd5[_0xc493('0x1a')],'include':_0x124dd5[_0xc493('0x1b')]?_[_0xc493('0x1c')](_0x124dd5[_0xc493('0x1b')],function(_0x10ab21){return{'model':db[_0x10ab21[_0xc493('0x19')]],'as':_0x10ab21['as'],'attributes':_0x10ab21[_0xc493('0x1a')]};}):[]};}):[]};}):[]:[]})[_0xc493('0xa')](function(_0x25eff1){var _0x44d0d5=[];for(var _0x104132=0x0;_0x104132<_0x25eff1['length'];_0x104132+=0x1){_0x44d0d5['push'](_0x25eff1[_0x104132][_0xc493('0x23')](_0x3b01f3[_0xc493('0x20')],{'transaction':_0x58f21c}));}return BPromise['all'](_0x44d0d5);});})[_0xc493('0xa')](function(_0x5539cb){logger['info']('GetContactRecallMe',_0x3b01f3);logger[_0xc493('0x1d')](_0xc493('0x40'),_0x3b01f3,JSON[_0xc493('0xf')](_0x5539cb));_0x57d66f(_0x5539cb);})[_0xc493('0x1e')](function(_0x38e70f){logger[_0xc493('0x10')](_0xc493('0x40'),_0x38e70f[_0xc493('0x11')],_0x3b01f3);_0xb67e03(_0x1ca7bf[_0xc493('0x10')](0x1f4,_0x38e70f[_0xc493('0x11')]));});});});};exports['GetCmHopperPreview']=function(_0x2792ca){var _0x5a721d=this;return new Promise(function(_0xe63a19,_0x469465){db[_0xc493('0x27')][_0xc493('0x28')]()[_0xc493('0xa')](function(_0x335a70){return db[_0xc493('0x14')][_0xc493('0x15')]({'raw':_0x2792ca[_0xc493('0x16')]?_0x2792ca[_0xc493('0x16')][_0xc493('0x17')]===undefined?!![]:![]:!![],'where':_0x2792ca[_0xc493('0x16')]?_0x2792ca[_0xc493('0x16')][_0xc493('0x18')]||null:null,'attributes':_0x2792ca['options']?_0x2792ca[_0xc493('0x16')]['attributes']||null:null,'limit':_0x2792ca[_0xc493('0x16')]?_0x2792ca[_0xc493('0x16')]['limit']||null:null,'include':_0x2792ca[_0xc493('0x16')]?_0x2792ca[_0xc493('0x16')]['include']?_[_0xc493('0x1c')](_0x2792ca[_0xc493('0x16')][_0xc493('0x1b')],function(_0x128a96){return{'model':db[_0x128a96['model']],'as':_0x128a96['as'],'attributes':_0x128a96['as']===_0xc493('0x2d')?_['keys'](_0x335a70):_0x128a96[_0xc493('0x1a')],'include':_0x128a96[_0xc493('0x1b')]?_['map'](_0x128a96[_0xc493('0x1b')],function(_0x6f2bc4){return{'model':db[_0x6f2bc4[_0xc493('0x19')]],'as':_0x6f2bc4['as'],'attributes':_0x6f2bc4['attributes'],'include':_0x6f2bc4[_0xc493('0x1b')]?_[_0xc493('0x1c')](_0x6f2bc4[_0xc493('0x1b')],function(_0x2f5542){return{'model':db[_0x2f5542[_0xc493('0x19')]],'as':_0x2f5542['as'],'attributes':_0x2f5542[_0xc493('0x1a')]};}):[]};}):[]};}):[]:[]})[_0xc493('0xa')](function(_0x16b406){logger[_0xc493('0xb')](_0xc493('0x13'),_0x2792ca);logger[_0xc493('0x1d')](_0xc493('0x13'),_0x2792ca,JSON[_0xc493('0xf')](_0x16b406));_0xe63a19(_0x16b406);})[_0xc493('0x1e')](function(_0xc49782){logger[_0xc493('0x10')](_0xc493('0x13'),_0xc49782[_0xc493('0x11')],_0x2792ca);_0x469465(_0x5a721d[_0xc493('0x10')](0x1f4,_0xc49782[_0xc493('0x11')]));});});});};exports['GetContactByPhone']=function(_0x5823cd){console[_0xc493('0x41')](_0xc493('0x42'),_0x5823cd);console['log'](_0xc493('0x43'),_0x5823cd['options'][_0xc493('0x18')][_0xc493('0x44')]);_this=this;return new Promise(function(_0x3ac299,_0x48fc26){return db[_0xc493('0x27')][_0xc493('0x45')]({'raw':!![],'where':{'phone':_0x5823cd[_0xc493('0x16')][_0xc493('0x18')]['phone']},'attributes':['id'],'order':[['id',_0xc493('0x46')]]})[_0xc493('0xa')](function(_0x2009ad){console[_0xc493('0x41')](_0xc493('0x47'),_0x2009ad);logger[_0xc493('0xb')](_0xc493('0x48'),_0x5823cd);logger[_0xc493('0x1d')](_0xc493('0x48'),_0x5823cd,JSON[_0xc493('0xf')](_0x2009ad));_0x3ac299(_0x2009ad);})[_0xc493('0x1e')](function(_0x41e01e){logger[_0xc493('0x10')](_0xc493('0x48'),_0x41e01e[_0xc493('0x11')],_0x5823cd);_0x48fc26(_this[_0xc493('0x10')](0x1f4,_0x41e01e['message']));});});};