Built motion from commit b5996064.|2.6.21
[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 _0x0cd5=['importUpdates','../../components/import/cm/csvUpdates','message','exit','mail','chat','sms','fax','whatsapp','voice','resolve','channel','includes','toLowerCase','Invalid\x20channel','range','isValid','Invalid\x20date\x20for\x20range\x20from\x20filter','Invalid\x20date\x20for\x20range\x20to\x20filter','Invalid\x20createdAt\x20filter','uniqueid','callerid','starttime','endtime','duration','note','createdAt','userDisposition','userSecondDisposition','UserId','fullname','DESC','findAndCountAll','startCase','Website','Account','closed','closedAt','disposition','color','browserName','customerPort','deviceModel','osName','ratingMessage','ratingValue','referer','subject','substatus','openchannel','threadId','Interaction','Owner','flatten','sortBy','slice','moment','bluebird','util','path','squel','papaparse','ioredis','../../components/contacts','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../config/environment/shared','../../mysqldb','defaults','localhost','socket.io-emitter','redis','./cmContact.socket','register','status','json','undefined','limit','count','offset','set','Content-Range','end','sendStatus','error','stack','name','index','describe','then','getOptions','findAll','query','user','catch','CmContact','find','params','tags','keys','length','startsWith','cf_','columnName','analytics','CmCustomField','alias','custom','type','values','info','forEach','hasOwnProperty','merge','body','from','get','mergeWith','isArray','join','[CmContact][merge]\x20to\x20%s\x20from\x20%s','CmHopper','destroy','[CmContact][merge][destroy][CmHopper],\x20%s','[CmContact][merge][destroy][CmHopperBlack],\x20%s','create','ChatInteraction','update','ChatOfflineMessage','MailInteraction','MailMessage','SmsInteraction','SmsMessage','FaxInteraction','FaxMessage','OpenchannelInteraction','OpenchannelMessage','CmContactHasItem','CmHopperFinal','VoiceCallReport','OpenchannelQueueReport','JscriptySessionReport','WhatsappMessage','WhatsappQueueReport','dialTimezone','timezones','utcOffset','additionalPhones','bulkCreate','each','duplicates','where','ListId','spread','push','contact','all','show','Tags','Phones','sequelize','literal','Phones.OrderBy','omit','map','format','isNil','pickBy','cf_%d','isEmpty','table','cm_contacts','setFields','phone','getTags','findOne','Tag','filters','model','intersection','fields','attributes','order','sort','pick','filter','setTags','ids','setAdditionalPhones','ContactItemType','OrderBy','items','item_types','ItemTypeId','description','contact\x20phone\x20exists','PHONE','item','ItemType','`ItemType`.OrderBy','CmHopperAdditionalPhone','getAdditionalPhones','duplicateAdditionalPhones','fromContactId','toContactId','rescheduleAdditionalPhones','getHoppers','rawAttributes','nolimit','ContactId','options','includeAll','include','rows','getHopperHistories','CmHopperHistory','getHopperFinals','getJscriptySessions','uploadCsv','No\x20ListId\x20specified','binding_keys','No\x20association\x20keys\x20specified!','binding_values','No\x20association\x20values\x20specified!','socket_timestamp','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','split','zipObject','No\x20phone\x20column\x20specified','firstName','No\x20firstName\x20column\x20specified','server/files/tmp','0777','child_process','fork','../../components/import/cm/csv','CompanyId','File\x20uploaded\x20correctly!','pid','send','upload','createReadStream','file','parse','meta','User','agent','binding','../../components/import/cm/csv2','stringify','start\x20child\x20process\x20correctly!','error\x20child\x20process'];(function(_0x3289f3,_0xe9d718){var _0x296ffc=function(_0x2ea7ef){while(--_0x2ea7ef){_0x3289f3['push'](_0x3289f3['shift']());}};_0x296ffc(++_0xe9d718);}(_0x0cd5,0x136));var _0x50cd=function(_0x5bb736,_0x32c198){_0x5bb736=_0x5bb736-0x0;var _0x483aad=_0x0cd5[_0x5bb736];return _0x483aad;};'use strict';var moment=require(_0x50cd('0x0'));var BPromise=require(_0x50cd('0x1'));var util=require(_0x50cd('0x2'));var path=require(_0x50cd('0x3'));var fs=require('fs');var _=require('lodash');var squel=require(_0x50cd('0x4'));var Papa=require(_0x50cd('0x5'));var Redis=require(_0x50cd('0x6'));var contacts=require(_0x50cd('0x7'));var qs=require(_0x50cd('0x8'));var logger=require(_0x50cd('0x9'))(_0x50cd('0xa'));var config=require(_0x50cd('0xb'));var shared=require(_0x50cd('0xc'));var db=require(_0x50cd('0xd'))['db'];config['redis']=_[_0x50cd('0xe')](config['redis'],{'host':_0x50cd('0xf'),'port':0x18eb});var socket=require(_0x50cd('0x10'))(new Redis(config[_0x50cd('0x11')]));require(_0x50cd('0x12'))[_0x50cd('0x13')](socket);function respondWithResult(_0x194a33,_0x4cdeae){_0x4cdeae=_0x4cdeae||0xc8;return function(_0x53adaf){if(_0x53adaf){return _0x194a33[_0x50cd('0x14')](_0x4cdeae)[_0x50cd('0x15')](_0x53adaf);}};}function respondWithFilteredResult(_0x448917,_0xedacd){return function(_0x28229d){if(_0x28229d){var _0x5a5825=typeof _0xedacd['offset']===_0x50cd('0x16')&&typeof _0xedacd[_0x50cd('0x17')]==='undefined';var _0x4513de=_0x28229d[_0x50cd('0x18')];var _0x1d0a2b=_0x5a5825?0x0:_0xedacd[_0x50cd('0x19')];var _0x1a87bf=_0x5a5825?_0x28229d['count']:_0xedacd['offset']+_0xedacd[_0x50cd('0x17')];var _0x37a341;if(_0x1a87bf>=_0x4513de){_0x1a87bf=_0x4513de;_0x37a341=0xc8;}else{_0x37a341=0xce;}_0x448917[_0x50cd('0x14')](_0x37a341);return _0x448917[_0x50cd('0x1a')](_0x50cd('0x1b'),_0x1d0a2b+'-'+_0x1a87bf+'/'+_0x4513de)[_0x50cd('0x15')](_0x28229d);}return null;};}function saveUpdates(_0x12fb57){return function(_0x5c1eeb){if(_0x5c1eeb){return _0x5c1eeb['update'](_0x12fb57)['then'](function(_0x4a5d9e){return _0x4a5d9e;});}return null;};}function removeEntity(_0x4dbf23){return function(_0x3f0bad){if(_0x3f0bad){return _0x3f0bad['destroy']()['then'](function(){_0x4dbf23[_0x50cd('0x14')](0xcc)[_0x50cd('0x1c')]();});}};}function handleEntityNotFound(_0x823361){return function(_0x6923bd){if(!_0x6923bd){_0x823361[_0x50cd('0x1d')](0x194);}return _0x6923bd;};}function handleError(_0x4f41de,_0x44c9ae){_0x44c9ae=_0x44c9ae||0x1f4;return function(_0x5dc77a){logger[_0x50cd('0x1e')](_0x5dc77a[_0x50cd('0x1f')]);if(_0x5dc77a[_0x50cd('0x20')]){delete _0x5dc77a['name'];}_0x4f41de['status'](_0x44c9ae)['send'](_0x5dc77a);};}exports[_0x50cd('0x21')]=function(_0x583cd5,_0xab2de7){var _0x5ccdfe={};return contacts[_0x50cd('0x22')]()[_0x50cd('0x23')](function(_0x903759){_0x5ccdfe=qs[_0x50cd('0x24')](_0x903759,_0x583cd5);return contacts[_0x50cd('0x25')](_0x583cd5[_0x50cd('0x26')],_0x583cd5[_0x50cd('0x27')],_0x5ccdfe,_0x903759);})[_0x50cd('0x23')](respondWithFilteredResult(_0xab2de7,_0x5ccdfe))[_0x50cd('0x28')](handleError(_0xab2de7,null));};exports['destroy']=function(_0x1912b4,_0x1b35a3){return db[_0x50cd('0x29')][_0x50cd('0x2a')]({'where':{'id':_0x1912b4[_0x50cd('0x2b')]['id']}})[_0x50cd('0x23')](handleEntityNotFound(_0x1b35a3,null))[_0x50cd('0x23')](removeEntity(_0x1b35a3,null))[_0x50cd('0x28')](handleError(_0x1b35a3,null));};exports['describe']=function(_0x3cde27,_0x1f6b8d){return db['CmContact'][_0x50cd('0x22')]()[_0x50cd('0x23')](function(_0x4883b3){delete _0x4883b3[_0x50cd('0x2c')];for(var _0x3c95e5=0x0;_0x3c95e5<Object[_0x50cd('0x2d')](_0x4883b3)[_0x50cd('0x2e')];_0x3c95e5++){var _0x17e119=Object[_0x50cd('0x2d')](_0x4883b3)[_0x3c95e5];if(!_[_0x50cd('0x2f')](_0x17e119,_0x50cd('0x30'))){_0x4883b3[_0x17e119][_0x50cd('0x31')]=_0x17e119;_0x4883b3[_0x17e119]['displayName']=_0x17e119;}}return _0x4883b3;})['then'](function(_0x591719){var _0x34dc26={'where':Boolean(_0x3cde27[_0x50cd('0x26')][_0x50cd('0x32')])===!![]?undefined:{'$or':[{'ListId':_0x3cde27[_0x50cd('0x26')]['id']},{'ListId':null}]},'raw':!![]};return db[_0x50cd('0x33')][_0x50cd('0x25')](_0x34dc26)['then'](function(_0x5f0150){for(var _0x156020=0x0;_0x156020<_0x5f0150[_0x50cd('0x2e')];_0x156020++){var _0x11a806=_0x50cd('0x30')+_0x5f0150[_0x156020]['id'];if(_0x591719[_0x11a806]){_0x591719[_0x11a806]['columnName']=_0x11a806;_0x591719[_0x11a806]['displayName']=_0x5f0150[_0x156020][_0x50cd('0x34')];_0x591719[_0x11a806][_0x50cd('0x35')]={'type':_0x5f0150[_0x156020][_0x50cd('0x36')],'values':_0x5f0150[_0x156020][_0x50cd('0x37')]};}else{logger[_0x50cd('0x38')]('Custom\x20field\x20%s\x20not\x20found\x20on\x20cm_contacts\x20table',_0x11a806);}}Object[_0x50cd('0x2d')](_0x591719)[_0x50cd('0x39')](function(_0xb7df00){if(!_0x591719[_0xb7df00][_0x50cd('0x3a')](_0x50cd('0x31'))){delete _0x591719[_0xb7df00];}});return _0x591719;});})[_0x50cd('0x23')](respondWithResult(_0x1f6b8d,null))[_0x50cd('0x28')](handleError(_0x1f6b8d,null));};exports[_0x50cd('0x3b')]=function(_0x3682f5,_0x1304a8){var _0x32a4a7;var _0x4564c6;var _0x3d15ef;if(_0x3682f5[_0x50cd('0x3c')]['id']){delete _0x3682f5[_0x50cd('0x3c')]['id'];}return db[_0x50cd('0x29')][_0x50cd('0x25')]({'where':{'id':[_0x3682f5[_0x50cd('0x3c')]['to'],_0x3682f5[_0x50cd('0x3c')][_0x50cd('0x3d')]]}})[_0x50cd('0x23')](function(_0x4f94fa){if(_0x4f94fa){if(_0x4f94fa['length']!==0x2){return null;}_0x4f94fa[0x0]=_0x4f94fa[0x0]['get']({'plain':!![]});_0x4f94fa[0x1]=_0x4f94fa[0x1][_0x50cd('0x3e')]({'plain':!![]});delete _0x4f94fa[0x0]['id'];delete _0x4f94fa[0x1]['id'];return _[_0x50cd('0x3f')](_0x4f94fa[0x0],_0x4f94fa[0x1],function(_0x1f8953,_0x3dffe7){if(Array[_0x50cd('0x40')](_0x3dffe7)&&!_0x3dffe7[_0x50cd('0x2e')]){return _0x1f8953;}else if(!_0x3dffe7){return _0x1f8953;}});}})[_0x50cd('0x23')](handleEntityNotFound(_0x1304a8,null))[_0x50cd('0x23')](function(_0x16804b){if(_0x16804b){if(_0x16804b['tags']&&_[_0x50cd('0x40')](_0x16804b['tags'])){_0x16804b['tags']=_0x16804b[_0x50cd('0x2c')][_0x50cd('0x41')]();}logger[_0x50cd('0x38')](_0x50cd('0x42'),_0x3682f5[_0x50cd('0x3c')]['to'],_0x3682f5[_0x50cd('0x3c')][_0x50cd('0x3d')]);return db[_0x50cd('0x43')][_0x50cd('0x44')]({'where':{'ContactId':[_0x3682f5[_0x50cd('0x3c')]['to'],_0x3682f5[_0x50cd('0x3c')]['from']]}})[_0x50cd('0x23')](function(_0x422da8){logger[_0x50cd('0x38')](_0x50cd('0x45'),_0x422da8);return db['CmHopperBlack'][_0x50cd('0x44')]({'where':{'ContactId':[_0x3682f5['body']['to'],_0x3682f5[_0x50cd('0x3c')][_0x50cd('0x3d')]]}})[_0x50cd('0x23')](function(_0x5df833){logger[_0x50cd('0x38')](_0x50cd('0x46'),_0x5df833);return db['CmContact'][_0x50cd('0x47')](_0x16804b);});});}})['then'](function(_0x14d672){if(_0x14d672){_0x32a4a7=_0x14d672;_0x4564c6={'ContactId':_0x32a4a7['id']};_0x3d15ef={'where':{'ContactId':[_0x3682f5[_0x50cd('0x3c')]['to'],_0x3682f5[_0x50cd('0x3c')]['from']]}};return db[_0x50cd('0x48')][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})['then'](function(){if(_0x32a4a7){return db['ChatMessage'][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db[_0x50cd('0x4a')][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})['then'](function(){if(_0x32a4a7){return db[_0x50cd('0x4b')][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})['then'](function(){if(_0x32a4a7){return db[_0x50cd('0x4c')][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})['then'](function(){if(_0x32a4a7){return db['MailInteraction']['update'](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db[_0x50cd('0x4c')]['update'](_0x4564c6,_0x3d15ef);}})['then'](function(){if(_0x32a4a7){return db[_0x50cd('0x4d')]['update'](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db[_0x50cd('0x4e')]['update'](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db[_0x50cd('0x4f')][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db[_0x50cd('0x50')][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})['then'](function(){if(_0x32a4a7){return db[_0x50cd('0x51')][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})['then'](function(){if(_0x32a4a7){return db[_0x50cd('0x52')][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db[_0x50cd('0x53')][_0x50cd('0x49')]({'CmContactId':_0x32a4a7['id']},{'where':{'CmContactId':[_0x3682f5[_0x50cd('0x3c')]['to'],_0x3682f5[_0x50cd('0x3c')][_0x50cd('0x3d')]]}});}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db[_0x50cd('0x54')][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db['CmHopperHistory']['update'](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db['ReportAgentPreview'][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db[_0x50cd('0x55')]['update'](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db['ChatQueueReport'][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db['FaxQueueReport'][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db['MailQueueReport'][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db[_0x50cd('0x56')]['update'](_0x4564c6,_0x3d15ef);}})['then'](function(){if(_0x32a4a7){return db['SmsQueueReport']['update'](_0x4564c6,_0x3d15ef);}})['then'](function(){if(_0x32a4a7){return db[_0x50cd('0x57')][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db['WhatsappInteraction'][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db[_0x50cd('0x58')][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db[_0x50cd('0x59')][_0x50cd('0x49')](_0x4564c6,_0x3d15ef);}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return db[_0x50cd('0x29')][_0x50cd('0x44')]({'where':{'id':[_0x3682f5[_0x50cd('0x3c')]['to'],_0x3682f5['body']['from']]}});}})[_0x50cd('0x23')](function(){if(_0x32a4a7){return _0x32a4a7;}})[_0x50cd('0x23')](respondWithResult(_0x1304a8,null))[_0x50cd('0x28')](handleError(_0x1304a8,null));};exports['create']=function(_0x35c025,_0x5b78c1){return db[_0x50cd('0x29')][_0x50cd('0x22')]()[_0x50cd('0x23')](function(_0x322ce8){if(_0x35c025['body'][_0x50cd('0x2c')]&&_[_0x50cd('0x40')](_0x35c025[_0x50cd('0x3c')][_0x50cd('0x2c')])){if(_0x35c025[_0x50cd('0x3c')][_0x50cd('0x2c')]['length']){_0x35c025[_0x50cd('0x3c')]['tags']=_0x35c025[_0x50cd('0x3c')][_0x50cd('0x2c')]['join'](';')+';';}else{_0x35c025[_0x50cd('0x3c')][_0x50cd('0x2c')]=null;}}else{_0x35c025[_0x50cd('0x3c')][_0x50cd('0x2c')]=null;}if(!_['isNil'](_0x35c025[_0x50cd('0x3c')][_0x50cd('0x5a')])){var _0x24a384=_0x35c025[_0x50cd('0x3c')][_0x50cd('0x5a')];if(!_['isNil'](shared[_0x50cd('0x5b')][_0x24a384]))_0x35c025[_0x50cd('0x3c')][_0x50cd('0x5c')]=shared['timezones'][_0x24a384]['utcOffset'];}return db[_0x50cd('0x29')][_0x50cd('0x47')](_0x35c025[_0x50cd('0x3c')],{'fields':_[_0x50cd('0x2d')](_0x322ce8),'raw':!![]});})[_0x50cd('0x23')](function(_0x400f9e){if(_0x35c025['body'][_0x50cd('0x5d')]){return insertAdditionalPhones(_0x400f9e,_0x35c025[_0x50cd('0x3c')][_0x50cd('0x5d')]);}else{return _0x400f9e;}})[_0x50cd('0x23')](respondWithResult(_0x5b78c1,0xc9))['catch'](handleError(_0x5b78c1,null));};exports[_0x50cd('0x5e')]=function(_0x2c72f2,_0x362628){var _0x25ee71=0x0;var _0x2d508e=0x0;var _0x187b3f=0x0;var _0x2173f5=[];return db[_0x50cd('0x29')][_0x50cd('0x22')]()[_0x50cd('0x23')](function(_0x11559e){return BPromise[_0x50cd('0x5f')](_0x2c72f2[_0x50cd('0x3c')],function(_0x33d1a5){var _0x661f58={'where':{'$or':[]},'defaults':_0x33d1a5,'fields':_['keys'](_0x11559e),'raw':!![]};if(_0x33d1a5[_0x50cd('0x60')]){for(var _0x3153f0=0x0;_0x3153f0<_0x33d1a5[_0x50cd('0x60')][_0x50cd('0x2e')];_0x3153f0++){var _0x3e3623={};_0x3e3623[_0x33d1a5['duplicates'][_0x3153f0]]=_0x33d1a5[_0x33d1a5[_0x50cd('0x60')][_0x3153f0]];_0x661f58[_0x50cd('0x61')]['$or']['push'](_0x3e3623);}_0x661f58[_0x50cd('0x61')][_0x50cd('0x62')]=_0x33d1a5['ListId'];}return db['CmContact']['findOrCreate'](_0x661f58)[_0x50cd('0x63')](function(_0x1d5cd3,_0x105e3b){if(_0x105e3b){if(_0x33d1a5['hasOwnProperty'](_0x50cd('0x5d'))){_0x2173f5[_0x50cd('0x64')]({'contact':_0x1d5cd3,'additionalPhones':_0x33d1a5[_0x50cd('0x5d')]});}_0x25ee71++;}else{_0x187b3f++;}})['catch'](function(){_0x2d508e++;});});})[_0x50cd('0x23')](function(_0x502524){if(_0x502524){if(_0x2173f5[_0x50cd('0x2e')]>0x0){return new Promise(function(_0x438179){var _0x47a2fb=[];for(var _0x559174=0x0;_0x559174<_0x2173f5['length'];_0x559174++){_0x47a2fb[_0x50cd('0x64')](insertAdditionalPhones(_0x2173f5[_0x559174][_0x50cd('0x65')],_0x2173f5[_0x559174][_0x50cd('0x5d')]));}Promise[_0x50cd('0x66')](_0x47a2fb)[_0x50cd('0x23')](function(){_0x438179(0x1);});})[_0x50cd('0x23')](function(){return{'success':_0x25ee71,'failure':_0x2d508e,'duplicates':_0x187b3f};});}else{return{'success':_0x25ee71,'failure':_0x2d508e,'duplicates':_0x187b3f};}}})[_0x50cd('0x23')](respondWithResult(_0x362628,0xc9))[_0x50cd('0x28')](handleError(_0x362628,null));};exports[_0x50cd('0x67')]=function(_0x48d629,_0x509dc4){var _0x434599;return db['CmContact'][_0x50cd('0x22')]()['then'](function(_0x580f3b){return db[_0x50cd('0x29')][_0x50cd('0x2a')]({'where':{'id':_0x48d629[_0x50cd('0x2b')]['id']},'include':[{'model':db['Tag'],'as':_0x50cd('0x68'),'attributes':['id',_0x50cd('0x20'),'color'],'required':_0x48d629[_0x50cd('0x26')]['tag']?!![]:![]},{'model':db['CmContactHasItem'],'as':_0x50cd('0x69'),'where':{'CmContactId':_0x48d629[_0x50cd('0x2b')]['id']},'required':![],'include':[{'model':db['ContactItemType'],'as':'ItemType'}]}],'order':[db[_0x50cd('0x6a')][_0x50cd('0x6b')](_0x50cd('0x6c'))],'attributes':_['keys'](_0x580f3b)});})[_0x50cd('0x23')](function(_0x388473){if(!_['isNil'](_0x388473)){_0x434599=_0x388473['get']({'plain':!![]});var _0x486928={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x388473&&_0x388473[_0x50cd('0x62')]){if(_0x388473[_0x50cd('0x62')]){_0x486928[_0x50cd('0x61')]['$and'][_0x50cd('0x64')]({'ListId':{'$ne':_0x388473[_0x50cd('0x62')]}});}}return db['CmCustomField']['findAll'](_0x486928);}})[_0x50cd('0x23')](function(_0x5652dd){if(!_['isNil'](_0x5652dd)){return _[_0x50cd('0x6d')](_0x434599,_[_0x50cd('0x6e')](_0x5652dd,function(_0x71dec3){return util[_0x50cd('0x6f')]('cf_%d',_0x71dec3['id']);}));}})[_0x50cd('0x23')](handleEntityNotFound(_0x509dc4,null))[_0x50cd('0x23')](respondWithResult(_0x509dc4,null))[_0x50cd('0x28')](handleError(_0x509dc4,null));};exports[_0x50cd('0x49')]=function(_0x58e00d,_0x3b02a2){var _0x119d4d;if(_0x58e00d[_0x50cd('0x3c')]['id']){delete _0x58e00d[_0x50cd('0x3c')]['id'];}if(!_['isNil'](_0x58e00d['body'][_0x50cd('0x5a')])){var _0x59dd75=_0x58e00d[_0x50cd('0x3c')][_0x50cd('0x5a')];if(!_[_0x50cd('0x70')](shared[_0x50cd('0x5b')][_0x59dd75]))_0x58e00d[_0x50cd('0x3c')][_0x50cd('0x5c')]=shared['timezones'][_0x59dd75][_0x50cd('0x5c')];}return db[_0x50cd('0x29')][_0x50cd('0x2a')]({'where':{'id':_0x58e00d[_0x50cd('0x2b')]['id']}})[_0x50cd('0x23')](handleEntityNotFound(_0x3b02a2,null))[_0x50cd('0x23')](saveUpdates(_0x58e00d[_0x50cd('0x3c')],null))[_0x50cd('0x23')](function(_0x4b6474){_0x119d4d=_0x4b6474;var _0x35622c={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x4b6474&&_0x4b6474[_0x50cd('0x62')]){if(_0x4b6474[_0x50cd('0x62')]){_0x35622c[_0x50cd('0x61')]['$and'][_0x50cd('0x64')]({'ListId':{'$ne':_0x4b6474['ListId']}});}}return db[_0x50cd('0x33')][_0x50cd('0x25')](_0x35622c);})['then'](function(_0x7ae740){if(_0x7ae740){return _[_0x50cd('0x6d')](_[_0x50cd('0x71')](_0x58e00d[_0x50cd('0x3c')],function(_0x5c0215,_0x3ef713){return _[_0x50cd('0x2f')](_0x3ef713,_0x50cd('0x30'));}),_['map'](_0x7ae740,function(_0x221598){return util[_0x50cd('0x6f')](_0x50cd('0x72'),_0x221598['id']);}));}})[_0x50cd('0x23')](function(_0x1d7e54){if(_0x1d7e54&&!_[_0x50cd('0x73')](_0x1d7e54)){var _0x1962e4=squel['update']()[_0x50cd('0x74')](_0x50cd('0x75'))[_0x50cd('0x76')](_0x1d7e54)[_0x50cd('0x61')]('id\x20=\x20?',_0x58e00d[_0x50cd('0x2b')]['id'])['toParam']();return db[_0x50cd('0x6a')][_0x50cd('0x26')](_0x1962e4['text'],{'replacements':_0x1962e4[_0x50cd('0x37')]});}})['then'](function(){if(_0x58e00d['body'][_0x50cd('0x77')]&&_0x119d4d){return db[_0x50cd('0x43')]['update']({'phone':_0x58e00d[_0x50cd('0x3c')][_0x50cd('0x77')],'OrderBy':0x0},{'where':{'ContactId':_0x119d4d['id']}});}})['then'](function(){return _0x119d4d;})[_0x50cd('0x23')](respondWithResult(_0x3b02a2,null))[_0x50cd('0x28')](handleError(_0x3b02a2,null));};exports[_0x50cd('0x78')]=function(_0x7299c4,_0x64897){var _0x2ee329={};var _0x186c71={};var _0x3c90bd;var _0x2a5355;return db['CmContact'][_0x50cd('0x79')]({'where':{'id':_0x7299c4['params']['id']}})[_0x50cd('0x23')](handleEntityNotFound(_0x64897,null))[_0x50cd('0x23')](function(_0x10dd3f){if(_0x10dd3f){_0x3c90bd=_0x10dd3f;_0x186c71['model']=_[_0x50cd('0x2d')](db[_0x50cd('0x7a')]['rawAttributes']);_0x186c71[_0x50cd('0x26')]=_[_0x50cd('0x2d')](_0x7299c4[_0x50cd('0x26')]);_0x186c71[_0x50cd('0x7b')]=_['intersection'](_0x186c71[_0x50cd('0x7c')],_0x186c71[_0x50cd('0x26')]);_0x2ee329['attributes']=_[_0x50cd('0x7d')](_0x186c71[_0x50cd('0x7c')],qs[_0x50cd('0x7e')](_0x7299c4[_0x50cd('0x26')][_0x50cd('0x7e')]));_0x2ee329['attributes']=_0x2ee329[_0x50cd('0x7f')]['length']?_0x2ee329['attributes']:_0x186c71[_0x50cd('0x7c')];_0x2ee329[_0x50cd('0x80')]=qs['sort'](_0x7299c4[_0x50cd('0x26')][_0x50cd('0x81')]);_0x2ee329[_0x50cd('0x61')]=qs[_0x50cd('0x7b')](_[_0x50cd('0x82')](_0x7299c4[_0x50cd('0x26')],_0x186c71['filters']));if(_0x7299c4[_0x50cd('0x26')]['filter']){_0x2ee329[_0x50cd('0x61')]=_[_0x50cd('0x3b')](_0x2ee329[_0x50cd('0x61')],{'$or':_[_0x50cd('0x6e')](_0x2ee329[_0x50cd('0x7f')],function(_0x2c30bb){var _0x8b78e5={};_0x8b78e5[_0x2c30bb]={'$like':'%'+_0x7299c4[_0x50cd('0x26')][_0x50cd('0x83')]+'%'};return _0x8b78e5;})});}_0x2ee329=_['merge']({},_0x2ee329,_0x7299c4['options']);return _0x3c90bd['getTags'](_0x2ee329);}})[_0x50cd('0x23')](function(_0x2a6ff9){if(_0x2a6ff9){_0x2a5355=_0x2a6ff9[_0x50cd('0x2e')];if(!_0x7299c4[_0x50cd('0x26')][_0x50cd('0x3a')]('nolimit')){_0x2ee329[_0x50cd('0x17')]=qs[_0x50cd('0x17')](_0x7299c4[_0x50cd('0x26')]['limit']);_0x2ee329[_0x50cd('0x19')]=qs[_0x50cd('0x19')](_0x7299c4[_0x50cd('0x26')]['offset']);}return _0x3c90bd[_0x50cd('0x78')](_0x2ee329);}})[_0x50cd('0x23')](function(_0x28a318){if(_0x28a318){return _0x28a318?{'count':_0x2a5355,'rows':_0x28a318}:null;}})[_0x50cd('0x23')](respondWithResult(_0x64897,null))[_0x50cd('0x28')](handleError(_0x64897,null));};exports[_0x50cd('0x84')]=function(_0x40df05,_0x1e112e){if(_0x40df05[_0x50cd('0x3c')]['id']){delete _0x40df05['body']['id'];}return db[_0x50cd('0x29')][_0x50cd('0x79')]({'where':{'id':_0x40df05['params']['id']}})['then'](handleEntityNotFound(_0x1e112e,null))['then'](function(_0xae6874){if(_0xae6874){return _0xae6874['setTags'](_0x40df05[_0x50cd('0x3c')][_0x50cd('0x85')]||[]);}return null;})[_0x50cd('0x23')](respondWithResult(_0x1e112e,null))['catch'](handleError(_0x1e112e,null));};exports[_0x50cd('0x86')]=function(_0xed6848,_0x1e2a3a){var _0x543953=[];_0x543953['push'](addAdditionalPhones(_0xed6848[_0x50cd('0x3c')]));Promise[_0x50cd('0x66')](_0x543953)[_0x50cd('0x23')](function(){_0x543953=[];_0x543953[_0x50cd('0x64')](deleteCmHopperPhones(_0xed6848[_0x50cd('0x3c')]['id']));_0x543953[_0x50cd('0x64')](addCmHopperPhones(_0xed6848['body']['id']));Promise[_0x50cd('0x66')](_0x543953)[_0x50cd('0x23')](function(){return[0x1];})[_0x50cd('0x23')](respondWithResult(_0x1e2a3a,null));});};function addAdditionalPhones(_0x24cf49){var _0x79de23;return new Promise(function(_0x4fb1ec){return db[_0x50cd('0x53')][_0x50cd('0x44')]({'where':{'CmContactId':_0x24cf49['id']}})['then'](function(){db[_0x50cd('0x87')][_0x50cd('0x25')]({'raw':!![],'attributes':['id',_0x50cd('0x88')]})[_0x50cd('0x23')](function(_0x585865){var _0x2e118e=[];for(var _0x449193=0x0;_0x449193<_0x24cf49[_0x50cd('0x89')][_0x50cd('0x2e')];_0x449193++){var _0x46ae51=_0x24cf49[_0x50cd('0x8a')]?_[_0x50cd('0x70')](_0x24cf49[_0x50cd('0x8a')][_0x449193])?'':_0x24cf49['item_types'][_0x449193]:_0x24cf49[_0x50cd('0x89')][_0x449193][_0x50cd('0x8b')]?_0x24cf49['items'][_0x449193][_0x50cd('0x8b')]:'';var _0x8c706a=_['isNil'](_0x24cf49[_0x50cd('0x89')][_0x449193][_0x50cd('0x8c')])?'':_0x24cf49['items'][_0x449193]['description'];var _0x31d70a=_0x46ae51+':'+_0x24cf49[_0x50cd('0x89')][_0x449193][_0x50cd('0x77')]+'ยง'+_0x8c706a;if(_['isNil'](_0x79de23))_0x79de23=_0x31d70a;else _0x79de23+=';'+_0x31d70a;var _0x47ddcf=null;var _0x5d2843=null;if(_0x24cf49['item_types']){if(!_['isNil'](_0x24cf49[_0x50cd('0x8a')][_0x449193])){_0x5d2843=_['find'](_0x585865,function(_0xca6870){return _0xca6870['id']===_0x24cf49[_0x50cd('0x8a')][_0x449193];});if(!_[_0x50cd('0x70')](_0x5d2843)){_0x47ddcf=_0x5d2843[_0x50cd('0x88')];}}}else{if(!_[_0x50cd('0x70')](_0x24cf49[_0x50cd('0x89')][_0x449193])){_0x5d2843=_[_0x50cd('0x2a')](_0x585865,function(_0xb2580a){return _0xb2580a['id']===_0x24cf49[_0x50cd('0x89')][_0x449193][_0x50cd('0x8b')];});if(!_[_0x50cd('0x70')](_0x5d2843)){_0x47ddcf=_0x449193;}}}if(_[_0x50cd('0x70')](_0x47ddcf)){_0x47ddcf=0x64;}_0x2e118e['push'](addAdditionalPhone(_0x24cf49['id'],_0x24cf49[_0x50cd('0x89')][_0x449193]['phone'],_0x24cf49['item_types']?_[_0x50cd('0x70')](_0x24cf49[_0x50cd('0x8a')][_0x449193])?null:_0x24cf49[_0x50cd('0x8a')][_0x449193]:_0x24cf49[_0x50cd('0x89')][_0x449193][_0x50cd('0x8b')]?_0x24cf49[_0x50cd('0x89')][_0x449193]['ItemTypeId']:null,_0x47ddcf,_0x8c706a));}Promise[_0x50cd('0x66')](_0x2e118e)[_0x50cd('0x23')](function(){db[_0x50cd('0x29')][_0x50cd('0x49')]({'AdditionalPhones':_0x79de23},{'where':{'id':_0x24cf49['id']}})[_0x50cd('0x23')](function(){_0x4fb1ec(0x1);});});});});});}function addAdditionalPhone(_0x5f5a15,_0x316bee,_0x48c292,_0x2b329c,_0x49d360){return db[_0x50cd('0x53')]['find']({'where':{'CmContactId':_0x5f5a15,'item':_0x316bee}})[_0x50cd('0x23')](function(_0x1bab12){if(_0x1bab12)logger['info'](_0x50cd('0x8d'),_0x1bab12);else{db[_0x50cd('0x53')][_0x50cd('0x47')]({'CmContactId':_0x5f5a15,'item':_0x316bee,'ItemTypeId':_0x48c292,'OrderBy':_0x2b329c,'ItemClass':_0x50cd('0x8e'),'description':_0x49d360});}});}function deleteCmHopperPhones(_0x52f85a){return new Promise(function(_0x39021f){return db['CmHopper'][_0x50cd('0x25')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x52f85a}})[_0x50cd('0x23')](function(_0x499890){db['CmHopperAdditionalPhone']['destroy']({'where':{'CmHopperId':{'$in':_[_0x50cd('0x6e')](_0x499890,'id')}}});})['then'](function(){_0x39021f(0x1);});});}function addCmHopperPhones(_0x517faf){return new Promise(function(_0x4845d3){return db[_0x50cd('0x43')][_0x50cd('0x25')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x517faf}})[_0x50cd('0x23')](function(_0x46b594){var _0x37ebc1=[];_['map'](_0x46b594,function(_0x3007b4){_0x37ebc1[_0x50cd('0x64')](createCmHopperPhone(_0x517faf,_0x3007b4['id']));});Promise[_0x50cd('0x66')](_0x37ebc1)[_0x50cd('0x23')](function(){_0x4845d3(0x1);});});});}function createCmHopperPhone(_0x102256,_0x1df3e1){return new Promise(function(_0x5d705f){db[_0x50cd('0x53')][_0x50cd('0x25')]({'raw':!![],'attributes':[_0x50cd('0x8f'),_0x50cd('0x88')],'where':{'CmContactId':_0x102256,'ItemClass':_0x50cd('0x8e')},'include':[{'model':db['ContactItemType'],'attributes':[_0x50cd('0x88')],'as':_0x50cd('0x90')}],'order':['OrderBy',db['sequelize'][_0x50cd('0x6b')](_0x50cd('0x91'))]})[_0x50cd('0x23')](function(_0x4ec95c){var _0x518705=0x1;var _0x35d5f6=_['map'](_0x4ec95c,function(_0x3f631b){_0x3f631b['CmHopperId']=_0x1df3e1;_0x3f631b['phone']=_0x3f631b[_0x50cd('0x8f')];_0x3f631b[_0x50cd('0x88')]=_0x518705;delete _0x3f631b['ItemType.OrderBy'];_0x518705=_0x518705+0x1;return _0x3f631b;});return db[_0x50cd('0x92')][_0x50cd('0x5e')](_0x35d5f6,{});})[_0x50cd('0x23')](function(){_0x5d705f(0x1);});});}function insertAdditionalPhones(_0x14de84,_0xdaf7e0){return new Promise(function(_0x3c25c7){var _0x26979f=[];for(var _0x3cc26f=0x0;_0x3cc26f<_0xdaf7e0[_0x50cd('0x2e')];_0x3cc26f++){var _0x42558d=_0xdaf7e0[_0x3cc26f];_0x26979f[_0x50cd('0x64')](parseContactItemType(_0x42558d));}Promise[_0x50cd('0x66')](_0x26979f)[_0x50cd('0x23')](function(){var _0x59cfd2={'id':_0x14de84['id'],'items':_0xdaf7e0};return addAdditionalPhones(_0x59cfd2)['then'](function(){return addCmHopperPhones(_0x14de84['id']);});})[_0x50cd('0x23')](function(){_0x3c25c7(_0x14de84);});});}function parseContactItemType(_0x28b804){return new Promise(function(_0x398a4c){if(_0x28b804[_0x50cd('0x3a')](_0x50cd('0x8b'))){_0x398a4c(_0x28b804);}else{return db[_0x50cd('0x87')][_0x50cd('0x2a')]({'where':{'name':_0x28b804[_0x50cd('0x90')]}})[_0x50cd('0x23')](function(_0x5c1d36){if(_['isNil'](_0x5c1d36))_0x28b804[_0x50cd('0x8b')]=null;else _0x28b804[_0x50cd('0x8b')]=_0x5c1d36['id'];_0x398a4c(_0x28b804);});}});}exports[_0x50cd('0x93')]=function(_0x25e669,_0x1c7061){return db['CmContactHasItem'][_0x50cd('0x25')]({'raw':!![],'where':{'CmContactId':_0x25e669[_0x50cd('0x2b')]['id'],'ItemClass':_0x50cd('0x8e')},'include':[{'model':db[_0x50cd('0x87')],'as':'ItemType'}],'order':[[_0x50cd('0x88')],[db[_0x50cd('0x6a')][_0x50cd('0x6b')](_0x50cd('0x91'))]]})[_0x50cd('0x23')](function(_0x3f75f7){return _0x3f75f7;})['then'](respondWithResult(_0x1c7061,null))[_0x50cd('0x28')](handleError(_0x1c7061,null));};exports[_0x50cd('0x94')]=function(_0x2563fb,_0x45e819){return db['CmContactHasItem'][_0x50cd('0x25')]({'raw':!![],'where':{'CmContactId':_0x2563fb['body'][_0x50cd('0x95')]}})[_0x50cd('0x23')](function(_0x30d4b3){var _0x2964ce=_[_0x50cd('0x6e')](_0x30d4b3,function(_0x3e264c){_0x3e264c['CmContactId']=_0x2563fb[_0x50cd('0x3c')][_0x50cd('0x96')];return _0x3e264c;});return db[_0x50cd('0x53')]['bulkCreate'](_0x2964ce,{});})['then'](function(){return addCmHopperPhones(_0x2563fb['body'][_0x50cd('0x96')]);})[_0x50cd('0x23')](function(){return['ok'];})['then'](respondWithResult(_0x45e819,null))[_0x50cd('0x28')](handleError(_0x45e819,null));};exports[_0x50cd('0x97')]=function(_0x5de7e0,_0x395e85){var _0x9fc376=[];_0x9fc376[_0x50cd('0x64')](createCmHopperPhone(_0x5de7e0['body']['id'],_0x5de7e0['body']['hopperId']));Promise[_0x50cd('0x66')](_0x9fc376)[_0x50cd('0x23')](function(){return[0x1];})[_0x50cd('0x23')](respondWithResult(_0x395e85,null));};exports[_0x50cd('0x98')]=function(_0x2528f8,_0x3c4207){var _0x36ff90={'raw':![],'where':{}};var _0x24ba02={};var _0x9e4c31={'count':0x0,'rows':[]};return db[_0x50cd('0x29')][_0x50cd('0x79')]({'where':{'id':_0x2528f8[_0x50cd('0x2b')]['id']}})[_0x50cd('0x23')](handleEntityNotFound(_0x3c4207,null))[_0x50cd('0x23')](function(_0x326400){if(_0x326400){_0x24ba02[_0x50cd('0x7c')]=_[_0x50cd('0x2d')](db[_0x50cd('0x43')][_0x50cd('0x99')]);_0x24ba02['query']=_['keys'](_0x2528f8[_0x50cd('0x26')]);_0x24ba02[_0x50cd('0x7b')]=_[_0x50cd('0x7d')](_0x24ba02['model'],_0x24ba02['query']);_0x36ff90[_0x50cd('0x7f')]=_[_0x50cd('0x7d')](_0x24ba02[_0x50cd('0x7c')],qs[_0x50cd('0x7e')](_0x2528f8['query'][_0x50cd('0x7e')]));_0x36ff90[_0x50cd('0x7f')]=_0x36ff90[_0x50cd('0x7f')][_0x50cd('0x2e')]?_0x36ff90['attributes']:_0x24ba02['model'];if(!_0x2528f8[_0x50cd('0x26')][_0x50cd('0x3a')](_0x50cd('0x9a'))){_0x36ff90[_0x50cd('0x17')]=qs['limit'](_0x2528f8[_0x50cd('0x26')][_0x50cd('0x17')]);_0x36ff90[_0x50cd('0x19')]=qs['offset'](_0x2528f8['query'][_0x50cd('0x19')]);}_0x36ff90['order']=qs[_0x50cd('0x81')](_0x2528f8['query']['sort']);_0x36ff90['where']=qs[_0x50cd('0x7b')](_['pick'](_0x2528f8[_0x50cd('0x26')],_0x24ba02['filters']));_0x36ff90[_0x50cd('0x61')][_0x50cd('0x9b')]=_0x326400['id'];if(_0x2528f8[_0x50cd('0x26')][_0x50cd('0x83')]){_0x36ff90[_0x50cd('0x61')]=_[_0x50cd('0x3b')](_0x36ff90[_0x50cd('0x61')],{'$or':_[_0x50cd('0x6e')](_0x36ff90['attributes'],function(_0x3fd264){var _0x164237={};_0x164237[_0x3fd264]={'$like':'%'+_0x2528f8['query'][_0x50cd('0x83')]+'%'};return _0x164237;})});}_0x36ff90=_[_0x50cd('0x3b')]({},_0x36ff90,_0x2528f8[_0x50cd('0x9c')]);return db[_0x50cd('0x43')][_0x50cd('0x18')]({'where':_0x36ff90[_0x50cd('0x61')]})[_0x50cd('0x23')](function(_0x248f31){_0x9e4c31['count']=_0x248f31;if(_0x2528f8[_0x50cd('0x26')][_0x50cd('0x9d')]){_0x36ff90[_0x50cd('0x9e')]=[{'all':!![]}];}return db[_0x50cd('0x43')]['findAll'](_0x36ff90);})[_0x50cd('0x23')](function(_0x33277){_0x9e4c31[_0x50cd('0x9f')]=_0x33277;return _0x9e4c31;});}})[_0x50cd('0x23')](respondWithFilteredResult(_0x3c4207,_0x36ff90))['catch'](handleError(_0x3c4207,null));};exports[_0x50cd('0xa0')]=function(_0x40acaf,_0x5c5b62){var _0x3b6128={'raw':!![],'where':{}};var _0xd8883c={};var _0x2a9441={'count':0x0,'rows':[]};return db[_0x50cd('0x29')]['findOne']({'where':{'id':_0x40acaf[_0x50cd('0x2b')]['id']}})[_0x50cd('0x23')](handleEntityNotFound(_0x5c5b62,null))[_0x50cd('0x23')](function(_0x4fbfcc){if(_0x4fbfcc){_0xd8883c[_0x50cd('0x7c')]=_[_0x50cd('0x2d')](db[_0x50cd('0xa1')]['rawAttributes']);_0xd8883c[_0x50cd('0x26')]=_['keys'](_0x40acaf[_0x50cd('0x26')]);_0xd8883c['filters']=_['intersection'](_0xd8883c[_0x50cd('0x7c')],_0xd8883c['query']);_0x3b6128[_0x50cd('0x7f')]=_['intersection'](_0xd8883c['model'],qs[_0x50cd('0x7e')](_0x40acaf[_0x50cd('0x26')][_0x50cd('0x7e')]));_0x3b6128[_0x50cd('0x7f')]=_0x3b6128['attributes'][_0x50cd('0x2e')]?_0x3b6128['attributes']:_0xd8883c[_0x50cd('0x7c')];if(!_0x40acaf[_0x50cd('0x26')]['hasOwnProperty'](_0x50cd('0x9a'))){_0x3b6128['limit']=qs[_0x50cd('0x17')](_0x40acaf[_0x50cd('0x26')][_0x50cd('0x17')]);_0x3b6128[_0x50cd('0x19')]=qs[_0x50cd('0x19')](_0x40acaf['query'][_0x50cd('0x19')]);}_0x3b6128[_0x50cd('0x80')]=qs[_0x50cd('0x81')](_0x40acaf[_0x50cd('0x26')]['sort']);_0x3b6128[_0x50cd('0x61')]=qs[_0x50cd('0x7b')](_[_0x50cd('0x82')](_0x40acaf['query'],_0xd8883c['filters']));_0x3b6128[_0x50cd('0x61')][_0x50cd('0x9b')]=_0x4fbfcc['id'];if(_0x40acaf['query']['filter']){_0x3b6128[_0x50cd('0x61')]=_['merge'](_0x3b6128[_0x50cd('0x61')],{'$or':_[_0x50cd('0x6e')](_0x3b6128[_0x50cd('0x7f')],function(_0x42bfe8){var _0x404f97={};_0x404f97[_0x42bfe8]={'$like':'%'+_0x40acaf[_0x50cd('0x26')]['filter']+'%'};return _0x404f97;})});}_0x3b6128=_[_0x50cd('0x3b')]({},_0x3b6128,_0x40acaf[_0x50cd('0x9c')]);return db['CmHopperHistory']['count']({'where':_0x3b6128[_0x50cd('0x61')]})['then'](function(_0x58a8ac){_0x2a9441[_0x50cd('0x18')]=_0x58a8ac;if(_0x40acaf[_0x50cd('0x26')][_0x50cd('0x9d')]){_0x3b6128[_0x50cd('0x9e')]=[{'all':!![]}];}return db[_0x50cd('0xa1')]['findAll'](_0x3b6128);})[_0x50cd('0x23')](function(_0x11ecc6){_0x2a9441[_0x50cd('0x9f')]=_0x11ecc6;return _0x2a9441;});}})[_0x50cd('0x23')](respondWithFilteredResult(_0x5c5b62,_0x3b6128))[_0x50cd('0x28')](handleError(_0x5c5b62,null));};exports[_0x50cd('0xa2')]=function(_0x1d2e3b,_0x137782){var _0x385136={'raw':!![],'where':{}};var _0x404dd9={};var _0x5204a9={'count':0x0,'rows':[]};return db[_0x50cd('0x29')][_0x50cd('0x79')]({'where':{'id':_0x1d2e3b[_0x50cd('0x2b')]['id']}})[_0x50cd('0x23')](handleEntityNotFound(_0x137782,null))[_0x50cd('0x23')](function(_0x37e851){if(_0x37e851){_0x404dd9[_0x50cd('0x7c')]=_[_0x50cd('0x2d')](db[_0x50cd('0x54')][_0x50cd('0x99')]);_0x404dd9[_0x50cd('0x26')]=_['keys'](_0x1d2e3b['query']);_0x404dd9[_0x50cd('0x7b')]=_[_0x50cd('0x7d')](_0x404dd9[_0x50cd('0x7c')],_0x404dd9[_0x50cd('0x26')]);_0x385136[_0x50cd('0x7f')]=_[_0x50cd('0x7d')](_0x404dd9[_0x50cd('0x7c')],qs[_0x50cd('0x7e')](_0x1d2e3b[_0x50cd('0x26')][_0x50cd('0x7e')]));_0x385136[_0x50cd('0x7f')]=_0x385136['attributes'][_0x50cd('0x2e')]?_0x385136[_0x50cd('0x7f')]:_0x404dd9['model'];if(!_0x1d2e3b[_0x50cd('0x26')]['hasOwnProperty'](_0x50cd('0x9a'))){_0x385136['limit']=qs[_0x50cd('0x17')](_0x1d2e3b['query'][_0x50cd('0x17')]);_0x385136['offset']=qs['offset'](_0x1d2e3b[_0x50cd('0x26')][_0x50cd('0x19')]);}_0x385136[_0x50cd('0x80')]=qs[_0x50cd('0x81')](_0x1d2e3b[_0x50cd('0x26')]['sort']);_0x385136[_0x50cd('0x61')]=qs[_0x50cd('0x7b')](_[_0x50cd('0x82')](_0x1d2e3b[_0x50cd('0x26')],_0x404dd9[_0x50cd('0x7b')]));_0x385136[_0x50cd('0x61')][_0x50cd('0x9b')]=_0x37e851['id'];if(_0x1d2e3b[_0x50cd('0x26')][_0x50cd('0x83')]){_0x385136[_0x50cd('0x61')]=_[_0x50cd('0x3b')](_0x385136[_0x50cd('0x61')],{'$or':_['map'](_0x385136[_0x50cd('0x7f')],function(_0x524509){var _0x417839={};_0x417839[_0x524509]={'$like':'%'+_0x1d2e3b[_0x50cd('0x26')]['filter']+'%'};return _0x417839;})});}_0x385136=_[_0x50cd('0x3b')]({},_0x385136,_0x1d2e3b[_0x50cd('0x9c')]);return db[_0x50cd('0x54')][_0x50cd('0x18')]({'where':_0x385136[_0x50cd('0x61')]})[_0x50cd('0x23')](function(_0x35fb54){_0x5204a9[_0x50cd('0x18')]=_0x35fb54;if(_0x1d2e3b['query'][_0x50cd('0x9d')]){_0x385136[_0x50cd('0x9e')]=[{'all':!![]}];}return db[_0x50cd('0x54')][_0x50cd('0x25')](_0x385136);})[_0x50cd('0x23')](function(_0x42cd2d){_0x5204a9[_0x50cd('0x9f')]=_0x42cd2d;return _0x5204a9;});}})[_0x50cd('0x23')](respondWithFilteredResult(_0x137782,_0x385136))['catch'](handleError(_0x137782,null));};exports[_0x50cd('0xa3')]=function(_0x19ee3c,_0x1134e5){var _0x218dfd={'raw':!![],'where':{}};var _0x532630={};var _0x425e0f={'count':0x0,'rows':[]};return db[_0x50cd('0x29')][_0x50cd('0x79')]({'where':{'id':_0x19ee3c[_0x50cd('0x2b')]['id']}})[_0x50cd('0x23')](handleEntityNotFound(_0x1134e5,null))[_0x50cd('0x23')](function(_0x8a8e52){if(_0x8a8e52){_0x532630[_0x50cd('0x7c')]=_['keys'](db['JscriptySessionReport'][_0x50cd('0x99')]);_0x532630[_0x50cd('0x26')]=_[_0x50cd('0x2d')](_0x19ee3c[_0x50cd('0x26')]);_0x532630[_0x50cd('0x7b')]=_[_0x50cd('0x7d')](_0x532630[_0x50cd('0x7c')],_0x532630[_0x50cd('0x26')]);_0x218dfd[_0x50cd('0x7f')]=_[_0x50cd('0x7d')](_0x532630['model'],qs[_0x50cd('0x7e')](_0x19ee3c['query']['fields']));_0x218dfd[_0x50cd('0x7f')]=_0x218dfd[_0x50cd('0x7f')][_0x50cd('0x2e')]?_0x218dfd[_0x50cd('0x7f')]:_0x532630[_0x50cd('0x7c')];if(!_0x19ee3c[_0x50cd('0x26')]['hasOwnProperty']('nolimit')){_0x218dfd['limit']=qs[_0x50cd('0x17')](_0x19ee3c[_0x50cd('0x26')][_0x50cd('0x17')]);_0x218dfd[_0x50cd('0x19')]=qs[_0x50cd('0x19')](_0x19ee3c['query'][_0x50cd('0x19')]);}_0x218dfd[_0x50cd('0x80')]=qs[_0x50cd('0x81')](_0x19ee3c[_0x50cd('0x26')]['sort']);_0x218dfd['where']=qs[_0x50cd('0x7b')](_[_0x50cd('0x82')](_0x19ee3c['query'],_0x532630['filters']));_0x218dfd[_0x50cd('0x61')]['ContactId']=_0x8a8e52['id'];if(_0x19ee3c[_0x50cd('0x26')][_0x50cd('0x83')]){_0x218dfd[_0x50cd('0x61')]=_[_0x50cd('0x3b')](_0x218dfd['where'],{'$or':_['map'](_0x218dfd[_0x50cd('0x7f')],function(_0x54a673){var _0x12e1f7={};_0x12e1f7[_0x54a673]={'$like':'%'+_0x19ee3c[_0x50cd('0x26')]['filter']+'%'};return _0x12e1f7;})});}_0x218dfd=_[_0x50cd('0x3b')]({},_0x218dfd,_0x19ee3c[_0x50cd('0x9c')]);return db['JscriptySessionReport']['count']({'where':_0x218dfd[_0x50cd('0x61')]})['then'](function(_0x53316a){_0x425e0f[_0x50cd('0x18')]=_0x53316a;if(_0x19ee3c['query'][_0x50cd('0x9d')]){_0x218dfd[_0x50cd('0x9e')]=[{'all':!![]}];}return db[_0x50cd('0x57')][_0x50cd('0x25')](_0x218dfd);})[_0x50cd('0x23')](function(_0x609447){_0x425e0f[_0x50cd('0x9f')]=_0x609447;return _0x425e0f;});}})[_0x50cd('0x23')](respondWithFilteredResult(_0x1134e5,_0x218dfd))[_0x50cd('0x28')](handleError(_0x1134e5,null));};exports[_0x50cd('0xa4')]=function(_0x425f7b,_0x53ccdb){try{if(!_0x425f7b[_0x50cd('0x3c')][_0x50cd('0x62')]){throw new Error(_0x50cd('0xa5'));}if(!_0x425f7b[_0x50cd('0x3c')][_0x50cd('0xa6')]){throw new Error(_0x50cd('0xa7'));}if(!_0x425f7b['body'][_0x50cd('0xa8')]){throw new Error(_0x50cd('0xa9'));}if(!_0x425f7b[_0x50cd('0x3c')][_0x50cd('0xaa')]){throw new Error(_0x50cd('0xab'));}var _0x358605=_0x425f7b[_0x50cd('0x3c')][_0x50cd('0xa6')][_0x50cd('0xac')](',');var _0x469444=_0x425f7b[_0x50cd('0x3c')][_0x50cd('0xa8')][_0x50cd('0xac')](',');if(!_0x358605[_0x50cd('0x2e')]||!_0x469444[_0x50cd('0x2e')]||_0x358605['length']!==_0x469444[_0x50cd('0x2e')]){throw new Error('Incorrect\x20binding\x20parameters\x20passed!');}_0x425f7b['body']['fields']=_[_0x50cd('0xad')](_0x358605,_0x469444);if(!_0x425f7b[_0x50cd('0x3c')][_0x50cd('0x7e')][_0x50cd('0x77')]){throw new Error(_0x50cd('0xae'));}if(!_0x425f7b[_0x50cd('0x3c')]['fields'][_0x50cd('0xaf')]){throw new Error(_0x50cd('0xb0'));}var _0x426790=path[_0x50cd('0x41')](config['root'],_0x50cd('0xb1'),_0x425f7b['file']['filename']);fs['chmodSync'](_0x426790,parseInt(_0x50cd('0xb2'),0x8));var _0x161b6c=require(_0x50cd('0xb3'))[_0x50cd('0xb4')](path[_0x50cd('0x41')](__dirname,_0x50cd('0xb5')),[_0x426790,_0x425f7b[_0x50cd('0x3c')][_0x50cd('0xa6')],_0x425f7b[_0x50cd('0x3c')][_0x50cd('0xa8')],_0x425f7b['body'][_0x50cd('0x62')],_0x425f7b[_0x50cd('0x3c')][_0x50cd('0xb6')],_0x425f7b[_0x50cd('0x3c')][_0x50cd('0x60')],_0x425f7b[_0x50cd('0x3c')][_0x50cd('0xaa')]]);return _0x53ccdb[_0x50cd('0x14')](0xc8)[_0x50cd('0x15')]({'message':_0x50cd('0xb7'),'pid':_0x161b6c[_0x50cd('0xb8')]});}catch(_0x3499ed){return _0x53ccdb['status'](0x1f4)[_0x50cd('0xb9')](_0x3499ed);}};exports[_0x50cd('0xba')]=function(_0x43ebf1,_0x312ed3){var _0x466982=fs[_0x50cd('0xbb')](_0x43ebf1[_0x50cd('0xbc')][_0x50cd('0x3')]);Papa[_0x50cd('0xbd')](_0x466982,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x3488ac){return _0x312ed3['status'](0xc8)[_0x50cd('0x15')]({'file':_0x43ebf1['file'],'fields':_0x3488ac[_0x50cd('0xbe')][_0x50cd('0x7e')]});}});};exports['import']=function(_0x9fd04a,_0x185614){return db[_0x50cd('0xbf')][_0x50cd('0x25')]({'raw':!![],'attributes':['id'],'where':{'role':_0x50cd('0xc0')}})[_0x50cd('0x23')](function(_0x813854){var _0x9c047e=![];if(!_0x9fd04a['body'][_0x50cd('0x62')]){throw new Error(_0x50cd('0xa5'));}if(!_0x9fd04a[_0x50cd('0x3c')][_0x50cd('0xc1')][_0x50cd('0x77')]){throw new Error(_0x50cd('0xae'));}if(!_0x9fd04a[_0x50cd('0x3c')][_0x50cd('0xc1')][_0x50cd('0xaf')]){throw new Error(_0x50cd('0xb0'));}if(!_0x9fd04a[_0x50cd('0x3c')][_0x50cd('0xaa')]){throw new Error('Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed');}var _0x1a1d26=require(_0x50cd('0xb3'))[_0x50cd('0xb4')](path[_0x50cd('0x41')](__dirname,_0x50cd('0xc2')),[_0x9fd04a[_0x50cd('0x2b')]['id'],JSON[_0x50cd('0xc3')](_0x9fd04a[_0x50cd('0x3c')]),JSON[_0x50cd('0xc3')](_0x813854)]);_0x1a1d26['on']('message',function(){_0x9c047e=!![];return _0x185614['status'](0xc8)[_0x50cd('0x15')]({'message':_0x50cd('0xc4'),'pid':_0x1a1d26['pid']});});_0x1a1d26['on']('exit',function(_0x154add){if(_0x154add&&!_0x9c047e){return _0x185614[_0x50cd('0x14')](0x1f4)[_0x50cd('0x15')]({'message':_0x50cd('0xc5'),'pid':_0x1a1d26[_0x50cd('0xb8')]});}});})[_0x50cd('0x28')](handleError(_0x185614,null));};exports[_0x50cd('0xc6')]=function(_0x8de162,_0x33efc5){return db['User']['findAll']({'raw':!![],'attributes':['id'],'where':{'role':_0x50cd('0xc0')}})[_0x50cd('0x23')](function(_0x3d03b0){var _0x137459=![];if(!_0x8de162['body'][_0x50cd('0x62')]){throw new Error('No\x20ListId\x20specified');}if(!_0x8de162['body']['binding'][_0x50cd('0x77')]){throw new Error(_0x50cd('0xae'));}if(!_0x8de162['body'][_0x50cd('0xc1')][_0x50cd('0xaf')]){throw new Error(_0x50cd('0xb0'));}if(!_0x8de162['body']['socket_timestamp']){throw new Error(_0x50cd('0xab'));}var _0x1eff62=require(_0x50cd('0xb3'))['fork'](path[_0x50cd('0x41')](__dirname,_0x50cd('0xc7')),[_0x8de162[_0x50cd('0x2b')]['id'],JSON[_0x50cd('0xc3')](_0x8de162[_0x50cd('0x3c')]),JSON[_0x50cd('0xc3')](_0x3d03b0)]);_0x1eff62['on'](_0x50cd('0xc8'),function(){_0x137459=!![];return _0x33efc5[_0x50cd('0x14')](0xc8)[_0x50cd('0x15')]({'message':'start\x20child\x20process\x20correctly!','pid':_0x1eff62[_0x50cd('0xb8')]});});_0x1eff62['on'](_0x50cd('0xc9'),function(_0x348365){if(_0x348365&&!_0x137459){return _0x33efc5[_0x50cd('0x14')](0x1f4)['json']({'message':_0x50cd('0xc5'),'pid':_0x1eff62['pid']});}});})[_0x50cd('0x28')](handleError(_0x33efc5,null));};exports['getJourney']=function(_0x3fe1e5,_0x3bba15){var _0x4449d0=[_0x50cd('0xca'),_0x50cd('0xcb'),_0x50cd('0xcc'),'openchannel',_0x50cd('0xcd'),_0x50cd('0xce'),_0x50cd('0xcf')];var _0x43058f={'offset':0x0,'order':qs[_0x50cd('0x81')]('-createdAt')},_0x19847d={'count':0x0,'rows':[]};Promise[_0x50cd('0xd0')]()['then'](function(){if(_0x3fe1e5[_0x50cd('0x26')][_0x50cd('0xd1')]){if(!_[_0x50cd('0xd2')](_0x4449d0,_0x3fe1e5[_0x50cd('0x26')][_0x50cd('0xd1')][_0x50cd('0xd3')]())){throw new Error(_0x50cd('0xd4'));}_0x4449d0=[_0x3fe1e5[_0x50cd('0x26')][_0x50cd('0xd1')]['toLowerCase']()];}if(_0x3fe1e5[_0x50cd('0x26')][_0x50cd('0xd5')]){try{var _0x30c8fc=JSON[_0x50cd('0xbd')](_0x3fe1e5[_0x50cd('0x26')][_0x50cd('0xd5')]);if(!moment(_0x30c8fc[_0x50cd('0x3d')])[_0x50cd('0xd6')]()){throw new Error(_0x50cd('0xd7'));}if(!moment(_0x30c8fc['to'])[_0x50cd('0xd6')]()){throw new Error(_0x50cd('0xd8'));}}catch(_0x200acd){throw new Error(_0x50cd('0xd9'));}}if(!_0x3fe1e5[_0x50cd('0x26')][_0x50cd('0x3a')](_0x50cd('0x9a'))){_0x43058f[_0x50cd('0x17')]=qs['limit'](_0x3fe1e5['query'][_0x50cd('0x17')]||0xa);_0x43058f[_0x50cd('0x19')]=qs[_0x50cd('0x19')](_0x3fe1e5['query'][_0x50cd('0x19')]);}var _0x21083f=_0x4449d0[_0x50cd('0x6e')](function(_0x20fdc9){if(_0x20fdc9==='voice'){var _0x5a1607={'attributes':['id',_0x50cd('0xda'),'type','source','destination',_0x50cd('0xdb'),_0x50cd('0xdc'),_0x50cd('0xdd'),_0x50cd('0xde'),_0x50cd('0xdf'),_0x50cd('0xe0'),_0x50cd('0xe1'),_0x50cd('0xe2'),'userThirdDisposition',_0x50cd('0xe3')],'where':{'ContactId':_0x3fe1e5['params']['id']},'include':[{'model':db['User'],'as':_0x50cd('0xbf'),'attributes':['id',_0x50cd('0x20'),_0x50cd('0xe4'),'alias']}],'order':[[_0x50cd('0xe0'),_0x50cd('0xe5')]]};if(_0x3fe1e5[_0x50cd('0x26')][_0x50cd('0xd5')]){_0x5a1607['where'][_0x50cd('0xe0')]={'$gte':_0x30c8fc[_0x50cd('0x3d')],'$lte':_0x30c8fc['to']};}return db[_0x50cd('0x55')][_0x50cd('0xe6')](_0x5a1607)[_0x50cd('0x23')](function(_0x1a8f5){_0x19847d[_0x50cd('0x18')]+=_0x1a8f5[_0x50cd('0x18')];return _[_0x50cd('0x6e')](_0x1a8f5['rows'],function(_0x17a132){var _0xbb46ea=_0x17a132[_0x50cd('0x3e')]({'plain':!![]});_0xbb46ea[_0x50cd('0xd1')]=_0x20fdc9;if(_0xbb46ea['User']){_0xbb46ea[_0x50cd('0xbf')]={'id':_0xbb46ea['User']['id'],'name':_0xbb46ea['User'][_0x50cd('0x20')],'fullname':_0xbb46ea[_0x50cd('0xbf')][_0x50cd('0xe4')],'alias':_0xbb46ea[_0x50cd('0xbf')][_0x50cd('0x34')]};}return _0xbb46ea;});});}else{var _0x3698d6=_[_0x50cd('0xe7')](_0x20fdc9)+(_0x20fdc9===_0x50cd('0xcb')?_0x50cd('0xe8'):_0x50cd('0xe9'));var _0x5eafe0={'attributes':['id',_0x50cd('0xea'),_0x50cd('0xeb'),_0x50cd('0xe0'),_0x50cd('0xdf'),_0x50cd('0xec'),'secondDisposition','thirdDisposition',_0x50cd('0xe3'),_0x3698d6+'Id'],'where':{'ContactId':_0x3fe1e5[_0x50cd('0x2b')]['id']},'include':[{'model':db[_0x3698d6],'as':_0x50cd('0xe9'),'attributes':['id',_0x50cd('0x20'),'key']},{'model':db[_0x50cd('0xbf')],'as':'Owner','attributes':['id',_0x50cd('0x20'),_0x50cd('0xe4')]},{'model':db[_0x50cd('0x7a')],'as':_0x50cd('0x68'),'attributes':['id',_0x50cd('0x20'),_0x50cd('0xed')],'through':{'attributes':[]}}],'order':[['createdAt',_0x50cd('0xe5')]]};if(_0x3fe1e5[_0x50cd('0x26')][_0x50cd('0xd5')]){_0x5eafe0[_0x50cd('0x61')][_0x50cd('0xe0')]={'$gte':_0x30c8fc[_0x50cd('0x3d')],'$lte':_0x30c8fc['to']};}switch(_0x20fdc9){case _0x50cd('0xcb'):_0x5eafe0['attributes'][_0x50cd('0x64')](_0x50cd('0xee'),'customerIp',_0x50cd('0xef'),_0x50cd('0xf0'),_0x50cd('0xf1'),_0x50cd('0xf2'),'ratingType',_0x50cd('0xf3'),_0x50cd('0xf4'));break;case _0x50cd('0xca'):_0x5eafe0['attributes']['push'](_0x50cd('0xf5'),_0x50cd('0xf6'));break;case _0x50cd('0xf7'):_0x5eafe0['attributes'][_0x50cd('0x64')]('externalUrl',_0x50cd('0xf8'));break;}return db[_['startCase'](_0x20fdc9)+_0x50cd('0xf9')]['findAndCountAll'](_0x5eafe0)[_0x50cd('0x23')](function(_0xb7bcc1){_0x19847d[_0x50cd('0x18')]+=_0xb7bcc1[_0x50cd('0x18')];return _[_0x50cd('0x6e')](_0xb7bcc1[_0x50cd('0x9f')],function(_0x184930){var _0x4a4381=_0x184930[_0x50cd('0x3e')]({'plain':!![]});_0x4a4381[_0x50cd('0xd1')]=_0x20fdc9;if(_0x4a4381[_0x50cd('0xfa')]){_0x4a4381[_0x50cd('0xfa')]={'id':_0x4a4381[_0x50cd('0xfa')]['id'],'name':_0x4a4381[_0x50cd('0xfa')][_0x50cd('0x20')],'fullname':_0x4a4381[_0x50cd('0xfa')]['fullname']};}return _0x4a4381;});});}});return Promise[_0x50cd('0x66')](_0x21083f);})[_0x50cd('0x23')](function(_0x52bc52){return _(_0x52bc52)[_0x50cd('0xfb')]()[_0x50cd('0xfc')](_0x50cd('0xe0'))['reverse']()['value']();})[_0x50cd('0x23')](function(_0x4e75b4){_0x19847d['rows']=_0x43058f['limit']?_0x4e75b4[_0x50cd('0xfd')](_0x43058f[_0x50cd('0x19')],_0x43058f[_0x50cd('0x19')]+_0x43058f[_0x50cd('0x17')]):_0x4e75b4;return _0x19847d;})[_0x50cd('0x23')](respondWithFilteredResult(_0x3bba15,_0x43058f))[_0x50cd('0x28')](handleError(_0x3bba15,null));};