0cd54e92fc8cf33afe467cbeefa5f02d81823984
[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 _0x34c4=['ContactItemType','ItemType','literal','$and','omit','map','format','cf_%d','utcOffset','pickBy','isEmpty','cm_contacts','setFields','id\x20=\x20?','toParam','sequelize','text','phone','findOne','filters','intersection','model','attributes','fields','sort','filter','options','getTags','setTags','ids','setAdditionalPhones','items','item_types','ItemTypeId','description','OrderBy','contact\x20phone\x20exists','PHONE','CmHopperAdditionalPhone','item','`ItemType`.OrderBy','CmHopperId','ItemType.OrderBy','getAdditionalPhones','duplicateAdditionalPhones','fromContactId','CmContactId','toContactId','rescheduleAdditionalPhones','hopperId','getHoppers','rawAttributes','nolimit','order','pick','ContactId','includeAll','include','rows','getHopperHistories','getHopperFinals','getJscriptySessions','JscriptySessionReport','uploadCsv','No\x20ListId\x20specified','binding_keys','binding_values','split','zipObject','No\x20phone\x20column\x20specified','firstName','No\x20firstName\x20column\x20specified','root','server/files/tmp','file','filename','chmodSync','0777','fork','../../components/import/cm/csv','socket_timestamp','pid','upload','createReadStream','meta','import','User','agent','binding','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','child_process','../../components/import/cm/csv2','stringify','start\x20child\x20process\x20correctly!','exit','error\x20child\x20process','importUpdates','message','chat','sms','openchannel','fax','whatsapp','voice','-createdAt','resolve','channel','includes','Invalid\x20channel','toLowerCase','range','parse','isValid','Invalid\x20date\x20for\x20range\x20from\x20filter','Invalid\x20date\x20for\x20range\x20to\x20filter','Invalid\x20createdAt\x20filter','uniqueid','source','destination','callerid','starttime','duration','createdAt','userDisposition','userThirdDisposition','UserId','fullname','DESC','Website','closed','closedAt','note','disposition','secondDisposition','Account','key','browserName','customerIp','customerPort','deviceModel','osName','ratingMessage','ratingType','substatus','startCase','Interaction','findAndCountAll','Owner','flatten','reverse','slice','moment','bluebird','path','lodash','squel','../../components/contacts','../../config/environment','../../config/environment/shared','redis','defaults','localhost','socket.io-emitter','./cmContact.socket','register','status','json','limit','count','offset','Content-Range','update','then','destroy','end','sendStatus','stack','name','send','describe','findAll','query','user','CmContact','find','params','catch','tags','keys','length','startsWith','cf_','columnName','displayName','analytics','CmCustomField','alias','custom','type','values','info','Custom\x20field\x20%s\x20not\x20found\x20on\x20cm_contacts\x20table','forEach','merge','body','from','get','mergeWith','isArray','join','[CmContact][merge]\x20to\x20%s\x20from\x20%s','CmHopper','[CmContact][merge][destroy][CmHopper],\x20%s','CmHopperBlack','[CmContact][merge][destroy][CmHopperBlack],\x20%s','create','ChatInteraction','MailInteraction','MailMessage','SmsInteraction','SmsMessage','FaxMessage','OpenchannelMessage','CmContactHasItem','CmHopperFinal','CmHopperHistory','ReportAgentPreview','VoiceCallReport','ChatQueueReport','FaxQueueReport','MailQueueReport','OpenchannelQueueReport','WhatsappInteraction','WhatsappMessage','isNil','dialTimezone','timezones','additionalPhones','bulkCreate','duplicates','where','$or','ListId','findOrCreate','spread','hasOwnProperty','push','contact','all','Tag','Tags','color','tag'];(function(_0x235485,_0x42b9b4){var _0x4b066e=function(_0x3c2617){while(--_0x3c2617){_0x235485['push'](_0x235485['shift']());}};_0x4b066e(++_0x42b9b4);}(_0x34c4,0x194));var _0x434c=function(_0x5a34d3,_0x22a6a8){_0x5a34d3=_0x5a34d3-0x0;var _0x151d8e=_0x34c4[_0x5a34d3];return _0x151d8e;};'use strict';var moment=require(_0x434c('0x0'));var BPromise=require(_0x434c('0x1'));var util=require('util');var path=require(_0x434c('0x2'));var fs=require('fs');var _=require(_0x434c('0x3'));var squel=require(_0x434c('0x4'));var Papa=require('papaparse');var Redis=require('ioredis');var contacts=require(_0x434c('0x5'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')('api');var config=require(_0x434c('0x6'));var shared=require(_0x434c('0x7'));var db=require('../../mysqldb')['db'];config[_0x434c('0x8')]=_[_0x434c('0x9')](config[_0x434c('0x8')],{'host':_0x434c('0xa'),'port':0x18eb});var socket=require(_0x434c('0xb'))(new Redis(config['redis']));require(_0x434c('0xc'))[_0x434c('0xd')](socket);function respondWithResult(_0x5d924c,_0x1562b2){_0x1562b2=_0x1562b2||0xc8;return function(_0x319b61){if(_0x319b61){return _0x5d924c[_0x434c('0xe')](_0x1562b2)[_0x434c('0xf')](_0x319b61);}};}function respondWithFilteredResult(_0x196879,_0x5cb401){return function(_0x3b8ca9){if(_0x3b8ca9){var _0x47d830=typeof _0x5cb401['offset']==='undefined'&&typeof _0x5cb401[_0x434c('0x10')]==='undefined';var _0x245248=_0x3b8ca9[_0x434c('0x11')];var _0xd0953c=_0x47d830?0x0:_0x5cb401[_0x434c('0x12')];var _0x257938=_0x47d830?_0x3b8ca9[_0x434c('0x11')]:_0x5cb401['offset']+_0x5cb401[_0x434c('0x10')];var _0x403829;if(_0x257938>=_0x245248){_0x257938=_0x245248;_0x403829=0xc8;}else{_0x403829=0xce;}_0x196879[_0x434c('0xe')](_0x403829);return _0x196879['set'](_0x434c('0x13'),_0xd0953c+'-'+_0x257938+'/'+_0x245248)[_0x434c('0xf')](_0x3b8ca9);}return null;};}function saveUpdates(_0x1a33b7){return function(_0x1bd48c){if(_0x1bd48c){return _0x1bd48c[_0x434c('0x14')](_0x1a33b7)[_0x434c('0x15')](function(_0x4fc346){return _0x4fc346;});}return null;};}function removeEntity(_0x18cf18){return function(_0x312992){if(_0x312992){return _0x312992[_0x434c('0x16')]()[_0x434c('0x15')](function(){_0x18cf18[_0x434c('0xe')](0xcc)[_0x434c('0x17')]();});}};}function handleEntityNotFound(_0x2db6b5){return function(_0x4b664b){if(!_0x4b664b){_0x2db6b5[_0x434c('0x18')](0x194);}return _0x4b664b;};}function handleError(_0x132d9e,_0x5a2802){_0x5a2802=_0x5a2802||0x1f4;return function(_0x28216f){logger['error'](_0x28216f[_0x434c('0x19')]);if(_0x28216f[_0x434c('0x1a')]){delete _0x28216f['name'];}_0x132d9e['status'](_0x5a2802)[_0x434c('0x1b')](_0x28216f);};}exports['index']=function(_0x4c192c,_0x5aef53){var _0x36d1e4={};return contacts[_0x434c('0x1c')]()[_0x434c('0x15')](function(_0x173924){_0x36d1e4=qs['getOptions'](_0x173924,_0x4c192c);return contacts[_0x434c('0x1d')](_0x4c192c[_0x434c('0x1e')],_0x4c192c[_0x434c('0x1f')],_0x36d1e4,_0x173924);})[_0x434c('0x15')](respondWithFilteredResult(_0x5aef53,_0x36d1e4))['catch'](handleError(_0x5aef53,null));};exports['destroy']=function(_0x50fb6d,_0x2e33b7){return db[_0x434c('0x20')][_0x434c('0x21')]({'where':{'id':_0x50fb6d[_0x434c('0x22')]['id']}})[_0x434c('0x15')](handleEntityNotFound(_0x2e33b7,null))['then'](removeEntity(_0x2e33b7,null))[_0x434c('0x23')](handleError(_0x2e33b7,null));};exports[_0x434c('0x1c')]=function(_0x329bb4,_0x3f9bd1){return db['CmContact'][_0x434c('0x1c')]()[_0x434c('0x15')](function(_0x355f5e){delete _0x355f5e[_0x434c('0x24')];for(var _0x4b8f58=0x0;_0x4b8f58<Object[_0x434c('0x25')](_0x355f5e)[_0x434c('0x26')];_0x4b8f58++){var _0x663457=Object['keys'](_0x355f5e)[_0x4b8f58];if(!_[_0x434c('0x27')](_0x663457,_0x434c('0x28'))){_0x355f5e[_0x663457][_0x434c('0x29')]=_0x663457;_0x355f5e[_0x663457][_0x434c('0x2a')]=_0x663457;}}return _0x355f5e;})[_0x434c('0x15')](function(_0x1ad63f){var _0x1a6940={'where':Boolean(_0x329bb4[_0x434c('0x1e')][_0x434c('0x2b')])===!![]?undefined:{'$or':[{'ListId':_0x329bb4['query']['id']},{'ListId':null}]},'raw':!![]};return db[_0x434c('0x2c')][_0x434c('0x1d')](_0x1a6940)[_0x434c('0x15')](function(_0x2b6e96){for(var _0x1eee50=0x0;_0x1eee50<_0x2b6e96[_0x434c('0x26')];_0x1eee50++){var _0x17763d='cf_'+_0x2b6e96[_0x1eee50]['id'];if(_0x1ad63f[_0x17763d]){_0x1ad63f[_0x17763d][_0x434c('0x29')]=_0x17763d;_0x1ad63f[_0x17763d][_0x434c('0x2a')]=_0x2b6e96[_0x1eee50][_0x434c('0x2d')];_0x1ad63f[_0x17763d][_0x434c('0x2e')]={'type':_0x2b6e96[_0x1eee50][_0x434c('0x2f')],'values':_0x2b6e96[_0x1eee50][_0x434c('0x30')]};}else{logger[_0x434c('0x31')](_0x434c('0x32'),_0x17763d);}}Object[_0x434c('0x25')](_0x1ad63f)[_0x434c('0x33')](function(_0x1ee2f1){if(!_0x1ad63f[_0x1ee2f1]['hasOwnProperty'](_0x434c('0x29'))){delete _0x1ad63f[_0x1ee2f1];}});return _0x1ad63f;});})['then'](respondWithResult(_0x3f9bd1,null))['catch'](handleError(_0x3f9bd1,null));};exports[_0x434c('0x34')]=function(_0x2303cc,_0x4a5153){var _0x1edade;var _0x50b07f;var _0x489647;if(_0x2303cc[_0x434c('0x35')]['id']){delete _0x2303cc['body']['id'];}return db[_0x434c('0x20')][_0x434c('0x1d')]({'where':{'id':[_0x2303cc[_0x434c('0x35')]['to'],_0x2303cc[_0x434c('0x35')][_0x434c('0x36')]]}})[_0x434c('0x15')](function(_0x3c6703){if(_0x3c6703){if(_0x3c6703['length']!==0x2){return null;}_0x3c6703[0x0]=_0x3c6703[0x0][_0x434c('0x37')]({'plain':!![]});_0x3c6703[0x1]=_0x3c6703[0x1][_0x434c('0x37')]({'plain':!![]});delete _0x3c6703[0x0]['id'];delete _0x3c6703[0x1]['id'];return _[_0x434c('0x38')](_0x3c6703[0x0],_0x3c6703[0x1],function(_0x1827ce,_0xb32dd1){if(Array[_0x434c('0x39')](_0xb32dd1)&&!_0xb32dd1[_0x434c('0x26')]){return _0x1827ce;}else if(!_0xb32dd1){return _0x1827ce;}});}})[_0x434c('0x15')](handleEntityNotFound(_0x4a5153,null))[_0x434c('0x15')](function(_0x102b88){if(_0x102b88){if(_0x102b88[_0x434c('0x24')]&&_[_0x434c('0x39')](_0x102b88[_0x434c('0x24')])){_0x102b88['tags']=_0x102b88[_0x434c('0x24')][_0x434c('0x3a')]();}logger[_0x434c('0x31')](_0x434c('0x3b'),_0x2303cc['body']['to'],_0x2303cc['body'][_0x434c('0x36')]);return db[_0x434c('0x3c')][_0x434c('0x16')]({'where':{'ContactId':[_0x2303cc['body']['to'],_0x2303cc[_0x434c('0x35')][_0x434c('0x36')]]}})[_0x434c('0x15')](function(_0x5008b8){logger[_0x434c('0x31')](_0x434c('0x3d'),_0x5008b8);return db[_0x434c('0x3e')][_0x434c('0x16')]({'where':{'ContactId':[_0x2303cc[_0x434c('0x35')]['to'],_0x2303cc[_0x434c('0x35')][_0x434c('0x36')]]}})['then'](function(_0x1ab7d2){logger['info'](_0x434c('0x3f'),_0x1ab7d2);return db[_0x434c('0x20')][_0x434c('0x40')](_0x102b88);});});}})['then'](function(_0x1b5731){if(_0x1b5731){_0x1edade=_0x1b5731;_0x50b07f={'ContactId':_0x1edade['id']};_0x489647={'where':{'ContactId':[_0x2303cc[_0x434c('0x35')]['to'],_0x2303cc[_0x434c('0x35')]['from']]}};return db[_0x434c('0x41')][_0x434c('0x14')](_0x50b07f,_0x489647);}})['then'](function(){if(_0x1edade){return db['ChatMessage']['update'](_0x50b07f,_0x489647);}})['then'](function(){if(_0x1edade){return db['ChatOfflineMessage'][_0x434c('0x14')](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x42')][_0x434c('0x14')](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x43')]['update'](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x42')][_0x434c('0x14')](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x43')]['update'](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x44')][_0x434c('0x14')](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x45')]['update'](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db['FaxInteraction']['update'](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x46')][_0x434c('0x14')](_0x50b07f,_0x489647);}})['then'](function(){if(_0x1edade){return db['OpenchannelInteraction'][_0x434c('0x14')](_0x50b07f,_0x489647);}})['then'](function(){if(_0x1edade){return db[_0x434c('0x47')]['update'](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x48')][_0x434c('0x14')]({'CmContactId':_0x1edade['id']},{'where':{'CmContactId':[_0x2303cc[_0x434c('0x35')]['to'],_0x2303cc[_0x434c('0x35')][_0x434c('0x36')]]}});}})['then'](function(){if(_0x1edade){return db[_0x434c('0x49')][_0x434c('0x14')](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x4a')][_0x434c('0x14')](_0x50b07f,_0x489647);}})['then'](function(){if(_0x1edade){return db[_0x434c('0x4b')][_0x434c('0x14')](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x4c')][_0x434c('0x14')](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x4d')][_0x434c('0x14')](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x4e')][_0x434c('0x14')](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x4f')][_0x434c('0x14')](_0x50b07f,_0x489647);}})['then'](function(){if(_0x1edade){return db[_0x434c('0x50')][_0x434c('0x14')](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db['SmsQueueReport']['update'](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db['JscriptySessionReport']['update'](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x51')][_0x434c('0x14')](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x52')][_0x434c('0x14')](_0x50b07f,_0x489647);}})['then'](function(){if(_0x1edade){return db['WhatsappQueueReport'][_0x434c('0x14')](_0x50b07f,_0x489647);}})[_0x434c('0x15')](function(){if(_0x1edade){return db[_0x434c('0x20')]['destroy']({'where':{'id':[_0x2303cc[_0x434c('0x35')]['to'],_0x2303cc[_0x434c('0x35')][_0x434c('0x36')]]}});}})[_0x434c('0x15')](function(){if(_0x1edade){return _0x1edade;}})[_0x434c('0x15')](respondWithResult(_0x4a5153,null))[_0x434c('0x23')](handleError(_0x4a5153,null));};exports[_0x434c('0x40')]=function(_0x43ed87,_0x1ae165){return db['CmContact']['describe']()[_0x434c('0x15')](function(_0x5633ec){if(_0x43ed87[_0x434c('0x35')]['tags']&&_[_0x434c('0x39')](_0x43ed87[_0x434c('0x35')][_0x434c('0x24')])){if(_0x43ed87[_0x434c('0x35')]['tags'][_0x434c('0x26')]){_0x43ed87[_0x434c('0x35')][_0x434c('0x24')]=_0x43ed87[_0x434c('0x35')][_0x434c('0x24')][_0x434c('0x3a')](';')+';';}else{_0x43ed87[_0x434c('0x35')]['tags']=null;}}else{_0x43ed87['body'][_0x434c('0x24')]=null;}if(!_[_0x434c('0x53')](_0x43ed87['body']['dialTimezone'])){var _0x1cede3=_0x43ed87['body'][_0x434c('0x54')];if(!_[_0x434c('0x53')](shared[_0x434c('0x55')][_0x1cede3]))_0x43ed87[_0x434c('0x35')]['utcOffset']=shared[_0x434c('0x55')][_0x1cede3]['utcOffset'];}return db[_0x434c('0x20')][_0x434c('0x40')](_0x43ed87[_0x434c('0x35')],{'fields':_[_0x434c('0x25')](_0x5633ec),'raw':!![]});})['then'](function(_0x3d0576){if(_0x43ed87[_0x434c('0x35')][_0x434c('0x56')]){return insertAdditionalPhones(_0x3d0576,_0x43ed87[_0x434c('0x35')]['additionalPhones']);}else{return _0x3d0576;}})[_0x434c('0x15')](respondWithResult(_0x1ae165,0xc9))[_0x434c('0x23')](handleError(_0x1ae165,null));};exports[_0x434c('0x57')]=function(_0x149074,_0x4f13d3){var _0x543dc2=0x0;var _0x54bf7d=0x0;var _0x23f402=0x0;var _0x17b1d9=[];return db[_0x434c('0x20')]['describe']()[_0x434c('0x15')](function(_0x5cf438){return BPromise['each'](_0x149074[_0x434c('0x35')],function(_0x5391ef){var _0x473a53={'where':{'$or':[]},'defaults':_0x5391ef,'fields':_[_0x434c('0x25')](_0x5cf438),'raw':!![]};if(_0x5391ef[_0x434c('0x58')]){for(var _0x20b169=0x0;_0x20b169<_0x5391ef[_0x434c('0x58')]['length'];_0x20b169++){var _0x501a8f={};_0x501a8f[_0x5391ef['duplicates'][_0x20b169]]=_0x5391ef[_0x5391ef[_0x434c('0x58')][_0x20b169]];_0x473a53[_0x434c('0x59')][_0x434c('0x5a')]['push'](_0x501a8f);}_0x473a53[_0x434c('0x59')][_0x434c('0x5b')]=_0x5391ef[_0x434c('0x5b')];}return db[_0x434c('0x20')][_0x434c('0x5c')](_0x473a53)[_0x434c('0x5d')](function(_0x4b8c58,_0x217dcd){if(_0x217dcd){if(_0x5391ef[_0x434c('0x5e')]('additionalPhones')){_0x17b1d9[_0x434c('0x5f')]({'contact':_0x4b8c58,'additionalPhones':_0x5391ef[_0x434c('0x56')]});}_0x543dc2++;}else{_0x23f402++;}})[_0x434c('0x23')](function(){_0x54bf7d++;});});})[_0x434c('0x15')](function(_0x5f3a3c){if(_0x5f3a3c){if(_0x17b1d9[_0x434c('0x26')]>0x0){return new Promise(function(_0x52422d){var _0x246ef6=[];for(var _0x2937b4=0x0;_0x2937b4<_0x17b1d9[_0x434c('0x26')];_0x2937b4++){_0x246ef6[_0x434c('0x5f')](insertAdditionalPhones(_0x17b1d9[_0x2937b4][_0x434c('0x60')],_0x17b1d9[_0x2937b4][_0x434c('0x56')]));}Promise[_0x434c('0x61')](_0x246ef6)[_0x434c('0x15')](function(){_0x52422d(0x1);});})[_0x434c('0x15')](function(){return{'success':_0x543dc2,'failure':_0x54bf7d,'duplicates':_0x23f402};});}else{return{'success':_0x543dc2,'failure':_0x54bf7d,'duplicates':_0x23f402};}}})[_0x434c('0x15')](respondWithResult(_0x4f13d3,0xc9))['catch'](handleError(_0x4f13d3,null));};exports['show']=function(_0x3c2094,_0x24fa71){var _0x56d7e9;return db[_0x434c('0x20')][_0x434c('0x1c')]()['then'](function(_0x59a3ff){return db[_0x434c('0x20')]['find']({'where':{'id':_0x3c2094[_0x434c('0x22')]['id']},'include':[{'model':db[_0x434c('0x62')],'as':_0x434c('0x63'),'attributes':['id',_0x434c('0x1a'),_0x434c('0x64')],'required':_0x3c2094['query'][_0x434c('0x65')]?!![]:![]},{'model':db[_0x434c('0x48')],'as':'Phones','where':{'CmContactId':_0x3c2094[_0x434c('0x22')]['id']},'required':![],'include':[{'model':db[_0x434c('0x66')],'as':_0x434c('0x67')}]}],'order':[db['sequelize'][_0x434c('0x68')]('Phones.OrderBy')],'attributes':_['keys'](_0x59a3ff)});})[_0x434c('0x15')](function(_0x532978){if(!_[_0x434c('0x53')](_0x532978)){_0x56d7e9=_0x532978[_0x434c('0x37')]({'plain':!![]});var _0x5271fa={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x532978&&_0x532978['ListId']){if(_0x532978[_0x434c('0x5b')]){_0x5271fa[_0x434c('0x59')][_0x434c('0x69')][_0x434c('0x5f')]({'ListId':{'$ne':_0x532978[_0x434c('0x5b')]}});}}return db[_0x434c('0x2c')]['findAll'](_0x5271fa);}})['then'](function(_0x4480fb){if(!_[_0x434c('0x53')](_0x4480fb)){return _[_0x434c('0x6a')](_0x56d7e9,_[_0x434c('0x6b')](_0x4480fb,function(_0x4e96df){return util[_0x434c('0x6c')](_0x434c('0x6d'),_0x4e96df['id']);}));}})[_0x434c('0x15')](handleEntityNotFound(_0x24fa71,null))['then'](respondWithResult(_0x24fa71,null))[_0x434c('0x23')](handleError(_0x24fa71,null));};exports[_0x434c('0x14')]=function(_0x21fbd8,_0x466c63){var _0x24763b;if(_0x21fbd8[_0x434c('0x35')]['id']){delete _0x21fbd8['body']['id'];}if(!_[_0x434c('0x53')](_0x21fbd8[_0x434c('0x35')][_0x434c('0x54')])){var _0x4e30f4=_0x21fbd8[_0x434c('0x35')][_0x434c('0x54')];if(!_[_0x434c('0x53')](shared[_0x434c('0x55')][_0x4e30f4]))_0x21fbd8['body'][_0x434c('0x6e')]=shared['timezones'][_0x4e30f4]['utcOffset'];}return db['CmContact'][_0x434c('0x21')]({'where':{'id':_0x21fbd8[_0x434c('0x22')]['id']}})[_0x434c('0x15')](handleEntityNotFound(_0x466c63,null))[_0x434c('0x15')](saveUpdates(_0x21fbd8[_0x434c('0x35')],null))[_0x434c('0x15')](function(_0x4896fd){_0x24763b=_0x4896fd;var _0x201971={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x4896fd&&_0x4896fd[_0x434c('0x5b')]){if(_0x4896fd[_0x434c('0x5b')]){_0x201971[_0x434c('0x59')]['$and'][_0x434c('0x5f')]({'ListId':{'$ne':_0x4896fd[_0x434c('0x5b')]}});}}return db[_0x434c('0x2c')]['findAll'](_0x201971);})[_0x434c('0x15')](function(_0x330d2e){if(_0x330d2e){return _['omit'](_[_0x434c('0x6f')](_0x21fbd8[_0x434c('0x35')],function(_0x429fe1,_0x237449){return _[_0x434c('0x27')](_0x237449,_0x434c('0x28'));}),_[_0x434c('0x6b')](_0x330d2e,function(_0x5042f3){return util[_0x434c('0x6c')]('cf_%d',_0x5042f3['id']);}));}})[_0x434c('0x15')](function(_0x3f8f35){if(_0x3f8f35&&!_[_0x434c('0x70')](_0x3f8f35)){var _0x56918f=squel[_0x434c('0x14')]()['table'](_0x434c('0x71'))[_0x434c('0x72')](_0x3f8f35)['where'](_0x434c('0x73'),_0x21fbd8[_0x434c('0x22')]['id'])[_0x434c('0x74')]();return db[_0x434c('0x75')][_0x434c('0x1e')](_0x56918f[_0x434c('0x76')],{'replacements':_0x56918f[_0x434c('0x30')]});}})[_0x434c('0x15')](function(){if(_0x21fbd8[_0x434c('0x35')][_0x434c('0x77')]&&_0x24763b){return db[_0x434c('0x3c')][_0x434c('0x14')]({'phone':_0x21fbd8[_0x434c('0x35')]['phone'],'OrderBy':0x0},{'where':{'ContactId':_0x24763b['id']}});}})['then'](function(){return _0x24763b;})[_0x434c('0x15')](respondWithResult(_0x466c63,null))[_0x434c('0x23')](handleError(_0x466c63,null));};exports['getTags']=function(_0x3444e5,_0x25dab1){var _0x3ae20f={};var _0x5cff62={};var _0x3ca1ca;var _0x612f01;return db[_0x434c('0x20')][_0x434c('0x78')]({'where':{'id':_0x3444e5['params']['id']}})[_0x434c('0x15')](handleEntityNotFound(_0x25dab1,null))[_0x434c('0x15')](function(_0x29fd30){if(_0x29fd30){_0x3ca1ca=_0x29fd30;_0x5cff62['model']=_[_0x434c('0x25')](db[_0x434c('0x62')]['rawAttributes']);_0x5cff62[_0x434c('0x1e')]=_[_0x434c('0x25')](_0x3444e5['query']);_0x5cff62[_0x434c('0x79')]=_[_0x434c('0x7a')](_0x5cff62[_0x434c('0x7b')],_0x5cff62[_0x434c('0x1e')]);_0x3ae20f[_0x434c('0x7c')]=_[_0x434c('0x7a')](_0x5cff62[_0x434c('0x7b')],qs[_0x434c('0x7d')](_0x3444e5['query'][_0x434c('0x7d')]));_0x3ae20f[_0x434c('0x7c')]=_0x3ae20f[_0x434c('0x7c')][_0x434c('0x26')]?_0x3ae20f[_0x434c('0x7c')]:_0x5cff62[_0x434c('0x7b')];_0x3ae20f['order']=qs[_0x434c('0x7e')](_0x3444e5[_0x434c('0x1e')]['sort']);_0x3ae20f[_0x434c('0x59')]=qs[_0x434c('0x79')](_['pick'](_0x3444e5[_0x434c('0x1e')],_0x5cff62['filters']));if(_0x3444e5[_0x434c('0x1e')][_0x434c('0x7f')]){_0x3ae20f[_0x434c('0x59')]=_[_0x434c('0x34')](_0x3ae20f['where'],{'$or':_['map'](_0x3ae20f[_0x434c('0x7c')],function(_0x214e2b){var _0x2f5347={};_0x2f5347[_0x214e2b]={'$like':'%'+_0x3444e5[_0x434c('0x1e')]['filter']+'%'};return _0x2f5347;})});}_0x3ae20f=_[_0x434c('0x34')]({},_0x3ae20f,_0x3444e5[_0x434c('0x80')]);return _0x3ca1ca[_0x434c('0x81')](_0x3ae20f);}})[_0x434c('0x15')](function(_0x35325d){if(_0x35325d){_0x612f01=_0x35325d[_0x434c('0x26')];if(!_0x3444e5[_0x434c('0x1e')]['hasOwnProperty']('nolimit')){_0x3ae20f[_0x434c('0x10')]=qs[_0x434c('0x10')](_0x3444e5[_0x434c('0x1e')][_0x434c('0x10')]);_0x3ae20f[_0x434c('0x12')]=qs['offset'](_0x3444e5[_0x434c('0x1e')][_0x434c('0x12')]);}return _0x3ca1ca[_0x434c('0x81')](_0x3ae20f);}})[_0x434c('0x15')](function(_0x86c88){if(_0x86c88){return _0x86c88?{'count':_0x612f01,'rows':_0x86c88}:null;}})['then'](respondWithResult(_0x25dab1,null))[_0x434c('0x23')](handleError(_0x25dab1,null));};exports[_0x434c('0x82')]=function(_0x7f71ad,_0x4af3cd){if(_0x7f71ad[_0x434c('0x35')]['id']){delete _0x7f71ad[_0x434c('0x35')]['id'];}return db['CmContact'][_0x434c('0x78')]({'where':{'id':_0x7f71ad[_0x434c('0x22')]['id']}})[_0x434c('0x15')](handleEntityNotFound(_0x4af3cd,null))['then'](function(_0x382f7f){if(_0x382f7f){return _0x382f7f['setTags'](_0x7f71ad[_0x434c('0x35')][_0x434c('0x83')]||[]);}return null;})[_0x434c('0x15')](respondWithResult(_0x4af3cd,null))[_0x434c('0x23')](handleError(_0x4af3cd,null));};exports[_0x434c('0x84')]=function(_0x31b071,_0x4a5e48){var _0x4cfbfb=[];_0x4cfbfb[_0x434c('0x5f')](addAdditionalPhones(_0x31b071[_0x434c('0x35')]));Promise[_0x434c('0x61')](_0x4cfbfb)[_0x434c('0x15')](function(){_0x4cfbfb=[];_0x4cfbfb[_0x434c('0x5f')](deleteCmHopperPhones(_0x31b071[_0x434c('0x35')]['id']));_0x4cfbfb['push'](addCmHopperPhones(_0x31b071[_0x434c('0x35')]['id']));Promise['all'](_0x4cfbfb)['then'](function(){return[0x1];})[_0x434c('0x15')](respondWithResult(_0x4a5e48,null));});};function addAdditionalPhones(_0x54cdad){var _0x173022;return new Promise(function(_0x2f9b80){return db[_0x434c('0x48')]['destroy']({'where':{'CmContactId':_0x54cdad['id']}})[_0x434c('0x15')](function(){db[_0x434c('0x66')][_0x434c('0x1d')]({'raw':!![],'attributes':['id','OrderBy']})[_0x434c('0x15')](function(_0x196a04){var _0x160c6b=[];for(var _0x548f3d=0x0;_0x548f3d<_0x54cdad[_0x434c('0x85')][_0x434c('0x26')];_0x548f3d++){var _0x4dc509=_0x54cdad[_0x434c('0x86')]?_[_0x434c('0x53')](_0x54cdad[_0x434c('0x86')][_0x548f3d])?'':_0x54cdad['item_types'][_0x548f3d]:_0x54cdad['items'][_0x548f3d]['ItemTypeId']?_0x54cdad[_0x434c('0x85')][_0x548f3d][_0x434c('0x87')]:'';var _0x2ab8f3=_['isNil'](_0x54cdad[_0x434c('0x85')][_0x548f3d][_0x434c('0x88')])?'':_0x54cdad[_0x434c('0x85')][_0x548f3d][_0x434c('0x88')];var _0x59a37b=_0x4dc509+':'+_0x54cdad[_0x434c('0x85')][_0x548f3d][_0x434c('0x77')]+'ยง'+_0x2ab8f3;if(_['isNil'](_0x173022))_0x173022=_0x59a37b;else _0x173022+=';'+_0x59a37b;var _0x10369f=null;var _0x2b04a0=null;if(_0x54cdad['item_types']){if(!_[_0x434c('0x53')](_0x54cdad[_0x434c('0x86')][_0x548f3d])){_0x2b04a0=_[_0x434c('0x21')](_0x196a04,function(_0x4527e7){return _0x4527e7['id']===_0x54cdad[_0x434c('0x86')][_0x548f3d];});if(!_[_0x434c('0x53')](_0x2b04a0)){_0x10369f=_0x2b04a0[_0x434c('0x89')];}}}else{if(!_[_0x434c('0x53')](_0x54cdad[_0x434c('0x85')][_0x548f3d])){_0x2b04a0=_[_0x434c('0x21')](_0x196a04,function(_0x4ad9d2){return _0x4ad9d2['id']===_0x54cdad[_0x434c('0x85')][_0x548f3d][_0x434c('0x87')];});if(!_['isNil'](_0x2b04a0)){_0x10369f=_0x548f3d;}}}if(_[_0x434c('0x53')](_0x10369f)){_0x10369f=0x64;}_0x160c6b[_0x434c('0x5f')](addAdditionalPhone(_0x54cdad['id'],_0x54cdad['items'][_0x548f3d][_0x434c('0x77')],_0x54cdad[_0x434c('0x86')]?_[_0x434c('0x53')](_0x54cdad[_0x434c('0x86')][_0x548f3d])?null:_0x54cdad[_0x434c('0x86')][_0x548f3d]:_0x54cdad[_0x434c('0x85')][_0x548f3d]['ItemTypeId']?_0x54cdad[_0x434c('0x85')][_0x548f3d]['ItemTypeId']:null,_0x10369f,_0x2ab8f3));}Promise['all'](_0x160c6b)[_0x434c('0x15')](function(){db['CmContact'][_0x434c('0x14')]({'AdditionalPhones':_0x173022},{'where':{'id':_0x54cdad['id']}})['then'](function(){_0x2f9b80(0x1);});});});});});}function addAdditionalPhone(_0x17fb4f,_0x34dba8,_0x544cee,_0x5a269a,_0x39615e){return db['CmContactHasItem'][_0x434c('0x21')]({'where':{'CmContactId':_0x17fb4f,'item':_0x34dba8}})[_0x434c('0x15')](function(_0x4ebf6f){if(_0x4ebf6f)logger['info'](_0x434c('0x8a'),_0x4ebf6f);else{db['CmContactHasItem'][_0x434c('0x40')]({'CmContactId':_0x17fb4f,'item':_0x34dba8,'ItemTypeId':_0x544cee,'OrderBy':_0x5a269a,'ItemClass':_0x434c('0x8b'),'description':_0x39615e});}});}function deleteCmHopperPhones(_0x195940){return new Promise(function(_0x300478){return db[_0x434c('0x3c')]['findAll']({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x195940}})['then'](function(_0x4fbb27){db[_0x434c('0x8c')]['destroy']({'where':{'CmHopperId':{'$in':_[_0x434c('0x6b')](_0x4fbb27,'id')}}});})[_0x434c('0x15')](function(){_0x300478(0x1);});});}function addCmHopperPhones(_0x36052c){return new Promise(function(_0x4a93aa){return db[_0x434c('0x3c')][_0x434c('0x1d')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x36052c}})[_0x434c('0x15')](function(_0x1d445f){var _0x5770ee=[];_['map'](_0x1d445f,function(_0x5703c7){_0x5770ee[_0x434c('0x5f')](createCmHopperPhone(_0x36052c,_0x5703c7['id']));});Promise[_0x434c('0x61')](_0x5770ee)[_0x434c('0x15')](function(){_0x4a93aa(0x1);});});});}function createCmHopperPhone(_0x50246d,_0x564a46){return new Promise(function(_0x3938cc){db[_0x434c('0x48')]['findAll']({'raw':!![],'attributes':[_0x434c('0x8d'),_0x434c('0x89')],'where':{'CmContactId':_0x50246d,'ItemClass':_0x434c('0x8b')},'include':[{'model':db[_0x434c('0x66')],'attributes':[_0x434c('0x89')],'as':'ItemType'}],'order':[_0x434c('0x89'),db['sequelize'][_0x434c('0x68')](_0x434c('0x8e'))]})[_0x434c('0x15')](function(_0x1eb1ab){var _0x148d78=0x1;var _0x149389=_[_0x434c('0x6b')](_0x1eb1ab,function(_0x5f3a02){_0x5f3a02[_0x434c('0x8f')]=_0x564a46;_0x5f3a02[_0x434c('0x77')]=_0x5f3a02[_0x434c('0x8d')];_0x5f3a02['OrderBy']=_0x148d78;delete _0x5f3a02[_0x434c('0x90')];_0x148d78=_0x148d78+0x1;return _0x5f3a02;});return db['CmHopperAdditionalPhone']['bulkCreate'](_0x149389,{});})[_0x434c('0x15')](function(){_0x3938cc(0x1);});});}function insertAdditionalPhones(_0x2e75c5,_0x585ef4){return new Promise(function(_0x552d0d){var _0x436d28=[];for(var _0x52aaae=0x0;_0x52aaae<_0x585ef4[_0x434c('0x26')];_0x52aaae++){var _0x1dc58f=_0x585ef4[_0x52aaae];_0x436d28[_0x434c('0x5f')](parseContactItemType(_0x1dc58f));}Promise[_0x434c('0x61')](_0x436d28)[_0x434c('0x15')](function(){var _0x4f5226={'id':_0x2e75c5['id'],'items':_0x585ef4};return addAdditionalPhones(_0x4f5226)[_0x434c('0x15')](function(){return addCmHopperPhones(_0x2e75c5['id']);});})[_0x434c('0x15')](function(){_0x552d0d(_0x2e75c5);});});}function parseContactItemType(_0xbb077f){return new Promise(function(_0x3b6a10){if(_0xbb077f[_0x434c('0x5e')]('ItemTypeId')){_0x3b6a10(_0xbb077f);}else{return db[_0x434c('0x66')][_0x434c('0x21')]({'where':{'name':_0xbb077f[_0x434c('0x67')]}})[_0x434c('0x15')](function(_0x5e7a83){if(_[_0x434c('0x53')](_0x5e7a83))_0xbb077f[_0x434c('0x87')]=null;else _0xbb077f[_0x434c('0x87')]=_0x5e7a83['id'];_0x3b6a10(_0xbb077f);});}});}exports[_0x434c('0x91')]=function(_0x3ab099,_0x5cf6a9){return db['CmContactHasItem']['findAll']({'raw':!![],'where':{'CmContactId':_0x3ab099[_0x434c('0x22')]['id'],'ItemClass':_0x434c('0x8b')},'include':[{'model':db[_0x434c('0x66')],'as':'ItemType'}],'order':[['OrderBy'],[db[_0x434c('0x75')][_0x434c('0x68')]('`ItemType`.OrderBy')]]})[_0x434c('0x15')](function(_0x209ea6){return _0x209ea6;})['then'](respondWithResult(_0x5cf6a9,null))[_0x434c('0x23')](handleError(_0x5cf6a9,null));};exports[_0x434c('0x92')]=function(_0x327dd0,_0x4f131a){return db[_0x434c('0x48')][_0x434c('0x1d')]({'raw':!![],'where':{'CmContactId':_0x327dd0[_0x434c('0x35')][_0x434c('0x93')]}})['then'](function(_0x10f9d2){var _0xc800aa=_[_0x434c('0x6b')](_0x10f9d2,function(_0x3faf16){_0x3faf16[_0x434c('0x94')]=_0x327dd0[_0x434c('0x35')][_0x434c('0x95')];return _0x3faf16;});return db[_0x434c('0x48')][_0x434c('0x57')](_0xc800aa,{});})['then'](function(){return addCmHopperPhones(_0x327dd0[_0x434c('0x35')][_0x434c('0x95')]);})['then'](function(){return['ok'];})[_0x434c('0x15')](respondWithResult(_0x4f131a,null))['catch'](handleError(_0x4f131a,null));};exports[_0x434c('0x96')]=function(_0x4ddc69,_0x5df0cb){var _0x214d07=[];_0x214d07[_0x434c('0x5f')](createCmHopperPhone(_0x4ddc69[_0x434c('0x35')]['id'],_0x4ddc69[_0x434c('0x35')][_0x434c('0x97')]));Promise[_0x434c('0x61')](_0x214d07)['then'](function(){return[0x1];})[_0x434c('0x15')](respondWithResult(_0x5df0cb,null));};exports[_0x434c('0x98')]=function(_0xc9e87a,_0x1f4cf0){var _0x52dfc2={'raw':![],'where':{}};var _0x17fdb9={};var _0x19e96d={'count':0x0,'rows':[]};return db[_0x434c('0x20')][_0x434c('0x78')]({'where':{'id':_0xc9e87a[_0x434c('0x22')]['id']}})[_0x434c('0x15')](handleEntityNotFound(_0x1f4cf0,null))[_0x434c('0x15')](function(_0x40967b){if(_0x40967b){_0x17fdb9[_0x434c('0x7b')]=_[_0x434c('0x25')](db[_0x434c('0x3c')][_0x434c('0x99')]);_0x17fdb9['query']=_['keys'](_0xc9e87a['query']);_0x17fdb9[_0x434c('0x79')]=_[_0x434c('0x7a')](_0x17fdb9['model'],_0x17fdb9['query']);_0x52dfc2['attributes']=_['intersection'](_0x17fdb9[_0x434c('0x7b')],qs[_0x434c('0x7d')](_0xc9e87a[_0x434c('0x1e')][_0x434c('0x7d')]));_0x52dfc2['attributes']=_0x52dfc2[_0x434c('0x7c')][_0x434c('0x26')]?_0x52dfc2['attributes']:_0x17fdb9[_0x434c('0x7b')];if(!_0xc9e87a[_0x434c('0x1e')]['hasOwnProperty'](_0x434c('0x9a'))){_0x52dfc2[_0x434c('0x10')]=qs[_0x434c('0x10')](_0xc9e87a['query']['limit']);_0x52dfc2[_0x434c('0x12')]=qs[_0x434c('0x12')](_0xc9e87a[_0x434c('0x1e')][_0x434c('0x12')]);}_0x52dfc2[_0x434c('0x9b')]=qs['sort'](_0xc9e87a[_0x434c('0x1e')][_0x434c('0x7e')]);_0x52dfc2['where']=qs[_0x434c('0x79')](_[_0x434c('0x9c')](_0xc9e87a[_0x434c('0x1e')],_0x17fdb9[_0x434c('0x79')]));_0x52dfc2[_0x434c('0x59')][_0x434c('0x9d')]=_0x40967b['id'];if(_0xc9e87a[_0x434c('0x1e')][_0x434c('0x7f')]){_0x52dfc2['where']=_['merge'](_0x52dfc2['where'],{'$or':_[_0x434c('0x6b')](_0x52dfc2[_0x434c('0x7c')],function(_0x2e071e){var _0x90cd45={};_0x90cd45[_0x2e071e]={'$like':'%'+_0xc9e87a[_0x434c('0x1e')][_0x434c('0x7f')]+'%'};return _0x90cd45;})});}_0x52dfc2=_[_0x434c('0x34')]({},_0x52dfc2,_0xc9e87a[_0x434c('0x80')]);return db[_0x434c('0x3c')][_0x434c('0x11')]({'where':_0x52dfc2[_0x434c('0x59')]})['then'](function(_0x2e488d){_0x19e96d['count']=_0x2e488d;if(_0xc9e87a[_0x434c('0x1e')][_0x434c('0x9e')]){_0x52dfc2[_0x434c('0x9f')]=[{'all':!![]}];}return db['CmHopper'][_0x434c('0x1d')](_0x52dfc2);})[_0x434c('0x15')](function(_0x5a41e){_0x19e96d[_0x434c('0xa0')]=_0x5a41e;return _0x19e96d;});}})[_0x434c('0x15')](respondWithFilteredResult(_0x1f4cf0,_0x52dfc2))[_0x434c('0x23')](handleError(_0x1f4cf0,null));};exports[_0x434c('0xa1')]=function(_0x3494b8,_0x326563){var _0x566617={'raw':!![],'where':{}};var _0x1ac85d={};var _0x473ad2={'count':0x0,'rows':[]};return db[_0x434c('0x20')][_0x434c('0x78')]({'where':{'id':_0x3494b8[_0x434c('0x22')]['id']}})[_0x434c('0x15')](handleEntityNotFound(_0x326563,null))[_0x434c('0x15')](function(_0x549261){if(_0x549261){_0x1ac85d[_0x434c('0x7b')]=_['keys'](db[_0x434c('0x4a')][_0x434c('0x99')]);_0x1ac85d['query']=_[_0x434c('0x25')](_0x3494b8[_0x434c('0x1e')]);_0x1ac85d['filters']=_[_0x434c('0x7a')](_0x1ac85d[_0x434c('0x7b')],_0x1ac85d[_0x434c('0x1e')]);_0x566617[_0x434c('0x7c')]=_[_0x434c('0x7a')](_0x1ac85d[_0x434c('0x7b')],qs[_0x434c('0x7d')](_0x3494b8[_0x434c('0x1e')][_0x434c('0x7d')]));_0x566617['attributes']=_0x566617[_0x434c('0x7c')][_0x434c('0x26')]?_0x566617[_0x434c('0x7c')]:_0x1ac85d[_0x434c('0x7b')];if(!_0x3494b8['query']['hasOwnProperty']('nolimit')){_0x566617[_0x434c('0x10')]=qs[_0x434c('0x10')](_0x3494b8[_0x434c('0x1e')]['limit']);_0x566617['offset']=qs['offset'](_0x3494b8[_0x434c('0x1e')]['offset']);}_0x566617[_0x434c('0x9b')]=qs[_0x434c('0x7e')](_0x3494b8['query'][_0x434c('0x7e')]);_0x566617[_0x434c('0x59')]=qs['filters'](_[_0x434c('0x9c')](_0x3494b8['query'],_0x1ac85d['filters']));_0x566617['where']['ContactId']=_0x549261['id'];if(_0x3494b8[_0x434c('0x1e')]['filter']){_0x566617[_0x434c('0x59')]=_[_0x434c('0x34')](_0x566617[_0x434c('0x59')],{'$or':_[_0x434c('0x6b')](_0x566617[_0x434c('0x7c')],function(_0x57fb1f){var _0x53a580={};_0x53a580[_0x57fb1f]={'$like':'%'+_0x3494b8['query'][_0x434c('0x7f')]+'%'};return _0x53a580;})});}_0x566617=_[_0x434c('0x34')]({},_0x566617,_0x3494b8[_0x434c('0x80')]);return db[_0x434c('0x4a')][_0x434c('0x11')]({'where':_0x566617[_0x434c('0x59')]})[_0x434c('0x15')](function(_0x5cdf0a){_0x473ad2[_0x434c('0x11')]=_0x5cdf0a;if(_0x3494b8[_0x434c('0x1e')][_0x434c('0x9e')]){_0x566617[_0x434c('0x9f')]=[{'all':!![]}];}return db[_0x434c('0x4a')][_0x434c('0x1d')](_0x566617);})[_0x434c('0x15')](function(_0x142fa1){_0x473ad2[_0x434c('0xa0')]=_0x142fa1;return _0x473ad2;});}})[_0x434c('0x15')](respondWithFilteredResult(_0x326563,_0x566617))[_0x434c('0x23')](handleError(_0x326563,null));};exports[_0x434c('0xa2')]=function(_0x2bc5d7,_0x128492){var _0x7ad00e={'raw':!![],'where':{}};var _0x456ef6={};var _0x29121c={'count':0x0,'rows':[]};return db[_0x434c('0x20')][_0x434c('0x78')]({'where':{'id':_0x2bc5d7[_0x434c('0x22')]['id']}})[_0x434c('0x15')](handleEntityNotFound(_0x128492,null))['then'](function(_0x4bf893){if(_0x4bf893){_0x456ef6['model']=_['keys'](db['CmHopperFinal'][_0x434c('0x99')]);_0x456ef6[_0x434c('0x1e')]=_[_0x434c('0x25')](_0x2bc5d7[_0x434c('0x1e')]);_0x456ef6[_0x434c('0x79')]=_['intersection'](_0x456ef6[_0x434c('0x7b')],_0x456ef6['query']);_0x7ad00e[_0x434c('0x7c')]=_[_0x434c('0x7a')](_0x456ef6[_0x434c('0x7b')],qs[_0x434c('0x7d')](_0x2bc5d7[_0x434c('0x1e')][_0x434c('0x7d')]));_0x7ad00e[_0x434c('0x7c')]=_0x7ad00e[_0x434c('0x7c')][_0x434c('0x26')]?_0x7ad00e[_0x434c('0x7c')]:_0x456ef6[_0x434c('0x7b')];if(!_0x2bc5d7['query'][_0x434c('0x5e')](_0x434c('0x9a'))){_0x7ad00e[_0x434c('0x10')]=qs[_0x434c('0x10')](_0x2bc5d7[_0x434c('0x1e')]['limit']);_0x7ad00e[_0x434c('0x12')]=qs[_0x434c('0x12')](_0x2bc5d7[_0x434c('0x1e')][_0x434c('0x12')]);}_0x7ad00e[_0x434c('0x9b')]=qs['sort'](_0x2bc5d7[_0x434c('0x1e')][_0x434c('0x7e')]);_0x7ad00e[_0x434c('0x59')]=qs[_0x434c('0x79')](_['pick'](_0x2bc5d7[_0x434c('0x1e')],_0x456ef6[_0x434c('0x79')]));_0x7ad00e['where']['ContactId']=_0x4bf893['id'];if(_0x2bc5d7[_0x434c('0x1e')][_0x434c('0x7f')]){_0x7ad00e[_0x434c('0x59')]=_[_0x434c('0x34')](_0x7ad00e[_0x434c('0x59')],{'$or':_[_0x434c('0x6b')](_0x7ad00e[_0x434c('0x7c')],function(_0x6b5bc){var _0x795759={};_0x795759[_0x6b5bc]={'$like':'%'+_0x2bc5d7[_0x434c('0x1e')]['filter']+'%'};return _0x795759;})});}_0x7ad00e=_[_0x434c('0x34')]({},_0x7ad00e,_0x2bc5d7[_0x434c('0x80')]);return db[_0x434c('0x49')][_0x434c('0x11')]({'where':_0x7ad00e['where']})[_0x434c('0x15')](function(_0x4efd6f){_0x29121c['count']=_0x4efd6f;if(_0x2bc5d7['query']['includeAll']){_0x7ad00e[_0x434c('0x9f')]=[{'all':!![]}];}return db['CmHopperFinal']['findAll'](_0x7ad00e);})[_0x434c('0x15')](function(_0x19d346){_0x29121c[_0x434c('0xa0')]=_0x19d346;return _0x29121c;});}})[_0x434c('0x15')](respondWithFilteredResult(_0x128492,_0x7ad00e))[_0x434c('0x23')](handleError(_0x128492,null));};exports[_0x434c('0xa3')]=function(_0x148416,_0x545057){var _0x4e70bc={'raw':!![],'where':{}};var _0x4673cb={};var _0x14acc0={'count':0x0,'rows':[]};return db[_0x434c('0x20')][_0x434c('0x78')]({'where':{'id':_0x148416[_0x434c('0x22')]['id']}})[_0x434c('0x15')](handleEntityNotFound(_0x545057,null))[_0x434c('0x15')](function(_0x549d58){if(_0x549d58){_0x4673cb[_0x434c('0x7b')]=_[_0x434c('0x25')](db[_0x434c('0xa4')][_0x434c('0x99')]);_0x4673cb['query']=_[_0x434c('0x25')](_0x148416[_0x434c('0x1e')]);_0x4673cb[_0x434c('0x79')]=_['intersection'](_0x4673cb['model'],_0x4673cb[_0x434c('0x1e')]);_0x4e70bc[_0x434c('0x7c')]=_[_0x434c('0x7a')](_0x4673cb['model'],qs['fields'](_0x148416[_0x434c('0x1e')][_0x434c('0x7d')]));_0x4e70bc['attributes']=_0x4e70bc[_0x434c('0x7c')][_0x434c('0x26')]?_0x4e70bc[_0x434c('0x7c')]:_0x4673cb[_0x434c('0x7b')];if(!_0x148416[_0x434c('0x1e')][_0x434c('0x5e')](_0x434c('0x9a'))){_0x4e70bc[_0x434c('0x10')]=qs[_0x434c('0x10')](_0x148416[_0x434c('0x1e')]['limit']);_0x4e70bc[_0x434c('0x12')]=qs[_0x434c('0x12')](_0x148416[_0x434c('0x1e')][_0x434c('0x12')]);}_0x4e70bc['order']=qs[_0x434c('0x7e')](_0x148416['query'][_0x434c('0x7e')]);_0x4e70bc[_0x434c('0x59')]=qs['filters'](_[_0x434c('0x9c')](_0x148416[_0x434c('0x1e')],_0x4673cb[_0x434c('0x79')]));_0x4e70bc[_0x434c('0x59')][_0x434c('0x9d')]=_0x549d58['id'];if(_0x148416['query'][_0x434c('0x7f')]){_0x4e70bc['where']=_[_0x434c('0x34')](_0x4e70bc['where'],{'$or':_[_0x434c('0x6b')](_0x4e70bc[_0x434c('0x7c')],function(_0x5d72db){var _0x34e51f={};_0x34e51f[_0x5d72db]={'$like':'%'+_0x148416[_0x434c('0x1e')][_0x434c('0x7f')]+'%'};return _0x34e51f;})});}_0x4e70bc=_['merge']({},_0x4e70bc,_0x148416[_0x434c('0x80')]);return db['JscriptySessionReport']['count']({'where':_0x4e70bc['where']})['then'](function(_0x344d50){_0x14acc0[_0x434c('0x11')]=_0x344d50;if(_0x148416[_0x434c('0x1e')][_0x434c('0x9e')]){_0x4e70bc[_0x434c('0x9f')]=[{'all':!![]}];}return db[_0x434c('0xa4')]['findAll'](_0x4e70bc);})[_0x434c('0x15')](function(_0x20389e){_0x14acc0['rows']=_0x20389e;return _0x14acc0;});}})[_0x434c('0x15')](respondWithFilteredResult(_0x545057,_0x4e70bc))[_0x434c('0x23')](handleError(_0x545057,null));};exports[_0x434c('0xa5')]=function(_0x374c06,_0x42095c){try{if(!_0x374c06[_0x434c('0x35')][_0x434c('0x5b')]){throw new Error(_0x434c('0xa6'));}if(!_0x374c06[_0x434c('0x35')][_0x434c('0xa7')]){throw new Error('No\x20association\x20keys\x20specified!');}if(!_0x374c06[_0x434c('0x35')][_0x434c('0xa8')]){throw new Error('No\x20association\x20values\x20specified!');}if(!_0x374c06[_0x434c('0x35')]['socket_timestamp']){throw new Error('Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed');}var _0x10e5c0=_0x374c06['body'][_0x434c('0xa7')][_0x434c('0xa9')](',');var _0xc123dd=_0x374c06['body'][_0x434c('0xa8')]['split'](',');if(!_0x10e5c0['length']||!_0xc123dd[_0x434c('0x26')]||_0x10e5c0[_0x434c('0x26')]!==_0xc123dd[_0x434c('0x26')]){throw new Error('Incorrect\x20binding\x20parameters\x20passed!');}_0x374c06['body'][_0x434c('0x7d')]=_[_0x434c('0xaa')](_0x10e5c0,_0xc123dd);if(!_0x374c06[_0x434c('0x35')][_0x434c('0x7d')]['phone']){throw new Error(_0x434c('0xab'));}if(!_0x374c06[_0x434c('0x35')][_0x434c('0x7d')][_0x434c('0xac')]){throw new Error(_0x434c('0xad'));}var _0x5e5c4c=path[_0x434c('0x3a')](config[_0x434c('0xae')],_0x434c('0xaf'),_0x374c06[_0x434c('0xb0')][_0x434c('0xb1')]);fs[_0x434c('0xb2')](_0x5e5c4c,parseInt(_0x434c('0xb3'),0x8));var _0x2f2268=require('child_process')[_0x434c('0xb4')](path[_0x434c('0x3a')](__dirname,_0x434c('0xb5')),[_0x5e5c4c,_0x374c06[_0x434c('0x35')][_0x434c('0xa7')],_0x374c06[_0x434c('0x35')]['binding_values'],_0x374c06[_0x434c('0x35')]['ListId'],_0x374c06[_0x434c('0x35')]['CompanyId'],_0x374c06[_0x434c('0x35')][_0x434c('0x58')],_0x374c06[_0x434c('0x35')][_0x434c('0xb6')]]);return _0x42095c[_0x434c('0xe')](0xc8)[_0x434c('0xf')]({'message':'File\x20uploaded\x20correctly!','pid':_0x2f2268[_0x434c('0xb7')]});}catch(_0x24b2c2){return _0x42095c['status'](0x1f4)['send'](_0x24b2c2);}};exports[_0x434c('0xb8')]=function(_0x1d5373,_0x2a70ea){var _0x3657f0=fs[_0x434c('0xb9')](_0x1d5373['file'][_0x434c('0x2')]);Papa['parse'](_0x3657f0,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x257ec9){return _0x2a70ea[_0x434c('0xe')](0xc8)[_0x434c('0xf')]({'file':_0x1d5373[_0x434c('0xb0')],'fields':_0x257ec9[_0x434c('0xba')][_0x434c('0x7d')]});}});};exports[_0x434c('0xbb')]=function(_0x53b778,_0x54192e){return db[_0x434c('0xbc')][_0x434c('0x1d')]({'raw':!![],'attributes':['id'],'where':{'role':_0x434c('0xbd')}})[_0x434c('0x15')](function(_0x51a891){var _0xe2da3=![];if(!_0x53b778[_0x434c('0x35')][_0x434c('0x5b')]){throw new Error('No\x20ListId\x20specified');}if(!_0x53b778['body'][_0x434c('0xbe')][_0x434c('0x77')]){throw new Error(_0x434c('0xab'));}if(!_0x53b778[_0x434c('0x35')]['binding'][_0x434c('0xac')]){throw new Error('No\x20firstName\x20column\x20specified');}if(!_0x53b778[_0x434c('0x35')][_0x434c('0xb6')]){throw new Error(_0x434c('0xbf'));}var _0x4ec07c=require(_0x434c('0xc0'))[_0x434c('0xb4')](path[_0x434c('0x3a')](__dirname,_0x434c('0xc1')),[_0x53b778[_0x434c('0x22')]['id'],JSON[_0x434c('0xc2')](_0x53b778['body']),JSON['stringify'](_0x51a891)]);_0x4ec07c['on']('message',function(){_0xe2da3=!![];return _0x54192e[_0x434c('0xe')](0xc8)['json']({'message':_0x434c('0xc3'),'pid':_0x4ec07c['pid']});});_0x4ec07c['on'](_0x434c('0xc4'),function(_0x4e5602){if(_0x4e5602&&!_0xe2da3){return _0x54192e[_0x434c('0xe')](0x1f4)['json']({'message':_0x434c('0xc5'),'pid':_0x4ec07c[_0x434c('0xb7')]});}});})[_0x434c('0x23')](handleError(_0x54192e,null));};exports[_0x434c('0xc6')]=function(_0x17e712,_0x5e7662){return db[_0x434c('0xbc')][_0x434c('0x1d')]({'raw':!![],'attributes':['id'],'where':{'role':'agent'}})[_0x434c('0x15')](function(_0x3a5853){var _0x9e9ffd=![];if(!_0x17e712[_0x434c('0x35')]['ListId']){throw new Error(_0x434c('0xa6'));}if(!_0x17e712[_0x434c('0x35')][_0x434c('0xbe')][_0x434c('0x77')]){throw new Error('No\x20phone\x20column\x20specified');}if(!_0x17e712['body'][_0x434c('0xbe')]['firstName']){throw new Error('No\x20firstName\x20column\x20specified');}if(!_0x17e712[_0x434c('0x35')][_0x434c('0xb6')]){throw new Error('Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed');}var _0x4f304f=require('child_process')['fork'](path[_0x434c('0x3a')](__dirname,'../../components/import/cm/csvUpdates'),[_0x17e712[_0x434c('0x22')]['id'],JSON['stringify'](_0x17e712[_0x434c('0x35')]),JSON[_0x434c('0xc2')](_0x3a5853)]);_0x4f304f['on'](_0x434c('0xc7'),function(){_0x9e9ffd=!![];return _0x5e7662[_0x434c('0xe')](0xc8)[_0x434c('0xf')]({'message':'start\x20child\x20process\x20correctly!','pid':_0x4f304f[_0x434c('0xb7')]});});_0x4f304f['on']('exit',function(_0x24d85e){if(_0x24d85e&&!_0x9e9ffd){return _0x5e7662[_0x434c('0xe')](0x1f4)[_0x434c('0xf')]({'message':'error\x20child\x20process','pid':_0x4f304f[_0x434c('0xb7')]});}});})[_0x434c('0x23')](handleError(_0x5e7662,null));};exports['getJourney']=function(_0x1e7dab,_0x3df336){var _0x4e44e1=['mail',_0x434c('0xc8'),_0x434c('0xc9'),_0x434c('0xca'),_0x434c('0xcb'),_0x434c('0xcc'),_0x434c('0xcd')];var _0x3b0657={'offset':0x0,'order':qs[_0x434c('0x7e')](_0x434c('0xce'))},_0x2bd021={'count':0x0,'rows':[]};Promise[_0x434c('0xcf')]()[_0x434c('0x15')](function(){if(_0x1e7dab[_0x434c('0x1e')][_0x434c('0xd0')]){if(!_[_0x434c('0xd1')](_0x4e44e1,_0x1e7dab[_0x434c('0x1e')]['channel']['toLowerCase']())){throw new Error(_0x434c('0xd2'));}_0x4e44e1=[_0x1e7dab[_0x434c('0x1e')][_0x434c('0xd0')][_0x434c('0xd3')]()];}if(_0x1e7dab['query'][_0x434c('0xd4')]){try{var _0x53a1c3=JSON[_0x434c('0xd5')](_0x1e7dab[_0x434c('0x1e')][_0x434c('0xd4')]);if(!moment(_0x53a1c3[_0x434c('0x36')])[_0x434c('0xd6')]()){throw new Error(_0x434c('0xd7'));}if(!moment(_0x53a1c3['to'])[_0x434c('0xd6')]()){throw new Error(_0x434c('0xd8'));}}catch(_0x476863){throw new Error(_0x434c('0xd9'));}}if(!_0x1e7dab['query']['hasOwnProperty'](_0x434c('0x9a'))){_0x3b0657['limit']=qs[_0x434c('0x10')](_0x1e7dab[_0x434c('0x1e')][_0x434c('0x10')]||0xa);_0x3b0657['offset']=qs[_0x434c('0x12')](_0x1e7dab[_0x434c('0x1e')][_0x434c('0x12')]);}var _0x44d284=_0x4e44e1[_0x434c('0x6b')](function(_0xf3fb0d){if(_0xf3fb0d===_0x434c('0xcd')){var _0x43b710={'attributes':['id',_0x434c('0xda'),_0x434c('0x2f'),_0x434c('0xdb'),_0x434c('0xdc'),_0x434c('0xdd'),_0x434c('0xde'),'endtime',_0x434c('0xdf'),'note',_0x434c('0xe0'),_0x434c('0xe1'),'userSecondDisposition',_0x434c('0xe2'),_0x434c('0xe3')],'where':{'ContactId':_0x1e7dab[_0x434c('0x22')]['id']},'include':[{'model':db[_0x434c('0xbc')],'as':_0x434c('0xbc'),'attributes':['id',_0x434c('0x1a'),_0x434c('0xe4'),_0x434c('0x2d')]}],'order':[[_0x434c('0xe0'),_0x434c('0xe5')]]};if(_0x1e7dab[_0x434c('0x1e')]['range']){_0x43b710[_0x434c('0x59')]['createdAt']={'$gte':_0x53a1c3[_0x434c('0x36')],'$lte':_0x53a1c3['to']};}return db[_0x434c('0x4c')]['findAndCountAll'](_0x43b710)[_0x434c('0x15')](function(_0x558cb8){_0x2bd021[_0x434c('0x11')]+=_0x558cb8[_0x434c('0x11')];return _[_0x434c('0x6b')](_0x558cb8['rows'],function(_0x4e22cf){var _0x17ab8b=_0x4e22cf['get']({'plain':!![]});_0x17ab8b['channel']=_0xf3fb0d;if(_0x17ab8b[_0x434c('0xbc')]){_0x17ab8b[_0x434c('0xbc')]={'id':_0x17ab8b[_0x434c('0xbc')]['id'],'name':_0x17ab8b['User'][_0x434c('0x1a')],'fullname':_0x17ab8b[_0x434c('0xbc')][_0x434c('0xe4')],'alias':_0x17ab8b[_0x434c('0xbc')][_0x434c('0x2d')]};}return _0x17ab8b;});});}else{var _0x55c920=_['startCase'](_0xf3fb0d)+(_0xf3fb0d===_0x434c('0xc8')?_0x434c('0xe6'):'Account');var _0xbb74b9={'attributes':['id',_0x434c('0xe7'),_0x434c('0xe8'),_0x434c('0xe0'),_0x434c('0xe9'),_0x434c('0xea'),_0x434c('0xeb'),'thirdDisposition',_0x434c('0xe3'),_0x55c920+'Id'],'where':{'ContactId':_0x1e7dab[_0x434c('0x22')]['id']},'include':[{'model':db[_0x55c920],'as':_0x434c('0xec'),'attributes':['id',_0x434c('0x1a'),_0x434c('0xed')]},{'model':db[_0x434c('0xbc')],'as':'Owner','attributes':['id','name',_0x434c('0xe4')]},{'model':db[_0x434c('0x62')],'as':_0x434c('0x63'),'attributes':['id','name','color'],'through':{'attributes':[]}}],'order':[[_0x434c('0xe0'),_0x434c('0xe5')]]};if(_0x1e7dab[_0x434c('0x1e')][_0x434c('0xd4')]){_0xbb74b9[_0x434c('0x59')][_0x434c('0xe0')]={'$gte':_0x53a1c3[_0x434c('0x36')],'$lte':_0x53a1c3['to']};}switch(_0xf3fb0d){case _0x434c('0xc8'):_0xbb74b9[_0x434c('0x7c')]['push'](_0x434c('0xee'),_0x434c('0xef'),_0x434c('0xf0'),_0x434c('0xf1'),_0x434c('0xf2'),_0x434c('0xf3'),_0x434c('0xf4'),'ratingValue','referer');break;case'mail':_0xbb74b9[_0x434c('0x7c')][_0x434c('0x5f')]('subject',_0x434c('0xf5'));break;case'openchannel':_0xbb74b9[_0x434c('0x7c')][_0x434c('0x5f')]('externalUrl','threadId');break;}return db[_[_0x434c('0xf6')](_0xf3fb0d)+_0x434c('0xf7')][_0x434c('0xf8')](_0xbb74b9)[_0x434c('0x15')](function(_0x288cd4){_0x2bd021[_0x434c('0x11')]+=_0x288cd4[_0x434c('0x11')];return _[_0x434c('0x6b')](_0x288cd4[_0x434c('0xa0')],function(_0x2d75e3){var _0x329100=_0x2d75e3['get']({'plain':!![]});_0x329100[_0x434c('0xd0')]=_0xf3fb0d;if(_0x329100['Owner']){_0x329100[_0x434c('0xf9')]={'id':_0x329100[_0x434c('0xf9')]['id'],'name':_0x329100['Owner']['name'],'fullname':_0x329100[_0x434c('0xf9')][_0x434c('0xe4')]};}return _0x329100;});});}});return Promise[_0x434c('0x61')](_0x44d284);})[_0x434c('0x15')](function(_0x5e2b10){return _(_0x5e2b10)[_0x434c('0xfa')]()['sortBy']('createdAt')[_0x434c('0xfb')]()['value']();})[_0x434c('0x15')](function(_0x163230){_0x2bd021[_0x434c('0xa0')]=_0x3b0657['limit']?_0x163230[_0x434c('0xfc')](_0x3b0657[_0x434c('0x12')],_0x3b0657[_0x434c('0x12')]+_0x3b0657[_0x434c('0x10')]):_0x163230;return _0x2bd021;})[_0x434c('0x15')](respondWithFilteredResult(_0x3df336,_0x3b0657))[_0x434c('0x23')](handleError(_0x3df336,null));};