0fe9c79359e2c9209e539b705189dd9ad7d8d1fe
[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 _0x37bc=['rawAttributes','pick','ContactId','include','CmHopperHistory','includeAll','rows','getJscriptySessions','uploadCsv','No\x20ListId\x20specified','No\x20association\x20keys\x20specified!','binding_values','No\x20association\x20values\x20specified!','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','binding_keys','split','No\x20phone\x20column\x20specified','No\x20firstName\x20column\x20specified','root','server/files/tmp','filename','chmodSync','0777','child_process','fork','../../components/import/cm/csv','CompanyId','File\x20uploaded\x20correctly!','pid','send','upload','createReadStream','parse','file','meta','agent','binding','socket_timestamp','../../components/import/cm/csv2','stringify','message','start\x20child\x20process\x20correctly!','exit','error\x20child\x20process','importUpdates','User','firstName','../../components/import/cm/csvUpdates','mail','chat','sms','fax','whatsapp','voice','-createdAt','resolve','includes','channel','toLowerCase','range','isValid','Invalid\x20date\x20for\x20range\x20from\x20filter','Invalid\x20createdAt\x20filter','source','destination','callerid','duration','note','createdAt','userSecondDisposition','UserId','fullname','alias','DESC','Website','closed','disposition','secondDisposition','thirdDisposition','Account','key','Owner','browserName','customerIp','deviceModel','osName','ratingMessage','ratingValue','referer','subject','substatus','openchannel','externalUrl','threadId','startCase','reverse','slice','moment','bluebird','util','path','lodash','squel','ioredis','api','../../config/environment/shared','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./cmContact.socket','status','json','offset','undefined','count','limit','set','Content-Range','destroy','then','end','sendStatus','stack','name','index','describe','getOptions','findAll','user','catch','CmContact','find','params','tags','keys','startsWith','cf_','columnName','query','analytics','CmCustomField','length','custom','type','Custom\x20field\x20%s\x20not\x20found\x20on\x20cm_contacts\x20table','forEach','merge','body','get','mergeWith','info','[CmContact][merge]\x20to\x20%s\x20from\x20%s','from','CmHopper','CmHopperBlack','[CmContact][merge][destroy][CmHopperBlack],\x20%s','create','ChatInteraction','update','ChatOfflineMessage','MailInteraction','MailMessage','SmsMessage','FaxInteraction','FaxMessage','OpenchannelInteraction','CmContactHasItem','CmHopperFinal','VoiceCallReport','ChatQueueReport','FaxQueueReport','MailQueueReport','OpenchannelQueueReport','SmsQueueReport','JscriptySessionReport','WhatsappInteraction','WhatsappMessage','WhatsappQueueReport','isArray','join','isNil','dialTimezone','timezones','utcOffset','additionalPhones','bulkCreate','each','duplicates','push','where','ListId','spread','hasOwnProperty','contact','all','show','Tag','Tags','color','tag','Phones','ContactItemType','literal','Phones.OrderBy','$and','omit','pickBy','format','cf_%d','isEmpty','cm_contacts','setFields','toParam','text','values','phone','findOne','filters','intersection','model','fields','attributes','order','sort','filter','map','options','getTags','nolimit','setTags','ids','setAdditionalPhones','items','item_types','ItemTypeId','description','OrderBy','PHONE','CmHopperAdditionalPhone','`ItemType`.OrderBy','CmHopperId','item','ItemType.OrderBy','ItemType','getAdditionalPhones','sequelize','fromContactId','CmContactId','toContactId','rescheduleAdditionalPhones','hopperId','getHoppers'];(function(_0x45406b,_0x5d1136){var _0x4e3cdd=function(_0x253a1e){while(--_0x253a1e){_0x45406b['push'](_0x45406b['shift']());}};_0x4e3cdd(++_0x5d1136);}(_0x37bc,0x15f));var _0xc37b=function(_0x192ed5,_0x1b3974){_0x192ed5=_0x192ed5-0x0;var _0x3f178b=_0x37bc[_0x192ed5];return _0x3f178b;};'use strict';var moment=require(_0xc37b('0x0'));var BPromise=require(_0xc37b('0x1'));var util=require(_0xc37b('0x2'));var path=require(_0xc37b('0x3'));var fs=require('fs');var _=require(_0xc37b('0x4'));var squel=require(_0xc37b('0x5'));var Papa=require('papaparse');var Redis=require(_0xc37b('0x6'));var contacts=require('../../components/contacts');var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0xc37b('0x7'));var config=require('../../config/environment');var shared=require(_0xc37b('0x8'));var db=require(_0xc37b('0x9'))['db'];config[_0xc37b('0xa')]=_[_0xc37b('0xb')](config['redis'],{'host':_0xc37b('0xc'),'port':0x18eb});var socket=require(_0xc37b('0xd'))(new Redis(config[_0xc37b('0xa')]));require(_0xc37b('0xe'))['register'](socket);function respondWithResult(_0xea9e81,_0xc4234f){_0xc4234f=_0xc4234f||0xc8;return function(_0x60e9a5){if(_0x60e9a5){return _0xea9e81[_0xc37b('0xf')](_0xc4234f)[_0xc37b('0x10')](_0x60e9a5);}};}function respondWithFilteredResult(_0x2684de,_0x4aeeb5){return function(_0x209585){if(_0x209585){var _0x52085d=typeof _0x4aeeb5[_0xc37b('0x11')]===_0xc37b('0x12')&&typeof _0x4aeeb5['limit']===_0xc37b('0x12');var _0x204c7c=_0x209585[_0xc37b('0x13')];var _0xb09fa2=_0x52085d?0x0:_0x4aeeb5[_0xc37b('0x11')];var _0xaa4bfa=_0x52085d?_0x209585[_0xc37b('0x13')]:_0x4aeeb5[_0xc37b('0x11')]+_0x4aeeb5[_0xc37b('0x14')];var _0x2f2bd1;if(_0xaa4bfa>=_0x204c7c){_0xaa4bfa=_0x204c7c;_0x2f2bd1=0xc8;}else{_0x2f2bd1=0xce;}_0x2684de[_0xc37b('0xf')](_0x2f2bd1);return _0x2684de[_0xc37b('0x15')](_0xc37b('0x16'),_0xb09fa2+'-'+_0xaa4bfa+'/'+_0x204c7c)[_0xc37b('0x10')](_0x209585);}return null;};}function saveUpdates(_0x3ddfb8){return function(_0x89c8a8){if(_0x89c8a8){return _0x89c8a8['update'](_0x3ddfb8)['then'](function(_0x587f99){return _0x587f99;});}return null;};}function removeEntity(_0x12a776){return function(_0x471054){if(_0x471054){return _0x471054[_0xc37b('0x17')]()[_0xc37b('0x18')](function(){_0x12a776[_0xc37b('0xf')](0xcc)[_0xc37b('0x19')]();});}};}function handleEntityNotFound(_0x425a77){return function(_0x31ae38){if(!_0x31ae38){_0x425a77[_0xc37b('0x1a')](0x194);}return _0x31ae38;};}function handleError(_0xc15854,_0x2bde68){_0x2bde68=_0x2bde68||0x1f4;return function(_0x5a3188){logger['error'](_0x5a3188[_0xc37b('0x1b')]);if(_0x5a3188[_0xc37b('0x1c')]){delete _0x5a3188[_0xc37b('0x1c')];}_0xc15854[_0xc37b('0xf')](_0x2bde68)['send'](_0x5a3188);};}exports[_0xc37b('0x1d')]=function(_0x251d65,_0xe4449){var _0x29234e={};return contacts[_0xc37b('0x1e')]()[_0xc37b('0x18')](function(_0x4fc52c){_0x29234e=qs[_0xc37b('0x1f')](_0x4fc52c,_0x251d65);return contacts[_0xc37b('0x20')](_0x251d65['query'],_0x251d65[_0xc37b('0x21')],_0x29234e,_0x4fc52c);})[_0xc37b('0x18')](respondWithFilteredResult(_0xe4449,_0x29234e))[_0xc37b('0x22')](handleError(_0xe4449,null));};exports[_0xc37b('0x17')]=function(_0x3da7b8,_0x27b0ed){return db[_0xc37b('0x23')][_0xc37b('0x24')]({'where':{'id':_0x3da7b8[_0xc37b('0x25')]['id']}})[_0xc37b('0x18')](handleEntityNotFound(_0x27b0ed,null))['then'](removeEntity(_0x27b0ed,null))['catch'](handleError(_0x27b0ed,null));};exports[_0xc37b('0x1e')]=function(_0x30f0bf,_0x56acf8){return db[_0xc37b('0x23')]['describe']()[_0xc37b('0x18')](function(_0x682ae7){delete _0x682ae7[_0xc37b('0x26')];for(var _0x5e0de8=0x0;_0x5e0de8<Object[_0xc37b('0x27')](_0x682ae7)['length'];_0x5e0de8++){var _0x127a99=Object[_0xc37b('0x27')](_0x682ae7)[_0x5e0de8];if(!_[_0xc37b('0x28')](_0x127a99,_0xc37b('0x29'))){_0x682ae7[_0x127a99][_0xc37b('0x2a')]=_0x127a99;_0x682ae7[_0x127a99]['displayName']=_0x127a99;}}return _0x682ae7;})[_0xc37b('0x18')](function(_0x952e0e){var _0x2eee5d={'where':Boolean(_0x30f0bf[_0xc37b('0x2b')][_0xc37b('0x2c')])===!![]?undefined:{'$or':[{'ListId':_0x30f0bf['query']['id']},{'ListId':null}]},'raw':!![]};return db[_0xc37b('0x2d')]['findAll'](_0x2eee5d)[_0xc37b('0x18')](function(_0x2c8fc1){for(var _0x55bf04=0x0;_0x55bf04<_0x2c8fc1[_0xc37b('0x2e')];_0x55bf04++){var _0xd60fd3='cf_'+_0x2c8fc1[_0x55bf04]['id'];if(_0x952e0e[_0xd60fd3]){_0x952e0e[_0xd60fd3][_0xc37b('0x2a')]=_0xd60fd3;_0x952e0e[_0xd60fd3]['displayName']=_0x2c8fc1[_0x55bf04]['alias'];_0x952e0e[_0xd60fd3][_0xc37b('0x2f')]={'type':_0x2c8fc1[_0x55bf04][_0xc37b('0x30')],'values':_0x2c8fc1[_0x55bf04]['values']};}else{logger['info'](_0xc37b('0x31'),_0xd60fd3);}}Object[_0xc37b('0x27')](_0x952e0e)[_0xc37b('0x32')](function(_0x2e5c59){if(!_0x952e0e[_0x2e5c59]['hasOwnProperty'](_0xc37b('0x2a'))){delete _0x952e0e[_0x2e5c59];}});return _0x952e0e;});})[_0xc37b('0x18')](respondWithResult(_0x56acf8,null))[_0xc37b('0x22')](handleError(_0x56acf8,null));};exports[_0xc37b('0x33')]=function(_0x5503e6,_0x4d0dea){var _0x359592;var _0x25a80c;var _0xe76b39;if(_0x5503e6['body']['id']){delete _0x5503e6[_0xc37b('0x34')]['id'];}return db[_0xc37b('0x23')]['findAll']({'where':{'id':[_0x5503e6[_0xc37b('0x34')]['to'],_0x5503e6[_0xc37b('0x34')]['from']]}})['then'](function(_0x2c5426){if(_0x2c5426){if(_0x2c5426['length']!==0x2){return null;}_0x2c5426[0x0]=_0x2c5426[0x0][_0xc37b('0x35')]({'plain':!![]});_0x2c5426[0x1]=_0x2c5426[0x1][_0xc37b('0x35')]({'plain':!![]});delete _0x2c5426[0x0]['id'];delete _0x2c5426[0x1]['id'];return _[_0xc37b('0x36')](_0x2c5426[0x0],_0x2c5426[0x1],function(_0x377df9,_0x26e9f2){if(Array['isArray'](_0x26e9f2)&&!_0x26e9f2[_0xc37b('0x2e')]){return _0x377df9;}else if(!_0x26e9f2){return _0x377df9;}});}})[_0xc37b('0x18')](handleEntityNotFound(_0x4d0dea,null))[_0xc37b('0x18')](function(_0x33fdac){if(_0x33fdac){if(_0x33fdac[_0xc37b('0x26')]&&_['isArray'](_0x33fdac['tags'])){_0x33fdac[_0xc37b('0x26')]=_0x33fdac['tags']['join']();}logger[_0xc37b('0x37')](_0xc37b('0x38'),_0x5503e6[_0xc37b('0x34')]['to'],_0x5503e6[_0xc37b('0x34')][_0xc37b('0x39')]);return db[_0xc37b('0x3a')][_0xc37b('0x17')]({'where':{'ContactId':[_0x5503e6[_0xc37b('0x34')]['to'],_0x5503e6['body'][_0xc37b('0x39')]]}})[_0xc37b('0x18')](function(_0x15d112){logger[_0xc37b('0x37')]('[CmContact][merge][destroy][CmHopper],\x20%s',_0x15d112);return db[_0xc37b('0x3b')][_0xc37b('0x17')]({'where':{'ContactId':[_0x5503e6['body']['to'],_0x5503e6[_0xc37b('0x34')][_0xc37b('0x39')]]}})['then'](function(_0x5107cd){logger[_0xc37b('0x37')](_0xc37b('0x3c'),_0x5107cd);return db['CmContact'][_0xc37b('0x3d')](_0x33fdac);});});}})['then'](function(_0x3c0de9){if(_0x3c0de9){_0x359592=_0x3c0de9;_0x25a80c={'ContactId':_0x359592['id']};_0xe76b39={'where':{'ContactId':[_0x5503e6[_0xc37b('0x34')]['to'],_0x5503e6[_0xc37b('0x34')][_0xc37b('0x39')]]}};return db[_0xc37b('0x3e')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db['ChatMessage'][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x40')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x41')]['update'](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x42')]['update'](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x41')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x42')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db['SmsInteraction'][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})['then'](function(){if(_0x359592){return db[_0xc37b('0x43')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})['then'](function(){if(_0x359592){return db[_0xc37b('0x44')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x45')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x46')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db['OpenchannelMessage'][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x47')][_0xc37b('0x3f')]({'CmContactId':_0x359592['id']},{'where':{'CmContactId':[_0x5503e6[_0xc37b('0x34')]['to'],_0x5503e6['body']['from']]}});}})['then'](function(){if(_0x359592){return db[_0xc37b('0x48')]['update'](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db['CmHopperHistory'][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db['ReportAgentPreview'][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x49')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x4a')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x4b')]['update'](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x4c')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x4d')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})['then'](function(){if(_0x359592){return db[_0xc37b('0x4e')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x4f')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x50')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})['then'](function(){if(_0x359592){return db[_0xc37b('0x51')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})[_0xc37b('0x18')](function(){if(_0x359592){return db[_0xc37b('0x52')][_0xc37b('0x3f')](_0x25a80c,_0xe76b39);}})['then'](function(){if(_0x359592){return db[_0xc37b('0x23')][_0xc37b('0x17')]({'where':{'id':[_0x5503e6[_0xc37b('0x34')]['to'],_0x5503e6[_0xc37b('0x34')][_0xc37b('0x39')]]}});}})[_0xc37b('0x18')](function(){if(_0x359592){return _0x359592;}})[_0xc37b('0x18')](respondWithResult(_0x4d0dea,null))[_0xc37b('0x22')](handleError(_0x4d0dea,null));};exports['create']=function(_0x10ae14,_0x1ec536){return db[_0xc37b('0x23')][_0xc37b('0x1e')]()[_0xc37b('0x18')](function(_0x4deb11){if(_0x10ae14['body'][_0xc37b('0x26')]&&_[_0xc37b('0x53')](_0x10ae14['body']['tags'])){if(_0x10ae14[_0xc37b('0x34')][_0xc37b('0x26')][_0xc37b('0x2e')]){_0x10ae14[_0xc37b('0x34')][_0xc37b('0x26')]=_0x10ae14[_0xc37b('0x34')][_0xc37b('0x26')][_0xc37b('0x54')](';')+';';}else{_0x10ae14[_0xc37b('0x34')][_0xc37b('0x26')]=null;}}else{_0x10ae14[_0xc37b('0x34')][_0xc37b('0x26')]=null;}if(!_[_0xc37b('0x55')](_0x10ae14[_0xc37b('0x34')][_0xc37b('0x56')])){var _0x6b46f0=_0x10ae14['body'][_0xc37b('0x56')];if(!_[_0xc37b('0x55')](shared[_0xc37b('0x57')][_0x6b46f0]))_0x10ae14[_0xc37b('0x34')][_0xc37b('0x58')]=shared['timezones'][_0x6b46f0][_0xc37b('0x58')];}return db[_0xc37b('0x23')]['create'](_0x10ae14[_0xc37b('0x34')],{'fields':_['keys'](_0x4deb11),'raw':!![]});})['then'](function(_0x352dd2){if(_0x10ae14[_0xc37b('0x34')][_0xc37b('0x59')]){return insertAdditionalPhones(_0x352dd2,_0x10ae14[_0xc37b('0x34')]['additionalPhones']);}else{return _0x352dd2;}})[_0xc37b('0x18')](respondWithResult(_0x1ec536,0xc9))[_0xc37b('0x22')](handleError(_0x1ec536,null));};exports[_0xc37b('0x5a')]=function(_0x1ac148,_0x10600a){var _0x1a8cbc=0x0;var _0x25d6c2=0x0;var _0x4e9efe=0x0;var _0x3fdfe4=[];return db['CmContact']['describe']()['then'](function(_0x2506ce){return BPromise[_0xc37b('0x5b')](_0x1ac148[_0xc37b('0x34')],function(_0x3f93f5){var _0x3c6e1e={'where':{'$or':[]},'defaults':_0x3f93f5,'fields':_[_0xc37b('0x27')](_0x2506ce),'raw':!![]};if(_0x3f93f5[_0xc37b('0x5c')]){for(var _0x5052b2=0x0;_0x5052b2<_0x3f93f5[_0xc37b('0x5c')][_0xc37b('0x2e')];_0x5052b2++){var _0x2ba337={};_0x2ba337[_0x3f93f5['duplicates'][_0x5052b2]]=_0x3f93f5[_0x3f93f5[_0xc37b('0x5c')][_0x5052b2]];_0x3c6e1e['where']['$or'][_0xc37b('0x5d')](_0x2ba337);}_0x3c6e1e[_0xc37b('0x5e')][_0xc37b('0x5f')]=_0x3f93f5[_0xc37b('0x5f')];}return db[_0xc37b('0x23')]['findOrCreate'](_0x3c6e1e)[_0xc37b('0x60')](function(_0x121b8b,_0x310a7b){if(_0x310a7b){if(_0x3f93f5[_0xc37b('0x61')](_0xc37b('0x59'))){_0x3fdfe4['push']({'contact':_0x121b8b,'additionalPhones':_0x3f93f5[_0xc37b('0x59')]});}_0x1a8cbc++;}else{_0x4e9efe++;}})['catch'](function(){_0x25d6c2++;});});})['then'](function(_0x19b809){if(_0x19b809){if(_0x3fdfe4[_0xc37b('0x2e')]>0x0){return new Promise(function(_0xf53dbe){var _0x3642c0=[];for(var _0x166ac6=0x0;_0x166ac6<_0x3fdfe4['length'];_0x166ac6++){_0x3642c0[_0xc37b('0x5d')](insertAdditionalPhones(_0x3fdfe4[_0x166ac6][_0xc37b('0x62')],_0x3fdfe4[_0x166ac6]['additionalPhones']));}Promise[_0xc37b('0x63')](_0x3642c0)[_0xc37b('0x18')](function(){_0xf53dbe(0x1);});})[_0xc37b('0x18')](function(){return{'success':_0x1a8cbc,'failure':_0x25d6c2,'duplicates':_0x4e9efe};});}else{return{'success':_0x1a8cbc,'failure':_0x25d6c2,'duplicates':_0x4e9efe};}}})['then'](respondWithResult(_0x10600a,0xc9))[_0xc37b('0x22')](handleError(_0x10600a,null));};exports[_0xc37b('0x64')]=function(_0x13dd90,_0x18bbd9){var _0x198e91;return db[_0xc37b('0x23')][_0xc37b('0x1e')]()[_0xc37b('0x18')](function(_0x26b08c){return db['CmContact'][_0xc37b('0x24')]({'where':{'id':_0x13dd90[_0xc37b('0x25')]['id']},'include':[{'model':db[_0xc37b('0x65')],'as':_0xc37b('0x66'),'attributes':['id',_0xc37b('0x1c'),_0xc37b('0x67')],'required':_0x13dd90[_0xc37b('0x2b')][_0xc37b('0x68')]?!![]:![]},{'model':db[_0xc37b('0x47')],'as':_0xc37b('0x69'),'where':{'CmContactId':_0x13dd90[_0xc37b('0x25')]['id']},'required':![],'include':[{'model':db[_0xc37b('0x6a')],'as':'ItemType'}]}],'order':[db['sequelize'][_0xc37b('0x6b')](_0xc37b('0x6c'))],'attributes':_[_0xc37b('0x27')](_0x26b08c)});})[_0xc37b('0x18')](function(_0x33c091){if(!_[_0xc37b('0x55')](_0x33c091)){_0x198e91=_0x33c091[_0xc37b('0x35')]({'plain':!![]});var _0x4f2b86={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x33c091&&_0x33c091[_0xc37b('0x5f')]){if(_0x33c091[_0xc37b('0x5f')]){_0x4f2b86[_0xc37b('0x5e')][_0xc37b('0x6d')][_0xc37b('0x5d')]({'ListId':{'$ne':_0x33c091['ListId']}});}}return db['CmCustomField'][_0xc37b('0x20')](_0x4f2b86);}})['then'](function(_0x4b4f20){if(!_[_0xc37b('0x55')](_0x4b4f20)){return _[_0xc37b('0x6e')](_0x198e91,_['map'](_0x4b4f20,function(_0x434901){return util['format']('cf_%d',_0x434901['id']);}));}})[_0xc37b('0x18')](handleEntityNotFound(_0x18bbd9,null))[_0xc37b('0x18')](respondWithResult(_0x18bbd9,null))[_0xc37b('0x22')](handleError(_0x18bbd9,null));};exports[_0xc37b('0x3f')]=function(_0x379324,_0x42b1d7){var _0x237a2b;if(_0x379324['body']['id']){delete _0x379324['body']['id'];}if(!_['isNil'](_0x379324[_0xc37b('0x34')][_0xc37b('0x56')])){var _0xdd88d3=_0x379324[_0xc37b('0x34')]['dialTimezone'];if(!_[_0xc37b('0x55')](shared['timezones'][_0xdd88d3]))_0x379324[_0xc37b('0x34')][_0xc37b('0x58')]=shared['timezones'][_0xdd88d3][_0xc37b('0x58')];}return db['CmContact'][_0xc37b('0x24')]({'where':{'id':_0x379324['params']['id']}})[_0xc37b('0x18')](handleEntityNotFound(_0x42b1d7,null))[_0xc37b('0x18')](saveUpdates(_0x379324[_0xc37b('0x34')],null))[_0xc37b('0x18')](function(_0x3e8808){_0x237a2b=_0x3e8808;var _0x503daa={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x3e8808&&_0x3e8808[_0xc37b('0x5f')]){if(_0x3e8808['ListId']){_0x503daa['where'][_0xc37b('0x6d')][_0xc37b('0x5d')]({'ListId':{'$ne':_0x3e8808['ListId']}});}}return db[_0xc37b('0x2d')][_0xc37b('0x20')](_0x503daa);})[_0xc37b('0x18')](function(_0x204780){if(_0x204780){return _['omit'](_[_0xc37b('0x6f')](_0x379324[_0xc37b('0x34')],function(_0x123cb4,_0x2e341c){return _[_0xc37b('0x28')](_0x2e341c,'cf_');}),_['map'](_0x204780,function(_0x2ed46e){return util[_0xc37b('0x70')](_0xc37b('0x71'),_0x2ed46e['id']);}));}})[_0xc37b('0x18')](function(_0x459516){if(_0x459516&&!_[_0xc37b('0x72')](_0x459516)){var _0x1716f7=squel[_0xc37b('0x3f')]()['table'](_0xc37b('0x73'))[_0xc37b('0x74')](_0x459516)[_0xc37b('0x5e')]('id\x20=\x20?',_0x379324['params']['id'])[_0xc37b('0x75')]();return db['sequelize'][_0xc37b('0x2b')](_0x1716f7[_0xc37b('0x76')],{'replacements':_0x1716f7[_0xc37b('0x77')]});}})[_0xc37b('0x18')](function(){if(_0x379324['body'][_0xc37b('0x78')]&&_0x237a2b){return db[_0xc37b('0x3a')][_0xc37b('0x3f')]({'phone':_0x379324[_0xc37b('0x34')]['phone'],'OrderBy':0x0},{'where':{'ContactId':_0x237a2b['id']}});}})[_0xc37b('0x18')](function(){return _0x237a2b;})[_0xc37b('0x18')](respondWithResult(_0x42b1d7,null))[_0xc37b('0x22')](handleError(_0x42b1d7,null));};exports['getTags']=function(_0x38b6c7,_0x50a517){var _0x2cb6ca={};var _0x7354b7={};var _0x1d5824;var _0x122fbc;return db['CmContact'][_0xc37b('0x79')]({'where':{'id':_0x38b6c7[_0xc37b('0x25')]['id']}})[_0xc37b('0x18')](handleEntityNotFound(_0x50a517,null))[_0xc37b('0x18')](function(_0x8bfb5c){if(_0x8bfb5c){_0x1d5824=_0x8bfb5c;_0x7354b7['model']=_[_0xc37b('0x27')](db['Tag']['rawAttributes']);_0x7354b7['query']=_[_0xc37b('0x27')](_0x38b6c7['query']);_0x7354b7[_0xc37b('0x7a')]=_[_0xc37b('0x7b')](_0x7354b7[_0xc37b('0x7c')],_0x7354b7['query']);_0x2cb6ca['attributes']=_['intersection'](_0x7354b7[_0xc37b('0x7c')],qs[_0xc37b('0x7d')](_0x38b6c7[_0xc37b('0x2b')][_0xc37b('0x7d')]));_0x2cb6ca[_0xc37b('0x7e')]=_0x2cb6ca[_0xc37b('0x7e')][_0xc37b('0x2e')]?_0x2cb6ca['attributes']:_0x7354b7[_0xc37b('0x7c')];_0x2cb6ca[_0xc37b('0x7f')]=qs[_0xc37b('0x80')](_0x38b6c7[_0xc37b('0x2b')][_0xc37b('0x80')]);_0x2cb6ca['where']=qs['filters'](_['pick'](_0x38b6c7[_0xc37b('0x2b')],_0x7354b7[_0xc37b('0x7a')]));if(_0x38b6c7[_0xc37b('0x2b')][_0xc37b('0x81')]){_0x2cb6ca['where']=_[_0xc37b('0x33')](_0x2cb6ca[_0xc37b('0x5e')],{'$or':_[_0xc37b('0x82')](_0x2cb6ca[_0xc37b('0x7e')],function(_0x1ae472){var _0x27a7fe={};_0x27a7fe[_0x1ae472]={'$like':'%'+_0x38b6c7[_0xc37b('0x2b')][_0xc37b('0x81')]+'%'};return _0x27a7fe;})});}_0x2cb6ca=_[_0xc37b('0x33')]({},_0x2cb6ca,_0x38b6c7[_0xc37b('0x83')]);return _0x1d5824[_0xc37b('0x84')](_0x2cb6ca);}})[_0xc37b('0x18')](function(_0x5f473a){if(_0x5f473a){_0x122fbc=_0x5f473a[_0xc37b('0x2e')];if(!_0x38b6c7[_0xc37b('0x2b')]['hasOwnProperty'](_0xc37b('0x85'))){_0x2cb6ca[_0xc37b('0x14')]=qs[_0xc37b('0x14')](_0x38b6c7[_0xc37b('0x2b')][_0xc37b('0x14')]);_0x2cb6ca[_0xc37b('0x11')]=qs[_0xc37b('0x11')](_0x38b6c7[_0xc37b('0x2b')][_0xc37b('0x11')]);}return _0x1d5824['getTags'](_0x2cb6ca);}})['then'](function(_0x2db0f2){if(_0x2db0f2){return _0x2db0f2?{'count':_0x122fbc,'rows':_0x2db0f2}:null;}})[_0xc37b('0x18')](respondWithResult(_0x50a517,null))[_0xc37b('0x22')](handleError(_0x50a517,null));};exports[_0xc37b('0x86')]=function(_0x48ef56,_0x236f82){if(_0x48ef56[_0xc37b('0x34')]['id']){delete _0x48ef56[_0xc37b('0x34')]['id'];}return db[_0xc37b('0x23')][_0xc37b('0x79')]({'where':{'id':_0x48ef56[_0xc37b('0x25')]['id']}})[_0xc37b('0x18')](handleEntityNotFound(_0x236f82,null))['then'](function(_0x22e854){if(_0x22e854){return _0x22e854[_0xc37b('0x86')](_0x48ef56[_0xc37b('0x34')][_0xc37b('0x87')]||[]);}return null;})[_0xc37b('0x18')](respondWithResult(_0x236f82,null))[_0xc37b('0x22')](handleError(_0x236f82,null));};exports[_0xc37b('0x88')]=function(_0x224bc7,_0x1414b5){var _0x45b624=[];_0x45b624['push'](addAdditionalPhones(_0x224bc7[_0xc37b('0x34')]));Promise['all'](_0x45b624)['then'](function(){_0x45b624=[];_0x45b624['push'](deleteCmHopperPhones(_0x224bc7[_0xc37b('0x34')]['id']));_0x45b624[_0xc37b('0x5d')](addCmHopperPhones(_0x224bc7[_0xc37b('0x34')]['id']));Promise[_0xc37b('0x63')](_0x45b624)[_0xc37b('0x18')](function(){return[0x1];})[_0xc37b('0x18')](respondWithResult(_0x1414b5,null));});};function addAdditionalPhones(_0x42e82b){var _0x283b18;return new Promise(function(_0x1b3fc6){return db[_0xc37b('0x47')]['destroy']({'where':{'CmContactId':_0x42e82b['id']}})[_0xc37b('0x18')](function(){db[_0xc37b('0x6a')][_0xc37b('0x20')]({'raw':!![],'attributes':['id','OrderBy']})['then'](function(_0x451017){var _0x663457=[];for(var _0x39dcdc=0x0;_0x39dcdc<_0x42e82b[_0xc37b('0x89')]['length'];_0x39dcdc++){var _0x100068=_0x42e82b[_0xc37b('0x8a')]?_[_0xc37b('0x55')](_0x42e82b[_0xc37b('0x8a')][_0x39dcdc])?'':_0x42e82b[_0xc37b('0x8a')][_0x39dcdc]:_0x42e82b[_0xc37b('0x89')][_0x39dcdc][_0xc37b('0x8b')]?_0x42e82b['items'][_0x39dcdc][_0xc37b('0x8b')]:'';var _0x423969=_[_0xc37b('0x55')](_0x42e82b[_0xc37b('0x89')][_0x39dcdc][_0xc37b('0x8c')])?'':_0x42e82b[_0xc37b('0x89')][_0x39dcdc][_0xc37b('0x8c')];var _0x1d8936=_0x100068+':'+_0x42e82b[_0xc37b('0x89')][_0x39dcdc][_0xc37b('0x78')]+'ยง'+_0x423969;if(_[_0xc37b('0x55')](_0x283b18))_0x283b18=_0x1d8936;else _0x283b18+=';'+_0x1d8936;var _0x8c7c98=null;var _0x4882f9=null;if(_0x42e82b[_0xc37b('0x8a')]){if(!_[_0xc37b('0x55')](_0x42e82b['item_types'][_0x39dcdc])){_0x4882f9=_[_0xc37b('0x24')](_0x451017,function(_0x41443f){return _0x41443f['id']===_0x42e82b[_0xc37b('0x8a')][_0x39dcdc];});if(!_[_0xc37b('0x55')](_0x4882f9)){_0x8c7c98=_0x4882f9[_0xc37b('0x8d')];}}}else{if(!_['isNil'](_0x42e82b[_0xc37b('0x89')][_0x39dcdc])){_0x4882f9=_[_0xc37b('0x24')](_0x451017,function(_0x55e78a){return _0x55e78a['id']===_0x42e82b[_0xc37b('0x89')][_0x39dcdc]['ItemTypeId'];});if(!_[_0xc37b('0x55')](_0x4882f9)){_0x8c7c98=_0x39dcdc;}}}if(_[_0xc37b('0x55')](_0x8c7c98)){_0x8c7c98=0x64;}_0x663457[_0xc37b('0x5d')](addAdditionalPhone(_0x42e82b['id'],_0x42e82b[_0xc37b('0x89')][_0x39dcdc][_0xc37b('0x78')],_0x42e82b[_0xc37b('0x8a')]?_[_0xc37b('0x55')](_0x42e82b[_0xc37b('0x8a')][_0x39dcdc])?null:_0x42e82b[_0xc37b('0x8a')][_0x39dcdc]:_0x42e82b['items'][_0x39dcdc][_0xc37b('0x8b')]?_0x42e82b[_0xc37b('0x89')][_0x39dcdc][_0xc37b('0x8b')]:null,_0x8c7c98,_0x423969));}Promise[_0xc37b('0x63')](_0x663457)['then'](function(){db[_0xc37b('0x23')][_0xc37b('0x3f')]({'AdditionalPhones':_0x283b18},{'where':{'id':_0x42e82b['id']}})[_0xc37b('0x18')](function(){_0x1b3fc6(0x1);});});});});});}function addAdditionalPhone(_0x502c0b,_0x1d18df,_0x3a2255,_0x3c9069,_0x22bd7b){return db[_0xc37b('0x47')][_0xc37b('0x24')]({'where':{'CmContactId':_0x502c0b,'item':_0x1d18df}})[_0xc37b('0x18')](function(_0x455cbd){if(_0x455cbd)logger[_0xc37b('0x37')]('contact\x20phone\x20exists',_0x455cbd);else{db['CmContactHasItem']['create']({'CmContactId':_0x502c0b,'item':_0x1d18df,'ItemTypeId':_0x3a2255,'OrderBy':_0x3c9069,'ItemClass':_0xc37b('0x8e'),'description':_0x22bd7b});}});}function deleteCmHopperPhones(_0x665cf4){return new Promise(function(_0x3c052e){return db[_0xc37b('0x3a')][_0xc37b('0x20')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x665cf4}})[_0xc37b('0x18')](function(_0x23bdd8){db[_0xc37b('0x8f')][_0xc37b('0x17')]({'where':{'CmHopperId':{'$in':_['map'](_0x23bdd8,'id')}}});})[_0xc37b('0x18')](function(){_0x3c052e(0x1);});});}function addCmHopperPhones(_0x20f858){return new Promise(function(_0x1c93c2){return db['CmHopper'][_0xc37b('0x20')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x20f858}})[_0xc37b('0x18')](function(_0x2e1df5){var _0x38f227=[];_[_0xc37b('0x82')](_0x2e1df5,function(_0x32c319){_0x38f227[_0xc37b('0x5d')](createCmHopperPhone(_0x20f858,_0x32c319['id']));});Promise[_0xc37b('0x63')](_0x38f227)['then'](function(){_0x1c93c2(0x1);});});});}function createCmHopperPhone(_0x491906,_0x17b36c){return new Promise(function(_0x249fc4){db[_0xc37b('0x47')][_0xc37b('0x20')]({'raw':!![],'attributes':['item',_0xc37b('0x8d')],'where':{'CmContactId':_0x491906,'ItemClass':_0xc37b('0x8e')},'include':[{'model':db[_0xc37b('0x6a')],'attributes':['OrderBy'],'as':'ItemType'}],'order':[_0xc37b('0x8d'),db['sequelize'][_0xc37b('0x6b')](_0xc37b('0x90'))]})[_0xc37b('0x18')](function(_0x3bbb31){var _0x164e90=0x1;var _0x317817=_['map'](_0x3bbb31,function(_0x440b4c){_0x440b4c[_0xc37b('0x91')]=_0x17b36c;_0x440b4c[_0xc37b('0x78')]=_0x440b4c[_0xc37b('0x92')];_0x440b4c['OrderBy']=_0x164e90;delete _0x440b4c[_0xc37b('0x93')];_0x164e90=_0x164e90+0x1;return _0x440b4c;});return db['CmHopperAdditionalPhone'][_0xc37b('0x5a')](_0x317817,{});})[_0xc37b('0x18')](function(){_0x249fc4(0x1);});});}function insertAdditionalPhones(_0x3986f7,_0x5a3c11){return new Promise(function(_0x2603af){var _0x4de61f=[];for(var _0x742969=0x0;_0x742969<_0x5a3c11['length'];_0x742969++){var _0x393c0f=_0x5a3c11[_0x742969];_0x4de61f[_0xc37b('0x5d')](parseContactItemType(_0x393c0f));}Promise['all'](_0x4de61f)[_0xc37b('0x18')](function(){var _0x48a08b={'id':_0x3986f7['id'],'items':_0x5a3c11};return addAdditionalPhones(_0x48a08b)[_0xc37b('0x18')](function(){return addCmHopperPhones(_0x3986f7['id']);});})[_0xc37b('0x18')](function(){_0x2603af(_0x3986f7);});});}function parseContactItemType(_0x3f0e83){return new Promise(function(_0x3cb31d){if(_0x3f0e83['hasOwnProperty']('ItemTypeId')){_0x3cb31d(_0x3f0e83);}else{return db[_0xc37b('0x6a')][_0xc37b('0x24')]({'where':{'name':_0x3f0e83[_0xc37b('0x94')]}})['then'](function(_0xba54aa){if(_[_0xc37b('0x55')](_0xba54aa))_0x3f0e83[_0xc37b('0x8b')]=null;else _0x3f0e83[_0xc37b('0x8b')]=_0xba54aa['id'];_0x3cb31d(_0x3f0e83);});}});}exports[_0xc37b('0x95')]=function(_0x19b476,_0x30e664){return db[_0xc37b('0x47')][_0xc37b('0x20')]({'raw':!![],'where':{'CmContactId':_0x19b476[_0xc37b('0x25')]['id'],'ItemClass':_0xc37b('0x8e')},'include':[{'model':db[_0xc37b('0x6a')],'as':_0xc37b('0x94')}],'order':[[_0xc37b('0x8d')],[db[_0xc37b('0x96')][_0xc37b('0x6b')]('`ItemType`.OrderBy')]]})[_0xc37b('0x18')](function(_0x121302){return _0x121302;})[_0xc37b('0x18')](respondWithResult(_0x30e664,null))[_0xc37b('0x22')](handleError(_0x30e664,null));};exports['duplicateAdditionalPhones']=function(_0x43b933,_0x2e257a){return db[_0xc37b('0x47')][_0xc37b('0x20')]({'raw':!![],'where':{'CmContactId':_0x43b933[_0xc37b('0x34')][_0xc37b('0x97')]}})[_0xc37b('0x18')](function(_0x24fd76){var _0x3bfc81=_[_0xc37b('0x82')](_0x24fd76,function(_0x264a85){_0x264a85[_0xc37b('0x98')]=_0x43b933[_0xc37b('0x34')]['toContactId'];return _0x264a85;});return db[_0xc37b('0x47')]['bulkCreate'](_0x3bfc81,{});})['then'](function(){return addCmHopperPhones(_0x43b933['body'][_0xc37b('0x99')]);})[_0xc37b('0x18')](function(){return['ok'];})[_0xc37b('0x18')](respondWithResult(_0x2e257a,null))[_0xc37b('0x22')](handleError(_0x2e257a,null));};exports[_0xc37b('0x9a')]=function(_0x701ed4,_0x4e0d62){var _0x201d9e=[];_0x201d9e[_0xc37b('0x5d')](createCmHopperPhone(_0x701ed4[_0xc37b('0x34')]['id'],_0x701ed4[_0xc37b('0x34')][_0xc37b('0x9b')]));Promise[_0xc37b('0x63')](_0x201d9e)[_0xc37b('0x18')](function(){return[0x1];})[_0xc37b('0x18')](respondWithResult(_0x4e0d62,null));};exports[_0xc37b('0x9c')]=function(_0x25acec,_0xb68ecc){var _0x3a56c3={'raw':![],'where':{}};var _0x4af625={};var _0x3c08c5={'count':0x0,'rows':[]};return db[_0xc37b('0x23')][_0xc37b('0x79')]({'where':{'id':_0x25acec[_0xc37b('0x25')]['id']}})['then'](handleEntityNotFound(_0xb68ecc,null))[_0xc37b('0x18')](function(_0x2c49f4){if(_0x2c49f4){_0x4af625[_0xc37b('0x7c')]=_[_0xc37b('0x27')](db[_0xc37b('0x3a')][_0xc37b('0x9d')]);_0x4af625[_0xc37b('0x2b')]=_['keys'](_0x25acec[_0xc37b('0x2b')]);_0x4af625[_0xc37b('0x7a')]=_[_0xc37b('0x7b')](_0x4af625[_0xc37b('0x7c')],_0x4af625['query']);_0x3a56c3[_0xc37b('0x7e')]=_[_0xc37b('0x7b')](_0x4af625[_0xc37b('0x7c')],qs[_0xc37b('0x7d')](_0x25acec[_0xc37b('0x2b')][_0xc37b('0x7d')]));_0x3a56c3[_0xc37b('0x7e')]=_0x3a56c3['attributes'][_0xc37b('0x2e')]?_0x3a56c3[_0xc37b('0x7e')]:_0x4af625[_0xc37b('0x7c')];if(!_0x25acec['query'][_0xc37b('0x61')]('nolimit')){_0x3a56c3[_0xc37b('0x14')]=qs['limit'](_0x25acec[_0xc37b('0x2b')]['limit']);_0x3a56c3[_0xc37b('0x11')]=qs[_0xc37b('0x11')](_0x25acec[_0xc37b('0x2b')][_0xc37b('0x11')]);}_0x3a56c3[_0xc37b('0x7f')]=qs[_0xc37b('0x80')](_0x25acec['query'][_0xc37b('0x80')]);_0x3a56c3[_0xc37b('0x5e')]=qs[_0xc37b('0x7a')](_[_0xc37b('0x9e')](_0x25acec['query'],_0x4af625[_0xc37b('0x7a')]));_0x3a56c3[_0xc37b('0x5e')][_0xc37b('0x9f')]=_0x2c49f4['id'];if(_0x25acec[_0xc37b('0x2b')][_0xc37b('0x81')]){_0x3a56c3[_0xc37b('0x5e')]=_[_0xc37b('0x33')](_0x3a56c3[_0xc37b('0x5e')],{'$or':_[_0xc37b('0x82')](_0x3a56c3[_0xc37b('0x7e')],function(_0x34594d){var _0x388505={};_0x388505[_0x34594d]={'$like':'%'+_0x25acec[_0xc37b('0x2b')][_0xc37b('0x81')]+'%'};return _0x388505;})});}_0x3a56c3=_['merge']({},_0x3a56c3,_0x25acec['options']);return db[_0xc37b('0x3a')][_0xc37b('0x13')]({'where':_0x3a56c3[_0xc37b('0x5e')]})[_0xc37b('0x18')](function(_0x83ada){_0x3c08c5[_0xc37b('0x13')]=_0x83ada;if(_0x25acec['query']['includeAll']){_0x3a56c3[_0xc37b('0xa0')]=[{'all':!![]}];}return db['CmHopper'][_0xc37b('0x20')](_0x3a56c3);})[_0xc37b('0x18')](function(_0x4fb384){_0x3c08c5['rows']=_0x4fb384;return _0x3c08c5;});}})[_0xc37b('0x18')](respondWithFilteredResult(_0xb68ecc,_0x3a56c3))[_0xc37b('0x22')](handleError(_0xb68ecc,null));};exports['getHopperHistories']=function(_0x4c3f1b,_0x1e3099){var _0x34823e={'raw':!![],'where':{}};var _0x51e1d2={};var _0x32a805={'count':0x0,'rows':[]};return db[_0xc37b('0x23')][_0xc37b('0x79')]({'where':{'id':_0x4c3f1b[_0xc37b('0x25')]['id']}})['then'](handleEntityNotFound(_0x1e3099,null))[_0xc37b('0x18')](function(_0x2f415d){if(_0x2f415d){_0x51e1d2[_0xc37b('0x7c')]=_[_0xc37b('0x27')](db[_0xc37b('0xa1')][_0xc37b('0x9d')]);_0x51e1d2[_0xc37b('0x2b')]=_['keys'](_0x4c3f1b['query']);_0x51e1d2[_0xc37b('0x7a')]=_[_0xc37b('0x7b')](_0x51e1d2[_0xc37b('0x7c')],_0x51e1d2['query']);_0x34823e[_0xc37b('0x7e')]=_[_0xc37b('0x7b')](_0x51e1d2[_0xc37b('0x7c')],qs[_0xc37b('0x7d')](_0x4c3f1b[_0xc37b('0x2b')][_0xc37b('0x7d')]));_0x34823e[_0xc37b('0x7e')]=_0x34823e[_0xc37b('0x7e')][_0xc37b('0x2e')]?_0x34823e['attributes']:_0x51e1d2['model'];if(!_0x4c3f1b[_0xc37b('0x2b')]['hasOwnProperty'](_0xc37b('0x85'))){_0x34823e['limit']=qs['limit'](_0x4c3f1b[_0xc37b('0x2b')][_0xc37b('0x14')]);_0x34823e[_0xc37b('0x11')]=qs[_0xc37b('0x11')](_0x4c3f1b[_0xc37b('0x2b')][_0xc37b('0x11')]);}_0x34823e[_0xc37b('0x7f')]=qs[_0xc37b('0x80')](_0x4c3f1b['query']['sort']);_0x34823e[_0xc37b('0x5e')]=qs[_0xc37b('0x7a')](_[_0xc37b('0x9e')](_0x4c3f1b[_0xc37b('0x2b')],_0x51e1d2['filters']));_0x34823e[_0xc37b('0x5e')][_0xc37b('0x9f')]=_0x2f415d['id'];if(_0x4c3f1b[_0xc37b('0x2b')][_0xc37b('0x81')]){_0x34823e[_0xc37b('0x5e')]=_[_0xc37b('0x33')](_0x34823e[_0xc37b('0x5e')],{'$or':_['map'](_0x34823e[_0xc37b('0x7e')],function(_0x9daf36){var _0x42dce6={};_0x42dce6[_0x9daf36]={'$like':'%'+_0x4c3f1b[_0xc37b('0x2b')]['filter']+'%'};return _0x42dce6;})});}_0x34823e=_[_0xc37b('0x33')]({},_0x34823e,_0x4c3f1b[_0xc37b('0x83')]);return db[_0xc37b('0xa1')]['count']({'where':_0x34823e[_0xc37b('0x5e')]})['then'](function(_0x4031b0){_0x32a805[_0xc37b('0x13')]=_0x4031b0;if(_0x4c3f1b[_0xc37b('0x2b')]['includeAll']){_0x34823e['include']=[{'all':!![]}];}return db['CmHopperHistory'][_0xc37b('0x20')](_0x34823e);})[_0xc37b('0x18')](function(_0x1b764b){_0x32a805['rows']=_0x1b764b;return _0x32a805;});}})[_0xc37b('0x18')](respondWithFilteredResult(_0x1e3099,_0x34823e))[_0xc37b('0x22')](handleError(_0x1e3099,null));};exports['getHopperFinals']=function(_0x5bd4f5,_0x5c2cd1){var _0x51d57b={'raw':!![],'where':{}};var _0x2e8deb={};var _0x214c05={'count':0x0,'rows':[]};return db[_0xc37b('0x23')][_0xc37b('0x79')]({'where':{'id':_0x5bd4f5[_0xc37b('0x25')]['id']}})['then'](handleEntityNotFound(_0x5c2cd1,null))[_0xc37b('0x18')](function(_0x225b13){if(_0x225b13){_0x2e8deb['model']=_['keys'](db[_0xc37b('0x48')][_0xc37b('0x9d')]);_0x2e8deb[_0xc37b('0x2b')]=_[_0xc37b('0x27')](_0x5bd4f5['query']);_0x2e8deb[_0xc37b('0x7a')]=_['intersection'](_0x2e8deb[_0xc37b('0x7c')],_0x2e8deb[_0xc37b('0x2b')]);_0x51d57b[_0xc37b('0x7e')]=_[_0xc37b('0x7b')](_0x2e8deb[_0xc37b('0x7c')],qs[_0xc37b('0x7d')](_0x5bd4f5['query'][_0xc37b('0x7d')]));_0x51d57b[_0xc37b('0x7e')]=_0x51d57b[_0xc37b('0x7e')][_0xc37b('0x2e')]?_0x51d57b[_0xc37b('0x7e')]:_0x2e8deb[_0xc37b('0x7c')];if(!_0x5bd4f5['query'][_0xc37b('0x61')](_0xc37b('0x85'))){_0x51d57b[_0xc37b('0x14')]=qs[_0xc37b('0x14')](_0x5bd4f5['query'][_0xc37b('0x14')]);_0x51d57b['offset']=qs[_0xc37b('0x11')](_0x5bd4f5[_0xc37b('0x2b')][_0xc37b('0x11')]);}_0x51d57b[_0xc37b('0x7f')]=qs[_0xc37b('0x80')](_0x5bd4f5[_0xc37b('0x2b')][_0xc37b('0x80')]);_0x51d57b[_0xc37b('0x5e')]=qs['filters'](_[_0xc37b('0x9e')](_0x5bd4f5[_0xc37b('0x2b')],_0x2e8deb[_0xc37b('0x7a')]));_0x51d57b[_0xc37b('0x5e')][_0xc37b('0x9f')]=_0x225b13['id'];if(_0x5bd4f5[_0xc37b('0x2b')][_0xc37b('0x81')]){_0x51d57b[_0xc37b('0x5e')]=_[_0xc37b('0x33')](_0x51d57b[_0xc37b('0x5e')],{'$or':_['map'](_0x51d57b[_0xc37b('0x7e')],function(_0x2ae823){var _0x1f334f={};_0x1f334f[_0x2ae823]={'$like':'%'+_0x5bd4f5['query'][_0xc37b('0x81')]+'%'};return _0x1f334f;})});}_0x51d57b=_[_0xc37b('0x33')]({},_0x51d57b,_0x5bd4f5['options']);return db[_0xc37b('0x48')][_0xc37b('0x13')]({'where':_0x51d57b[_0xc37b('0x5e')]})['then'](function(_0x2283d8){_0x214c05['count']=_0x2283d8;if(_0x5bd4f5[_0xc37b('0x2b')][_0xc37b('0xa2')]){_0x51d57b[_0xc37b('0xa0')]=[{'all':!![]}];}return db[_0xc37b('0x48')][_0xc37b('0x20')](_0x51d57b);})[_0xc37b('0x18')](function(_0x113ca2){_0x214c05[_0xc37b('0xa3')]=_0x113ca2;return _0x214c05;});}})[_0xc37b('0x18')](respondWithFilteredResult(_0x5c2cd1,_0x51d57b))[_0xc37b('0x22')](handleError(_0x5c2cd1,null));};exports[_0xc37b('0xa4')]=function(_0xf9a0e4,_0x3aac97){var _0x177ba8={'raw':!![],'where':{}};var _0x1460e8={};var _0x43e449={'count':0x0,'rows':[]};return db[_0xc37b('0x23')][_0xc37b('0x79')]({'where':{'id':_0xf9a0e4[_0xc37b('0x25')]['id']}})[_0xc37b('0x18')](handleEntityNotFound(_0x3aac97,null))[_0xc37b('0x18')](function(_0x28d6fb){if(_0x28d6fb){_0x1460e8[_0xc37b('0x7c')]=_[_0xc37b('0x27')](db['JscriptySessionReport']['rawAttributes']);_0x1460e8[_0xc37b('0x2b')]=_[_0xc37b('0x27')](_0xf9a0e4['query']);_0x1460e8[_0xc37b('0x7a')]=_[_0xc37b('0x7b')](_0x1460e8[_0xc37b('0x7c')],_0x1460e8[_0xc37b('0x2b')]);_0x177ba8[_0xc37b('0x7e')]=_[_0xc37b('0x7b')](_0x1460e8[_0xc37b('0x7c')],qs['fields'](_0xf9a0e4[_0xc37b('0x2b')][_0xc37b('0x7d')]));_0x177ba8[_0xc37b('0x7e')]=_0x177ba8[_0xc37b('0x7e')][_0xc37b('0x2e')]?_0x177ba8['attributes']:_0x1460e8['model'];if(!_0xf9a0e4['query']['hasOwnProperty'](_0xc37b('0x85'))){_0x177ba8[_0xc37b('0x14')]=qs['limit'](_0xf9a0e4[_0xc37b('0x2b')][_0xc37b('0x14')]);_0x177ba8[_0xc37b('0x11')]=qs['offset'](_0xf9a0e4[_0xc37b('0x2b')][_0xc37b('0x11')]);}_0x177ba8[_0xc37b('0x7f')]=qs['sort'](_0xf9a0e4['query'][_0xc37b('0x80')]);_0x177ba8[_0xc37b('0x5e')]=qs[_0xc37b('0x7a')](_[_0xc37b('0x9e')](_0xf9a0e4[_0xc37b('0x2b')],_0x1460e8[_0xc37b('0x7a')]));_0x177ba8[_0xc37b('0x5e')][_0xc37b('0x9f')]=_0x28d6fb['id'];if(_0xf9a0e4[_0xc37b('0x2b')][_0xc37b('0x81')]){_0x177ba8[_0xc37b('0x5e')]=_[_0xc37b('0x33')](_0x177ba8[_0xc37b('0x5e')],{'$or':_['map'](_0x177ba8['attributes'],function(_0x24780a){var _0x3a6dee={};_0x3a6dee[_0x24780a]={'$like':'%'+_0xf9a0e4['query'][_0xc37b('0x81')]+'%'};return _0x3a6dee;})});}_0x177ba8=_['merge']({},_0x177ba8,_0xf9a0e4[_0xc37b('0x83')]);return db[_0xc37b('0x4f')][_0xc37b('0x13')]({'where':_0x177ba8[_0xc37b('0x5e')]})[_0xc37b('0x18')](function(_0x4de853){_0x43e449['count']=_0x4de853;if(_0xf9a0e4[_0xc37b('0x2b')][_0xc37b('0xa2')]){_0x177ba8[_0xc37b('0xa0')]=[{'all':!![]}];}return db[_0xc37b('0x4f')][_0xc37b('0x20')](_0x177ba8);})[_0xc37b('0x18')](function(_0x49b2a7){_0x43e449[_0xc37b('0xa3')]=_0x49b2a7;return _0x43e449;});}})['then'](respondWithFilteredResult(_0x3aac97,_0x177ba8))['catch'](handleError(_0x3aac97,null));};exports[_0xc37b('0xa5')]=function(_0x942a5f,_0x2b6651){try{if(!_0x942a5f['body'][_0xc37b('0x5f')]){throw new Error(_0xc37b('0xa6'));}if(!_0x942a5f[_0xc37b('0x34')]['binding_keys']){throw new Error(_0xc37b('0xa7'));}if(!_0x942a5f[_0xc37b('0x34')][_0xc37b('0xa8')]){throw new Error(_0xc37b('0xa9'));}if(!_0x942a5f['body']['socket_timestamp']){throw new Error(_0xc37b('0xaa'));}var _0xb97b9a=_0x942a5f[_0xc37b('0x34')][_0xc37b('0xab')][_0xc37b('0xac')](',');var _0x111626=_0x942a5f[_0xc37b('0x34')][_0xc37b('0xa8')][_0xc37b('0xac')](',');if(!_0xb97b9a[_0xc37b('0x2e')]||!_0x111626[_0xc37b('0x2e')]||_0xb97b9a['length']!==_0x111626[_0xc37b('0x2e')]){throw new Error('Incorrect\x20binding\x20parameters\x20passed!');}_0x942a5f[_0xc37b('0x34')][_0xc37b('0x7d')]=_['zipObject'](_0xb97b9a,_0x111626);if(!_0x942a5f['body'][_0xc37b('0x7d')][_0xc37b('0x78')]){throw new Error(_0xc37b('0xad'));}if(!_0x942a5f[_0xc37b('0x34')]['fields']['firstName']){throw new Error(_0xc37b('0xae'));}var _0xf1a5da=path['join'](config[_0xc37b('0xaf')],_0xc37b('0xb0'),_0x942a5f['file'][_0xc37b('0xb1')]);fs[_0xc37b('0xb2')](_0xf1a5da,parseInt(_0xc37b('0xb3'),0x8));var _0x47739c=require(_0xc37b('0xb4'))[_0xc37b('0xb5')](path[_0xc37b('0x54')](__dirname,_0xc37b('0xb6')),[_0xf1a5da,_0x942a5f['body'][_0xc37b('0xab')],_0x942a5f[_0xc37b('0x34')][_0xc37b('0xa8')],_0x942a5f[_0xc37b('0x34')]['ListId'],_0x942a5f[_0xc37b('0x34')][_0xc37b('0xb7')],_0x942a5f[_0xc37b('0x34')][_0xc37b('0x5c')],_0x942a5f[_0xc37b('0x34')]['socket_timestamp']]);return _0x2b6651[_0xc37b('0xf')](0xc8)['json']({'message':_0xc37b('0xb8'),'pid':_0x47739c[_0xc37b('0xb9')]});}catch(_0x22989a){return _0x2b6651[_0xc37b('0xf')](0x1f4)[_0xc37b('0xba')](_0x22989a);}};exports[_0xc37b('0xbb')]=function(_0x18d673,_0x35ed5d){var _0x2455e2=fs[_0xc37b('0xbc')](_0x18d673['file'][_0xc37b('0x3')]);Papa[_0xc37b('0xbd')](_0x2455e2,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x55e121){return _0x35ed5d[_0xc37b('0xf')](0xc8)[_0xc37b('0x10')]({'file':_0x18d673[_0xc37b('0xbe')],'fields':_0x55e121[_0xc37b('0xbf')][_0xc37b('0x7d')]});}});};exports['import']=function(_0x299587,_0x28353a){return db['User'][_0xc37b('0x20')]({'raw':!![],'attributes':['id'],'where':{'role':_0xc37b('0xc0')}})[_0xc37b('0x18')](function(_0x5966e7){var _0x106482=![];if(!_0x299587[_0xc37b('0x34')][_0xc37b('0x5f')]){throw new Error('No\x20ListId\x20specified');}if(!_0x299587[_0xc37b('0x34')][_0xc37b('0xc1')][_0xc37b('0x78')]){throw new Error(_0xc37b('0xad'));}if(!_0x299587['body'][_0xc37b('0xc1')]['firstName']){throw new Error('No\x20firstName\x20column\x20specified');}if(!_0x299587['body'][_0xc37b('0xc2')]){throw new Error(_0xc37b('0xaa'));}var _0x2f5c30=require(_0xc37b('0xb4'))[_0xc37b('0xb5')](path['join'](__dirname,_0xc37b('0xc3')),[_0x299587[_0xc37b('0x25')]['id'],JSON[_0xc37b('0xc4')](_0x299587[_0xc37b('0x34')]),JSON[_0xc37b('0xc4')](_0x5966e7)]);_0x2f5c30['on'](_0xc37b('0xc5'),function(){_0x106482=!![];return _0x28353a[_0xc37b('0xf')](0xc8)[_0xc37b('0x10')]({'message':_0xc37b('0xc6'),'pid':_0x2f5c30['pid']});});_0x2f5c30['on'](_0xc37b('0xc7'),function(_0xc0ff3b){if(_0xc0ff3b&&!_0x106482){return _0x28353a[_0xc37b('0xf')](0x1f4)[_0xc37b('0x10')]({'message':_0xc37b('0xc8'),'pid':_0x2f5c30[_0xc37b('0xb9')]});}});})[_0xc37b('0x22')](handleError(_0x28353a,null));};exports[_0xc37b('0xc9')]=function(_0x1c417d,_0x3dfb81){return db[_0xc37b('0xca')][_0xc37b('0x20')]({'raw':!![],'attributes':['id'],'where':{'role':_0xc37b('0xc0')}})['then'](function(_0x1808a0){var _0x1fc781=![];if(!_0x1c417d['body'][_0xc37b('0x5f')]){throw new Error(_0xc37b('0xa6'));}if(!_0x1c417d[_0xc37b('0x34')]['binding'][_0xc37b('0x78')]){throw new Error(_0xc37b('0xad'));}if(!_0x1c417d[_0xc37b('0x34')]['binding'][_0xc37b('0xcb')]){throw new Error('No\x20firstName\x20column\x20specified');}if(!_0x1c417d[_0xc37b('0x34')][_0xc37b('0xc2')]){throw new Error('Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed');}var _0x3cd718=require('child_process')[_0xc37b('0xb5')](path['join'](__dirname,_0xc37b('0xcc')),[_0x1c417d['params']['id'],JSON['stringify'](_0x1c417d[_0xc37b('0x34')]),JSON['stringify'](_0x1808a0)]);_0x3cd718['on']('message',function(){_0x1fc781=!![];return _0x3dfb81[_0xc37b('0xf')](0xc8)['json']({'message':'start\x20child\x20process\x20correctly!','pid':_0x3cd718['pid']});});_0x3cd718['on'](_0xc37b('0xc7'),function(_0x4bb266){if(_0x4bb266&&!_0x1fc781){return _0x3dfb81[_0xc37b('0xf')](0x1f4)[_0xc37b('0x10')]({'message':'error\x20child\x20process','pid':_0x3cd718[_0xc37b('0xb9')]});}});})[_0xc37b('0x22')](handleError(_0x3dfb81,null));};exports['getJourney']=function(_0x3185b4,_0x8e5a3e){var _0x470996=[_0xc37b('0xcd'),_0xc37b('0xce'),_0xc37b('0xcf'),'openchannel',_0xc37b('0xd0'),_0xc37b('0xd1'),_0xc37b('0xd2')];var _0x4f5e8f={'offset':0x0,'order':qs['sort'](_0xc37b('0xd3'))},_0x1d5c1f={'count':0x0,'rows':[]};Promise[_0xc37b('0xd4')]()[_0xc37b('0x18')](function(){if(_0x3185b4[_0xc37b('0x2b')]['channel']){if(!_[_0xc37b('0xd5')](_0x470996,_0x3185b4[_0xc37b('0x2b')][_0xc37b('0xd6')]['toLowerCase']())){throw new Error('Invalid\x20channel');}_0x470996=[_0x3185b4[_0xc37b('0x2b')][_0xc37b('0xd6')][_0xc37b('0xd7')]()];}if(_0x3185b4['query'][_0xc37b('0xd8')]){try{var _0x2064e=JSON['parse'](_0x3185b4[_0xc37b('0x2b')][_0xc37b('0xd8')]);if(!moment(_0x2064e[_0xc37b('0x39')])[_0xc37b('0xd9')]()){throw new Error(_0xc37b('0xda'));}if(!moment(_0x2064e['to'])['isValid']()){throw new Error('Invalid\x20date\x20for\x20range\x20to\x20filter');}}catch(_0x929578){throw new Error(_0xc37b('0xdb'));}}if(!_0x3185b4[_0xc37b('0x2b')][_0xc37b('0x61')]('nolimit')){_0x4f5e8f['limit']=qs['limit'](_0x3185b4[_0xc37b('0x2b')][_0xc37b('0x14')]||0xa);_0x4f5e8f['offset']=qs[_0xc37b('0x11')](_0x3185b4[_0xc37b('0x2b')][_0xc37b('0x11')]);}var _0x2a810=_0x470996[_0xc37b('0x82')](function(_0x3d98e2){if(_0x3d98e2==='voice'){var _0x4ad989={'attributes':['id','uniqueid',_0xc37b('0x30'),_0xc37b('0xdc'),_0xc37b('0xdd'),_0xc37b('0xde'),'starttime','endtime',_0xc37b('0xdf'),_0xc37b('0xe0'),_0xc37b('0xe1'),'userDisposition',_0xc37b('0xe2'),'userThirdDisposition',_0xc37b('0xe3')],'where':{'ContactId':_0x3185b4['params']['id']},'include':[{'model':db[_0xc37b('0xca')],'as':_0xc37b('0xca'),'attributes':['id',_0xc37b('0x1c'),_0xc37b('0xe4'),_0xc37b('0xe5')]}],'order':[[_0xc37b('0xe1'),_0xc37b('0xe6')]]};if(_0x3185b4['query'][_0xc37b('0xd8')]){_0x4ad989['where']['createdAt']={'$gte':_0x2064e[_0xc37b('0x39')],'$lte':_0x2064e['to']};}return db['VoiceCallReport']['findAndCountAll'](_0x4ad989)[_0xc37b('0x18')](function(_0x240176){_0x1d5c1f['count']+=_0x240176['count'];return _[_0xc37b('0x82')](_0x240176[_0xc37b('0xa3')],function(_0x12439d){var _0x2b3e19=_0x12439d['get']({'plain':!![]});_0x2b3e19['channel']=_0x3d98e2;if(_0x2b3e19[_0xc37b('0xca')]){_0x2b3e19['User']={'id':_0x2b3e19[_0xc37b('0xca')]['id'],'name':_0x2b3e19[_0xc37b('0xca')]['name'],'fullname':_0x2b3e19[_0xc37b('0xca')]['fullname'],'alias':_0x2b3e19[_0xc37b('0xca')][_0xc37b('0xe5')]};}return _0x2b3e19;});});}else{var _0x52be15=_['startCase'](_0x3d98e2)+(_0x3d98e2==='chat'?_0xc37b('0xe7'):'Account');var _0x4e91d4={'attributes':['id',_0xc37b('0xe8'),'closedAt','createdAt',_0xc37b('0xe0'),_0xc37b('0xe9'),_0xc37b('0xea'),_0xc37b('0xeb'),_0xc37b('0xe3'),_0x52be15+'Id'],'where':{'ContactId':_0x3185b4[_0xc37b('0x25')]['id']},'include':[{'model':db[_0x52be15],'as':_0xc37b('0xec'),'attributes':['id',_0xc37b('0x1c'),_0xc37b('0xed')]},{'model':db[_0xc37b('0xca')],'as':_0xc37b('0xee'),'attributes':['id','name',_0xc37b('0xe4')]},{'model':db[_0xc37b('0x65')],'as':_0xc37b('0x66'),'attributes':['id',_0xc37b('0x1c'),'color'],'through':{'attributes':[]}}],'order':[[_0xc37b('0xe1'),_0xc37b('0xe6')]]};if(_0x3185b4[_0xc37b('0x2b')][_0xc37b('0xd8')]){_0x4e91d4[_0xc37b('0x5e')][_0xc37b('0xe1')]={'$gte':_0x2064e['from'],'$lte':_0x2064e['to']};}switch(_0x3d98e2){case _0xc37b('0xce'):_0x4e91d4[_0xc37b('0x7e')][_0xc37b('0x5d')](_0xc37b('0xef'),_0xc37b('0xf0'),'customerPort',_0xc37b('0xf1'),_0xc37b('0xf2'),_0xc37b('0xf3'),'ratingType',_0xc37b('0xf4'),_0xc37b('0xf5'));break;case _0xc37b('0xcd'):_0x4e91d4[_0xc37b('0x7e')]['push'](_0xc37b('0xf6'),_0xc37b('0xf7'));break;case _0xc37b('0xf8'):_0x4e91d4[_0xc37b('0x7e')]['push'](_0xc37b('0xf9'),_0xc37b('0xfa'));break;}return db[_[_0xc37b('0xfb')](_0x3d98e2)+'Interaction']['findAndCountAll'](_0x4e91d4)[_0xc37b('0x18')](function(_0x4fb5c5){_0x1d5c1f[_0xc37b('0x13')]+=_0x4fb5c5[_0xc37b('0x13')];return _[_0xc37b('0x82')](_0x4fb5c5[_0xc37b('0xa3')],function(_0x72df41){var _0xb90297=_0x72df41[_0xc37b('0x35')]({'plain':!![]});_0xb90297[_0xc37b('0xd6')]=_0x3d98e2;if(_0xb90297['Owner']){_0xb90297[_0xc37b('0xee')]={'id':_0xb90297[_0xc37b('0xee')]['id'],'name':_0xb90297[_0xc37b('0xee')][_0xc37b('0x1c')],'fullname':_0xb90297[_0xc37b('0xee')][_0xc37b('0xe4')]};}return _0xb90297;});});}});return Promise[_0xc37b('0x63')](_0x2a810);})[_0xc37b('0x18')](function(_0x1c8014){return _(_0x1c8014)['flatten']()['sortBy'](_0xc37b('0xe1'))[_0xc37b('0xfc')]()['value']();})[_0xc37b('0x18')](function(_0x4e0bdb){_0x1d5c1f[_0xc37b('0xa3')]=_0x4f5e8f[_0xc37b('0x14')]?_0x4e0bdb[_0xc37b('0xfd')](_0x4f5e8f['offset'],_0x4f5e8f[_0xc37b('0x11')]+_0x4f5e8f['limit']):_0x4e0bdb;return _0x1d5c1f;})[_0xc37b('0x18')](respondWithFilteredResult(_0x8e5a3e,_0x4f5e8f))[_0xc37b('0x22')](handleError(_0x8e5a3e,null));};