Built motion from commit 97f2f211.|2.6.31
[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 _0x726c=['isNil','timezones','utcOffset','additionalPhones','each','duplicates','where','$or','push','ListId','spread','hasOwnProperty','all','show','Tag','Tags','Phones','ContactItemType','ItemType','sequelize','$and','omit','map','format','pickBy','cf_%d','isEmpty','id\x20=\x20?','phone','getTags','findOne','model','rawAttributes','filters','attributes','fields','sort','pick','filter','setTags','ids','setAdditionalPhones','OrderBy','items','item_types','ItemTypeId','description','contact\x20phone\x20exists','PHONE','item','literal','`ItemType`.OrderBy','ItemType.OrderBy','CmHopperAdditionalPhone','getAdditionalPhones','duplicateAdditionalPhones','fromContactId','toContactId','bulkCreate','rescheduleAdditionalPhones','hopperId','getHoppers','intersection','nolimit','order','ContactId','options','includeAll','include','rows','getHopperHistories','CmHopperHistory','getHopperFinals','getJscriptySessions','No\x20ListId\x20specified','binding_keys','binding_values','No\x20association\x20values\x20specified!','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','split','No\x20phone\x20column\x20specified','firstName','No\x20firstName\x20column\x20specified','root','server/files/tmp','file','filename','chmodSync','child_process','fork','../../components/import/cm/csv','CompanyId','socket_timestamp','upload','createReadStream','parse','meta','import','User','agent','binding','../../components/import/cm/csv2','stringify','start\x20child\x20process\x20correctly!','pid','exit','error\x20child\x20process','message','getJourney','mail','chat','sms','openchannel','fax','whatsapp','voice','resolve','channel','includes','toLowerCase','Invalid\x20channel','isValid','Invalid\x20date\x20for\x20range\x20to\x20filter','uniqueid','source','callerid','starttime','endtime','duration','userSecondDisposition','userThirdDisposition','UserId','fullname','createdAt','DESC','findAndCountAll','startCase','Website','Account','closed','closedAt','note','disposition','secondDisposition','key','color','customerIp','customerPort','deviceModel','osName','ratingMessage','ratingValue','referer','subject','substatus','externalUrl','threadId','Owner','flatten','sortBy','value','slice','moment','bluebird','path','lodash','squel','papaparse','ioredis','../../components/contacts','../../components/parsers/qs','api','../../config/environment','../../config/environment/shared','../../mysqldb','redis','defaults','localhost','register','offset','undefined','limit','count','status','set','Content-Range','json','update','then','end','sendStatus','error','stack','name','send','index','findAll','query','user','destroy','find','params','catch','describe','CmContact','tags','keys','startsWith','cf_','columnName','displayName','analytics','CmCustomField','length','alias','custom','type','values','info','Custom\x20field\x20%s\x20not\x20found\x20on\x20cm_contacts\x20table','forEach','merge','body','from','get','mergeWith','isArray','join','CmHopper','[CmContact][merge][destroy][CmHopper],\x20%s','CmHopperBlack','[CmContact][merge][destroy][CmHopperBlack],\x20%s','create','ChatMessage','MailInteraction','MailMessage','SmsInteraction','SmsMessage','FaxInteraction','OpenchannelInteraction','CmContactHasItem','CmHopperFinal','ReportAgentPreview','VoiceCallReport','MailQueueReport','OpenchannelQueueReport','SmsQueueReport','JscriptySessionReport','WhatsappInteraction','WhatsappMessage','WhatsappQueueReport','dialTimezone'];(function(_0x11333b,_0x379784){var _0xc2a565=function(_0x151eac){while(--_0x151eac){_0x11333b['push'](_0x11333b['shift']());}};_0xc2a565(++_0x379784);}(_0x726c,0xa2));var _0xc726=function(_0x1b2ff7,_0x12a034){_0x1b2ff7=_0x1b2ff7-0x0;var _0x31656a=_0x726c[_0x1b2ff7];return _0x31656a;};'use strict';var moment=require(_0xc726('0x0'));var BPromise=require(_0xc726('0x1'));var util=require('util');var path=require(_0xc726('0x2'));var fs=require('fs');var _=require(_0xc726('0x3'));var squel=require(_0xc726('0x4'));var Papa=require(_0xc726('0x5'));var Redis=require(_0xc726('0x6'));var contacts=require(_0xc726('0x7'));var qs=require(_0xc726('0x8'));var logger=require('../../config/logger')(_0xc726('0x9'));var config=require(_0xc726('0xa'));var shared=require(_0xc726('0xb'));var db=require(_0xc726('0xc'))['db'];config[_0xc726('0xd')]=_[_0xc726('0xe')](config['redis'],{'host':_0xc726('0xf'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xc726('0xd')]));require('./cmContact.socket')[_0xc726('0x10')](socket);function respondWithResult(_0x524b1e,_0xd3b491){_0xd3b491=_0xd3b491||0xc8;return function(_0x1adb57){if(_0x1adb57){return _0x524b1e['status'](_0xd3b491)['json'](_0x1adb57);}};}function respondWithFilteredResult(_0x700f9a,_0x5b32a8){return function(_0x1321e8){if(_0x1321e8){var _0x4db69c=typeof _0x5b32a8[_0xc726('0x11')]===_0xc726('0x12')&&typeof _0x5b32a8[_0xc726('0x13')]==='undefined';var _0x2c1811=_0x1321e8[_0xc726('0x14')];var _0x8d5ee4=_0x4db69c?0x0:_0x5b32a8['offset'];var _0x1d5d80=_0x4db69c?_0x1321e8[_0xc726('0x14')]:_0x5b32a8['offset']+_0x5b32a8[_0xc726('0x13')];var _0x3008c7;if(_0x1d5d80>=_0x2c1811){_0x1d5d80=_0x2c1811;_0x3008c7=0xc8;}else{_0x3008c7=0xce;}_0x700f9a[_0xc726('0x15')](_0x3008c7);return _0x700f9a[_0xc726('0x16')](_0xc726('0x17'),_0x8d5ee4+'-'+_0x1d5d80+'/'+_0x2c1811)[_0xc726('0x18')](_0x1321e8);}return null;};}function saveUpdates(_0x5d9a00){return function(_0x3aa1d5){if(_0x3aa1d5){return _0x3aa1d5[_0xc726('0x19')](_0x5d9a00)[_0xc726('0x1a')](function(_0x55d6dc){return _0x55d6dc;});}return null;};}function removeEntity(_0x50d2d4){return function(_0x216d36){if(_0x216d36){return _0x216d36['destroy']()['then'](function(){_0x50d2d4[_0xc726('0x15')](0xcc)[_0xc726('0x1b')]();});}};}function handleEntityNotFound(_0x4b28d2){return function(_0x50f378){if(!_0x50f378){_0x4b28d2[_0xc726('0x1c')](0x194);}return _0x50f378;};}function handleError(_0x97578d,_0x37c996){_0x37c996=_0x37c996||0x1f4;return function(_0x228a2d){logger[_0xc726('0x1d')](_0x228a2d[_0xc726('0x1e')]);if(_0x228a2d[_0xc726('0x1f')]){delete _0x228a2d[_0xc726('0x1f')];}_0x97578d[_0xc726('0x15')](_0x37c996)[_0xc726('0x20')](_0x228a2d);};}exports[_0xc726('0x21')]=function(_0x6bc43b,_0x328cf3){var _0x394496={};return contacts['describe']()[_0xc726('0x1a')](function(_0x1dd749){_0x394496=qs['getOptions'](_0x1dd749,_0x6bc43b);return contacts[_0xc726('0x22')](_0x6bc43b[_0xc726('0x23')],_0x6bc43b[_0xc726('0x24')],_0x394496,_0x1dd749);})['then'](respondWithFilteredResult(_0x328cf3,_0x394496))['catch'](handleError(_0x328cf3,null));};exports[_0xc726('0x25')]=function(_0x2b3a6b,_0x6d2045){return db['CmContact'][_0xc726('0x26')]({'where':{'id':_0x2b3a6b[_0xc726('0x27')]['id']}})[_0xc726('0x1a')](handleEntityNotFound(_0x6d2045,null))[_0xc726('0x1a')](removeEntity(_0x6d2045,null))[_0xc726('0x28')](handleError(_0x6d2045,null));};exports[_0xc726('0x29')]=function(_0x30b5a3,_0x2bee91){return db[_0xc726('0x2a')][_0xc726('0x29')]()[_0xc726('0x1a')](function(_0x3436c2){delete _0x3436c2[_0xc726('0x2b')];for(var _0x41c641=0x0;_0x41c641<Object[_0xc726('0x2c')](_0x3436c2)['length'];_0x41c641++){var _0x2ff631=Object[_0xc726('0x2c')](_0x3436c2)[_0x41c641];if(!_[_0xc726('0x2d')](_0x2ff631,_0xc726('0x2e'))){_0x3436c2[_0x2ff631][_0xc726('0x2f')]=_0x2ff631;_0x3436c2[_0x2ff631][_0xc726('0x30')]=_0x2ff631;}}return _0x3436c2;})[_0xc726('0x1a')](function(_0x3bb850){var _0x51dec6={'where':Boolean(_0x30b5a3[_0xc726('0x23')][_0xc726('0x31')])===!![]?undefined:{'$or':[{'ListId':_0x30b5a3[_0xc726('0x23')]['id']},{'ListId':null}]},'raw':!![]};return db[_0xc726('0x32')][_0xc726('0x22')](_0x51dec6)['then'](function(_0x157b86){for(var _0x2c8f0c=0x0;_0x2c8f0c<_0x157b86[_0xc726('0x33')];_0x2c8f0c++){var _0x2d101c=_0xc726('0x2e')+_0x157b86[_0x2c8f0c]['id'];if(_0x3bb850[_0x2d101c]){_0x3bb850[_0x2d101c]['columnName']=_0x2d101c;_0x3bb850[_0x2d101c][_0xc726('0x30')]=_0x157b86[_0x2c8f0c][_0xc726('0x34')];_0x3bb850[_0x2d101c][_0xc726('0x35')]={'type':_0x157b86[_0x2c8f0c][_0xc726('0x36')],'values':_0x157b86[_0x2c8f0c][_0xc726('0x37')]};}else{logger[_0xc726('0x38')](_0xc726('0x39'),_0x2d101c);}}Object[_0xc726('0x2c')](_0x3bb850)[_0xc726('0x3a')](function(_0x5e03cd){if(!_0x3bb850[_0x5e03cd]['hasOwnProperty'](_0xc726('0x2f'))){delete _0x3bb850[_0x5e03cd];}});return _0x3bb850;});})[_0xc726('0x1a')](respondWithResult(_0x2bee91,null))[_0xc726('0x28')](handleError(_0x2bee91,null));};exports[_0xc726('0x3b')]=function(_0x1043ad,_0x467a4a){var _0x1f2d2b;var _0xdafda3;var _0x478ed8;if(_0x1043ad[_0xc726('0x3c')]['id']){delete _0x1043ad[_0xc726('0x3c')]['id'];}return db[_0xc726('0x2a')][_0xc726('0x22')]({'where':{'id':[_0x1043ad[_0xc726('0x3c')]['to'],_0x1043ad[_0xc726('0x3c')][_0xc726('0x3d')]]}})[_0xc726('0x1a')](function(_0x344f39){if(_0x344f39){if(_0x344f39[_0xc726('0x33')]!==0x2){return null;}_0x344f39[0x0]=_0x344f39[0x0][_0xc726('0x3e')]({'plain':!![]});_0x344f39[0x1]=_0x344f39[0x1][_0xc726('0x3e')]({'plain':!![]});delete _0x344f39[0x0]['id'];delete _0x344f39[0x1]['id'];return _[_0xc726('0x3f')](_0x344f39[0x0],_0x344f39[0x1],function(_0x189209,_0x3d55a0){if(Array[_0xc726('0x40')](_0x3d55a0)&&!_0x3d55a0[_0xc726('0x33')]){return _0x189209;}else if(!_0x3d55a0){return _0x189209;}});}})[_0xc726('0x1a')](handleEntityNotFound(_0x467a4a,null))[_0xc726('0x1a')](function(_0xdf01a4){if(_0xdf01a4){if(_0xdf01a4['tags']&&_['isArray'](_0xdf01a4[_0xc726('0x2b')])){_0xdf01a4['tags']=_0xdf01a4[_0xc726('0x2b')][_0xc726('0x41')]();}logger[_0xc726('0x38')]('[CmContact][merge]\x20to\x20%s\x20from\x20%s',_0x1043ad['body']['to'],_0x1043ad[_0xc726('0x3c')][_0xc726('0x3d')]);return db[_0xc726('0x42')]['destroy']({'where':{'ContactId':[_0x1043ad[_0xc726('0x3c')]['to'],_0x1043ad[_0xc726('0x3c')]['from']]}})[_0xc726('0x1a')](function(_0x506c9c){logger[_0xc726('0x38')](_0xc726('0x43'),_0x506c9c);return db[_0xc726('0x44')][_0xc726('0x25')]({'where':{'ContactId':[_0x1043ad[_0xc726('0x3c')]['to'],_0x1043ad['body']['from']]}})[_0xc726('0x1a')](function(_0x3b0b34){logger[_0xc726('0x38')](_0xc726('0x45'),_0x3b0b34);return db[_0xc726('0x2a')][_0xc726('0x46')](_0xdf01a4);});});}})['then'](function(_0x11988e){if(_0x11988e){_0x1f2d2b=_0x11988e;_0xdafda3={'ContactId':_0x1f2d2b['id']};_0x478ed8={'where':{'ContactId':[_0x1043ad[_0xc726('0x3c')]['to'],_0x1043ad[_0xc726('0x3c')]['from']]}};return db['ChatInteraction']['update'](_0xdafda3,_0x478ed8);}})['then'](function(){if(_0x1f2d2b){return db[_0xc726('0x47')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})['then'](function(){if(_0x1f2d2b){return db['ChatOfflineMessage'][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})['then'](function(){if(_0x1f2d2b){return db[_0xc726('0x48')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x49')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x48')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db['MailMessage'][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x4a')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x4b')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})['then'](function(){if(_0x1f2d2b){return db[_0xc726('0x4c')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})['then'](function(){if(_0x1f2d2b){return db['FaxMessage']['update'](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x4d')]['update'](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db['OpenchannelMessage'][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x4e')][_0xc726('0x19')]({'CmContactId':_0x1f2d2b['id']},{'where':{'CmContactId':[_0x1043ad[_0xc726('0x3c')]['to'],_0x1043ad[_0xc726('0x3c')][_0xc726('0x3d')]]}});}})['then'](function(){if(_0x1f2d2b){return db[_0xc726('0x4f')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db['CmHopperHistory'][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})['then'](function(){if(_0x1f2d2b){return db[_0xc726('0x50')]['update'](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x51')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db['ChatQueueReport'][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db['FaxQueueReport'][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x52')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x53')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x54')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})['then'](function(){if(_0x1f2d2b){return db[_0xc726('0x55')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x56')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x57')]['update'](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x58')][_0xc726('0x19')](_0xdafda3,_0x478ed8);}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return db[_0xc726('0x2a')][_0xc726('0x25')]({'where':{'id':[_0x1043ad['body']['to'],_0x1043ad['body'][_0xc726('0x3d')]]}});}})[_0xc726('0x1a')](function(){if(_0x1f2d2b){return _0x1f2d2b;}})[_0xc726('0x1a')](respondWithResult(_0x467a4a,null))['catch'](handleError(_0x467a4a,null));};exports[_0xc726('0x46')]=function(_0x255c28,_0x3989dc){return db[_0xc726('0x2a')][_0xc726('0x29')]()[_0xc726('0x1a')](function(_0xd36a98){if(_0x255c28['body']['tags']&&_[_0xc726('0x40')](_0x255c28[_0xc726('0x3c')][_0xc726('0x2b')])){if(_0x255c28['body'][_0xc726('0x2b')]['length']){_0x255c28[_0xc726('0x3c')][_0xc726('0x2b')]=_0x255c28[_0xc726('0x3c')][_0xc726('0x2b')][_0xc726('0x41')](';')+';';}else{_0x255c28['body'][_0xc726('0x2b')]=null;}}else{_0x255c28['body']['tags']=null;}if(!_['isNil'](_0x255c28[_0xc726('0x3c')][_0xc726('0x59')])){var _0x178fa6=_0x255c28[_0xc726('0x3c')]['dialTimezone'];if(!_[_0xc726('0x5a')](shared[_0xc726('0x5b')][_0x178fa6]))_0x255c28[_0xc726('0x3c')][_0xc726('0x5c')]=shared[_0xc726('0x5b')][_0x178fa6][_0xc726('0x5c')];}return db[_0xc726('0x2a')][_0xc726('0x46')](_0x255c28['body'],{'fields':_[_0xc726('0x2c')](_0xd36a98),'raw':!![]});})[_0xc726('0x1a')](function(_0x3ea220){if(_0x255c28['body'][_0xc726('0x5d')]){return insertAdditionalPhones(_0x3ea220,_0x255c28[_0xc726('0x3c')][_0xc726('0x5d')]);}else{return _0x3ea220;}})[_0xc726('0x1a')](respondWithResult(_0x3989dc,0xc9))[_0xc726('0x28')](handleError(_0x3989dc,null));};exports['bulkCreate']=function(_0x2eb565,_0x58df63){var _0x2e6246=0x0;var _0x2cf754=0x0;var _0x43651a=0x0;var _0x4f0e04=[];return db[_0xc726('0x2a')][_0xc726('0x29')]()['then'](function(_0x29aebd){return BPromise[_0xc726('0x5e')](_0x2eb565['body'],function(_0x4e4e32){var _0x316897={'where':{'$or':[]},'defaults':_0x4e4e32,'fields':_['keys'](_0x29aebd),'raw':!![]};if(_0x4e4e32[_0xc726('0x5f')]){for(var _0xa175bf=0x0;_0xa175bf<_0x4e4e32['duplicates'][_0xc726('0x33')];_0xa175bf++){var _0x5d2482={};_0x5d2482[_0x4e4e32[_0xc726('0x5f')][_0xa175bf]]=_0x4e4e32[_0x4e4e32[_0xc726('0x5f')][_0xa175bf]];_0x316897[_0xc726('0x60')][_0xc726('0x61')][_0xc726('0x62')](_0x5d2482);}_0x316897['where'][_0xc726('0x63')]=_0x4e4e32[_0xc726('0x63')];}return db[_0xc726('0x2a')]['findOrCreate'](_0x316897)[_0xc726('0x64')](function(_0x24294e,_0x15553e){if(_0x15553e){if(_0x4e4e32[_0xc726('0x65')](_0xc726('0x5d'))){_0x4f0e04['push']({'contact':_0x24294e,'additionalPhones':_0x4e4e32[_0xc726('0x5d')]});}_0x2e6246++;}else{_0x43651a++;}})[_0xc726('0x28')](function(){_0x2cf754++;});});})[_0xc726('0x1a')](function(_0x5e92ed){if(_0x5e92ed){if(_0x4f0e04[_0xc726('0x33')]>0x0){return new Promise(function(_0x22044a){var _0x4e8793=[];for(var _0x661ae4=0x0;_0x661ae4<_0x4f0e04[_0xc726('0x33')];_0x661ae4++){_0x4e8793[_0xc726('0x62')](insertAdditionalPhones(_0x4f0e04[_0x661ae4]['contact'],_0x4f0e04[_0x661ae4][_0xc726('0x5d')]));}Promise[_0xc726('0x66')](_0x4e8793)[_0xc726('0x1a')](function(){_0x22044a(0x1);});})[_0xc726('0x1a')](function(){return{'success':_0x2e6246,'failure':_0x2cf754,'duplicates':_0x43651a};});}else{return{'success':_0x2e6246,'failure':_0x2cf754,'duplicates':_0x43651a};}}})[_0xc726('0x1a')](respondWithResult(_0x58df63,0xc9))[_0xc726('0x28')](handleError(_0x58df63,null));};exports[_0xc726('0x67')]=function(_0x59bef3,_0xeb0e6e){var _0x35a9e6;return db[_0xc726('0x2a')][_0xc726('0x29')]()[_0xc726('0x1a')](function(_0xfa9308){return db['CmContact'][_0xc726('0x26')]({'where':{'id':_0x59bef3[_0xc726('0x27')]['id']},'include':[{'model':db[_0xc726('0x68')],'as':_0xc726('0x69'),'attributes':['id',_0xc726('0x1f'),'color'],'required':_0x59bef3[_0xc726('0x23')]['tag']?!![]:![]},{'model':db[_0xc726('0x4e')],'as':_0xc726('0x6a'),'where':{'CmContactId':_0x59bef3[_0xc726('0x27')]['id']},'required':![],'include':[{'model':db[_0xc726('0x6b')],'as':_0xc726('0x6c')}]}],'order':[db[_0xc726('0x6d')]['literal']('Phones.OrderBy')],'attributes':_['keys'](_0xfa9308)});})['then'](function(_0x5626cf){if(!_[_0xc726('0x5a')](_0x5626cf)){_0x35a9e6=_0x5626cf['get']({'plain':!![]});var _0x43b7a9={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x5626cf&&_0x5626cf[_0xc726('0x63')]){if(_0x5626cf[_0xc726('0x63')]){_0x43b7a9['where'][_0xc726('0x6e')]['push']({'ListId':{'$ne':_0x5626cf[_0xc726('0x63')]}});}}return db[_0xc726('0x32')]['findAll'](_0x43b7a9);}})[_0xc726('0x1a')](function(_0xec877b){if(!_[_0xc726('0x5a')](_0xec877b)){return _[_0xc726('0x6f')](_0x35a9e6,_[_0xc726('0x70')](_0xec877b,function(_0x10ee3b){return util[_0xc726('0x71')]('cf_%d',_0x10ee3b['id']);}));}})[_0xc726('0x1a')](handleEntityNotFound(_0xeb0e6e,null))[_0xc726('0x1a')](respondWithResult(_0xeb0e6e,null))[_0xc726('0x28')](handleError(_0xeb0e6e,null));};exports[_0xc726('0x19')]=function(_0x57b84e,_0x225647){var _0x49e732;if(_0x57b84e[_0xc726('0x3c')]['id']){delete _0x57b84e[_0xc726('0x3c')]['id'];}if(!_['isNil'](_0x57b84e[_0xc726('0x3c')][_0xc726('0x59')])){var _0x13416c=_0x57b84e[_0xc726('0x3c')][_0xc726('0x59')];if(!_[_0xc726('0x5a')](shared[_0xc726('0x5b')][_0x13416c]))_0x57b84e[_0xc726('0x3c')][_0xc726('0x5c')]=shared['timezones'][_0x13416c]['utcOffset'];}return db[_0xc726('0x2a')][_0xc726('0x26')]({'where':{'id':_0x57b84e['params']['id']}})[_0xc726('0x1a')](handleEntityNotFound(_0x225647,null))[_0xc726('0x1a')](saveUpdates(_0x57b84e[_0xc726('0x3c')],null))[_0xc726('0x1a')](function(_0x224f22){_0x49e732=_0x224f22;var _0x6cad7a={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x224f22&&_0x224f22[_0xc726('0x63')]){if(_0x224f22[_0xc726('0x63')]){_0x6cad7a[_0xc726('0x60')][_0xc726('0x6e')]['push']({'ListId':{'$ne':_0x224f22[_0xc726('0x63')]}});}}return db['CmCustomField'][_0xc726('0x22')](_0x6cad7a);})['then'](function(_0x994990){if(_0x994990){return _[_0xc726('0x6f')](_[_0xc726('0x72')](_0x57b84e['body'],function(_0x584465,_0x229899){return _[_0xc726('0x2d')](_0x229899,'cf_');}),_[_0xc726('0x70')](_0x994990,function(_0x3f53b3){return util[_0xc726('0x71')](_0xc726('0x73'),_0x3f53b3['id']);}));}})[_0xc726('0x1a')](function(_0xbcc6c5){if(_0xbcc6c5&&!_[_0xc726('0x74')](_0xbcc6c5)){var _0x4df9b6=squel[_0xc726('0x19')]()['table']('cm_contacts')['setFields'](_0xbcc6c5)[_0xc726('0x60')](_0xc726('0x75'),_0x57b84e[_0xc726('0x27')]['id'])['toParam']();return db[_0xc726('0x6d')][_0xc726('0x23')](_0x4df9b6['text'],{'replacements':_0x4df9b6['values']});}})['then'](function(){if(_0x57b84e[_0xc726('0x3c')][_0xc726('0x76')]&&_0x49e732){return db[_0xc726('0x42')][_0xc726('0x19')]({'phone':_0x57b84e[_0xc726('0x3c')]['phone'],'OrderBy':0x0},{'where':{'ContactId':_0x49e732['id']}});}})[_0xc726('0x1a')](function(){return _0x49e732;})[_0xc726('0x1a')](respondWithResult(_0x225647,null))[_0xc726('0x28')](handleError(_0x225647,null));};exports[_0xc726('0x77')]=function(_0x50b114,_0x3d6041){var _0x1bc94b={};var _0x4d8b4e={};var _0xffa147;var _0x921202;return db[_0xc726('0x2a')][_0xc726('0x78')]({'where':{'id':_0x50b114['params']['id']}})[_0xc726('0x1a')](handleEntityNotFound(_0x3d6041,null))[_0xc726('0x1a')](function(_0x3df723){if(_0x3df723){_0xffa147=_0x3df723;_0x4d8b4e[_0xc726('0x79')]=_[_0xc726('0x2c')](db[_0xc726('0x68')][_0xc726('0x7a')]);_0x4d8b4e[_0xc726('0x23')]=_[_0xc726('0x2c')](_0x50b114['query']);_0x4d8b4e[_0xc726('0x7b')]=_['intersection'](_0x4d8b4e[_0xc726('0x79')],_0x4d8b4e[_0xc726('0x23')]);_0x1bc94b[_0xc726('0x7c')]=_['intersection'](_0x4d8b4e[_0xc726('0x79')],qs['fields'](_0x50b114['query'][_0xc726('0x7d')]));_0x1bc94b[_0xc726('0x7c')]=_0x1bc94b[_0xc726('0x7c')][_0xc726('0x33')]?_0x1bc94b[_0xc726('0x7c')]:_0x4d8b4e[_0xc726('0x79')];_0x1bc94b['order']=qs[_0xc726('0x7e')](_0x50b114[_0xc726('0x23')]['sort']);_0x1bc94b[_0xc726('0x60')]=qs[_0xc726('0x7b')](_[_0xc726('0x7f')](_0x50b114[_0xc726('0x23')],_0x4d8b4e[_0xc726('0x7b')]));if(_0x50b114[_0xc726('0x23')]['filter']){_0x1bc94b[_0xc726('0x60')]=_[_0xc726('0x3b')](_0x1bc94b['where'],{'$or':_[_0xc726('0x70')](_0x1bc94b[_0xc726('0x7c')],function(_0x457651){var _0x496f01={};_0x496f01[_0x457651]={'$like':'%'+_0x50b114['query'][_0xc726('0x80')]+'%'};return _0x496f01;})});}_0x1bc94b=_[_0xc726('0x3b')]({},_0x1bc94b,_0x50b114['options']);return _0xffa147[_0xc726('0x77')](_0x1bc94b);}})['then'](function(_0x22eb69){if(_0x22eb69){_0x921202=_0x22eb69[_0xc726('0x33')];if(!_0x50b114[_0xc726('0x23')]['hasOwnProperty']('nolimit')){_0x1bc94b[_0xc726('0x13')]=qs['limit'](_0x50b114[_0xc726('0x23')][_0xc726('0x13')]);_0x1bc94b[_0xc726('0x11')]=qs[_0xc726('0x11')](_0x50b114[_0xc726('0x23')]['offset']);}return _0xffa147['getTags'](_0x1bc94b);}})['then'](function(_0x41b71e){if(_0x41b71e){return _0x41b71e?{'count':_0x921202,'rows':_0x41b71e}:null;}})[_0xc726('0x1a')](respondWithResult(_0x3d6041,null))[_0xc726('0x28')](handleError(_0x3d6041,null));};exports[_0xc726('0x81')]=function(_0x19a4b7,_0x546354){if(_0x19a4b7[_0xc726('0x3c')]['id']){delete _0x19a4b7[_0xc726('0x3c')]['id'];}return db[_0xc726('0x2a')][_0xc726('0x78')]({'where':{'id':_0x19a4b7['params']['id']}})[_0xc726('0x1a')](handleEntityNotFound(_0x546354,null))[_0xc726('0x1a')](function(_0x82302e){if(_0x82302e){return _0x82302e[_0xc726('0x81')](_0x19a4b7[_0xc726('0x3c')][_0xc726('0x82')]||[]);}return null;})['then'](respondWithResult(_0x546354,null))[_0xc726('0x28')](handleError(_0x546354,null));};exports[_0xc726('0x83')]=function(_0x18c785,_0x515f2c){var _0x3fa54a=[];_0x3fa54a['push'](addAdditionalPhones(_0x18c785['body']));Promise[_0xc726('0x66')](_0x3fa54a)[_0xc726('0x1a')](function(){_0x3fa54a=[];_0x3fa54a['push'](deleteCmHopperPhones(_0x18c785[_0xc726('0x3c')]['id']));_0x3fa54a[_0xc726('0x62')](addCmHopperPhones(_0x18c785[_0xc726('0x3c')]['id']));Promise[_0xc726('0x66')](_0x3fa54a)[_0xc726('0x1a')](function(){return[0x1];})[_0xc726('0x1a')](respondWithResult(_0x515f2c,null));});};function addAdditionalPhones(_0x27a58c){var _0x94bff;return new Promise(function(_0x3d9c90){return db[_0xc726('0x4e')][_0xc726('0x25')]({'where':{'CmContactId':_0x27a58c['id']}})[_0xc726('0x1a')](function(){db[_0xc726('0x6b')][_0xc726('0x22')]({'raw':!![],'attributes':['id',_0xc726('0x84')]})[_0xc726('0x1a')](function(_0x255425){var _0x1b6f28=[];for(var _0x1db667=0x0;_0x1db667<_0x27a58c[_0xc726('0x85')]['length'];_0x1db667++){var _0x1a7783=_0x27a58c['item_types']?_[_0xc726('0x5a')](_0x27a58c[_0xc726('0x86')][_0x1db667])?'':_0x27a58c[_0xc726('0x86')][_0x1db667]:_0x27a58c[_0xc726('0x85')][_0x1db667][_0xc726('0x87')]?_0x27a58c[_0xc726('0x85')][_0x1db667]['ItemTypeId']:'';var _0x562473=_[_0xc726('0x5a')](_0x27a58c['items'][_0x1db667][_0xc726('0x88')])?'':_0x27a58c[_0xc726('0x85')][_0x1db667][_0xc726('0x88')];var _0x4cf467=_0x1a7783+':'+_0x27a58c[_0xc726('0x85')][_0x1db667]['phone']+'ยง'+_0x562473;if(_[_0xc726('0x5a')](_0x94bff))_0x94bff=_0x4cf467;else _0x94bff+=';'+_0x4cf467;var _0x1a54a9=null;var _0x39d776=null;if(_0x27a58c[_0xc726('0x86')]){if(!_[_0xc726('0x5a')](_0x27a58c[_0xc726('0x86')][_0x1db667])){_0x39d776=_['find'](_0x255425,function(_0x118b39){return _0x118b39['id']===_0x27a58c[_0xc726('0x86')][_0x1db667];});if(!_[_0xc726('0x5a')](_0x39d776)){_0x1a54a9=_0x39d776[_0xc726('0x84')];}}}else{if(!_['isNil'](_0x27a58c[_0xc726('0x85')][_0x1db667])){_0x39d776=_[_0xc726('0x26')](_0x255425,function(_0x545cfb){return _0x545cfb['id']===_0x27a58c['items'][_0x1db667][_0xc726('0x87')];});if(!_[_0xc726('0x5a')](_0x39d776)){_0x1a54a9=_0x1db667;}}}if(_[_0xc726('0x5a')](_0x1a54a9)){_0x1a54a9=0x64;}_0x1b6f28[_0xc726('0x62')](addAdditionalPhone(_0x27a58c['id'],_0x27a58c[_0xc726('0x85')][_0x1db667][_0xc726('0x76')],_0x27a58c[_0xc726('0x86')]?_[_0xc726('0x5a')](_0x27a58c[_0xc726('0x86')][_0x1db667])?null:_0x27a58c[_0xc726('0x86')][_0x1db667]:_0x27a58c[_0xc726('0x85')][_0x1db667][_0xc726('0x87')]?_0x27a58c[_0xc726('0x85')][_0x1db667][_0xc726('0x87')]:null,_0x1a54a9,_0x562473));}Promise[_0xc726('0x66')](_0x1b6f28)[_0xc726('0x1a')](function(){db[_0xc726('0x2a')]['update']({'AdditionalPhones':_0x94bff},{'where':{'id':_0x27a58c['id']}})['then'](function(){_0x3d9c90(0x1);});});});});});}function addAdditionalPhone(_0x156981,_0x5b45cd,_0x539500,_0x1cff9b,_0x137237){return db[_0xc726('0x4e')][_0xc726('0x26')]({'where':{'CmContactId':_0x156981,'item':_0x5b45cd}})['then'](function(_0x57d3ea){if(_0x57d3ea)logger[_0xc726('0x38')](_0xc726('0x89'),_0x57d3ea);else{db[_0xc726('0x4e')][_0xc726('0x46')]({'CmContactId':_0x156981,'item':_0x5b45cd,'ItemTypeId':_0x539500,'OrderBy':_0x1cff9b,'ItemClass':_0xc726('0x8a'),'description':_0x137237});}});}function deleteCmHopperPhones(_0x26e996){return new Promise(function(_0x2b4cb6){return db['CmHopper'][_0xc726('0x22')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x26e996}})[_0xc726('0x1a')](function(_0x1a2f40){db['CmHopperAdditionalPhone'][_0xc726('0x25')]({'where':{'CmHopperId':{'$in':_[_0xc726('0x70')](_0x1a2f40,'id')}}});})[_0xc726('0x1a')](function(){_0x2b4cb6(0x1);});});}function addCmHopperPhones(_0x2c4f43){return new Promise(function(_0x7596b8){return db[_0xc726('0x42')][_0xc726('0x22')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x2c4f43}})['then'](function(_0x150bf7){var _0x333fa4=[];_[_0xc726('0x70')](_0x150bf7,function(_0x55e09f){_0x333fa4[_0xc726('0x62')](createCmHopperPhone(_0x2c4f43,_0x55e09f['id']));});Promise[_0xc726('0x66')](_0x333fa4)[_0xc726('0x1a')](function(){_0x7596b8(0x1);});});});}function createCmHopperPhone(_0x2a772b,_0x36ac4a){return new Promise(function(_0x1dd42f){db[_0xc726('0x4e')][_0xc726('0x22')]({'raw':!![],'attributes':[_0xc726('0x8b'),'OrderBy'],'where':{'CmContactId':_0x2a772b,'ItemClass':_0xc726('0x8a')},'include':[{'model':db[_0xc726('0x6b')],'attributes':[_0xc726('0x84')],'as':_0xc726('0x6c')}],'order':[_0xc726('0x84'),db[_0xc726('0x6d')][_0xc726('0x8c')](_0xc726('0x8d'))]})['then'](function(_0x2a1c9f){var _0x60a475=0x1;var _0x56d450=_[_0xc726('0x70')](_0x2a1c9f,function(_0x2ac831){_0x2ac831['CmHopperId']=_0x36ac4a;_0x2ac831[_0xc726('0x76')]=_0x2ac831[_0xc726('0x8b')];_0x2ac831[_0xc726('0x84')]=_0x60a475;delete _0x2ac831[_0xc726('0x8e')];_0x60a475=_0x60a475+0x1;return _0x2ac831;});return db[_0xc726('0x8f')]['bulkCreate'](_0x56d450,{});})[_0xc726('0x1a')](function(){_0x1dd42f(0x1);});});}function insertAdditionalPhones(_0x1557c8,_0x52037f){return new Promise(function(_0x4d7d21){var _0x7433f9=[];for(var _0xc59616=0x0;_0xc59616<_0x52037f[_0xc726('0x33')];_0xc59616++){var _0x58ca13=_0x52037f[_0xc59616];_0x7433f9[_0xc726('0x62')](parseContactItemType(_0x58ca13));}Promise[_0xc726('0x66')](_0x7433f9)[_0xc726('0x1a')](function(){var _0x4c6ecb={'id':_0x1557c8['id'],'items':_0x52037f};return addAdditionalPhones(_0x4c6ecb)[_0xc726('0x1a')](function(){return addCmHopperPhones(_0x1557c8['id']);});})['then'](function(){_0x4d7d21(_0x1557c8);});});}function parseContactItemType(_0x418f2c){return new Promise(function(_0x55c62e){if(_0x418f2c['hasOwnProperty'](_0xc726('0x87'))){_0x55c62e(_0x418f2c);}else{return db['ContactItemType'][_0xc726('0x26')]({'where':{'name':_0x418f2c['ItemType']}})['then'](function(_0x17dfa0){if(_[_0xc726('0x5a')](_0x17dfa0))_0x418f2c['ItemTypeId']=null;else _0x418f2c[_0xc726('0x87')]=_0x17dfa0['id'];_0x55c62e(_0x418f2c);});}});}exports[_0xc726('0x90')]=function(_0x1d16a0,_0x24cc0f){return db['CmContactHasItem'][_0xc726('0x22')]({'raw':!![],'where':{'CmContactId':_0x1d16a0['params']['id'],'ItemClass':_0xc726('0x8a')},'include':[{'model':db[_0xc726('0x6b')],'as':_0xc726('0x6c')}],'order':[[_0xc726('0x84')],[db['sequelize']['literal']('`ItemType`.OrderBy')]]})[_0xc726('0x1a')](function(_0x44465d){return _0x44465d;})[_0xc726('0x1a')](respondWithResult(_0x24cc0f,null))[_0xc726('0x28')](handleError(_0x24cc0f,null));};exports[_0xc726('0x91')]=function(_0x516c9c,_0x548e9b){return db[_0xc726('0x4e')][_0xc726('0x22')]({'raw':!![],'where':{'CmContactId':_0x516c9c[_0xc726('0x3c')][_0xc726('0x92')]}})[_0xc726('0x1a')](function(_0x48ec9f){var _0xb4803c=_[_0xc726('0x70')](_0x48ec9f,function(_0x599176){_0x599176['CmContactId']=_0x516c9c['body'][_0xc726('0x93')];return _0x599176;});return db['CmContactHasItem'][_0xc726('0x94')](_0xb4803c,{});})[_0xc726('0x1a')](function(){return addCmHopperPhones(_0x516c9c[_0xc726('0x3c')][_0xc726('0x93')]);})[_0xc726('0x1a')](function(){return['ok'];})['then'](respondWithResult(_0x548e9b,null))[_0xc726('0x28')](handleError(_0x548e9b,null));};exports[_0xc726('0x95')]=function(_0x481069,_0x12ce2a){var _0x4eba68=[];_0x4eba68[_0xc726('0x62')](createCmHopperPhone(_0x481069[_0xc726('0x3c')]['id'],_0x481069[_0xc726('0x3c')][_0xc726('0x96')]));Promise[_0xc726('0x66')](_0x4eba68)[_0xc726('0x1a')](function(){return[0x1];})['then'](respondWithResult(_0x12ce2a,null));};exports[_0xc726('0x97')]=function(_0x51c20e,_0x4d1f53){var _0x34c288={'raw':![],'where':{}};var _0x1930d0={};var _0x55465d={'count':0x0,'rows':[]};return db['CmContact'][_0xc726('0x78')]({'where':{'id':_0x51c20e[_0xc726('0x27')]['id']}})['then'](handleEntityNotFound(_0x4d1f53,null))[_0xc726('0x1a')](function(_0x412eeb){if(_0x412eeb){_0x1930d0[_0xc726('0x79')]=_[_0xc726('0x2c')](db[_0xc726('0x42')][_0xc726('0x7a')]);_0x1930d0[_0xc726('0x23')]=_['keys'](_0x51c20e[_0xc726('0x23')]);_0x1930d0[_0xc726('0x7b')]=_[_0xc726('0x98')](_0x1930d0[_0xc726('0x79')],_0x1930d0[_0xc726('0x23')]);_0x34c288[_0xc726('0x7c')]=_[_0xc726('0x98')](_0x1930d0[_0xc726('0x79')],qs[_0xc726('0x7d')](_0x51c20e[_0xc726('0x23')]['fields']));_0x34c288[_0xc726('0x7c')]=_0x34c288['attributes']['length']?_0x34c288[_0xc726('0x7c')]:_0x1930d0[_0xc726('0x79')];if(!_0x51c20e['query'][_0xc726('0x65')](_0xc726('0x99'))){_0x34c288[_0xc726('0x13')]=qs[_0xc726('0x13')](_0x51c20e[_0xc726('0x23')][_0xc726('0x13')]);_0x34c288[_0xc726('0x11')]=qs[_0xc726('0x11')](_0x51c20e[_0xc726('0x23')][_0xc726('0x11')]);}_0x34c288[_0xc726('0x9a')]=qs[_0xc726('0x7e')](_0x51c20e[_0xc726('0x23')]['sort']);_0x34c288[_0xc726('0x60')]=qs['filters'](_[_0xc726('0x7f')](_0x51c20e[_0xc726('0x23')],_0x1930d0[_0xc726('0x7b')]));_0x34c288[_0xc726('0x60')][_0xc726('0x9b')]=_0x412eeb['id'];if(_0x51c20e[_0xc726('0x23')][_0xc726('0x80')]){_0x34c288[_0xc726('0x60')]=_[_0xc726('0x3b')](_0x34c288[_0xc726('0x60')],{'$or':_[_0xc726('0x70')](_0x34c288[_0xc726('0x7c')],function(_0x293199){var _0x50ac91={};_0x50ac91[_0x293199]={'$like':'%'+_0x51c20e[_0xc726('0x23')]['filter']+'%'};return _0x50ac91;})});}_0x34c288=_[_0xc726('0x3b')]({},_0x34c288,_0x51c20e[_0xc726('0x9c')]);return db[_0xc726('0x42')][_0xc726('0x14')]({'where':_0x34c288['where']})[_0xc726('0x1a')](function(_0x10fdab){_0x55465d[_0xc726('0x14')]=_0x10fdab;if(_0x51c20e[_0xc726('0x23')][_0xc726('0x9d')]){_0x34c288[_0xc726('0x9e')]=[{'all':!![]}];}return db[_0xc726('0x42')][_0xc726('0x22')](_0x34c288);})[_0xc726('0x1a')](function(_0x49bc65){_0x55465d[_0xc726('0x9f')]=_0x49bc65;return _0x55465d;});}})[_0xc726('0x1a')](respondWithFilteredResult(_0x4d1f53,_0x34c288))[_0xc726('0x28')](handleError(_0x4d1f53,null));};exports[_0xc726('0xa0')]=function(_0x387812,_0x2b7e4d){var _0x52577d={'raw':!![],'where':{}};var _0x410b34={};var _0x649522={'count':0x0,'rows':[]};return db[_0xc726('0x2a')]['findOne']({'where':{'id':_0x387812['params']['id']}})['then'](handleEntityNotFound(_0x2b7e4d,null))[_0xc726('0x1a')](function(_0x5c079f){if(_0x5c079f){_0x410b34[_0xc726('0x79')]=_['keys'](db['CmHopperHistory'][_0xc726('0x7a')]);_0x410b34[_0xc726('0x23')]=_[_0xc726('0x2c')](_0x387812['query']);_0x410b34['filters']=_['intersection'](_0x410b34[_0xc726('0x79')],_0x410b34['query']);_0x52577d['attributes']=_[_0xc726('0x98')](_0x410b34[_0xc726('0x79')],qs[_0xc726('0x7d')](_0x387812['query'][_0xc726('0x7d')]));_0x52577d[_0xc726('0x7c')]=_0x52577d[_0xc726('0x7c')][_0xc726('0x33')]?_0x52577d[_0xc726('0x7c')]:_0x410b34['model'];if(!_0x387812[_0xc726('0x23')][_0xc726('0x65')]('nolimit')){_0x52577d[_0xc726('0x13')]=qs['limit'](_0x387812[_0xc726('0x23')][_0xc726('0x13')]);_0x52577d['offset']=qs[_0xc726('0x11')](_0x387812[_0xc726('0x23')][_0xc726('0x11')]);}_0x52577d['order']=qs[_0xc726('0x7e')](_0x387812['query'][_0xc726('0x7e')]);_0x52577d['where']=qs[_0xc726('0x7b')](_['pick'](_0x387812[_0xc726('0x23')],_0x410b34['filters']));_0x52577d['where']['ContactId']=_0x5c079f['id'];if(_0x387812[_0xc726('0x23')][_0xc726('0x80')]){_0x52577d['where']=_[_0xc726('0x3b')](_0x52577d[_0xc726('0x60')],{'$or':_[_0xc726('0x70')](_0x52577d['attributes'],function(_0x1a813e){var _0x4b140a={};_0x4b140a[_0x1a813e]={'$like':'%'+_0x387812[_0xc726('0x23')][_0xc726('0x80')]+'%'};return _0x4b140a;})});}_0x52577d=_[_0xc726('0x3b')]({},_0x52577d,_0x387812[_0xc726('0x9c')]);return db[_0xc726('0xa1')][_0xc726('0x14')]({'where':_0x52577d[_0xc726('0x60')]})[_0xc726('0x1a')](function(_0x241bdf){_0x649522[_0xc726('0x14')]=_0x241bdf;if(_0x387812[_0xc726('0x23')][_0xc726('0x9d')]){_0x52577d['include']=[{'all':!![]}];}return db['CmHopperHistory'][_0xc726('0x22')](_0x52577d);})[_0xc726('0x1a')](function(_0x1cfc5e){_0x649522['rows']=_0x1cfc5e;return _0x649522;});}})['then'](respondWithFilteredResult(_0x2b7e4d,_0x52577d))[_0xc726('0x28')](handleError(_0x2b7e4d,null));};exports[_0xc726('0xa2')]=function(_0x2baad6,_0x4b2e77){var _0x2b02ce={'raw':!![],'where':{}};var _0x1cbaab={};var _0x254998={'count':0x0,'rows':[]};return db['CmContact']['findOne']({'where':{'id':_0x2baad6[_0xc726('0x27')]['id']}})[_0xc726('0x1a')](handleEntityNotFound(_0x4b2e77,null))[_0xc726('0x1a')](function(_0x58f3e5){if(_0x58f3e5){_0x1cbaab[_0xc726('0x79')]=_[_0xc726('0x2c')](db['CmHopperFinal'][_0xc726('0x7a')]);_0x1cbaab[_0xc726('0x23')]=_[_0xc726('0x2c')](_0x2baad6[_0xc726('0x23')]);_0x1cbaab[_0xc726('0x7b')]=_[_0xc726('0x98')](_0x1cbaab[_0xc726('0x79')],_0x1cbaab['query']);_0x2b02ce['attributes']=_[_0xc726('0x98')](_0x1cbaab[_0xc726('0x79')],qs[_0xc726('0x7d')](_0x2baad6['query']['fields']));_0x2b02ce[_0xc726('0x7c')]=_0x2b02ce[_0xc726('0x7c')][_0xc726('0x33')]?_0x2b02ce[_0xc726('0x7c')]:_0x1cbaab[_0xc726('0x79')];if(!_0x2baad6[_0xc726('0x23')][_0xc726('0x65')](_0xc726('0x99'))){_0x2b02ce['limit']=qs[_0xc726('0x13')](_0x2baad6[_0xc726('0x23')]['limit']);_0x2b02ce[_0xc726('0x11')]=qs[_0xc726('0x11')](_0x2baad6[_0xc726('0x23')][_0xc726('0x11')]);}_0x2b02ce[_0xc726('0x9a')]=qs[_0xc726('0x7e')](_0x2baad6[_0xc726('0x23')][_0xc726('0x7e')]);_0x2b02ce['where']=qs[_0xc726('0x7b')](_[_0xc726('0x7f')](_0x2baad6[_0xc726('0x23')],_0x1cbaab[_0xc726('0x7b')]));_0x2b02ce['where'][_0xc726('0x9b')]=_0x58f3e5['id'];if(_0x2baad6['query']['filter']){_0x2b02ce[_0xc726('0x60')]=_['merge'](_0x2b02ce['where'],{'$or':_[_0xc726('0x70')](_0x2b02ce[_0xc726('0x7c')],function(_0x1d3c90){var _0x5aaaf6={};_0x5aaaf6[_0x1d3c90]={'$like':'%'+_0x2baad6['query'][_0xc726('0x80')]+'%'};return _0x5aaaf6;})});}_0x2b02ce=_[_0xc726('0x3b')]({},_0x2b02ce,_0x2baad6[_0xc726('0x9c')]);return db[_0xc726('0x4f')][_0xc726('0x14')]({'where':_0x2b02ce['where']})[_0xc726('0x1a')](function(_0xc2fe04){_0x254998['count']=_0xc2fe04;if(_0x2baad6['query'][_0xc726('0x9d')]){_0x2b02ce['include']=[{'all':!![]}];}return db[_0xc726('0x4f')][_0xc726('0x22')](_0x2b02ce);})[_0xc726('0x1a')](function(_0x18aac7){_0x254998[_0xc726('0x9f')]=_0x18aac7;return _0x254998;});}})[_0xc726('0x1a')](respondWithFilteredResult(_0x4b2e77,_0x2b02ce))[_0xc726('0x28')](handleError(_0x4b2e77,null));};exports[_0xc726('0xa3')]=function(_0x165275,_0x1f8c38){var _0x5c7a64={'raw':!![],'where':{}};var _0x3a52c9={};var _0x16c101={'count':0x0,'rows':[]};return db[_0xc726('0x2a')][_0xc726('0x78')]({'where':{'id':_0x165275[_0xc726('0x27')]['id']}})[_0xc726('0x1a')](handleEntityNotFound(_0x1f8c38,null))[_0xc726('0x1a')](function(_0x34e862){if(_0x34e862){_0x3a52c9['model']=_[_0xc726('0x2c')](db[_0xc726('0x55')]['rawAttributes']);_0x3a52c9[_0xc726('0x23')]=_[_0xc726('0x2c')](_0x165275[_0xc726('0x23')]);_0x3a52c9[_0xc726('0x7b')]=_[_0xc726('0x98')](_0x3a52c9[_0xc726('0x79')],_0x3a52c9[_0xc726('0x23')]);_0x5c7a64[_0xc726('0x7c')]=_[_0xc726('0x98')](_0x3a52c9[_0xc726('0x79')],qs[_0xc726('0x7d')](_0x165275['query'][_0xc726('0x7d')]));_0x5c7a64['attributes']=_0x5c7a64['attributes'][_0xc726('0x33')]?_0x5c7a64[_0xc726('0x7c')]:_0x3a52c9[_0xc726('0x79')];if(!_0x165275[_0xc726('0x23')]['hasOwnProperty'](_0xc726('0x99'))){_0x5c7a64[_0xc726('0x13')]=qs[_0xc726('0x13')](_0x165275[_0xc726('0x23')]['limit']);_0x5c7a64[_0xc726('0x11')]=qs[_0xc726('0x11')](_0x165275[_0xc726('0x23')][_0xc726('0x11')]);}_0x5c7a64['order']=qs[_0xc726('0x7e')](_0x165275[_0xc726('0x23')][_0xc726('0x7e')]);_0x5c7a64[_0xc726('0x60')]=qs[_0xc726('0x7b')](_[_0xc726('0x7f')](_0x165275[_0xc726('0x23')],_0x3a52c9[_0xc726('0x7b')]));_0x5c7a64[_0xc726('0x60')][_0xc726('0x9b')]=_0x34e862['id'];if(_0x165275[_0xc726('0x23')]['filter']){_0x5c7a64['where']=_[_0xc726('0x3b')](_0x5c7a64[_0xc726('0x60')],{'$or':_[_0xc726('0x70')](_0x5c7a64[_0xc726('0x7c')],function(_0x596332){var _0x4d35c9={};_0x4d35c9[_0x596332]={'$like':'%'+_0x165275[_0xc726('0x23')][_0xc726('0x80')]+'%'};return _0x4d35c9;})});}_0x5c7a64=_[_0xc726('0x3b')]({},_0x5c7a64,_0x165275[_0xc726('0x9c')]);return db[_0xc726('0x55')]['count']({'where':_0x5c7a64['where']})[_0xc726('0x1a')](function(_0x506f84){_0x16c101[_0xc726('0x14')]=_0x506f84;if(_0x165275[_0xc726('0x23')]['includeAll']){_0x5c7a64[_0xc726('0x9e')]=[{'all':!![]}];}return db[_0xc726('0x55')]['findAll'](_0x5c7a64);})[_0xc726('0x1a')](function(_0x2967eb){_0x16c101[_0xc726('0x9f')]=_0x2967eb;return _0x16c101;});}})[_0xc726('0x1a')](respondWithFilteredResult(_0x1f8c38,_0x5c7a64))[_0xc726('0x28')](handleError(_0x1f8c38,null));};exports['uploadCsv']=function(_0x259616,_0x361ac0){try{if(!_0x259616[_0xc726('0x3c')]['ListId']){throw new Error(_0xc726('0xa4'));}if(!_0x259616[_0xc726('0x3c')][_0xc726('0xa5')]){throw new Error('No\x20association\x20keys\x20specified!');}if(!_0x259616[_0xc726('0x3c')][_0xc726('0xa6')]){throw new Error(_0xc726('0xa7'));}if(!_0x259616[_0xc726('0x3c')]['socket_timestamp']){throw new Error(_0xc726('0xa8'));}var _0x4bc079=_0x259616[_0xc726('0x3c')][_0xc726('0xa5')]['split'](',');var _0xebd31=_0x259616['body']['binding_values'][_0xc726('0xa9')](',');if(!_0x4bc079['length']||!_0xebd31[_0xc726('0x33')]||_0x4bc079[_0xc726('0x33')]!==_0xebd31[_0xc726('0x33')]){throw new Error('Incorrect\x20binding\x20parameters\x20passed!');}_0x259616[_0xc726('0x3c')][_0xc726('0x7d')]=_['zipObject'](_0x4bc079,_0xebd31);if(!_0x259616[_0xc726('0x3c')][_0xc726('0x7d')][_0xc726('0x76')]){throw new Error(_0xc726('0xaa'));}if(!_0x259616[_0xc726('0x3c')][_0xc726('0x7d')][_0xc726('0xab')]){throw new Error(_0xc726('0xac'));}var _0x5cabf0=path['join'](config[_0xc726('0xad')],_0xc726('0xae'),_0x259616[_0xc726('0xaf')][_0xc726('0xb0')]);fs[_0xc726('0xb1')](_0x5cabf0,parseInt('0777',0x8));var _0x482c8d=require(_0xc726('0xb2'))[_0xc726('0xb3')](path[_0xc726('0x41')](__dirname,_0xc726('0xb4')),[_0x5cabf0,_0x259616[_0xc726('0x3c')][_0xc726('0xa5')],_0x259616[_0xc726('0x3c')]['binding_values'],_0x259616['body'][_0xc726('0x63')],_0x259616[_0xc726('0x3c')][_0xc726('0xb5')],_0x259616[_0xc726('0x3c')][_0xc726('0x5f')],_0x259616[_0xc726('0x3c')][_0xc726('0xb6')]]);return _0x361ac0[_0xc726('0x15')](0xc8)[_0xc726('0x18')]({'message':'File\x20uploaded\x20correctly!','pid':_0x482c8d['pid']});}catch(_0x2f850c){return _0x361ac0[_0xc726('0x15')](0x1f4)[_0xc726('0x20')](_0x2f850c);}};exports[_0xc726('0xb7')]=function(_0x4793b9,_0x1b2afd){var _0x2f0dd8=fs[_0xc726('0xb8')](_0x4793b9[_0xc726('0xaf')][_0xc726('0x2')]);Papa[_0xc726('0xb9')](_0x2f0dd8,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x2ccb6e){return _0x1b2afd['status'](0xc8)[_0xc726('0x18')]({'file':_0x4793b9[_0xc726('0xaf')],'fields':_0x2ccb6e[_0xc726('0xba')][_0xc726('0x7d')]});}});};exports[_0xc726('0xbb')]=function(_0x9de2b,_0x3e0018){return db[_0xc726('0xbc')][_0xc726('0x22')]({'raw':!![],'attributes':['id'],'where':{'role':_0xc726('0xbd')}})[_0xc726('0x1a')](function(_0x13a237){var _0x38c655=![];if(!_0x9de2b['body'][_0xc726('0x63')]){throw new Error(_0xc726('0xa4'));}if(!_0x9de2b['body']['binding'][_0xc726('0x76')]){throw new Error(_0xc726('0xaa'));}if(!_0x9de2b[_0xc726('0x3c')][_0xc726('0xbe')][_0xc726('0xab')]){throw new Error(_0xc726('0xac'));}if(!_0x9de2b['body'][_0xc726('0xb6')]){throw new Error('Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed');}var _0x47bb63=require(_0xc726('0xb2'))['fork'](path['join'](__dirname,_0xc726('0xbf')),[_0x9de2b[_0xc726('0x27')]['id'],JSON[_0xc726('0xc0')](_0x9de2b[_0xc726('0x3c')]),JSON['stringify'](_0x13a237)]);_0x47bb63['on']('message',function(){_0x38c655=!![];return _0x3e0018[_0xc726('0x15')](0xc8)[_0xc726('0x18')]({'message':_0xc726('0xc1'),'pid':_0x47bb63[_0xc726('0xc2')]});});_0x47bb63['on'](_0xc726('0xc3'),function(_0x247c46){if(_0x247c46&&!_0x38c655){return _0x3e0018[_0xc726('0x15')](0x1f4)[_0xc726('0x18')]({'message':_0xc726('0xc4'),'pid':_0x47bb63[_0xc726('0xc2')]});}});})['catch'](handleError(_0x3e0018,null));};exports['importUpdates']=function(_0x42d5f5,_0xb90fc9){return db[_0xc726('0xbc')]['findAll']({'raw':!![],'attributes':['id'],'where':{'role':_0xc726('0xbd')}})[_0xc726('0x1a')](function(_0x38cbd7){var _0x1da23f=![];if(!_0x42d5f5[_0xc726('0x3c')][_0xc726('0x63')]){throw new Error(_0xc726('0xa4'));}if(!_0x42d5f5[_0xc726('0x3c')]['binding'][_0xc726('0x76')]){throw new Error(_0xc726('0xaa'));}if(!_0x42d5f5[_0xc726('0x3c')]['binding']['firstName']){throw new Error(_0xc726('0xac'));}if(!_0x42d5f5[_0xc726('0x3c')][_0xc726('0xb6')]){throw new Error(_0xc726('0xa8'));}var _0x2ffe6a=require(_0xc726('0xb2'))['fork'](path[_0xc726('0x41')](__dirname,'../../components/import/cm/csvUpdates'),[_0x42d5f5['params']['id'],JSON[_0xc726('0xc0')](_0x42d5f5[_0xc726('0x3c')]),JSON[_0xc726('0xc0')](_0x38cbd7)]);_0x2ffe6a['on'](_0xc726('0xc5'),function(){_0x1da23f=!![];return _0xb90fc9[_0xc726('0x15')](0xc8)[_0xc726('0x18')]({'message':_0xc726('0xc1'),'pid':_0x2ffe6a[_0xc726('0xc2')]});});_0x2ffe6a['on'](_0xc726('0xc3'),function(_0x4336e4){if(_0x4336e4&&!_0x1da23f){return _0xb90fc9['status'](0x1f4)[_0xc726('0x18')]({'message':_0xc726('0xc4'),'pid':_0x2ffe6a[_0xc726('0xc2')]});}});})[_0xc726('0x28')](handleError(_0xb90fc9,null));};exports[_0xc726('0xc6')]=function(_0x2c9975,_0x25ede7){var _0x4c9ae9=[_0xc726('0xc7'),_0xc726('0xc8'),_0xc726('0xc9'),_0xc726('0xca'),_0xc726('0xcb'),_0xc726('0xcc'),_0xc726('0xcd')];var _0x49e71a={'offset':0x0,'order':qs[_0xc726('0x7e')]('-createdAt')},_0x3339cb={'count':0x0,'rows':[]};Promise[_0xc726('0xce')]()[_0xc726('0x1a')](function(){if(_0x2c9975['query'][_0xc726('0xcf')]){if(!_[_0xc726('0xd0')](_0x4c9ae9,_0x2c9975[_0xc726('0x23')][_0xc726('0xcf')][_0xc726('0xd1')]())){throw new Error(_0xc726('0xd2'));}_0x4c9ae9=[_0x2c9975[_0xc726('0x23')][_0xc726('0xcf')][_0xc726('0xd1')]()];}if(_0x2c9975[_0xc726('0x23')]['range']){try{var _0x2ff2c3=JSON[_0xc726('0xb9')](_0x2c9975[_0xc726('0x23')]['range']);if(!moment(_0x2ff2c3[_0xc726('0x3d')])[_0xc726('0xd3')]()){throw new Error('Invalid\x20date\x20for\x20range\x20from\x20filter');}if(!moment(_0x2ff2c3['to'])[_0xc726('0xd3')]()){throw new Error(_0xc726('0xd4'));}}catch(_0x200543){throw new Error('Invalid\x20createdAt\x20filter');}}if(!_0x2c9975[_0xc726('0x23')][_0xc726('0x65')](_0xc726('0x99'))){_0x49e71a[_0xc726('0x13')]=qs[_0xc726('0x13')](_0x2c9975[_0xc726('0x23')][_0xc726('0x13')]||0xa);_0x49e71a[_0xc726('0x11')]=qs[_0xc726('0x11')](_0x2c9975['query'][_0xc726('0x11')]);}var _0x5a9d97=_0x4c9ae9['map'](function(_0x1b0937){if(_0x1b0937===_0xc726('0xcd')){var _0x492139={'attributes':['id',_0xc726('0xd5'),_0xc726('0x36'),_0xc726('0xd6'),'destination',_0xc726('0xd7'),_0xc726('0xd8'),_0xc726('0xd9'),_0xc726('0xda'),'note','createdAt','userDisposition',_0xc726('0xdb'),_0xc726('0xdc'),_0xc726('0xdd')],'where':{'ContactId':_0x2c9975[_0xc726('0x27')]['id']},'include':[{'model':db[_0xc726('0xbc')],'as':_0xc726('0xbc'),'attributes':['id','name',_0xc726('0xde'),_0xc726('0x34')]}],'order':[[_0xc726('0xdf'),_0xc726('0xe0')]]};if(_0x2c9975[_0xc726('0x23')]['range']){_0x492139[_0xc726('0x60')][_0xc726('0xdf')]={'$gte':_0x2ff2c3[_0xc726('0x3d')],'$lte':_0x2ff2c3['to']};}return db[_0xc726('0x51')][_0xc726('0xe1')](_0x492139)['then'](function(_0x323115){_0x3339cb[_0xc726('0x14')]+=_0x323115[_0xc726('0x14')];return _[_0xc726('0x70')](_0x323115[_0xc726('0x9f')],function(_0x4e02ff){var _0x474d8c=_0x4e02ff['get']({'plain':!![]});_0x474d8c[_0xc726('0xcf')]=_0x1b0937;if(_0x474d8c['User']){_0x474d8c['User']={'id':_0x474d8c['User']['id'],'name':_0x474d8c['User'][_0xc726('0x1f')],'fullname':_0x474d8c[_0xc726('0xbc')]['fullname'],'alias':_0x474d8c[_0xc726('0xbc')][_0xc726('0x34')]};}return _0x474d8c;});});}else{var _0x2d7c30=_[_0xc726('0xe2')](_0x1b0937)+(_0x1b0937===_0xc726('0xc8')?_0xc726('0xe3'):_0xc726('0xe4'));var _0xe052e1={'attributes':['id',_0xc726('0xe5'),_0xc726('0xe6'),_0xc726('0xdf'),_0xc726('0xe7'),_0xc726('0xe8'),_0xc726('0xe9'),'thirdDisposition',_0xc726('0xdd'),_0x2d7c30+'Id'],'where':{'ContactId':_0x2c9975[_0xc726('0x27')]['id']},'include':[{'model':db[_0x2d7c30],'as':_0xc726('0xe4'),'attributes':['id','name',_0xc726('0xea')]},{'model':db['User'],'as':'Owner','attributes':['id',_0xc726('0x1f'),_0xc726('0xde')]},{'model':db[_0xc726('0x68')],'as':'Tags','attributes':['id',_0xc726('0x1f'),_0xc726('0xeb')],'through':{'attributes':[]}}],'order':[[_0xc726('0xdf'),'DESC']]};if(_0x2c9975[_0xc726('0x23')]['range']){_0xe052e1[_0xc726('0x60')][_0xc726('0xdf')]={'$gte':_0x2ff2c3[_0xc726('0x3d')],'$lte':_0x2ff2c3['to']};}switch(_0x1b0937){case _0xc726('0xc8'):_0xe052e1[_0xc726('0x7c')]['push']('browserName',_0xc726('0xec'),_0xc726('0xed'),_0xc726('0xee'),_0xc726('0xef'),_0xc726('0xf0'),'ratingType',_0xc726('0xf1'),_0xc726('0xf2'));break;case _0xc726('0xc7'):_0xe052e1['attributes'][_0xc726('0x62')](_0xc726('0xf3'),_0xc726('0xf4'));break;case _0xc726('0xca'):_0xe052e1['attributes'][_0xc726('0x62')](_0xc726('0xf5'),_0xc726('0xf6'));break;}return db[_[_0xc726('0xe2')](_0x1b0937)+'Interaction'][_0xc726('0xe1')](_0xe052e1)[_0xc726('0x1a')](function(_0x3053d1){_0x3339cb[_0xc726('0x14')]+=_0x3053d1[_0xc726('0x14')];return _[_0xc726('0x70')](_0x3053d1[_0xc726('0x9f')],function(_0x189dc6){var _0x233152=_0x189dc6[_0xc726('0x3e')]({'plain':!![]});_0x233152[_0xc726('0xcf')]=_0x1b0937;if(_0x233152[_0xc726('0xf7')]){_0x233152['Owner']={'id':_0x233152[_0xc726('0xf7')]['id'],'name':_0x233152[_0xc726('0xf7')][_0xc726('0x1f')],'fullname':_0x233152[_0xc726('0xf7')]['fullname']};}return _0x233152;});});}});return Promise[_0xc726('0x66')](_0x5a9d97);})['then'](function(_0xd05b47){return _(_0xd05b47)[_0xc726('0xf8')]()[_0xc726('0xf9')](_0xc726('0xdf'))['reverse']()[_0xc726('0xfa')]();})[_0xc726('0x1a')](function(_0x314d10){_0x3339cb[_0xc726('0x9f')]=_0x49e71a[_0xc726('0x13')]?_0x314d10[_0xc726('0xfb')](_0x49e71a[_0xc726('0x11')],_0x49e71a[_0xc726('0x11')]+_0x49e71a[_0xc726('0x13')]):_0x314d10;return _0x3339cb;})['then'](respondWithFilteredResult(_0x25ede7,_0x49e71a))[_0xc726('0x28')](handleError(_0x25ede7,null));};