9e6577c1cd999974479b11e063a17bd48fa6fcdd
[motion2.git] / server / api / cmContact / cmContact.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 _0x99fc=['get','mergeWith','info','[CmContact][merge]\x20to\x20%s\x20from\x20%s','CmHopper','[CmContact][merge][destroy][CmHopper],\x20%s','CmHopperBlack','[CmContact][merge][destroy][CmHopperBlack],\x20%s','create','ChatMessage','ChatOfflineMessage','MailInteraction','MailMessage','FaxInteraction','FaxMessage','OpenchannelInteraction','OpenchannelMessage','CmHopperFinal','CmHopperHistory','ReportAgentPreview','VoiceCallReport','ChatQueueReport','FaxQueueReport','MailQueueReport','OpenchannelQueueReport','SmsQueueReport','JscriptySessionReport','WhatsappInteraction','WhatsappMessage','WhatsappQueueReport','join','bulkCreate','each','duplicates','$or','findOrCreate','spread','params','$and','omit','format','cf_%d','table','cm_contacts','setFields','id\x20=\x20?','toParam','phone','getTags','findOne','rawAttributes','options','setTags','ids','getHoppers','ContactId','includeAll','include','rows','getHopperHistories','getHopperFinals','uploadCsv','No\x20ListId\x20specified','binding_keys','No\x20association\x20keys\x20specified!','socket_timestamp','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','binding_values','Incorrect\x20binding\x20parameters\x20passed!','zipObject','No\x20phone\x20column\x20specified','firstName','No\x20firstName\x20column\x20specified','root','server/files/tmp','file','filename','chmodSync','child_process','fork','../../components/import/cm/csv','CompanyId','File\x20uploaded\x20correctly!','upload','createReadStream','binding','../../components/import/cm/csv2','stringify','message','start\x20child\x20process\x20correctly!','pid','exit','error\x20child\x20process','getJourney','mail','sms','openchannel','fax','whatsapp','channel','includes','toLowerCase','range','parse','isValid','Invalid\x20date\x20for\x20range\x20from\x20filter','Invalid\x20createdAt\x20filter','uniqueid','destination','callerid','starttime','endtime','duration','note','createdAt','userSecondDisposition','userThirdDisposition','UserId','fullname','findAndCountAll','startCase','chat','Website','Account','closed','disposition','secondDisposition','thirdDisposition','key','Owner','DESC','browserName','customerIp','customerPort','deviceModel','ratingMessage','ratingType','referer','subject','substatus','externalUrl','threadId','Interaction','flatten','sortBy','reverse','moment','bluebird','util','path','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./cmContact.socket','register','status','json','undefined','limit','count','offset','set','Content-Range','update','then','destroy','end','sendStatus','stack','name','send','CmContact','keys','cf_','CmCustomField','trimStart','all','length','fieldType','query','filters','attributes','intersection','model','fields','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','left_join','cm_user_has_contacts','cm_contact_has_tags','t.id\x20=\x20ct.TagId','c.deletedAt\x20IS\x20NULL','expr','search','parseSearch','sqlOperator','find','Tag','split','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','uc.UserId\x20=\x20?','value','dateOfBirth','datetime','castTo','buildExpression','text','start','map','filter','isNil','Contact','isEmpty','ListId','c.ListId\x20IN\x20?','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','\x20=\x20?','tag','isArray','replace','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','isNumeric','c.id\x20LIKE\x20?','c.phone\x20LIKE\x20?','c.fax\x20LIKE\x20?','isEmail','c.email\x20LIKE\x20?','c.lastName\x20LIKE\x20?','group','c.id','Sequelize','QueryTypes','clone','having','t.id\x20IN\x20?','resolve','user','role','agent','some','conditions','c.ListId\x20IS\x20NULL','sequelize','toString','keyBy','merge','c.firstName','c.lastName','c.phone','c.mobile','c.fax','c.createdAt','c.deletedAt','c.CompanyId','TagIds','Tags','push','catch','describe','tags','startsWith','columnName','analytics','findAll','displayName','alias','custom','type','values','body'];(function(_0x2427e1,_0x6e3da2){var _0x2b87ba=function(_0x10f0df){while(--_0x10f0df){_0x2427e1['push'](_0x2427e1['shift']());}};_0x2b87ba(++_0x6e3da2);}(_0x99fc,0x1b3));var _0xc99f=function(_0x4b241b,_0x232de1){_0x4b241b=_0x4b241b-0x0;var _0xa5527a=_0x99fc[_0x4b241b];return _0xa5527a;};'use strict';var moment=require(_0xc99f('0x0'));var BPromise=require(_0xc99f('0x1'));var util=require(_0xc99f('0x2'));var path=require(_0xc99f('0x3'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var Papa=require(_0xc99f('0x4'));var Redis=require('ioredis');var qs=require(_0xc99f('0x5'));var as=require(_0xc99f('0x6'));var logger=require(_0xc99f('0x7'))(_0xc99f('0x8'));var config=require(_0xc99f('0x9'));var db=require(_0xc99f('0xa'))['db'];config[_0xc99f('0xb')]=_[_0xc99f('0xc')](config[_0xc99f('0xb')],{'host':_0xc99f('0xd'),'port':0x18eb});var socket=require(_0xc99f('0xe'))(new Redis(config[_0xc99f('0xb')]));require(_0xc99f('0xf'))[_0xc99f('0x10')](socket);function respondWithResult(_0x197f0d,_0x10377a){_0x10377a=_0x10377a||0xc8;return function(_0x271831){if(_0x271831){return _0x197f0d[_0xc99f('0x11')](_0x10377a)[_0xc99f('0x12')](_0x271831);}};}function respondWithFilteredResult(_0xbba411,_0x1f099d){return function(_0x439985){if(_0x439985){var _0x300b6a=typeof _0x1f099d['offset']===_0xc99f('0x13')&&typeof _0x1f099d[_0xc99f('0x14')]===_0xc99f('0x13');var _0xd96698=_0x439985[_0xc99f('0x15')];var _0x4d3fc5=_0x300b6a?0x0:_0x1f099d[_0xc99f('0x16')];var _0x1a5783=_0x300b6a?_0x439985[_0xc99f('0x15')]:_0x1f099d['offset']+_0x1f099d['limit'];var _0x49e9fd;if(_0x1a5783>=_0xd96698){_0x1a5783=_0xd96698;_0x49e9fd=0xc8;}else{_0x49e9fd=0xce;}_0xbba411[_0xc99f('0x11')](_0x49e9fd);return _0xbba411[_0xc99f('0x17')](_0xc99f('0x18'),_0x4d3fc5+'-'+_0x1a5783+'/'+_0xd96698)['json'](_0x439985);}return null;};}function saveUpdates(_0x3f871c){return function(_0x45f871){if(_0x45f871){return _0x45f871[_0xc99f('0x19')](_0x3f871c)[_0xc99f('0x1a')](function(_0x52d8a7){return _0x52d8a7;});}return null;};}function removeEntity(_0x3417a1){return function(_0x4cd86a){if(_0x4cd86a){return _0x4cd86a[_0xc99f('0x1b')]()['then'](function(){_0x3417a1[_0xc99f('0x11')](0xcc)[_0xc99f('0x1c')]();});}};}function handleEntityNotFound(_0x33456e){return function(_0x198843){if(!_0x198843){_0x33456e[_0xc99f('0x1d')](0x194);}return _0x198843;};}function handleError(_0x5a08a0,_0x29fedd){_0x29fedd=_0x29fedd||0x1f4;return function(_0x2d6d25){logger['error'](_0x2d6d25[_0xc99f('0x1e')]);if(_0x2d6d25[_0xc99f('0x1f')]){delete _0x2d6d25[_0xc99f('0x1f')];}_0x5a08a0['status'](_0x29fedd)[_0xc99f('0x20')](_0x2d6d25);};}exports['index']=function(_0x4198eb,_0x4ec273){var _0x234756={},_0x459fe0={},_0x64f633={'count':0x0,'rows':[]};return db[_0xc99f('0x21')]['describe']()[_0xc99f('0x1a')](function(_0x57f440){var _0x42be14=[];for(var _0x36cd68=0x0;_0x36cd68<Object[_0xc99f('0x22')](_0x57f440)['length'];_0x36cd68++){var _0x3269a4=Object[_0xc99f('0x22')](_0x57f440)[_0x36cd68];if(_['startsWith'](_0x3269a4,_0xc99f('0x23'))){_0x42be14['push'](db[_0xc99f('0x24')]['findOne']({'where':{'id':_[_0xc99f('0x25')](_0x3269a4,_0xc99f('0x23'))},'raw':!![]}));}}return BPromise[_0xc99f('0x26')](_0x42be14)[_0xc99f('0x1a')](function(_0x2a272c){for(var _0x235137=0x0;_0x235137<_0x2a272c[_0xc99f('0x27')];_0x235137++){if(_0x2a272c[_0x235137]){var _0x22ded6=_0xc99f('0x23')+_0x2a272c[_0x235137]['id'];var _0x5b74f2=_0x57f440[_0x22ded6];_0x5b74f2[_0xc99f('0x28')]=_0x2a272c[_0x235137]['type'];}}return _0x57f440;});})[_0xc99f('0x1a')](function(_0x4f7b08){_0x459fe0['model']=_[_0xc99f('0x22')](_0x4f7b08);_0x459fe0[_0xc99f('0x29')]=_['keys'](_0x4198eb['query']);_0x459fe0[_0xc99f('0x2a')]=_['intersection'](_0x459fe0['model'],_0x459fe0[_0xc99f('0x29')]);_0x234756[_0xc99f('0x2b')]=_[_0xc99f('0x2c')](_0x459fe0[_0xc99f('0x2d')],qs[_0xc99f('0x2e')](_0x4198eb['query']['fields']));_0x234756[_0xc99f('0x2b')]=_0x234756[_0xc99f('0x2b')][_0xc99f('0x27')]?_0x234756[_0xc99f('0x2b')]:_0x459fe0[_0xc99f('0x2d')];if(!_0x4198eb[_0xc99f('0x29')][_0xc99f('0x2f')](_0xc99f('0x30'))){_0x234756[_0xc99f('0x14')]=qs[_0xc99f('0x14')](_0x4198eb[_0xc99f('0x29')][_0xc99f('0x14')]);_0x234756[_0xc99f('0x16')]=qs['offset'](_0x4198eb[_0xc99f('0x29')][_0xc99f('0x16')]);}_0x234756[_0xc99f('0x31')]=qs[_0xc99f('0x32')](_0x4198eb[_0xc99f('0x29')][_0xc99f('0x32')]);_0x234756[_0xc99f('0x33')]=qs['filters'](_[_0xc99f('0x34')](_0x4198eb['query'],_0x459fe0[_0xc99f('0x2a')]),_0x4f7b08);var _0x5ab43c=[];var _0xad8758=squel[_0xc99f('0x35')]()[_0xc99f('0x36')]('id')['field'](_0xc99f('0x1f'))[_0xc99f('0x36')](_0xc99f('0x37'))[_0xc99f('0x38')]('tools_tags');var _0x5a44d0=squel[_0xc99f('0x35')]()[_0xc99f('0x38')]('cm_contacts','c')[_0xc99f('0x39')](_0xc99f('0x3a'),'uc','uc.CmContactId\x20=\x20c.id')[_0xc99f('0x39')](_0xc99f('0x3b'),'ct','ct.CmContactId\x20=\x20c.id')['left_join']('tools_tags','t',_0xc99f('0x3c'))[_0xc99f('0x33')](_0xc99f('0x3d'));var _0x4e4450=squel[_0xc99f('0x3e')]();var _0x30fb3e=[];var _0x26bff9=squel[_0xc99f('0x3e')]();var _0x7b5d34;if(_0x4198eb['query'][_0xc99f('0x3f')]){_0x7b5d34=as[_0xc99f('0x40')](_0x4198eb['query'][_0xc99f('0x3f')]);var _0x1a8471=_0x7b5d34[_0xc99f('0x41')];for(var _0x45a081=0x0;_0x45a081<_0x7b5d34['conditions'][_0xc99f('0x27')];_0x45a081++){var _0x497ee0=_0x7b5d34['conditions'][_0x45a081];var _0x6426e7='c';var _0x558dd7=_(_0x4f7b08)[_0xc99f('0x22')]()[_0xc99f('0x42')](function(_0x5f282b){return _0x5f282b===_0x497ee0['field'];});if(_0x558dd7)_0x558dd7=_0x4f7b08[_0x497ee0[_0xc99f('0x36')]];if(!_0x558dd7){if(_0x497ee0['field']===_0xc99f('0x43')){var _0x32b722=_0x497ee0['value'][_0xc99f('0x44')](',')['map'](function(_0x2c25b6){return Number(_0x2c25b6);});_0x32b722[_0xc99f('0x45')](function(_0x3160a7){_0x26bff9['or'](_0xc99f('0x46'),'%,'+_0x3160a7+',%');});_0x30fb3e=_['union'](_0x30fb3e,_0x32b722);}else if(_0x497ee0[_0xc99f('0x36')]===_0xc99f('0x47')){_0x4e4450['and'](_0xc99f('0x48'),_0x497ee0[_0xc99f('0x49')]);}}else{if(_0x497ee0[_0xc99f('0x36')]===_0xc99f('0x4a')||_0x558dd7['fieldType']===_0xc99f('0x4b'))_0x497ee0[_0xc99f('0x4c')]='DATE';var _0x1febd3=as[_0xc99f('0x4d')](_0x6426e7,_0x558dd7['type'],_0x497ee0);_0x4e4450[_0x1a8471](_0x1febd3[_0xc99f('0x4e')],_0x1febd3[_0xc99f('0x49')][_0xc99f('0x4f')],_0x1febd3[_0xc99f('0x49')]['end']);}}}else{var _0x587b55=_(Object[_0xc99f('0x22')](_0x4198eb[_0xc99f('0x29')]))[_0xc99f('0x50')](function(_0x1224c9){return _0x4f7b08[_0xc99f('0x2f')](_0x1224c9)?_0x1224c9:undefined;})[_0xc99f('0x51')](function(_0x57f378){return!_[_0xc99f('0x52')](_0x57f378);})[_0xc99f('0x49')]();if(_0x4198eb[_0xc99f('0x29')]['Contact'])_0x587b55['push'](_0xc99f('0x53'));if(!_[_0xc99f('0x54')](_0x587b55)){_0x587b55[_0xc99f('0x45')](function(_0x2dcd53){if(_0x2dcd53===_0xc99f('0x55')){_0x5a44d0[_0xc99f('0x33')](_0xc99f('0x56'),[]['concat'](_0x4198eb[_0xc99f('0x29')][_0x2dcd53]));}else if(_0x2dcd53===_0xc99f('0x53')){var _0x312607='%'+_0x4198eb['query'][_0x2dcd53]+'%';_0x5a44d0[_0xc99f('0x33')](_0xc99f('0x57'),_0x312607);}else{_0x5a44d0[_0xc99f('0x33')]('c.'+_0x2dcd53+_0xc99f('0x58'),_0x4198eb[_0xc99f('0x29')][_0x2dcd53]);}});}if(_0x4198eb[_0xc99f('0x29')][_0xc99f('0x59')]){_0x30fb3e=_[_0xc99f('0x5a')](_0x4198eb[_0xc99f('0x29')]['tag'])?_0x4198eb[_0xc99f('0x29')]['tag']:new Array(_0x4198eb['query'][_0xc99f('0x59')]);_0x30fb3e['forEach'](function(_0x23971e){_0x26bff9['or'](_0xc99f('0x46'),'%,'+_0x23971e+',%');});}if(_0x4198eb[_0xc99f('0x29')]['filter']){var _0x21711=_0x4198eb[_0xc99f('0x29')][_0xc99f('0x51')][_0xc99f('0x5b')]('\x5c','\x5c\x5c')[_0xc99f('0x5b')](/'/g,'\x27\x27');if(_0x21711[_0xc99f('0x44')]('\x20')['length']>0x1){_0x4e4450['or'](_0xc99f('0x5c'),qs[_0xc99f('0x5d')](_0x21711),null);}else{if(qs[_0xc99f('0x5e')](_0x21711)){_0x4e4450['or'](_0xc99f('0x5f'),_0x21711+'%');_0x4e4450['or'](_0xc99f('0x60'),_0x21711+'%');_0x4e4450['or']('c.mobile\x20LIKE\x20?',_0x21711+'%');_0x4e4450['or'](_0xc99f('0x61'),_0x21711+'%');}else if(qs[_0xc99f('0x62')](_0x21711)){_0x4e4450['or'](_0xc99f('0x63'),_0x21711+'%');}else{_0x4e4450['or']('c.firstName\x20LIKE\x20?','%'+_0x21711+'%');_0x4e4450['or'](_0xc99f('0x64'),'%'+_0x21711+'%');_0x4e4450['or']('c.email\x20LIKE\x20?','%'+_0x21711+'%');}}}}_0x5a44d0[_0xc99f('0x33')](_0x4e4450);_0x5a44d0[_0xc99f('0x65')](_0xc99f('0x66'));var _0x2d3fb0={'type':db[_0xc99f('0x67')][_0xc99f('0x68')]['SELECT'],'raw':!![]};var _0x4a324a=_0x5a44d0[_0xc99f('0x69')]()[_0xc99f('0x36')](_0xc99f('0x66'));if(_0x234756[_0xc99f('0x31')]){_0x234756[_0xc99f('0x31')][_0xc99f('0x45')](function(_0x4e10ea){_0x5a44d0['order']('c.'+_0x4e10ea[0x0],_0x4e10ea[0x1]==='DESC'?![]:!![]);});}if(!_[_0xc99f('0x54')](_0x30fb3e)){_0x5a44d0[_0xc99f('0x6a')](_0x26bff9);_0x4a324a[_0xc99f('0x33')](_0xc99f('0x6b'),_0x30fb3e);}BPromise[_0xc99f('0x6c')]()[_0xc99f('0x1a')](function(){if(!_0x7b5d34)return;if(_0x4198eb[_0xc99f('0x6d')][_0xc99f('0x6e')]!==_0xc99f('0x6f'))return;if(!_[_0xc99f('0x70')](_0x7b5d34[_0xc99f('0x71')],[_0xc99f('0x36'),_0xc99f('0x47')])){return _0x4198eb['user']['getLists']({'attributes':['id'],'raw':!![]})[_0xc99f('0x1a')](function(_0x10d16f){if(_['isEmpty'](_0x10d16f)){_0x4a324a[_0xc99f('0x33')](_0xc99f('0x72'));_0x5a44d0[_0xc99f('0x33')]('c.ListId\x20IS\x20NULL');}else{_0x4a324a[_0xc99f('0x33')](_0xc99f('0x56'),_[_0xc99f('0x50')](_0x10d16f,'id'));_0x5a44d0['where']('c.ListId\x20IN\x20?',_[_0xc99f('0x50')](_0x10d16f,'id'));}});}})[_0xc99f('0x1a')](function(){if(_0x4198eb[_0xc99f('0x6d')]['role']===_0xc99f('0x6f')&&!_0x7b5d34&&!_0x4198eb[_0xc99f('0x29')][_0xc99f('0x55')])return[];return db[_0xc99f('0x73')][_0xc99f('0x29')](_0x4a324a['toString'](),_0x2d3fb0);})[_0xc99f('0x1a')](function(_0x81064d){_0x64f633[_0xc99f('0x15')]=_0x81064d[_0xc99f('0x27')];if(_0x64f633[_0xc99f('0x15')]===0x0)return[];return db[_0xc99f('0x73')][_0xc99f('0x29')](_0xad8758[_0xc99f('0x74')](),_0x2d3fb0)['then'](function(_0x242040){_0x5ab43c=_[_0xc99f('0x75')](_0x242040,'id');_0x2d3fb0=_[_0xc99f('0x76')](_0x2d3fb0,{'model':db[_0xc99f('0x21')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x4198eb[_0xc99f('0x29')]['fields']){_0x234756['attributes']['forEach'](function(_0xdf6c25){_0x5a44d0['field']('c.'+_0xdf6c25);});}else{_0x5a44d0['field']('c.id');_0x5a44d0[_0xc99f('0x36')](_0xc99f('0x77'));_0x5a44d0[_0xc99f('0x36')](_0xc99f('0x78'));_0x5a44d0[_0xc99f('0x36')](_0xc99f('0x79'));_0x5a44d0[_0xc99f('0x36')](_0xc99f('0x7a'));_0x5a44d0[_0xc99f('0x36')](_0xc99f('0x7b'));_0x5a44d0[_0xc99f('0x36')]('c.email');_0x5a44d0[_0xc99f('0x36')]('c.ListId');_0x5a44d0[_0xc99f('0x36')](_0xc99f('0x7c'));_0x5a44d0[_0xc99f('0x36')](_0xc99f('0x7d'));_0x5a44d0['field'](_0xc99f('0x7e'));_0x5a44d0[_0xc99f('0x36')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0xc99f('0x7f'));}if(_0x234756[_0xc99f('0x14')])_0x5a44d0['limit'](_0x234756['limit']);if(_0x234756[_0xc99f('0x16')])_0x5a44d0[_0xc99f('0x16')](_0x234756['offset']);return db['sequelize'][_0xc99f('0x29')](_0x5a44d0[_0xc99f('0x74')](),_0x2d3fb0);});})[_0xc99f('0x1a')](function(_0x46a0b3){_0x46a0b3['forEach'](function(_0x576706){if(_0x576706[_0xc99f('0x7f')]){_0x576706[_0xc99f('0x80')]=[];_0x576706['TagIds'][_0xc99f('0x44')](',')[_0xc99f('0x45')](function(_0x472e9c){_0x576706[_0xc99f('0x80')][_0xc99f('0x81')](_0x5ab43c[_0x472e9c]);});}delete _0x576706[_0xc99f('0x7f')];});_0x64f633['rows']=_0x46a0b3;return _0x64f633;})[_0xc99f('0x1a')](respondWithFilteredResult(_0x4ec273,_0x234756));})[_0xc99f('0x82')](handleError(_0x4ec273,null));};exports['destroy']=function(_0x288b1f,_0x11cb75){return db[_0xc99f('0x21')][_0xc99f('0x42')]({'where':{'id':_0x288b1f['params']['id']}})['then'](handleEntityNotFound(_0x11cb75,null))['then'](removeEntity(_0x11cb75,null))[_0xc99f('0x82')](handleError(_0x11cb75,null));};exports[_0xc99f('0x83')]=function(_0x420245,_0x57e1f3){return db[_0xc99f('0x21')][_0xc99f('0x83')]()[_0xc99f('0x1a')](function(_0x51171d){delete _0x51171d[_0xc99f('0x84')];for(var _0x2d27dd=0x0;_0x2d27dd<Object[_0xc99f('0x22')](_0x51171d)[_0xc99f('0x27')];_0x2d27dd++){var _0xf73142=Object[_0xc99f('0x22')](_0x51171d)[_0x2d27dd];if(!_[_0xc99f('0x85')](_0xf73142,'cf_')){_0x51171d[_0xf73142][_0xc99f('0x86')]=_0xf73142;_0x51171d[_0xf73142]['displayName']=_0xf73142;}}return _0x51171d;})[_0xc99f('0x1a')](function(_0x11f9f4){var _0x33b491={'where':Boolean(_0x420245[_0xc99f('0x29')][_0xc99f('0x87')])===!![]?undefined:{'$or':[{'ListId':_0x420245['query']['id']},{'ListId':null}]},'raw':!![]};return db[_0xc99f('0x24')][_0xc99f('0x88')](_0x33b491)['then'](function(_0x2daf00){for(var _0x255f26=0x0;_0x255f26<_0x2daf00[_0xc99f('0x27')];_0x255f26++){var _0x32492d=_0xc99f('0x23')+_0x2daf00[_0x255f26]['id'];_0x11f9f4[_0x32492d][_0xc99f('0x86')]=_0x32492d;_0x11f9f4[_0x32492d][_0xc99f('0x89')]=_0x2daf00[_0x255f26][_0xc99f('0x8a')];_0x11f9f4[_0x32492d][_0xc99f('0x8b')]={'type':_0x2daf00[_0x255f26][_0xc99f('0x8c')],'values':_0x2daf00[_0x255f26][_0xc99f('0x8d')]};}Object['keys'](_0x11f9f4)[_0xc99f('0x45')](function(_0x18cf5e){if(!_0x11f9f4[_0x18cf5e][_0xc99f('0x2f')](_0xc99f('0x86'))){delete _0x11f9f4[_0x18cf5e];}});return _0x11f9f4;});})[_0xc99f('0x1a')](respondWithResult(_0x57e1f3,null))['catch'](handleError(_0x57e1f3,null));};exports['merge']=function(_0x2a445b,_0x5d18a0){var _0x4585bb;var _0x3ec56d;var _0x5acb24;if(_0x2a445b[_0xc99f('0x8e')]['id']){delete _0x2a445b[_0xc99f('0x8e')]['id'];}return db[_0xc99f('0x21')][_0xc99f('0x88')]({'where':{'id':[_0x2a445b[_0xc99f('0x8e')]['to'],_0x2a445b['body']['from']]}})['then'](function(_0x3bcb0f){if(_0x3bcb0f){if(_0x3bcb0f[_0xc99f('0x27')]!==0x2){return null;}_0x3bcb0f[0x0]=_0x3bcb0f[0x0][_0xc99f('0x8f')]({'plain':!![]});_0x3bcb0f[0x1]=_0x3bcb0f[0x1][_0xc99f('0x8f')]({'plain':!![]});delete _0x3bcb0f[0x0]['id'];delete _0x3bcb0f[0x1]['id'];return _[_0xc99f('0x90')](_0x3bcb0f[0x0],_0x3bcb0f[0x1],function(_0x433d71,_0x5234e0){if(Array[_0xc99f('0x5a')](_0x5234e0)&&!_0x5234e0['length']){return _0x433d71;}else if(!_0x5234e0){return _0x433d71;}});}})['then'](handleEntityNotFound(_0x5d18a0,null))['then'](function(_0x27770e){if(_0x27770e){if(_0x27770e[_0xc99f('0x84')]&&_[_0xc99f('0x5a')](_0x27770e[_0xc99f('0x84')])){_0x27770e[_0xc99f('0x84')]=_0x27770e[_0xc99f('0x84')]['join']();}logger[_0xc99f('0x91')](_0xc99f('0x92'),_0x2a445b['body']['to'],_0x2a445b['body'][_0xc99f('0x38')]);return db[_0xc99f('0x93')][_0xc99f('0x1b')]({'where':{'ContactId':[_0x2a445b['body']['to'],_0x2a445b[_0xc99f('0x8e')]['from']]}})[_0xc99f('0x1a')](function(_0x46c064){logger[_0xc99f('0x91')](_0xc99f('0x94'),_0x46c064);return db[_0xc99f('0x95')][_0xc99f('0x1b')]({'where':{'ContactId':[_0x2a445b[_0xc99f('0x8e')]['to'],_0x2a445b[_0xc99f('0x8e')][_0xc99f('0x38')]]}})[_0xc99f('0x1a')](function(_0x5e9fdb){logger[_0xc99f('0x91')](_0xc99f('0x96'),_0x5e9fdb);return db[_0xc99f('0x21')][_0xc99f('0x97')](_0x27770e);});});}})[_0xc99f('0x1a')](function(_0x31a6af){if(_0x31a6af){_0x4585bb=_0x31a6af;_0x3ec56d={'ContactId':_0x4585bb['id']};_0x5acb24={'where':{'ContactId':[_0x2a445b[_0xc99f('0x8e')]['to'],_0x2a445b[_0xc99f('0x8e')][_0xc99f('0x38')]]}};return db['ChatInteraction'][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0x98')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0x99')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0x9a')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0x9b')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db['MailInteraction'][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0x9b')]['update'](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db['SmsInteraction'][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db['SmsMessage'][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0x9c')]['update'](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0x9d')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0x9e')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})['then'](function(){if(_0x4585bb){return db[_0xc99f('0x9f')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0xa0')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0xa1')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0xa2')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0xa3')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0xa4')]['update'](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0xa5')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})['then'](function(){if(_0x4585bb){return db[_0xc99f('0xa6')]['update'](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0xa7')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})['then'](function(){if(_0x4585bb){return db[_0xc99f('0xa8')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0xa9')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0xaa')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0xab')]['update'](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0xac')][_0xc99f('0x19')](_0x3ec56d,_0x5acb24);}})[_0xc99f('0x1a')](function(){if(_0x4585bb){return db[_0xc99f('0x21')][_0xc99f('0x1b')]({'where':{'id':[_0x2a445b[_0xc99f('0x8e')]['to'],_0x2a445b[_0xc99f('0x8e')][_0xc99f('0x38')]]}});}})['then'](function(){if(_0x4585bb){return _0x4585bb;}})[_0xc99f('0x1a')](respondWithResult(_0x5d18a0,null))[_0xc99f('0x82')](handleError(_0x5d18a0,null));};exports[_0xc99f('0x97')]=function(_0x831893,_0x45c2fa){return db[_0xc99f('0x21')][_0xc99f('0x83')]()[_0xc99f('0x1a')](function(_0x526c59){if(_0x831893[_0xc99f('0x8e')][_0xc99f('0x84')]&&_[_0xc99f('0x5a')](_0x831893[_0xc99f('0x8e')][_0xc99f('0x84')])){if(_0x831893['body'][_0xc99f('0x84')]['length']){_0x831893[_0xc99f('0x8e')][_0xc99f('0x84')]=_0x831893[_0xc99f('0x8e')]['tags'][_0xc99f('0xad')](';')+';';}else{_0x831893['body']['tags']=null;}}else{_0x831893[_0xc99f('0x8e')]['tags']=null;}return db[_0xc99f('0x21')][_0xc99f('0x97')](_0x831893[_0xc99f('0x8e')],{'fields':_[_0xc99f('0x22')](_0x526c59),'raw':!![]});})[_0xc99f('0x1a')](respondWithResult(_0x45c2fa,0xc9))[_0xc99f('0x82')](handleError(_0x45c2fa,null));};exports[_0xc99f('0xae')]=function(_0x35c700,_0x30c53){var _0x3d7e52=0x0;var _0x1b4e39=0x0;var _0x90816c=0x0;return db[_0xc99f('0x21')][_0xc99f('0x83')]()[_0xc99f('0x1a')](function(_0x3ece69){return BPromise[_0xc99f('0xaf')](_0x35c700[_0xc99f('0x8e')],function(_0x24a4cd){var _0x9a3d65={'where':{'$or':[]},'defaults':_0x24a4cd,'fields':_[_0xc99f('0x22')](_0x3ece69),'raw':!![]};if(_0x24a4cd[_0xc99f('0xb0')]){for(var _0x722f0b=0x0;_0x722f0b<_0x24a4cd[_0xc99f('0xb0')][_0xc99f('0x27')];_0x722f0b++){var _0x3c71b0={};_0x3c71b0[_0x24a4cd[_0xc99f('0xb0')][_0x722f0b]]=_0x24a4cd[_0x24a4cd[_0xc99f('0xb0')][_0x722f0b]];_0x9a3d65[_0xc99f('0x33')][_0xc99f('0xb1')][_0xc99f('0x81')](_0x3c71b0);}_0x9a3d65[_0xc99f('0x33')][_0xc99f('0x55')]=_0x24a4cd['ListId'];}return db[_0xc99f('0x21')][_0xc99f('0xb2')](_0x9a3d65)[_0xc99f('0xb3')](function(_0x416387,_0x288552){if(_0x288552){_0x3d7e52++;}else{_0x90816c++;}})[_0xc99f('0x82')](function(){_0x1b4e39++;});});})['then'](function(_0x553645){if(_0x553645){return{'success':_0x3d7e52,'failure':_0x1b4e39,'duplicates':_0x90816c};}})[_0xc99f('0x1a')](respondWithResult(_0x30c53,0xc9))[_0xc99f('0x82')](handleError(_0x30c53,null));};exports['show']=function(_0x5e271c,_0x56e3ef){var _0x1a698d;return db[_0xc99f('0x21')][_0xc99f('0x83')]()[_0xc99f('0x1a')](function(_0x38664e){return db['CmContact'][_0xc99f('0x42')]({'where':{'id':_0x5e271c[_0xc99f('0xb4')]['id']},'include':[{'model':db[_0xc99f('0x43')],'as':_0xc99f('0x80'),'attributes':['id',_0xc99f('0x1f'),_0xc99f('0x37')],'required':_0x5e271c[_0xc99f('0x29')][_0xc99f('0x59')]?!![]:![]}],'attributes':_['keys'](_0x38664e)});})['then'](function(_0x4572fd){if(!_[_0xc99f('0x52')](_0x4572fd)){_0x1a698d=_0x4572fd[_0xc99f('0x8f')]({'plain':!![]});var _0x7565d2={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x4572fd&&_0x4572fd[_0xc99f('0x55')]){if(_0x4572fd[_0xc99f('0x55')]){_0x7565d2['where'][_0xc99f('0xb5')][_0xc99f('0x81')]({'ListId':{'$ne':_0x4572fd[_0xc99f('0x55')]}});}}return db[_0xc99f('0x24')][_0xc99f('0x88')](_0x7565d2);}})[_0xc99f('0x1a')](function(_0x4600b9){if(!_[_0xc99f('0x52')](_0x4600b9)){return _[_0xc99f('0xb6')](_0x1a698d,_[_0xc99f('0x50')](_0x4600b9,function(_0x4dedfe){return util[_0xc99f('0xb7')](_0xc99f('0xb8'),_0x4dedfe['id']);}));}})[_0xc99f('0x1a')](handleEntityNotFound(_0x56e3ef,null))['then'](respondWithResult(_0x56e3ef,null))[_0xc99f('0x82')](handleError(_0x56e3ef,null));};exports[_0xc99f('0x19')]=function(_0x12d72c,_0x465e35){var _0x2b47d9;if(_0x12d72c[_0xc99f('0x8e')]['id']){delete _0x12d72c[_0xc99f('0x8e')]['id'];}return db[_0xc99f('0x21')][_0xc99f('0x42')]({'where':{'id':_0x12d72c[_0xc99f('0xb4')]['id']}})['then'](handleEntityNotFound(_0x465e35,null))[_0xc99f('0x1a')](saveUpdates(_0x12d72c['body'],null))[_0xc99f('0x1a')](function(_0x3d2340){_0x2b47d9=_0x3d2340;var _0x3ebec1={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x3d2340&&_0x3d2340[_0xc99f('0x55')]){if(_0x3d2340[_0xc99f('0x55')]){_0x3ebec1[_0xc99f('0x33')]['$and'][_0xc99f('0x81')]({'ListId':{'$ne':_0x3d2340[_0xc99f('0x55')]}});}}return db['CmCustomField'][_0xc99f('0x88')](_0x3ebec1);})[_0xc99f('0x1a')](function(_0xdf419b){if(_0xdf419b){return _[_0xc99f('0xb6')](_['pickBy'](_0x12d72c[_0xc99f('0x8e')],function(_0x753075,_0x309367){return _['startsWith'](_0x309367,_0xc99f('0x23'));}),_[_0xc99f('0x50')](_0xdf419b,function(_0x2ab366){return util['format']('cf_%d',_0x2ab366['id']);}));}})[_0xc99f('0x1a')](function(_0x30cded){if(_0x30cded&&!_[_0xc99f('0x54')](_0x30cded)){var _0x1874de=squel['update']()[_0xc99f('0xb9')](_0xc99f('0xba'))[_0xc99f('0xbb')](_0x30cded)['where'](_0xc99f('0xbc'),_0x12d72c[_0xc99f('0xb4')]['id'])[_0xc99f('0xbd')]();return db['sequelize'][_0xc99f('0x29')](_0x1874de[_0xc99f('0x4e')],{'replacements':_0x1874de['values']});}})[_0xc99f('0x1a')](function(){if(_0x12d72c['body'][_0xc99f('0xbe')]&&_0x2b47d9){return db[_0xc99f('0x93')][_0xc99f('0x19')]({'phone':_0x12d72c[_0xc99f('0x8e')][_0xc99f('0xbe')]},{'where':{'ContactId':_0x2b47d9['id']}});}})[_0xc99f('0x1a')](function(){return _0x2b47d9;})[_0xc99f('0x1a')](respondWithResult(_0x465e35,null))[_0xc99f('0x82')](handleError(_0x465e35,null));};exports[_0xc99f('0xbf')]=function(_0x2fc539,_0x418501){var _0x1699da={};var _0x2ce639={};var _0xc5fef8;var _0x1f81ff;return db[_0xc99f('0x21')][_0xc99f('0xc0')]({'where':{'id':_0x2fc539['params']['id']}})[_0xc99f('0x1a')](handleEntityNotFound(_0x418501,null))[_0xc99f('0x1a')](function(_0x2de88e){if(_0x2de88e){_0xc5fef8=_0x2de88e;_0x2ce639[_0xc99f('0x2d')]=_[_0xc99f('0x22')](db[_0xc99f('0x43')][_0xc99f('0xc1')]);_0x2ce639[_0xc99f('0x29')]=_[_0xc99f('0x22')](_0x2fc539[_0xc99f('0x29')]);_0x2ce639[_0xc99f('0x2a')]=_['intersection'](_0x2ce639[_0xc99f('0x2d')],_0x2ce639[_0xc99f('0x29')]);_0x1699da[_0xc99f('0x2b')]=_['intersection'](_0x2ce639['model'],qs['fields'](_0x2fc539['query']['fields']));_0x1699da[_0xc99f('0x2b')]=_0x1699da[_0xc99f('0x2b')]['length']?_0x1699da[_0xc99f('0x2b')]:_0x2ce639[_0xc99f('0x2d')];_0x1699da[_0xc99f('0x31')]=qs['sort'](_0x2fc539['query'][_0xc99f('0x32')]);_0x1699da['where']=qs[_0xc99f('0x2a')](_[_0xc99f('0x34')](_0x2fc539[_0xc99f('0x29')],_0x2ce639[_0xc99f('0x2a')]));if(_0x2fc539[_0xc99f('0x29')][_0xc99f('0x51')]){_0x1699da[_0xc99f('0x33')]=_['merge'](_0x1699da[_0xc99f('0x33')],{'$or':_['map'](_0x1699da[_0xc99f('0x2b')],function(_0x3d8166){var _0x1cced8={};_0x1cced8[_0x3d8166]={'$like':'%'+_0x2fc539[_0xc99f('0x29')][_0xc99f('0x51')]+'%'};return _0x1cced8;})});}_0x1699da=_['merge']({},_0x1699da,_0x2fc539[_0xc99f('0xc2')]);return _0xc5fef8[_0xc99f('0xbf')](_0x1699da);}})[_0xc99f('0x1a')](function(_0xbc407){if(_0xbc407){_0x1f81ff=_0xbc407[_0xc99f('0x27')];if(!_0x2fc539[_0xc99f('0x29')][_0xc99f('0x2f')](_0xc99f('0x30'))){_0x1699da[_0xc99f('0x14')]=qs[_0xc99f('0x14')](_0x2fc539[_0xc99f('0x29')][_0xc99f('0x14')]);_0x1699da[_0xc99f('0x16')]=qs[_0xc99f('0x16')](_0x2fc539['query']['offset']);}return _0xc5fef8[_0xc99f('0xbf')](_0x1699da);}})[_0xc99f('0x1a')](function(_0x366450){if(_0x366450){return _0x366450?{'count':_0x1f81ff,'rows':_0x366450}:null;}})[_0xc99f('0x1a')](respondWithResult(_0x418501,null))['catch'](handleError(_0x418501,null));};exports[_0xc99f('0xc3')]=function(_0x22ccc2,_0x39571e){if(_0x22ccc2[_0xc99f('0x8e')]['id']){delete _0x22ccc2['body']['id'];}return db[_0xc99f('0x21')][_0xc99f('0xc0')]({'where':{'id':_0x22ccc2[_0xc99f('0xb4')]['id']}})['then'](handleEntityNotFound(_0x39571e,null))['then'](function(_0x4d8c7a){if(_0x4d8c7a){return _0x4d8c7a[_0xc99f('0xc3')](_0x22ccc2[_0xc99f('0x8e')][_0xc99f('0xc4')]||[]);}return null;})[_0xc99f('0x1a')](respondWithResult(_0x39571e,null))[_0xc99f('0x82')](handleError(_0x39571e,null));};exports[_0xc99f('0xc5')]=function(_0x4523fb,_0x876468){var _0x26639e={'raw':![],'where':{}};var _0x5279e8={};var _0x4652e3={'count':0x0,'rows':[]};return db[_0xc99f('0x21')][_0xc99f('0xc0')]({'where':{'id':_0x4523fb[_0xc99f('0xb4')]['id']}})['then'](handleEntityNotFound(_0x876468,null))[_0xc99f('0x1a')](function(_0x19822a){if(_0x19822a){_0x5279e8[_0xc99f('0x2d')]=_[_0xc99f('0x22')](db[_0xc99f('0x93')][_0xc99f('0xc1')]);_0x5279e8['query']=_['keys'](_0x4523fb[_0xc99f('0x29')]);_0x5279e8[_0xc99f('0x2a')]=_[_0xc99f('0x2c')](_0x5279e8[_0xc99f('0x2d')],_0x5279e8[_0xc99f('0x29')]);_0x26639e['attributes']=_[_0xc99f('0x2c')](_0x5279e8[_0xc99f('0x2d')],qs[_0xc99f('0x2e')](_0x4523fb[_0xc99f('0x29')]['fields']));_0x26639e[_0xc99f('0x2b')]=_0x26639e[_0xc99f('0x2b')][_0xc99f('0x27')]?_0x26639e['attributes']:_0x5279e8[_0xc99f('0x2d')];if(!_0x4523fb[_0xc99f('0x29')][_0xc99f('0x2f')](_0xc99f('0x30'))){_0x26639e[_0xc99f('0x14')]=qs[_0xc99f('0x14')](_0x4523fb[_0xc99f('0x29')][_0xc99f('0x14')]);_0x26639e[_0xc99f('0x16')]=qs[_0xc99f('0x16')](_0x4523fb['query'][_0xc99f('0x16')]);}_0x26639e[_0xc99f('0x31')]=qs[_0xc99f('0x32')](_0x4523fb[_0xc99f('0x29')][_0xc99f('0x32')]);_0x26639e[_0xc99f('0x33')]=qs['filters'](_['pick'](_0x4523fb['query'],_0x5279e8[_0xc99f('0x2a')]));_0x26639e[_0xc99f('0x33')][_0xc99f('0xc6')]=_0x19822a['id'];if(_0x4523fb[_0xc99f('0x29')][_0xc99f('0x51')]){_0x26639e[_0xc99f('0x33')]=_[_0xc99f('0x76')](_0x26639e['where'],{'$or':_[_0xc99f('0x50')](_0x26639e[_0xc99f('0x2b')],function(_0x5bf11d){var _0x27aef1={};_0x27aef1[_0x5bf11d]={'$like':'%'+_0x4523fb[_0xc99f('0x29')]['filter']+'%'};return _0x27aef1;})});}_0x26639e=_[_0xc99f('0x76')]({},_0x26639e,_0x4523fb[_0xc99f('0xc2')]);return db[_0xc99f('0x93')][_0xc99f('0x15')]({'where':_0x26639e[_0xc99f('0x33')]})[_0xc99f('0x1a')](function(_0x176715){_0x4652e3[_0xc99f('0x15')]=_0x176715;if(_0x4523fb[_0xc99f('0x29')][_0xc99f('0xc7')]){_0x26639e[_0xc99f('0xc8')]=[{'all':!![]}];}return db[_0xc99f('0x93')][_0xc99f('0x88')](_0x26639e);})[_0xc99f('0x1a')](function(_0x563a67){_0x4652e3[_0xc99f('0xc9')]=_0x563a67;return _0x4652e3;});}})[_0xc99f('0x1a')](respondWithFilteredResult(_0x876468,_0x26639e))[_0xc99f('0x82')](handleError(_0x876468,null));};exports[_0xc99f('0xca')]=function(_0x3ac8bf,_0x16e3e1){var _0x5dbe82={'raw':!![],'where':{}};var _0x58f7d6={};var _0x55077e={'count':0x0,'rows':[]};return db['CmContact']['findOne']({'where':{'id':_0x3ac8bf[_0xc99f('0xb4')]['id']}})[_0xc99f('0x1a')](handleEntityNotFound(_0x16e3e1,null))[_0xc99f('0x1a')](function(_0xca1416){if(_0xca1416){_0x58f7d6['model']=_[_0xc99f('0x22')](db[_0xc99f('0xa1')][_0xc99f('0xc1')]);_0x58f7d6[_0xc99f('0x29')]=_[_0xc99f('0x22')](_0x3ac8bf[_0xc99f('0x29')]);_0x58f7d6[_0xc99f('0x2a')]=_[_0xc99f('0x2c')](_0x58f7d6['model'],_0x58f7d6['query']);_0x5dbe82[_0xc99f('0x2b')]=_['intersection'](_0x58f7d6['model'],qs['fields'](_0x3ac8bf[_0xc99f('0x29')][_0xc99f('0x2e')]));_0x5dbe82['attributes']=_0x5dbe82[_0xc99f('0x2b')][_0xc99f('0x27')]?_0x5dbe82[_0xc99f('0x2b')]:_0x58f7d6['model'];if(!_0x3ac8bf[_0xc99f('0x29')][_0xc99f('0x2f')](_0xc99f('0x30'))){_0x5dbe82[_0xc99f('0x14')]=qs[_0xc99f('0x14')](_0x3ac8bf[_0xc99f('0x29')]['limit']);_0x5dbe82['offset']=qs[_0xc99f('0x16')](_0x3ac8bf['query'][_0xc99f('0x16')]);}_0x5dbe82[_0xc99f('0x31')]=qs[_0xc99f('0x32')](_0x3ac8bf['query'][_0xc99f('0x32')]);_0x5dbe82[_0xc99f('0x33')]=qs[_0xc99f('0x2a')](_[_0xc99f('0x34')](_0x3ac8bf[_0xc99f('0x29')],_0x58f7d6['filters']));_0x5dbe82['where'][_0xc99f('0xc6')]=_0xca1416['id'];if(_0x3ac8bf['query']['filter']){_0x5dbe82[_0xc99f('0x33')]=_['merge'](_0x5dbe82[_0xc99f('0x33')],{'$or':_['map'](_0x5dbe82[_0xc99f('0x2b')],function(_0x390c26){var _0x4e927e={};_0x4e927e[_0x390c26]={'$like':'%'+_0x3ac8bf[_0xc99f('0x29')][_0xc99f('0x51')]+'%'};return _0x4e927e;})});}_0x5dbe82=_[_0xc99f('0x76')]({},_0x5dbe82,_0x3ac8bf['options']);return db[_0xc99f('0xa1')]['count']({'where':_0x5dbe82['where']})[_0xc99f('0x1a')](function(_0x4a90e3){_0x55077e[_0xc99f('0x15')]=_0x4a90e3;if(_0x3ac8bf[_0xc99f('0x29')][_0xc99f('0xc7')]){_0x5dbe82[_0xc99f('0xc8')]=[{'all':!![]}];}return db[_0xc99f('0xa1')][_0xc99f('0x88')](_0x5dbe82);})['then'](function(_0x136398){_0x55077e[_0xc99f('0xc9')]=_0x136398;return _0x55077e;});}})[_0xc99f('0x1a')](respondWithFilteredResult(_0x16e3e1,_0x5dbe82))[_0xc99f('0x82')](handleError(_0x16e3e1,null));};exports[_0xc99f('0xcb')]=function(_0x3e3eb6,_0x4dd6b8){var _0x219ef5={'raw':!![],'where':{}};var _0x2468a3={};var _0x466c4b={'count':0x0,'rows':[]};return db[_0xc99f('0x21')][_0xc99f('0xc0')]({'where':{'id':_0x3e3eb6[_0xc99f('0xb4')]['id']}})[_0xc99f('0x1a')](handleEntityNotFound(_0x4dd6b8,null))[_0xc99f('0x1a')](function(_0x2616cb){if(_0x2616cb){_0x2468a3[_0xc99f('0x2d')]=_['keys'](db[_0xc99f('0xa0')][_0xc99f('0xc1')]);_0x2468a3['query']=_[_0xc99f('0x22')](_0x3e3eb6[_0xc99f('0x29')]);_0x2468a3['filters']=_['intersection'](_0x2468a3['model'],_0x2468a3[_0xc99f('0x29')]);_0x219ef5['attributes']=_['intersection'](_0x2468a3[_0xc99f('0x2d')],qs[_0xc99f('0x2e')](_0x3e3eb6[_0xc99f('0x29')][_0xc99f('0x2e')]));_0x219ef5[_0xc99f('0x2b')]=_0x219ef5[_0xc99f('0x2b')][_0xc99f('0x27')]?_0x219ef5['attributes']:_0x2468a3['model'];if(!_0x3e3eb6[_0xc99f('0x29')][_0xc99f('0x2f')](_0xc99f('0x30'))){_0x219ef5[_0xc99f('0x14')]=qs[_0xc99f('0x14')](_0x3e3eb6['query'][_0xc99f('0x14')]);_0x219ef5[_0xc99f('0x16')]=qs[_0xc99f('0x16')](_0x3e3eb6[_0xc99f('0x29')][_0xc99f('0x16')]);}_0x219ef5[_0xc99f('0x31')]=qs[_0xc99f('0x32')](_0x3e3eb6[_0xc99f('0x29')]['sort']);_0x219ef5[_0xc99f('0x33')]=qs[_0xc99f('0x2a')](_[_0xc99f('0x34')](_0x3e3eb6[_0xc99f('0x29')],_0x2468a3['filters']));_0x219ef5[_0xc99f('0x33')][_0xc99f('0xc6')]=_0x2616cb['id'];if(_0x3e3eb6[_0xc99f('0x29')]['filter']){_0x219ef5['where']=_[_0xc99f('0x76')](_0x219ef5[_0xc99f('0x33')],{'$or':_['map'](_0x219ef5[_0xc99f('0x2b')],function(_0x242afa){var _0x1aea5c={};_0x1aea5c[_0x242afa]={'$like':'%'+_0x3e3eb6[_0xc99f('0x29')][_0xc99f('0x51')]+'%'};return _0x1aea5c;})});}_0x219ef5=_['merge']({},_0x219ef5,_0x3e3eb6[_0xc99f('0xc2')]);return db[_0xc99f('0xa0')]['count']({'where':_0x219ef5['where']})[_0xc99f('0x1a')](function(_0x338775){_0x466c4b[_0xc99f('0x15')]=_0x338775;if(_0x3e3eb6[_0xc99f('0x29')][_0xc99f('0xc7')]){_0x219ef5['include']=[{'all':!![]}];}return db['CmHopperFinal'][_0xc99f('0x88')](_0x219ef5);})['then'](function(_0x136375){_0x466c4b[_0xc99f('0xc9')]=_0x136375;return _0x466c4b;});}})[_0xc99f('0x1a')](respondWithFilteredResult(_0x4dd6b8,_0x219ef5))['catch'](handleError(_0x4dd6b8,null));};exports['getJscriptySessions']=function(_0x12fd17,_0x88557c){var _0x3cf685={'raw':!![],'where':{}};var _0x30d187={};var _0x251ada={'count':0x0,'rows':[]};return db[_0xc99f('0x21')]['findOne']({'where':{'id':_0x12fd17[_0xc99f('0xb4')]['id']}})[_0xc99f('0x1a')](handleEntityNotFound(_0x88557c,null))[_0xc99f('0x1a')](function(_0x5cc356){if(_0x5cc356){_0x30d187['model']=_[_0xc99f('0x22')](db['JscriptySessionReport']['rawAttributes']);_0x30d187[_0xc99f('0x29')]=_['keys'](_0x12fd17[_0xc99f('0x29')]);_0x30d187['filters']=_[_0xc99f('0x2c')](_0x30d187[_0xc99f('0x2d')],_0x30d187['query']);_0x3cf685[_0xc99f('0x2b')]=_[_0xc99f('0x2c')](_0x30d187[_0xc99f('0x2d')],qs['fields'](_0x12fd17[_0xc99f('0x29')]['fields']));_0x3cf685[_0xc99f('0x2b')]=_0x3cf685['attributes'][_0xc99f('0x27')]?_0x3cf685[_0xc99f('0x2b')]:_0x30d187[_0xc99f('0x2d')];if(!_0x12fd17[_0xc99f('0x29')]['hasOwnProperty'](_0xc99f('0x30'))){_0x3cf685[_0xc99f('0x14')]=qs[_0xc99f('0x14')](_0x12fd17['query'][_0xc99f('0x14')]);_0x3cf685[_0xc99f('0x16')]=qs[_0xc99f('0x16')](_0x12fd17[_0xc99f('0x29')][_0xc99f('0x16')]);}_0x3cf685[_0xc99f('0x31')]=qs['sort'](_0x12fd17[_0xc99f('0x29')][_0xc99f('0x32')]);_0x3cf685[_0xc99f('0x33')]=qs['filters'](_[_0xc99f('0x34')](_0x12fd17[_0xc99f('0x29')],_0x30d187[_0xc99f('0x2a')]));_0x3cf685['where'][_0xc99f('0xc6')]=_0x5cc356['id'];if(_0x12fd17['query'][_0xc99f('0x51')]){_0x3cf685['where']=_[_0xc99f('0x76')](_0x3cf685[_0xc99f('0x33')],{'$or':_['map'](_0x3cf685[_0xc99f('0x2b')],function(_0x9e1dba){var _0x1c678b={};_0x1c678b[_0x9e1dba]={'$like':'%'+_0x12fd17[_0xc99f('0x29')][_0xc99f('0x51')]+'%'};return _0x1c678b;})});}_0x3cf685=_['merge']({},_0x3cf685,_0x12fd17[_0xc99f('0xc2')]);return db['JscriptySessionReport'][_0xc99f('0x15')]({'where':_0x3cf685[_0xc99f('0x33')]})[_0xc99f('0x1a')](function(_0x1c3434){_0x251ada[_0xc99f('0x15')]=_0x1c3434;if(_0x12fd17[_0xc99f('0x29')][_0xc99f('0xc7')]){_0x3cf685[_0xc99f('0xc8')]=[{'all':!![]}];}return db[_0xc99f('0xa9')][_0xc99f('0x88')](_0x3cf685);})[_0xc99f('0x1a')](function(_0x1ea03c){_0x251ada['rows']=_0x1ea03c;return _0x251ada;});}})[_0xc99f('0x1a')](respondWithFilteredResult(_0x88557c,_0x3cf685))[_0xc99f('0x82')](handleError(_0x88557c,null));};exports[_0xc99f('0xcc')]=function(_0x164ac6,_0x4d43d2){try{if(!_0x164ac6[_0xc99f('0x8e')]['ListId']){throw new Error(_0xc99f('0xcd'));}if(!_0x164ac6[_0xc99f('0x8e')][_0xc99f('0xce')]){throw new Error(_0xc99f('0xcf'));}if(!_0x164ac6[_0xc99f('0x8e')]['binding_values']){throw new Error('No\x20association\x20values\x20specified!');}if(!_0x164ac6[_0xc99f('0x8e')][_0xc99f('0xd0')]){throw new Error(_0xc99f('0xd1'));}var _0x15ce8d=_0x164ac6['body'][_0xc99f('0xce')][_0xc99f('0x44')](',');var _0x7f3f54=_0x164ac6[_0xc99f('0x8e')][_0xc99f('0xd2')]['split'](',');if(!_0x15ce8d[_0xc99f('0x27')]||!_0x7f3f54[_0xc99f('0x27')]||_0x15ce8d[_0xc99f('0x27')]!==_0x7f3f54['length']){throw new Error(_0xc99f('0xd3'));}_0x164ac6[_0xc99f('0x8e')]['fields']=_[_0xc99f('0xd4')](_0x15ce8d,_0x7f3f54);if(!_0x164ac6[_0xc99f('0x8e')][_0xc99f('0x2e')][_0xc99f('0xbe')]){throw new Error(_0xc99f('0xd5'));}if(!_0x164ac6['body'][_0xc99f('0x2e')][_0xc99f('0xd6')]){throw new Error(_0xc99f('0xd7'));}var _0x48e957=path[_0xc99f('0xad')](config[_0xc99f('0xd8')],_0xc99f('0xd9'),_0x164ac6[_0xc99f('0xda')][_0xc99f('0xdb')]);fs[_0xc99f('0xdc')](_0x48e957,parseInt('0777',0x8));var _0x2b6c7e=require(_0xc99f('0xdd'))[_0xc99f('0xde')](path[_0xc99f('0xad')](__dirname,_0xc99f('0xdf')),[_0x48e957,_0x164ac6['body'][_0xc99f('0xce')],_0x164ac6[_0xc99f('0x8e')]['binding_values'],_0x164ac6[_0xc99f('0x8e')][_0xc99f('0x55')],_0x164ac6['body'][_0xc99f('0xe0')],_0x164ac6[_0xc99f('0x8e')][_0xc99f('0xb0')],_0x164ac6['body'][_0xc99f('0xd0')]]);return _0x4d43d2['status'](0xc8)['json']({'message':_0xc99f('0xe1'),'pid':_0x2b6c7e['pid']});}catch(_0x75792e){return _0x4d43d2[_0xc99f('0x11')](0x1f4)[_0xc99f('0x20')](_0x75792e);}};exports[_0xc99f('0xe2')]=function(_0xe54ded,_0x378836){var _0x5eb54f=fs[_0xc99f('0xe3')](_0xe54ded[_0xc99f('0xda')][_0xc99f('0x3')]);Papa['parse'](_0x5eb54f,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x55f718){return _0x378836[_0xc99f('0x11')](0xc8)[_0xc99f('0x12')]({'file':_0xe54ded[_0xc99f('0xda')],'fields':_0x55f718['meta']['fields']});}});};exports['import']=function(_0x2a2665,_0x14217b){return db[_0xc99f('0x47')][_0xc99f('0x88')]({'raw':!![],'attributes':['id'],'where':{'role':_0xc99f('0x6f')}})[_0xc99f('0x1a')](function(_0x2cc19e){var _0x1d9dfa=![];if(!_0x2a2665['body'][_0xc99f('0x55')]){throw new Error(_0xc99f('0xcd'));}if(!_0x2a2665[_0xc99f('0x8e')][_0xc99f('0xe4')][_0xc99f('0xbe')]){throw new Error('No\x20phone\x20column\x20specified');}if(!_0x2a2665['body'][_0xc99f('0xe4')][_0xc99f('0xd6')]){throw new Error(_0xc99f('0xd7'));}if(!_0x2a2665[_0xc99f('0x8e')][_0xc99f('0xd0')]){throw new Error(_0xc99f('0xd1'));}var _0x33cdad=require(_0xc99f('0xdd'))[_0xc99f('0xde')](path[_0xc99f('0xad')](__dirname,_0xc99f('0xe5')),[_0x2a2665[_0xc99f('0xb4')]['id'],JSON[_0xc99f('0xe6')](_0x2a2665[_0xc99f('0x8e')]),JSON['stringify'](_0x2cc19e)]);_0x33cdad['on'](_0xc99f('0xe7'),function(){_0x1d9dfa=!![];return _0x14217b['status'](0xc8)['json']({'message':_0xc99f('0xe8'),'pid':_0x33cdad[_0xc99f('0xe9')]});});_0x33cdad['on'](_0xc99f('0xea'),function(_0x526209){if(_0x526209&&!_0x1d9dfa){return _0x14217b[_0xc99f('0x11')](0x1f4)[_0xc99f('0x12')]({'message':_0xc99f('0xeb'),'pid':_0x33cdad['pid']});}});})[_0xc99f('0x82')](handleError(_0x14217b,null));};exports[_0xc99f('0xec')]=function(_0x3e7e8f,_0xf14523){var _0x2b417b=[_0xc99f('0xed'),'chat',_0xc99f('0xee'),_0xc99f('0xef'),_0xc99f('0xf0'),_0xc99f('0xf1'),'voice'];var _0x299f39={'offset':0x0,'order':qs['sort']('-createdAt')},_0x1ed542={'count':0x0,'rows':[]};Promise['resolve']()[_0xc99f('0x1a')](function(){if(_0x3e7e8f[_0xc99f('0x29')][_0xc99f('0xf2')]){if(!_[_0xc99f('0xf3')](_0x2b417b,_0x3e7e8f[_0xc99f('0x29')][_0xc99f('0xf2')][_0xc99f('0xf4')]())){throw new Error('Invalid\x20channel');}_0x2b417b=[_0x3e7e8f[_0xc99f('0x29')][_0xc99f('0xf2')][_0xc99f('0xf4')]()];}if(_0x3e7e8f['query'][_0xc99f('0xf5')]){try{var _0x19cc8d=JSON[_0xc99f('0xf6')](_0x3e7e8f[_0xc99f('0x29')][_0xc99f('0xf5')]);if(!moment(_0x19cc8d['from'])[_0xc99f('0xf7')]()){throw new Error(_0xc99f('0xf8'));}if(!moment(_0x19cc8d['to'])['isValid']()){throw new Error('Invalid\x20date\x20for\x20range\x20to\x20filter');}}catch(_0x830379){throw new Error(_0xc99f('0xf9'));}}if(!_0x3e7e8f[_0xc99f('0x29')][_0xc99f('0x2f')](_0xc99f('0x30'))){_0x299f39['limit']=qs[_0xc99f('0x14')](_0x3e7e8f[_0xc99f('0x29')]['limit']||0xa);_0x299f39[_0xc99f('0x16')]=qs['offset'](_0x3e7e8f[_0xc99f('0x29')][_0xc99f('0x16')]);}var _0x2d1962=_0x2b417b[_0xc99f('0x50')](function(_0x5338ad){if(_0x5338ad==='voice'){var _0x232c08={'attributes':['id',_0xc99f('0xfa'),_0xc99f('0x8c'),'source',_0xc99f('0xfb'),_0xc99f('0xfc'),_0xc99f('0xfd'),_0xc99f('0xfe'),_0xc99f('0xff'),_0xc99f('0x100'),_0xc99f('0x101'),'userDisposition',_0xc99f('0x102'),_0xc99f('0x103'),_0xc99f('0x104')],'where':{'ContactId':_0x3e7e8f[_0xc99f('0xb4')]['id']},'include':[{'model':db[_0xc99f('0x47')],'as':_0xc99f('0x47'),'attributes':['id','name',_0xc99f('0x105'),'alias']}],'order':[['createdAt','DESC']]};if(_0x3e7e8f['query']['range']){_0x232c08['where'][_0xc99f('0x101')]={'$gte':_0x19cc8d[_0xc99f('0x38')],'$lte':_0x19cc8d['to']};}return db[_0xc99f('0xa3')][_0xc99f('0x106')](_0x232c08)[_0xc99f('0x1a')](function(_0x14a587){_0x1ed542[_0xc99f('0x15')]+=_0x14a587[_0xc99f('0x15')];return _['map'](_0x14a587['rows'],function(_0x4e628b){var _0x4fb4d1=_0x4e628b[_0xc99f('0x8f')]({'plain':!![]});_0x4fb4d1['channel']=_0x5338ad;if(_0x4fb4d1[_0xc99f('0x47')]){_0x4fb4d1[_0xc99f('0x47')]={'id':_0x4fb4d1[_0xc99f('0x47')]['id'],'name':_0x4fb4d1[_0xc99f('0x47')][_0xc99f('0x1f')],'fullname':_0x4fb4d1[_0xc99f('0x47')][_0xc99f('0x105')],'alias':_0x4fb4d1[_0xc99f('0x47')]['alias']};}return _0x4fb4d1;});});}else{var _0x5e014b=_[_0xc99f('0x107')](_0x5338ad)+(_0x5338ad===_0xc99f('0x108')?_0xc99f('0x109'):_0xc99f('0x10a'));var _0x6de210={'attributes':['id',_0xc99f('0x10b'),'closedAt',_0xc99f('0x101'),_0xc99f('0x100'),_0xc99f('0x10c'),_0xc99f('0x10d'),_0xc99f('0x10e'),'UserId',_0x5e014b+'Id'],'where':{'ContactId':_0x3e7e8f[_0xc99f('0xb4')]['id']},'include':[{'model':db[_0x5e014b],'as':_0xc99f('0x10a'),'attributes':['id',_0xc99f('0x1f'),_0xc99f('0x10f')]},{'model':db['User'],'as':_0xc99f('0x110'),'attributes':['id',_0xc99f('0x1f'),_0xc99f('0x105')]},{'model':db[_0xc99f('0x43')],'as':_0xc99f('0x80'),'attributes':['id',_0xc99f('0x1f'),'color'],'through':{'attributes':[]}}],'order':[[_0xc99f('0x101'),_0xc99f('0x111')]]};if(_0x3e7e8f['query'][_0xc99f('0xf5')]){_0x6de210['where'][_0xc99f('0x101')]={'$gte':_0x19cc8d[_0xc99f('0x38')],'$lte':_0x19cc8d['to']};}switch(_0x5338ad){case'chat':_0x6de210[_0xc99f('0x2b')][_0xc99f('0x81')](_0xc99f('0x112'),_0xc99f('0x113'),_0xc99f('0x114'),_0xc99f('0x115'),'osName',_0xc99f('0x116'),_0xc99f('0x117'),'ratingValue',_0xc99f('0x118'));break;case'mail':_0x6de210[_0xc99f('0x2b')][_0xc99f('0x81')](_0xc99f('0x119'),_0xc99f('0x11a'));break;case _0xc99f('0xef'):_0x6de210['attributes']['push'](_0xc99f('0x11b'),_0xc99f('0x11c'));break;}return db[_[_0xc99f('0x107')](_0x5338ad)+_0xc99f('0x11d')][_0xc99f('0x106')](_0x6de210)[_0xc99f('0x1a')](function(_0x9387ee){_0x1ed542[_0xc99f('0x15')]+=_0x9387ee[_0xc99f('0x15')];return _[_0xc99f('0x50')](_0x9387ee[_0xc99f('0xc9')],function(_0x143fae){var _0x507f17=_0x143fae['get']({'plain':!![]});_0x507f17['channel']=_0x5338ad;if(_0x507f17[_0xc99f('0x110')]){_0x507f17[_0xc99f('0x110')]={'id':_0x507f17['Owner']['id'],'name':_0x507f17[_0xc99f('0x110')][_0xc99f('0x1f')],'fullname':_0x507f17[_0xc99f('0x110')]['fullname']};}return _0x507f17;});});}});return Promise[_0xc99f('0x26')](_0x2d1962);})[_0xc99f('0x1a')](function(_0x555845){return _(_0x555845)[_0xc99f('0x11e')]()[_0xc99f('0x11f')](_0xc99f('0x101'))[_0xc99f('0x120')]()[_0xc99f('0x49')]();})['then'](function(_0x2e10aa){_0x1ed542[_0xc99f('0xc9')]=_0x299f39[_0xc99f('0x14')]?_0x2e10aa['slice'](_0x299f39[_0xc99f('0x16')],_0x299f39[_0xc99f('0x16')]+_0x299f39[_0xc99f('0x14')]):_0x2e10aa;return _0x1ed542;})[_0xc99f('0x1a')](respondWithFilteredResult(_0xf14523,_0x299f39))[_0xc99f('0x82')](handleError(_0xf14523,null));};