Built motion from commit 1ea47bf4.|2.6.34
[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 _0x5dbe=['findAll','query','user','CmContact','find','catch','keys','length','startsWith','cf_','columnName','displayName','alias','type','values','Custom\x20field\x20%s\x20not\x20found\x20on\x20cm_contacts\x20table','forEach','body','from','get','mergeWith','isArray','tags','[CmContact][merge]\x20to\x20%s\x20from\x20%s','CmHopper','[CmContact][merge][destroy][CmHopper],\x20%s','CmHopperBlack','info','[CmContact][merge][destroy][CmHopperBlack],\x20%s','create','ChatMessage','ChatOfflineMessage','MailInteraction','SmsInteraction','FaxMessage','OpenchannelInteraction','OpenchannelMessage','CmContactHasItem','CmHopperHistory','ReportAgentPreview','VoiceCallReport','ChatQueueReport','FaxQueueReport','MailQueueReport','OpenchannelQueueReport','SmsQueueReport','JscriptySessionReport','WhatsappInteraction','WhatsappMessage','WhatsappQueueReport','isNil','dialTimezone','timezones','utcOffset','additionalPhones','duplicates','where','$or','ListId','findOrCreate','push','contact','all','show','params','Tag','Tags','color','Phones','ItemType','sequelize','literal','Phones.OrderBy','$and','omit','map','format','cf_%d','CmCustomField','pickBy','isEmpty','table','setFields','id\x20=\x20?','toParam','text','findOne','model','filters','intersection','fields','attributes','order','sort','pick','merge','filter','options','getTags','hasOwnProperty','setTags','ContactItemType','items','item_types','ItemTypeId','description','phone','OrderBy','contact\x20phone\x20exists','PHONE','CmHopperAdditionalPhone','item','getAdditionalPhones','`ItemType`.OrderBy','duplicateAdditionalPhones','fromContactId','CmContactId','toContactId','bulkCreate','rescheduleAdditionalPhones','rawAttributes','nolimit','includeAll','include','rows','getHopperHistories','ContactId','getHopperFinals','CmHopperFinal','getJscriptySessions','uploadCsv','No\x20ListId\x20specified','binding_keys','No\x20association\x20keys\x20specified!','No\x20association\x20values\x20specified!','split','binding_values','Incorrect\x20binding\x20parameters\x20passed!','zipObject','No\x20phone\x20column\x20specified','firstName','No\x20firstName\x20column\x20specified','join','root','server/files/tmp','file','filename','chmodSync','0777','child_process','../../components/import/cm/csv','CompanyId','File\x20uploaded\x20correctly!','createReadStream','meta','import','agent','binding','socket_timestamp','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','../../components/import/cm/csv2','stringify','message','start\x20child\x20process\x20correctly!','pid','exit','error\x20child\x20process','importUpdates','User','fork','getJourney','mail','chat','sms','openchannel','fax','whatsapp','voice','-createdAt','resolve','channel','toLowerCase','range','parse','isValid','Invalid\x20date\x20for\x20range\x20from\x20filter','Invalid\x20date\x20for\x20range\x20to\x20filter','Invalid\x20createdAt\x20filter','uniqueid','destination','callerid','starttime','endtime','duration','note','createdAt','userDisposition','userSecondDisposition','userThirdDisposition','fullname','DESC','findAndCountAll','startCase','Website','Account','closed','disposition','secondDisposition','UserId','key','Owner','browserName','customerIp','deviceModel','osName','ratingType','ratingValue','subject','substatus','threadId','Interaction','flatten','sortBy','value','slice','moment','bluebird','path','squel','papaparse','ioredis','../../components/contacts','../../components/parsers/qs','../../config/logger','../../config/environment','redis','localhost','socket.io-emitter','register','json','offset','undefined','count','limit','status','set','Content-Range','update','destroy','then','end','sendStatus','error','stack','name','send','index','describe'];(function(_0xb24a3e,_0x4a3594){var _0x4038d7=function(_0x1ea3c3){while(--_0x1ea3c3){_0xb24a3e['push'](_0xb24a3e['shift']());}};_0x4038d7(++_0x4a3594);}(_0x5dbe,0xe1));var _0xe5db=function(_0x337651,_0x2af690){_0x337651=_0x337651-0x0;var _0x20893c=_0x5dbe[_0x337651];return _0x20893c;};'use strict';var moment=require(_0xe5db('0x0'));var BPromise=require(_0xe5db('0x1'));var util=require('util');var path=require(_0xe5db('0x2'));var fs=require('fs');var _=require('lodash');var squel=require(_0xe5db('0x3'));var Papa=require(_0xe5db('0x4'));var Redis=require(_0xe5db('0x5'));var contacts=require(_0xe5db('0x6'));var qs=require(_0xe5db('0x7'));var logger=require(_0xe5db('0x8'))('api');var config=require(_0xe5db('0x9'));var shared=require('../../config/environment/shared');var db=require('../../mysqldb')['db'];config['redis']=_['defaults'](config[_0xe5db('0xa')],{'host':_0xe5db('0xb'),'port':0x18eb});var socket=require(_0xe5db('0xc'))(new Redis(config[_0xe5db('0xa')]));require('./cmContact.socket')[_0xe5db('0xd')](socket);function respondWithResult(_0xe4d3cc,_0x3ef830){_0x3ef830=_0x3ef830||0xc8;return function(_0x43a032){if(_0x43a032){return _0xe4d3cc['status'](_0x3ef830)[_0xe5db('0xe')](_0x43a032);}};}function respondWithFilteredResult(_0x1c962a,_0x638866){return function(_0x1b68b6){if(_0x1b68b6){var _0x6fa943=typeof _0x638866[_0xe5db('0xf')]==='undefined'&&typeof _0x638866['limit']===_0xe5db('0x10');var _0x49dea2=_0x1b68b6[_0xe5db('0x11')];var _0x2fe0d5=_0x6fa943?0x0:_0x638866[_0xe5db('0xf')];var _0x1dec25=_0x6fa943?_0x1b68b6['count']:_0x638866['offset']+_0x638866[_0xe5db('0x12')];var _0x3a605b;if(_0x1dec25>=_0x49dea2){_0x1dec25=_0x49dea2;_0x3a605b=0xc8;}else{_0x3a605b=0xce;}_0x1c962a[_0xe5db('0x13')](_0x3a605b);return _0x1c962a[_0xe5db('0x14')](_0xe5db('0x15'),_0x2fe0d5+'-'+_0x1dec25+'/'+_0x49dea2)['json'](_0x1b68b6);}return null;};}function saveUpdates(_0x46d2d5){return function(_0x14adff){if(_0x14adff){return _0x14adff[_0xe5db('0x16')](_0x46d2d5)['then'](function(_0x29b029){return _0x29b029;});}return null;};}function removeEntity(_0x3777a4){return function(_0x1b5e06){if(_0x1b5e06){return _0x1b5e06[_0xe5db('0x17')]()[_0xe5db('0x18')](function(){_0x3777a4['status'](0xcc)[_0xe5db('0x19')]();});}};}function handleEntityNotFound(_0x4b455a){return function(_0x113d25){if(!_0x113d25){_0x4b455a[_0xe5db('0x1a')](0x194);}return _0x113d25;};}function handleError(_0x4d4907,_0xd0cf0a){_0xd0cf0a=_0xd0cf0a||0x1f4;return function(_0x58a33d){logger[_0xe5db('0x1b')](_0x58a33d[_0xe5db('0x1c')]);if(_0x58a33d[_0xe5db('0x1d')]){delete _0x58a33d[_0xe5db('0x1d')];}_0x4d4907[_0xe5db('0x13')](_0xd0cf0a)[_0xe5db('0x1e')](_0x58a33d);};}exports[_0xe5db('0x1f')]=function(_0x2c16f8,_0x46252c){var _0x245860={};return contacts[_0xe5db('0x20')]()[_0xe5db('0x18')](function(_0x55a486){_0x245860=qs['getOptions'](_0x55a486,_0x2c16f8);return contacts[_0xe5db('0x21')](_0x2c16f8[_0xe5db('0x22')],_0x2c16f8[_0xe5db('0x23')],_0x245860,_0x55a486);})[_0xe5db('0x18')](respondWithFilteredResult(_0x46252c,_0x245860))['catch'](handleError(_0x46252c,null));};exports[_0xe5db('0x17')]=function(_0x3d0422,_0x51804f){return db[_0xe5db('0x24')][_0xe5db('0x25')]({'where':{'id':_0x3d0422['params']['id']}})[_0xe5db('0x18')](handleEntityNotFound(_0x51804f,null))['then'](removeEntity(_0x51804f,null))[_0xe5db('0x26')](handleError(_0x51804f,null));};exports['describe']=function(_0x348980,_0x510b48){return db['CmContact'][_0xe5db('0x20')]()[_0xe5db('0x18')](function(_0x25013c){delete _0x25013c['tags'];for(var _0x4efbe0=0x0;_0x4efbe0<Object[_0xe5db('0x27')](_0x25013c)[_0xe5db('0x28')];_0x4efbe0++){var _0x453095=Object[_0xe5db('0x27')](_0x25013c)[_0x4efbe0];if(!_[_0xe5db('0x29')](_0x453095,_0xe5db('0x2a'))){_0x25013c[_0x453095][_0xe5db('0x2b')]=_0x453095;_0x25013c[_0x453095][_0xe5db('0x2c')]=_0x453095;}}return _0x25013c;})[_0xe5db('0x18')](function(_0x442311){var _0x533782={'where':Boolean(_0x348980[_0xe5db('0x22')]['analytics'])===!![]?undefined:{'$or':[{'ListId':_0x348980['query']['id']},{'ListId':null}]},'raw':!![]};return db['CmCustomField']['findAll'](_0x533782)[_0xe5db('0x18')](function(_0xd476f6){for(var _0x24cf66=0x0;_0x24cf66<_0xd476f6[_0xe5db('0x28')];_0x24cf66++){var _0x31d617=_0xe5db('0x2a')+_0xd476f6[_0x24cf66]['id'];if(_0x442311[_0x31d617]){_0x442311[_0x31d617][_0xe5db('0x2b')]=_0x31d617;_0x442311[_0x31d617][_0xe5db('0x2c')]=_0xd476f6[_0x24cf66][_0xe5db('0x2d')];_0x442311[_0x31d617]['custom']={'type':_0xd476f6[_0x24cf66][_0xe5db('0x2e')],'values':_0xd476f6[_0x24cf66][_0xe5db('0x2f')]};}else{logger['info'](_0xe5db('0x30'),_0x31d617);}}Object[_0xe5db('0x27')](_0x442311)[_0xe5db('0x31')](function(_0x309628){if(!_0x442311[_0x309628]['hasOwnProperty'](_0xe5db('0x2b'))){delete _0x442311[_0x309628];}});return _0x442311;});})['then'](respondWithResult(_0x510b48,null))[_0xe5db('0x26')](handleError(_0x510b48,null));};exports['merge']=function(_0x2b3c3e,_0xb45352){var _0x44ae05;var _0x3b8795;var _0x26bdc4;if(_0x2b3c3e[_0xe5db('0x32')]['id']){delete _0x2b3c3e[_0xe5db('0x32')]['id'];}return db[_0xe5db('0x24')]['findAll']({'where':{'id':[_0x2b3c3e[_0xe5db('0x32')]['to'],_0x2b3c3e['body'][_0xe5db('0x33')]]}})[_0xe5db('0x18')](function(_0x1ec9d3){if(_0x1ec9d3){if(_0x1ec9d3[_0xe5db('0x28')]!==0x2){return null;}_0x1ec9d3[0x0]=_0x1ec9d3[0x0][_0xe5db('0x34')]({'plain':!![]});_0x1ec9d3[0x1]=_0x1ec9d3[0x1][_0xe5db('0x34')]({'plain':!![]});delete _0x1ec9d3[0x0]['id'];delete _0x1ec9d3[0x1]['id'];return _[_0xe5db('0x35')](_0x1ec9d3[0x0],_0x1ec9d3[0x1],function(_0x3a77bd,_0x5008da){if(Array[_0xe5db('0x36')](_0x5008da)&&!_0x5008da['length']){return _0x3a77bd;}else if(!_0x5008da){return _0x3a77bd;}});}})[_0xe5db('0x18')](handleEntityNotFound(_0xb45352,null))[_0xe5db('0x18')](function(_0x204c33){if(_0x204c33){if(_0x204c33['tags']&&_[_0xe5db('0x36')](_0x204c33['tags'])){_0x204c33[_0xe5db('0x37')]=_0x204c33[_0xe5db('0x37')]['join']();}logger['info'](_0xe5db('0x38'),_0x2b3c3e[_0xe5db('0x32')]['to'],_0x2b3c3e['body'][_0xe5db('0x33')]);return db[_0xe5db('0x39')]['destroy']({'where':{'ContactId':[_0x2b3c3e[_0xe5db('0x32')]['to'],_0x2b3c3e[_0xe5db('0x32')][_0xe5db('0x33')]]}})[_0xe5db('0x18')](function(_0x5f0fb8){logger['info'](_0xe5db('0x3a'),_0x5f0fb8);return db[_0xe5db('0x3b')][_0xe5db('0x17')]({'where':{'ContactId':[_0x2b3c3e[_0xe5db('0x32')]['to'],_0x2b3c3e[_0xe5db('0x32')]['from']]}})['then'](function(_0x4eca16){logger[_0xe5db('0x3c')](_0xe5db('0x3d'),_0x4eca16);return db['CmContact'][_0xe5db('0x3e')](_0x204c33);});});}})[_0xe5db('0x18')](function(_0xdc3bfd){if(_0xdc3bfd){_0x44ae05=_0xdc3bfd;_0x3b8795={'ContactId':_0x44ae05['id']};_0x26bdc4={'where':{'ContactId':[_0x2b3c3e['body']['to'],_0x2b3c3e[_0xe5db('0x32')]['from']]}};return db['ChatInteraction'][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x3f')]['update'](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x40')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x41')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db['MailMessage'][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x41')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db['MailMessage']['update'](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x42')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db['SmsMessage'][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db['FaxInteraction'][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x43')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})['then'](function(){if(_0x44ae05){return db[_0xe5db('0x44')]['update'](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x45')]['update'](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x46')]['update']({'CmContactId':_0x44ae05['id']},{'where':{'CmContactId':[_0x2b3c3e[_0xe5db('0x32')]['to'],_0x2b3c3e['body'][_0xe5db('0x33')]]}});}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db['CmHopperFinal'][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x47')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x48')]['update'](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x49')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x4a')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x4b')]['update'](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x4c')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x4d')]['update'](_0x3b8795,_0x26bdc4);}})['then'](function(){if(_0x44ae05){return db[_0xe5db('0x4e')]['update'](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x4f')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x50')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x51')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x52')][_0xe5db('0x16')](_0x3b8795,_0x26bdc4);}})[_0xe5db('0x18')](function(){if(_0x44ae05){return db[_0xe5db('0x24')][_0xe5db('0x17')]({'where':{'id':[_0x2b3c3e['body']['to'],_0x2b3c3e['body'][_0xe5db('0x33')]]}});}})[_0xe5db('0x18')](function(){if(_0x44ae05){return _0x44ae05;}})[_0xe5db('0x18')](respondWithResult(_0xb45352,null))[_0xe5db('0x26')](handleError(_0xb45352,null));};exports[_0xe5db('0x3e')]=function(_0x5eb1ee,_0x4f35f1){return db['CmContact'][_0xe5db('0x20')]()[_0xe5db('0x18')](function(_0x5ae29a){if(_0x5eb1ee[_0xe5db('0x32')][_0xe5db('0x37')]&&_[_0xe5db('0x36')](_0x5eb1ee['body'][_0xe5db('0x37')])){if(_0x5eb1ee[_0xe5db('0x32')][_0xe5db('0x37')]['length']){_0x5eb1ee[_0xe5db('0x32')][_0xe5db('0x37')]=_0x5eb1ee[_0xe5db('0x32')][_0xe5db('0x37')]['join'](';')+';';}else{_0x5eb1ee[_0xe5db('0x32')][_0xe5db('0x37')]=null;}}else{_0x5eb1ee[_0xe5db('0x32')][_0xe5db('0x37')]=null;}if(!_[_0xe5db('0x53')](_0x5eb1ee[_0xe5db('0x32')][_0xe5db('0x54')])){var _0x400f15=_0x5eb1ee['body'][_0xe5db('0x54')];if(!_['isNil'](shared['timezones'][_0x400f15]))_0x5eb1ee[_0xe5db('0x32')]['utcOffset']=shared[_0xe5db('0x55')][_0x400f15][_0xe5db('0x56')];}return db[_0xe5db('0x24')][_0xe5db('0x3e')](_0x5eb1ee[_0xe5db('0x32')],{'fields':_[_0xe5db('0x27')](_0x5ae29a),'raw':!![]});})['then'](function(_0x2bd12f){if(_0x5eb1ee[_0xe5db('0x32')][_0xe5db('0x57')]){return insertAdditionalPhones(_0x2bd12f,_0x5eb1ee['body'][_0xe5db('0x57')]);}else{return _0x2bd12f;}})[_0xe5db('0x18')](respondWithResult(_0x4f35f1,0xc9))[_0xe5db('0x26')](handleError(_0x4f35f1,null));};exports['bulkCreate']=function(_0xb718c3,_0x141220){var _0x57d4fb=0x0;var _0x5aeb68=0x0;var _0x3a9953=0x0;var _0x2b2c94=[];return db[_0xe5db('0x24')][_0xe5db('0x20')]()['then'](function(_0x1d8578){return BPromise['each'](_0xb718c3['body'],function(_0x1ace0f){var _0x374c5e={'where':{'$or':[]},'defaults':_0x1ace0f,'fields':_[_0xe5db('0x27')](_0x1d8578),'raw':!![]};if(_0x1ace0f[_0xe5db('0x58')]){for(var _0x35512b=0x0;_0x35512b<_0x1ace0f[_0xe5db('0x58')][_0xe5db('0x28')];_0x35512b++){var _0x30dcac={};_0x30dcac[_0x1ace0f['duplicates'][_0x35512b]]=_0x1ace0f[_0x1ace0f[_0xe5db('0x58')][_0x35512b]];_0x374c5e[_0xe5db('0x59')][_0xe5db('0x5a')]['push'](_0x30dcac);}_0x374c5e[_0xe5db('0x59')][_0xe5db('0x5b')]=_0x1ace0f['ListId'];}return db[_0xe5db('0x24')][_0xe5db('0x5c')](_0x374c5e)['spread'](function(_0x320fdf,_0x4bb241){if(_0x4bb241){if(_0x1ace0f['hasOwnProperty'](_0xe5db('0x57'))){_0x2b2c94['push']({'contact':_0x320fdf,'additionalPhones':_0x1ace0f[_0xe5db('0x57')]});}_0x57d4fb++;}else{_0x3a9953++;}})['catch'](function(){_0x5aeb68++;});});})[_0xe5db('0x18')](function(_0x15378e){if(_0x15378e){if(_0x2b2c94[_0xe5db('0x28')]>0x0){return new Promise(function(_0x5b8cba){var _0x4f7df9=[];for(var _0xe8b1db=0x0;_0xe8b1db<_0x2b2c94['length'];_0xe8b1db++){_0x4f7df9[_0xe5db('0x5d')](insertAdditionalPhones(_0x2b2c94[_0xe8b1db][_0xe5db('0x5e')],_0x2b2c94[_0xe8b1db][_0xe5db('0x57')]));}Promise[_0xe5db('0x5f')](_0x4f7df9)[_0xe5db('0x18')](function(){_0x5b8cba(0x1);});})['then'](function(){return{'success':_0x57d4fb,'failure':_0x5aeb68,'duplicates':_0x3a9953};});}else{return{'success':_0x57d4fb,'failure':_0x5aeb68,'duplicates':_0x3a9953};}}})['then'](respondWithResult(_0x141220,0xc9))[_0xe5db('0x26')](handleError(_0x141220,null));};exports[_0xe5db('0x60')]=function(_0x480c3a,_0xc6964a){var _0x3fdf0f;return db[_0xe5db('0x24')][_0xe5db('0x20')]()[_0xe5db('0x18')](function(_0x101efc){return db[_0xe5db('0x24')][_0xe5db('0x25')]({'where':{'id':_0x480c3a[_0xe5db('0x61')]['id']},'include':[{'model':db[_0xe5db('0x62')],'as':_0xe5db('0x63'),'attributes':['id','name',_0xe5db('0x64')],'required':_0x480c3a[_0xe5db('0x22')]['tag']?!![]:![]},{'model':db[_0xe5db('0x46')],'as':_0xe5db('0x65'),'where':{'CmContactId':_0x480c3a['params']['id']},'required':![],'include':[{'model':db['ContactItemType'],'as':_0xe5db('0x66')}]}],'order':[db[_0xe5db('0x67')][_0xe5db('0x68')](_0xe5db('0x69'))],'attributes':_[_0xe5db('0x27')](_0x101efc)});})[_0xe5db('0x18')](function(_0x14842f){if(!_[_0xe5db('0x53')](_0x14842f)){_0x3fdf0f=_0x14842f[_0xe5db('0x34')]({'plain':!![]});var _0x28924a={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x14842f&&_0x14842f[_0xe5db('0x5b')]){if(_0x14842f[_0xe5db('0x5b')]){_0x28924a[_0xe5db('0x59')][_0xe5db('0x6a')][_0xe5db('0x5d')]({'ListId':{'$ne':_0x14842f[_0xe5db('0x5b')]}});}}return db['CmCustomField']['findAll'](_0x28924a);}})['then'](function(_0x1c6fcd){if(!_[_0xe5db('0x53')](_0x1c6fcd)){return _[_0xe5db('0x6b')](_0x3fdf0f,_[_0xe5db('0x6c')](_0x1c6fcd,function(_0x529473){return util[_0xe5db('0x6d')](_0xe5db('0x6e'),_0x529473['id']);}));}})[_0xe5db('0x18')](handleEntityNotFound(_0xc6964a,null))['then'](respondWithResult(_0xc6964a,null))[_0xe5db('0x26')](handleError(_0xc6964a,null));};exports[_0xe5db('0x16')]=function(_0x1a7e56,_0x23b68c){var _0x551af5;if(_0x1a7e56['body']['id']){delete _0x1a7e56['body']['id'];}if(!_['isNil'](_0x1a7e56[_0xe5db('0x32')][_0xe5db('0x54')])){var _0x4bfece=_0x1a7e56[_0xe5db('0x32')][_0xe5db('0x54')];if(!_[_0xe5db('0x53')](shared[_0xe5db('0x55')][_0x4bfece]))_0x1a7e56['body']['utcOffset']=shared[_0xe5db('0x55')][_0x4bfece][_0xe5db('0x56')];}return db[_0xe5db('0x24')][_0xe5db('0x25')]({'where':{'id':_0x1a7e56['params']['id']}})[_0xe5db('0x18')](handleEntityNotFound(_0x23b68c,null))[_0xe5db('0x18')](saveUpdates(_0x1a7e56[_0xe5db('0x32')],null))[_0xe5db('0x18')](function(_0x49c45f){_0x551af5=_0x49c45f;var _0x551b13={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x49c45f&&_0x49c45f['ListId']){if(_0x49c45f[_0xe5db('0x5b')]){_0x551b13[_0xe5db('0x59')][_0xe5db('0x6a')][_0xe5db('0x5d')]({'ListId':{'$ne':_0x49c45f[_0xe5db('0x5b')]}});}}return db[_0xe5db('0x6f')][_0xe5db('0x21')](_0x551b13);})[_0xe5db('0x18')](function(_0xd6128){if(_0xd6128){return _[_0xe5db('0x6b')](_[_0xe5db('0x70')](_0x1a7e56['body'],function(_0x58aba4,_0x3d1820){return _[_0xe5db('0x29')](_0x3d1820,_0xe5db('0x2a'));}),_[_0xe5db('0x6c')](_0xd6128,function(_0x83a341){return util[_0xe5db('0x6d')](_0xe5db('0x6e'),_0x83a341['id']);}));}})['then'](function(_0x5336b9){if(_0x5336b9&&!_[_0xe5db('0x71')](_0x5336b9)){var _0x3d007e=squel[_0xe5db('0x16')]()[_0xe5db('0x72')]('cm_contacts')[_0xe5db('0x73')](_0x5336b9)[_0xe5db('0x59')](_0xe5db('0x74'),_0x1a7e56['params']['id'])[_0xe5db('0x75')]();return db[_0xe5db('0x67')]['query'](_0x3d007e[_0xe5db('0x76')],{'replacements':_0x3d007e[_0xe5db('0x2f')]});}})[_0xe5db('0x18')](function(){if(_0x1a7e56[_0xe5db('0x32')]['phone']&&_0x551af5){return db[_0xe5db('0x39')][_0xe5db('0x16')]({'phone':_0x1a7e56[_0xe5db('0x32')]['phone'],'OrderBy':0x0},{'where':{'ContactId':_0x551af5['id']}});}})['then'](function(){return _0x551af5;})[_0xe5db('0x18')](respondWithResult(_0x23b68c,null))['catch'](handleError(_0x23b68c,null));};exports['getTags']=function(_0x36a47a,_0x1c6058){var _0x5754e8={};var _0x42eaaa={};var _0xc1a49b;var _0x5a4606;return db[_0xe5db('0x24')][_0xe5db('0x77')]({'where':{'id':_0x36a47a[_0xe5db('0x61')]['id']}})[_0xe5db('0x18')](handleEntityNotFound(_0x1c6058,null))[_0xe5db('0x18')](function(_0x215932){if(_0x215932){_0xc1a49b=_0x215932;_0x42eaaa[_0xe5db('0x78')]=_[_0xe5db('0x27')](db[_0xe5db('0x62')]['rawAttributes']);_0x42eaaa[_0xe5db('0x22')]=_[_0xe5db('0x27')](_0x36a47a['query']);_0x42eaaa[_0xe5db('0x79')]=_[_0xe5db('0x7a')](_0x42eaaa[_0xe5db('0x78')],_0x42eaaa[_0xe5db('0x22')]);_0x5754e8['attributes']=_[_0xe5db('0x7a')](_0x42eaaa[_0xe5db('0x78')],qs[_0xe5db('0x7b')](_0x36a47a[_0xe5db('0x22')][_0xe5db('0x7b')]));_0x5754e8['attributes']=_0x5754e8[_0xe5db('0x7c')][_0xe5db('0x28')]?_0x5754e8[_0xe5db('0x7c')]:_0x42eaaa[_0xe5db('0x78')];_0x5754e8[_0xe5db('0x7d')]=qs[_0xe5db('0x7e')](_0x36a47a[_0xe5db('0x22')][_0xe5db('0x7e')]);_0x5754e8[_0xe5db('0x59')]=qs[_0xe5db('0x79')](_[_0xe5db('0x7f')](_0x36a47a[_0xe5db('0x22')],_0x42eaaa[_0xe5db('0x79')]));if(_0x36a47a[_0xe5db('0x22')]['filter']){_0x5754e8[_0xe5db('0x59')]=_[_0xe5db('0x80')](_0x5754e8[_0xe5db('0x59')],{'$or':_['map'](_0x5754e8['attributes'],function(_0x4db90b){var _0x2dfada={};_0x2dfada[_0x4db90b]={'$like':'%'+_0x36a47a['query'][_0xe5db('0x81')]+'%'};return _0x2dfada;})});}_0x5754e8=_['merge']({},_0x5754e8,_0x36a47a[_0xe5db('0x82')]);return _0xc1a49b[_0xe5db('0x83')](_0x5754e8);}})[_0xe5db('0x18')](function(_0x3f054b){if(_0x3f054b){_0x5a4606=_0x3f054b[_0xe5db('0x28')];if(!_0x36a47a[_0xe5db('0x22')][_0xe5db('0x84')]('nolimit')){_0x5754e8[_0xe5db('0x12')]=qs[_0xe5db('0x12')](_0x36a47a[_0xe5db('0x22')][_0xe5db('0x12')]);_0x5754e8[_0xe5db('0xf')]=qs[_0xe5db('0xf')](_0x36a47a[_0xe5db('0x22')][_0xe5db('0xf')]);}return _0xc1a49b[_0xe5db('0x83')](_0x5754e8);}})[_0xe5db('0x18')](function(_0x5c030d){if(_0x5c030d){return _0x5c030d?{'count':_0x5a4606,'rows':_0x5c030d}:null;}})[_0xe5db('0x18')](respondWithResult(_0x1c6058,null))[_0xe5db('0x26')](handleError(_0x1c6058,null));};exports[_0xe5db('0x85')]=function(_0x213625,_0x3891de){if(_0x213625[_0xe5db('0x32')]['id']){delete _0x213625[_0xe5db('0x32')]['id'];}return db[_0xe5db('0x24')][_0xe5db('0x77')]({'where':{'id':_0x213625['params']['id']}})[_0xe5db('0x18')](handleEntityNotFound(_0x3891de,null))[_0xe5db('0x18')](function(_0x8c1985){if(_0x8c1985){return _0x8c1985[_0xe5db('0x85')](_0x213625[_0xe5db('0x32')]['ids']||[]);}return null;})['then'](respondWithResult(_0x3891de,null))[_0xe5db('0x26')](handleError(_0x3891de,null));};exports['setAdditionalPhones']=function(_0x4fc67,_0x18398c){var _0x26d260=[];_0x26d260['push'](addAdditionalPhones(_0x4fc67[_0xe5db('0x32')]));Promise[_0xe5db('0x5f')](_0x26d260)[_0xe5db('0x18')](function(){_0x26d260=[];_0x26d260[_0xe5db('0x5d')](deleteCmHopperPhones(_0x4fc67['body']['id']));_0x26d260[_0xe5db('0x5d')](addCmHopperPhones(_0x4fc67[_0xe5db('0x32')]['id']));Promise['all'](_0x26d260)[_0xe5db('0x18')](function(){return[0x1];})[_0xe5db('0x18')](respondWithResult(_0x18398c,null));});};function addAdditionalPhones(_0x54b5ff){var _0x2b75db;return new Promise(function(_0x457715){return db[_0xe5db('0x46')][_0xe5db('0x17')]({'where':{'CmContactId':_0x54b5ff['id']}})['then'](function(){db[_0xe5db('0x86')]['findAll']({'raw':!![],'attributes':['id','OrderBy']})['then'](function(_0x155756){var _0xfeeeb2=[];for(var _0x3cfe20=0x0;_0x3cfe20<_0x54b5ff[_0xe5db('0x87')][_0xe5db('0x28')];_0x3cfe20++){var _0x2a82a5=_0x54b5ff[_0xe5db('0x88')]?_[_0xe5db('0x53')](_0x54b5ff['item_types'][_0x3cfe20])?'':_0x54b5ff[_0xe5db('0x88')][_0x3cfe20]:_0x54b5ff[_0xe5db('0x87')][_0x3cfe20][_0xe5db('0x89')]?_0x54b5ff[_0xe5db('0x87')][_0x3cfe20]['ItemTypeId']:'';var _0x942ff6=_[_0xe5db('0x53')](_0x54b5ff[_0xe5db('0x87')][_0x3cfe20]['description'])?'':_0x54b5ff[_0xe5db('0x87')][_0x3cfe20][_0xe5db('0x8a')];var _0x62c7e3=_0x2a82a5+':'+_0x54b5ff[_0xe5db('0x87')][_0x3cfe20][_0xe5db('0x8b')]+'ยง'+_0x942ff6;if(_[_0xe5db('0x53')](_0x2b75db))_0x2b75db=_0x62c7e3;else _0x2b75db+=';'+_0x62c7e3;var _0x327f2f=null;var _0x7f7fd6=null;if(_0x54b5ff[_0xe5db('0x88')]){if(!_[_0xe5db('0x53')](_0x54b5ff[_0xe5db('0x88')][_0x3cfe20])){_0x7f7fd6=_[_0xe5db('0x25')](_0x155756,function(_0x2a2d20){return _0x2a2d20['id']===_0x54b5ff[_0xe5db('0x88')][_0x3cfe20];});if(!_['isNil'](_0x7f7fd6)){_0x327f2f=_0x7f7fd6[_0xe5db('0x8c')];}}}else{if(!_[_0xe5db('0x53')](_0x54b5ff[_0xe5db('0x87')][_0x3cfe20])){_0x7f7fd6=_[_0xe5db('0x25')](_0x155756,function(_0x3af72f){return _0x3af72f['id']===_0x54b5ff[_0xe5db('0x87')][_0x3cfe20][_0xe5db('0x89')];});if(!_[_0xe5db('0x53')](_0x7f7fd6)){_0x327f2f=_0x3cfe20;}}}if(_['isNil'](_0x327f2f)){_0x327f2f=0x64;}_0xfeeeb2[_0xe5db('0x5d')](addAdditionalPhone(_0x54b5ff['id'],_0x54b5ff[_0xe5db('0x87')][_0x3cfe20][_0xe5db('0x8b')],_0x54b5ff[_0xe5db('0x88')]?_[_0xe5db('0x53')](_0x54b5ff['item_types'][_0x3cfe20])?null:_0x54b5ff[_0xe5db('0x88')][_0x3cfe20]:_0x54b5ff[_0xe5db('0x87')][_0x3cfe20][_0xe5db('0x89')]?_0x54b5ff[_0xe5db('0x87')][_0x3cfe20]['ItemTypeId']:null,_0x327f2f,_0x942ff6));}Promise['all'](_0xfeeeb2)[_0xe5db('0x18')](function(){db['CmContact'][_0xe5db('0x16')]({'AdditionalPhones':_0x2b75db},{'where':{'id':_0x54b5ff['id']}})[_0xe5db('0x18')](function(){_0x457715(0x1);});});});});});}function addAdditionalPhone(_0x2f404e,_0x115a0f,_0x2ca7e9,_0x151a41,_0x374337){return db[_0xe5db('0x46')][_0xe5db('0x25')]({'where':{'CmContactId':_0x2f404e,'item':_0x115a0f}})[_0xe5db('0x18')](function(_0x395ca2){if(_0x395ca2)logger[_0xe5db('0x3c')](_0xe5db('0x8d'),_0x395ca2);else{db[_0xe5db('0x46')][_0xe5db('0x3e')]({'CmContactId':_0x2f404e,'item':_0x115a0f,'ItemTypeId':_0x2ca7e9,'OrderBy':_0x151a41,'ItemClass':_0xe5db('0x8e'),'description':_0x374337});}});}function deleteCmHopperPhones(_0x5bb7cd){return new Promise(function(_0xaf9693){return db['CmHopper'][_0xe5db('0x21')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x5bb7cd}})[_0xe5db('0x18')](function(_0x39645a){db[_0xe5db('0x8f')][_0xe5db('0x17')]({'where':{'CmHopperId':{'$in':_[_0xe5db('0x6c')](_0x39645a,'id')}}});})[_0xe5db('0x18')](function(){_0xaf9693(0x1);});});}function addCmHopperPhones(_0x45edb8){return new Promise(function(_0xb0cb20){return db[_0xe5db('0x39')][_0xe5db('0x21')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x45edb8}})[_0xe5db('0x18')](function(_0x50f10b){var _0x1650de=[];_['map'](_0x50f10b,function(_0x76cefb){_0x1650de[_0xe5db('0x5d')](createCmHopperPhone(_0x45edb8,_0x76cefb['id']));});Promise[_0xe5db('0x5f')](_0x1650de)[_0xe5db('0x18')](function(){_0xb0cb20(0x1);});});});}function createCmHopperPhone(_0x568351,_0x4e0c0c){return new Promise(function(_0x5b8698){db[_0xe5db('0x46')]['findAll']({'raw':!![],'attributes':['item',_0xe5db('0x8c')],'where':{'CmContactId':_0x568351,'ItemClass':_0xe5db('0x8e')},'include':[{'model':db[_0xe5db('0x86')],'attributes':['OrderBy'],'as':_0xe5db('0x66')}],'order':[_0xe5db('0x8c'),db[_0xe5db('0x67')]['literal']('`ItemType`.OrderBy')]})['then'](function(_0x3d838b){var _0x2ee31b=0x1;var _0x25dc51=_[_0xe5db('0x6c')](_0x3d838b,function(_0x3d7156){_0x3d7156['CmHopperId']=_0x4e0c0c;_0x3d7156[_0xe5db('0x8b')]=_0x3d7156[_0xe5db('0x90')];_0x3d7156[_0xe5db('0x8c')]=_0x2ee31b;delete _0x3d7156['ItemType.OrderBy'];_0x2ee31b=_0x2ee31b+0x1;return _0x3d7156;});return db[_0xe5db('0x8f')]['bulkCreate'](_0x25dc51,{});})[_0xe5db('0x18')](function(){_0x5b8698(0x1);});});}function insertAdditionalPhones(_0x18135d,_0x4b0970){return new Promise(function(_0x3fda2e){var _0x3cf948=[];for(var _0x18abdf=0x0;_0x18abdf<_0x4b0970[_0xe5db('0x28')];_0x18abdf++){var _0x4d2c96=_0x4b0970[_0x18abdf];_0x3cf948[_0xe5db('0x5d')](parseContactItemType(_0x4d2c96));}Promise[_0xe5db('0x5f')](_0x3cf948)['then'](function(){var _0x50e049={'id':_0x18135d['id'],'items':_0x4b0970};return addAdditionalPhones(_0x50e049)['then'](function(){return addCmHopperPhones(_0x18135d['id']);});})[_0xe5db('0x18')](function(){_0x3fda2e(_0x18135d);});});}function parseContactItemType(_0x58d224){return new Promise(function(_0x2030c0){if(_0x58d224[_0xe5db('0x84')]('ItemTypeId')){_0x2030c0(_0x58d224);}else{return db[_0xe5db('0x86')][_0xe5db('0x25')]({'where':{'name':_0x58d224['ItemType']}})[_0xe5db('0x18')](function(_0x446bbd){if(_[_0xe5db('0x53')](_0x446bbd))_0x58d224[_0xe5db('0x89')]=null;else _0x58d224[_0xe5db('0x89')]=_0x446bbd['id'];_0x2030c0(_0x58d224);});}});}exports[_0xe5db('0x91')]=function(_0x3d4b62,_0x1420a7){return db[_0xe5db('0x46')][_0xe5db('0x21')]({'raw':!![],'where':{'CmContactId':_0x3d4b62[_0xe5db('0x61')]['id'],'ItemClass':_0xe5db('0x8e')},'include':[{'model':db[_0xe5db('0x86')],'as':_0xe5db('0x66')}],'order':[[_0xe5db('0x8c')],[db['sequelize']['literal'](_0xe5db('0x92'))]]})[_0xe5db('0x18')](function(_0x465596){return _0x465596;})[_0xe5db('0x18')](respondWithResult(_0x1420a7,null))[_0xe5db('0x26')](handleError(_0x1420a7,null));};exports[_0xe5db('0x93')]=function(_0x23ce32,_0xd194fe){return db[_0xe5db('0x46')][_0xe5db('0x21')]({'raw':!![],'where':{'CmContactId':_0x23ce32['body'][_0xe5db('0x94')]}})['then'](function(_0x19138f){var _0x569ac5=_[_0xe5db('0x6c')](_0x19138f,function(_0x27bdbc){_0x27bdbc[_0xe5db('0x95')]=_0x23ce32['body'][_0xe5db('0x96')];return _0x27bdbc;});return db[_0xe5db('0x46')][_0xe5db('0x97')](_0x569ac5,{});})[_0xe5db('0x18')](function(){return addCmHopperPhones(_0x23ce32[_0xe5db('0x32')][_0xe5db('0x96')]);})['then'](function(){return['ok'];})[_0xe5db('0x18')](respondWithResult(_0xd194fe,null))[_0xe5db('0x26')](handleError(_0xd194fe,null));};exports[_0xe5db('0x98')]=function(_0x5c6ca4,_0x595484){var _0x2085fe=[];_0x2085fe[_0xe5db('0x5d')](createCmHopperPhone(_0x5c6ca4[_0xe5db('0x32')]['id'],_0x5c6ca4['body']['hopperId']));Promise['all'](_0x2085fe)['then'](function(){return[0x1];})['then'](respondWithResult(_0x595484,null));};exports['getHoppers']=function(_0x1549ef,_0x2a3094){var _0x1c2e2c={'raw':![],'where':{}};var _0x4bfa0c={};var _0x3b3332={'count':0x0,'rows':[]};return db[_0xe5db('0x24')][_0xe5db('0x77')]({'where':{'id':_0x1549ef[_0xe5db('0x61')]['id']}})[_0xe5db('0x18')](handleEntityNotFound(_0x2a3094,null))[_0xe5db('0x18')](function(_0x2804d8){if(_0x2804d8){_0x4bfa0c['model']=_['keys'](db['CmHopper'][_0xe5db('0x99')]);_0x4bfa0c['query']=_['keys'](_0x1549ef[_0xe5db('0x22')]);_0x4bfa0c[_0xe5db('0x79')]=_[_0xe5db('0x7a')](_0x4bfa0c[_0xe5db('0x78')],_0x4bfa0c[_0xe5db('0x22')]);_0x1c2e2c['attributes']=_[_0xe5db('0x7a')](_0x4bfa0c[_0xe5db('0x78')],qs[_0xe5db('0x7b')](_0x1549ef[_0xe5db('0x22')][_0xe5db('0x7b')]));_0x1c2e2c[_0xe5db('0x7c')]=_0x1c2e2c[_0xe5db('0x7c')][_0xe5db('0x28')]?_0x1c2e2c['attributes']:_0x4bfa0c[_0xe5db('0x78')];if(!_0x1549ef['query'][_0xe5db('0x84')](_0xe5db('0x9a'))){_0x1c2e2c[_0xe5db('0x12')]=qs[_0xe5db('0x12')](_0x1549ef[_0xe5db('0x22')]['limit']);_0x1c2e2c[_0xe5db('0xf')]=qs['offset'](_0x1549ef['query'][_0xe5db('0xf')]);}_0x1c2e2c[_0xe5db('0x7d')]=qs['sort'](_0x1549ef[_0xe5db('0x22')][_0xe5db('0x7e')]);_0x1c2e2c[_0xe5db('0x59')]=qs[_0xe5db('0x79')](_[_0xe5db('0x7f')](_0x1549ef[_0xe5db('0x22')],_0x4bfa0c['filters']));_0x1c2e2c[_0xe5db('0x59')]['ContactId']=_0x2804d8['id'];if(_0x1549ef[_0xe5db('0x22')][_0xe5db('0x81')]){_0x1c2e2c[_0xe5db('0x59')]=_['merge'](_0x1c2e2c['where'],{'$or':_[_0xe5db('0x6c')](_0x1c2e2c[_0xe5db('0x7c')],function(_0x26357b){var _0x2a8bde={};_0x2a8bde[_0x26357b]={'$like':'%'+_0x1549ef[_0xe5db('0x22')][_0xe5db('0x81')]+'%'};return _0x2a8bde;})});}_0x1c2e2c=_[_0xe5db('0x80')]({},_0x1c2e2c,_0x1549ef['options']);return db[_0xe5db('0x39')][_0xe5db('0x11')]({'where':_0x1c2e2c['where']})[_0xe5db('0x18')](function(_0x137204){_0x3b3332[_0xe5db('0x11')]=_0x137204;if(_0x1549ef[_0xe5db('0x22')][_0xe5db('0x9b')]){_0x1c2e2c[_0xe5db('0x9c')]=[{'all':!![]}];}return db[_0xe5db('0x39')][_0xe5db('0x21')](_0x1c2e2c);})['then'](function(_0x181a0b){_0x3b3332[_0xe5db('0x9d')]=_0x181a0b;return _0x3b3332;});}})[_0xe5db('0x18')](respondWithFilteredResult(_0x2a3094,_0x1c2e2c))[_0xe5db('0x26')](handleError(_0x2a3094,null));};exports[_0xe5db('0x9e')]=function(_0x4d39e6,_0x5ae83e){var _0x49c1db={'raw':!![],'where':{}};var _0x549890={};var _0x54a850={'count':0x0,'rows':[]};return db['CmContact'][_0xe5db('0x77')]({'where':{'id':_0x4d39e6['params']['id']}})['then'](handleEntityNotFound(_0x5ae83e,null))[_0xe5db('0x18')](function(_0x23ef7f){if(_0x23ef7f){_0x549890[_0xe5db('0x78')]=_[_0xe5db('0x27')](db['CmHopperHistory'][_0xe5db('0x99')]);_0x549890[_0xe5db('0x22')]=_[_0xe5db('0x27')](_0x4d39e6[_0xe5db('0x22')]);_0x549890[_0xe5db('0x79')]=_[_0xe5db('0x7a')](_0x549890[_0xe5db('0x78')],_0x549890[_0xe5db('0x22')]);_0x49c1db['attributes']=_['intersection'](_0x549890[_0xe5db('0x78')],qs[_0xe5db('0x7b')](_0x4d39e6[_0xe5db('0x22')][_0xe5db('0x7b')]));_0x49c1db[_0xe5db('0x7c')]=_0x49c1db['attributes']['length']?_0x49c1db[_0xe5db('0x7c')]:_0x549890['model'];if(!_0x4d39e6[_0xe5db('0x22')]['hasOwnProperty'](_0xe5db('0x9a'))){_0x49c1db['limit']=qs['limit'](_0x4d39e6[_0xe5db('0x22')][_0xe5db('0x12')]);_0x49c1db[_0xe5db('0xf')]=qs[_0xe5db('0xf')](_0x4d39e6[_0xe5db('0x22')][_0xe5db('0xf')]);}_0x49c1db[_0xe5db('0x7d')]=qs[_0xe5db('0x7e')](_0x4d39e6['query'][_0xe5db('0x7e')]);_0x49c1db['where']=qs[_0xe5db('0x79')](_[_0xe5db('0x7f')](_0x4d39e6[_0xe5db('0x22')],_0x549890[_0xe5db('0x79')]));_0x49c1db[_0xe5db('0x59')][_0xe5db('0x9f')]=_0x23ef7f['id'];if(_0x4d39e6[_0xe5db('0x22')][_0xe5db('0x81')]){_0x49c1db[_0xe5db('0x59')]=_[_0xe5db('0x80')](_0x49c1db[_0xe5db('0x59')],{'$or':_[_0xe5db('0x6c')](_0x49c1db[_0xe5db('0x7c')],function(_0x1580a9){var _0x430243={};_0x430243[_0x1580a9]={'$like':'%'+_0x4d39e6[_0xe5db('0x22')][_0xe5db('0x81')]+'%'};return _0x430243;})});}_0x49c1db=_[_0xe5db('0x80')]({},_0x49c1db,_0x4d39e6['options']);return db[_0xe5db('0x47')][_0xe5db('0x11')]({'where':_0x49c1db['where']})[_0xe5db('0x18')](function(_0x39468f){_0x54a850[_0xe5db('0x11')]=_0x39468f;if(_0x4d39e6[_0xe5db('0x22')]['includeAll']){_0x49c1db[_0xe5db('0x9c')]=[{'all':!![]}];}return db['CmHopperHistory'][_0xe5db('0x21')](_0x49c1db);})[_0xe5db('0x18')](function(_0x1db7ca){_0x54a850['rows']=_0x1db7ca;return _0x54a850;});}})['then'](respondWithFilteredResult(_0x5ae83e,_0x49c1db))['catch'](handleError(_0x5ae83e,null));};exports[_0xe5db('0xa0')]=function(_0x584a9e,_0x3bb675){var _0x4dd699={'raw':!![],'where':{}};var _0x35a14a={};var _0x379e84={'count':0x0,'rows':[]};return db[_0xe5db('0x24')][_0xe5db('0x77')]({'where':{'id':_0x584a9e[_0xe5db('0x61')]['id']}})[_0xe5db('0x18')](handleEntityNotFound(_0x3bb675,null))[_0xe5db('0x18')](function(_0x574c8a){if(_0x574c8a){_0x35a14a[_0xe5db('0x78')]=_[_0xe5db('0x27')](db[_0xe5db('0xa1')][_0xe5db('0x99')]);_0x35a14a[_0xe5db('0x22')]=_['keys'](_0x584a9e['query']);_0x35a14a['filters']=_[_0xe5db('0x7a')](_0x35a14a[_0xe5db('0x78')],_0x35a14a[_0xe5db('0x22')]);_0x4dd699[_0xe5db('0x7c')]=_['intersection'](_0x35a14a[_0xe5db('0x78')],qs[_0xe5db('0x7b')](_0x584a9e['query'][_0xe5db('0x7b')]));_0x4dd699[_0xe5db('0x7c')]=_0x4dd699[_0xe5db('0x7c')][_0xe5db('0x28')]?_0x4dd699[_0xe5db('0x7c')]:_0x35a14a[_0xe5db('0x78')];if(!_0x584a9e['query'][_0xe5db('0x84')](_0xe5db('0x9a'))){_0x4dd699['limit']=qs[_0xe5db('0x12')](_0x584a9e[_0xe5db('0x22')][_0xe5db('0x12')]);_0x4dd699[_0xe5db('0xf')]=qs['offset'](_0x584a9e[_0xe5db('0x22')][_0xe5db('0xf')]);}_0x4dd699[_0xe5db('0x7d')]=qs['sort'](_0x584a9e[_0xe5db('0x22')][_0xe5db('0x7e')]);_0x4dd699[_0xe5db('0x59')]=qs[_0xe5db('0x79')](_[_0xe5db('0x7f')](_0x584a9e['query'],_0x35a14a['filters']));_0x4dd699[_0xe5db('0x59')]['ContactId']=_0x574c8a['id'];if(_0x584a9e['query']['filter']){_0x4dd699[_0xe5db('0x59')]=_[_0xe5db('0x80')](_0x4dd699['where'],{'$or':_[_0xe5db('0x6c')](_0x4dd699[_0xe5db('0x7c')],function(_0x533144){var _0x1449b8={};_0x1449b8[_0x533144]={'$like':'%'+_0x584a9e['query'][_0xe5db('0x81')]+'%'};return _0x1449b8;})});}_0x4dd699=_[_0xe5db('0x80')]({},_0x4dd699,_0x584a9e[_0xe5db('0x82')]);return db['CmHopperFinal'][_0xe5db('0x11')]({'where':_0x4dd699[_0xe5db('0x59')]})[_0xe5db('0x18')](function(_0x367708){_0x379e84[_0xe5db('0x11')]=_0x367708;if(_0x584a9e[_0xe5db('0x22')]['includeAll']){_0x4dd699[_0xe5db('0x9c')]=[{'all':!![]}];}return db[_0xe5db('0xa1')]['findAll'](_0x4dd699);})['then'](function(_0xc9d963){_0x379e84[_0xe5db('0x9d')]=_0xc9d963;return _0x379e84;});}})['then'](respondWithFilteredResult(_0x3bb675,_0x4dd699))[_0xe5db('0x26')](handleError(_0x3bb675,null));};exports[_0xe5db('0xa2')]=function(_0x340fef,_0x4a81e8){var _0x4a3b1f={'raw':!![],'where':{}};var _0x8df847={};var _0x19d457={'count':0x0,'rows':[]};return db[_0xe5db('0x24')][_0xe5db('0x77')]({'where':{'id':_0x340fef[_0xe5db('0x61')]['id']}})[_0xe5db('0x18')](handleEntityNotFound(_0x4a81e8,null))[_0xe5db('0x18')](function(_0x1a0773){if(_0x1a0773){_0x8df847[_0xe5db('0x78')]=_['keys'](db[_0xe5db('0x4f')][_0xe5db('0x99')]);_0x8df847[_0xe5db('0x22')]=_[_0xe5db('0x27')](_0x340fef[_0xe5db('0x22')]);_0x8df847[_0xe5db('0x79')]=_[_0xe5db('0x7a')](_0x8df847[_0xe5db('0x78')],_0x8df847[_0xe5db('0x22')]);_0x4a3b1f[_0xe5db('0x7c')]=_[_0xe5db('0x7a')](_0x8df847[_0xe5db('0x78')],qs[_0xe5db('0x7b')](_0x340fef[_0xe5db('0x22')][_0xe5db('0x7b')]));_0x4a3b1f[_0xe5db('0x7c')]=_0x4a3b1f[_0xe5db('0x7c')]['length']?_0x4a3b1f[_0xe5db('0x7c')]:_0x8df847[_0xe5db('0x78')];if(!_0x340fef[_0xe5db('0x22')][_0xe5db('0x84')]('nolimit')){_0x4a3b1f['limit']=qs['limit'](_0x340fef[_0xe5db('0x22')]['limit']);_0x4a3b1f['offset']=qs[_0xe5db('0xf')](_0x340fef[_0xe5db('0x22')][_0xe5db('0xf')]);}_0x4a3b1f[_0xe5db('0x7d')]=qs['sort'](_0x340fef['query'][_0xe5db('0x7e')]);_0x4a3b1f['where']=qs[_0xe5db('0x79')](_['pick'](_0x340fef[_0xe5db('0x22')],_0x8df847['filters']));_0x4a3b1f[_0xe5db('0x59')][_0xe5db('0x9f')]=_0x1a0773['id'];if(_0x340fef['query'][_0xe5db('0x81')]){_0x4a3b1f[_0xe5db('0x59')]=_[_0xe5db('0x80')](_0x4a3b1f[_0xe5db('0x59')],{'$or':_[_0xe5db('0x6c')](_0x4a3b1f['attributes'],function(_0x4de43a){var _0x44c5fe={};_0x44c5fe[_0x4de43a]={'$like':'%'+_0x340fef[_0xe5db('0x22')][_0xe5db('0x81')]+'%'};return _0x44c5fe;})});}_0x4a3b1f=_[_0xe5db('0x80')]({},_0x4a3b1f,_0x340fef[_0xe5db('0x82')]);return db['JscriptySessionReport'][_0xe5db('0x11')]({'where':_0x4a3b1f[_0xe5db('0x59')]})[_0xe5db('0x18')](function(_0x3dc0a2){_0x19d457[_0xe5db('0x11')]=_0x3dc0a2;if(_0x340fef[_0xe5db('0x22')][_0xe5db('0x9b')]){_0x4a3b1f[_0xe5db('0x9c')]=[{'all':!![]}];}return db[_0xe5db('0x4f')][_0xe5db('0x21')](_0x4a3b1f);})[_0xe5db('0x18')](function(_0x562635){_0x19d457[_0xe5db('0x9d')]=_0x562635;return _0x19d457;});}})[_0xe5db('0x18')](respondWithFilteredResult(_0x4a81e8,_0x4a3b1f))[_0xe5db('0x26')](handleError(_0x4a81e8,null));};exports[_0xe5db('0xa3')]=function(_0x2673ca,_0x1e4f6a){try{if(!_0x2673ca[_0xe5db('0x32')][_0xe5db('0x5b')]){throw new Error(_0xe5db('0xa4'));}if(!_0x2673ca[_0xe5db('0x32')][_0xe5db('0xa5')]){throw new Error(_0xe5db('0xa6'));}if(!_0x2673ca['body']['binding_values']){throw new Error(_0xe5db('0xa7'));}if(!_0x2673ca['body']['socket_timestamp']){throw new Error('Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed');}var _0x28292c=_0x2673ca[_0xe5db('0x32')][_0xe5db('0xa5')][_0xe5db('0xa8')](',');var _0x2a0aa1=_0x2673ca[_0xe5db('0x32')][_0xe5db('0xa9')][_0xe5db('0xa8')](',');if(!_0x28292c['length']||!_0x2a0aa1['length']||_0x28292c[_0xe5db('0x28')]!==_0x2a0aa1[_0xe5db('0x28')]){throw new Error(_0xe5db('0xaa'));}_0x2673ca[_0xe5db('0x32')]['fields']=_[_0xe5db('0xab')](_0x28292c,_0x2a0aa1);if(!_0x2673ca['body'][_0xe5db('0x7b')]['phone']){throw new Error(_0xe5db('0xac'));}if(!_0x2673ca['body']['fields'][_0xe5db('0xad')]){throw new Error(_0xe5db('0xae'));}var _0x209757=path[_0xe5db('0xaf')](config[_0xe5db('0xb0')],_0xe5db('0xb1'),_0x2673ca[_0xe5db('0xb2')][_0xe5db('0xb3')]);fs[_0xe5db('0xb4')](_0x209757,parseInt(_0xe5db('0xb5'),0x8));var _0x187871=require(_0xe5db('0xb6'))['fork'](path['join'](__dirname,_0xe5db('0xb7')),[_0x209757,_0x2673ca[_0xe5db('0x32')][_0xe5db('0xa5')],_0x2673ca['body'][_0xe5db('0xa9')],_0x2673ca[_0xe5db('0x32')]['ListId'],_0x2673ca[_0xe5db('0x32')][_0xe5db('0xb8')],_0x2673ca['body'][_0xe5db('0x58')],_0x2673ca[_0xe5db('0x32')]['socket_timestamp']]);return _0x1e4f6a[_0xe5db('0x13')](0xc8)[_0xe5db('0xe')]({'message':_0xe5db('0xb9'),'pid':_0x187871['pid']});}catch(_0x5977c5){return _0x1e4f6a[_0xe5db('0x13')](0x1f4)[_0xe5db('0x1e')](_0x5977c5);}};exports['upload']=function(_0x4781da,_0x214b96){var _0x488a23=fs[_0xe5db('0xba')](_0x4781da[_0xe5db('0xb2')][_0xe5db('0x2')]);Papa['parse'](_0x488a23,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x1a8500){return _0x214b96[_0xe5db('0x13')](0xc8)[_0xe5db('0xe')]({'file':_0x4781da[_0xe5db('0xb2')],'fields':_0x1a8500[_0xe5db('0xbb')][_0xe5db('0x7b')]});}});};exports[_0xe5db('0xbc')]=function(_0x1b8631,_0x35520a){return db['User']['findAll']({'raw':!![],'attributes':['id'],'where':{'role':_0xe5db('0xbd')}})[_0xe5db('0x18')](function(_0x5b5f1c){var _0x7de2da=![];if(!_0x1b8631[_0xe5db('0x32')][_0xe5db('0x5b')]){throw new Error(_0xe5db('0xa4'));}if(!_0x1b8631[_0xe5db('0x32')][_0xe5db('0xbe')]['phone']){throw new Error('No\x20phone\x20column\x20specified');}if(!_0x1b8631['body']['binding'][_0xe5db('0xad')]){throw new Error(_0xe5db('0xae'));}if(!_0x1b8631[_0xe5db('0x32')][_0xe5db('0xbf')]){throw new Error(_0xe5db('0xc0'));}var _0x257340=require(_0xe5db('0xb6'))['fork'](path[_0xe5db('0xaf')](__dirname,_0xe5db('0xc1')),[_0x1b8631[_0xe5db('0x61')]['id'],JSON[_0xe5db('0xc2')](_0x1b8631[_0xe5db('0x32')]),JSON['stringify'](_0x5b5f1c)]);_0x257340['on'](_0xe5db('0xc3'),function(){_0x7de2da=!![];return _0x35520a[_0xe5db('0x13')](0xc8)['json']({'message':_0xe5db('0xc4'),'pid':_0x257340[_0xe5db('0xc5')]});});_0x257340['on'](_0xe5db('0xc6'),function(_0x13b3bf){if(_0x13b3bf&&!_0x7de2da){return _0x35520a[_0xe5db('0x13')](0x1f4)[_0xe5db('0xe')]({'message':_0xe5db('0xc7'),'pid':_0x257340['pid']});}});})[_0xe5db('0x26')](handleError(_0x35520a,null));};exports[_0xe5db('0xc8')]=function(_0x17c119,_0x42f151){return db[_0xe5db('0xc9')][_0xe5db('0x21')]({'raw':!![],'attributes':['id'],'where':{'role':_0xe5db('0xbd')}})[_0xe5db('0x18')](function(_0x45187f){var _0x2af463=![];if(!_0x17c119[_0xe5db('0x32')][_0xe5db('0x5b')]){throw new Error(_0xe5db('0xa4'));}if(!_0x17c119[_0xe5db('0x32')][_0xe5db('0xbe')][_0xe5db('0x8b')]){throw new Error(_0xe5db('0xac'));}if(!_0x17c119[_0xe5db('0x32')]['binding']['firstName']){throw new Error(_0xe5db('0xae'));}if(!_0x17c119['body'][_0xe5db('0xbf')]){throw new Error('Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed');}var _0x1754a7=require('child_process')[_0xe5db('0xca')](path[_0xe5db('0xaf')](__dirname,'../../components/import/cm/csvUpdates'),[_0x17c119[_0xe5db('0x61')]['id'],JSON[_0xe5db('0xc2')](_0x17c119[_0xe5db('0x32')]),JSON[_0xe5db('0xc2')](_0x45187f)]);_0x1754a7['on']('message',function(){_0x2af463=!![];return _0x42f151['status'](0xc8)[_0xe5db('0xe')]({'message':'start\x20child\x20process\x20correctly!','pid':_0x1754a7[_0xe5db('0xc5')]});});_0x1754a7['on'](_0xe5db('0xc6'),function(_0x437242){if(_0x437242&&!_0x2af463){return _0x42f151[_0xe5db('0x13')](0x1f4)[_0xe5db('0xe')]({'message':_0xe5db('0xc7'),'pid':_0x1754a7[_0xe5db('0xc5')]});}});})['catch'](handleError(_0x42f151,null));};exports[_0xe5db('0xcb')]=function(_0x4b1bae,_0x43d927){var _0x2eba6d=[_0xe5db('0xcc'),_0xe5db('0xcd'),_0xe5db('0xce'),_0xe5db('0xcf'),_0xe5db('0xd0'),_0xe5db('0xd1'),_0xe5db('0xd2')];var _0x13eb64={'offset':0x0,'order':qs[_0xe5db('0x7e')](_0xe5db('0xd3'))},_0x1d3150={'count':0x0,'rows':[]};Promise[_0xe5db('0xd4')]()['then'](function(){if(_0x4b1bae[_0xe5db('0x22')][_0xe5db('0xd5')]){if(!_['includes'](_0x2eba6d,_0x4b1bae[_0xe5db('0x22')][_0xe5db('0xd5')][_0xe5db('0xd6')]())){throw new Error('Invalid\x20channel');}_0x2eba6d=[_0x4b1bae[_0xe5db('0x22')]['channel']['toLowerCase']()];}if(_0x4b1bae['query'][_0xe5db('0xd7')]){try{var _0x17f00d=JSON[_0xe5db('0xd8')](_0x4b1bae[_0xe5db('0x22')][_0xe5db('0xd7')]);if(!moment(_0x17f00d['from'])[_0xe5db('0xd9')]()){throw new Error(_0xe5db('0xda'));}if(!moment(_0x17f00d['to'])['isValid']()){throw new Error(_0xe5db('0xdb'));}}catch(_0x15c41c){throw new Error(_0xe5db('0xdc'));}}if(!_0x4b1bae['query']['hasOwnProperty'](_0xe5db('0x9a'))){_0x13eb64['limit']=qs[_0xe5db('0x12')](_0x4b1bae[_0xe5db('0x22')][_0xe5db('0x12')]||0xa);_0x13eb64[_0xe5db('0xf')]=qs[_0xe5db('0xf')](_0x4b1bae[_0xe5db('0x22')][_0xe5db('0xf')]);}var _0x459cbe=_0x2eba6d[_0xe5db('0x6c')](function(_0x178d10){if(_0x178d10===_0xe5db('0xd2')){var _0x3d56a8={'attributes':['id',_0xe5db('0xdd'),'type','source',_0xe5db('0xde'),_0xe5db('0xdf'),_0xe5db('0xe0'),_0xe5db('0xe1'),_0xe5db('0xe2'),_0xe5db('0xe3'),_0xe5db('0xe4'),_0xe5db('0xe5'),_0xe5db('0xe6'),_0xe5db('0xe7'),'UserId'],'where':{'ContactId':_0x4b1bae[_0xe5db('0x61')]['id']},'include':[{'model':db[_0xe5db('0xc9')],'as':_0xe5db('0xc9'),'attributes':['id','name',_0xe5db('0xe8'),_0xe5db('0x2d')]}],'order':[[_0xe5db('0xe4'),_0xe5db('0xe9')]]};if(_0x4b1bae[_0xe5db('0x22')][_0xe5db('0xd7')]){_0x3d56a8['where'][_0xe5db('0xe4')]={'$gte':_0x17f00d[_0xe5db('0x33')],'$lte':_0x17f00d['to']};}return db[_0xe5db('0x49')][_0xe5db('0xea')](_0x3d56a8)[_0xe5db('0x18')](function(_0x5f0010){_0x1d3150[_0xe5db('0x11')]+=_0x5f0010[_0xe5db('0x11')];return _[_0xe5db('0x6c')](_0x5f0010['rows'],function(_0x5f293b){var _0x2c0739=_0x5f293b[_0xe5db('0x34')]({'plain':!![]});_0x2c0739[_0xe5db('0xd5')]=_0x178d10;if(_0x2c0739['User']){_0x2c0739['User']={'id':_0x2c0739['User']['id'],'name':_0x2c0739[_0xe5db('0xc9')]['name'],'fullname':_0x2c0739[_0xe5db('0xc9')]['fullname'],'alias':_0x2c0739[_0xe5db('0xc9')][_0xe5db('0x2d')]};}return _0x2c0739;});});}else{var _0x9e7b1e=_[_0xe5db('0xeb')](_0x178d10)+(_0x178d10===_0xe5db('0xcd')?_0xe5db('0xec'):_0xe5db('0xed'));var _0x2856d4={'attributes':['id',_0xe5db('0xee'),'closedAt',_0xe5db('0xe4'),_0xe5db('0xe3'),_0xe5db('0xef'),_0xe5db('0xf0'),'thirdDisposition',_0xe5db('0xf1'),_0x9e7b1e+'Id'],'where':{'ContactId':_0x4b1bae['params']['id']},'include':[{'model':db[_0x9e7b1e],'as':_0xe5db('0xed'),'attributes':['id',_0xe5db('0x1d'),_0xe5db('0xf2')]},{'model':db[_0xe5db('0xc9')],'as':_0xe5db('0xf3'),'attributes':['id',_0xe5db('0x1d'),'fullname']},{'model':db[_0xe5db('0x62')],'as':_0xe5db('0x63'),'attributes':['id',_0xe5db('0x1d'),_0xe5db('0x64')],'through':{'attributes':[]}}],'order':[['createdAt',_0xe5db('0xe9')]]};if(_0x4b1bae[_0xe5db('0x22')][_0xe5db('0xd7')]){_0x2856d4['where'][_0xe5db('0xe4')]={'$gte':_0x17f00d['from'],'$lte':_0x17f00d['to']};}switch(_0x178d10){case _0xe5db('0xcd'):_0x2856d4['attributes'][_0xe5db('0x5d')](_0xe5db('0xf4'),_0xe5db('0xf5'),'customerPort',_0xe5db('0xf6'),_0xe5db('0xf7'),'ratingMessage',_0xe5db('0xf8'),_0xe5db('0xf9'),'referer');break;case _0xe5db('0xcc'):_0x2856d4['attributes'][_0xe5db('0x5d')](_0xe5db('0xfa'),_0xe5db('0xfb'));break;case'openchannel':_0x2856d4[_0xe5db('0x7c')][_0xe5db('0x5d')]('externalUrl',_0xe5db('0xfc'));break;}return db[_[_0xe5db('0xeb')](_0x178d10)+_0xe5db('0xfd')][_0xe5db('0xea')](_0x2856d4)[_0xe5db('0x18')](function(_0x4a6bba){_0x1d3150[_0xe5db('0x11')]+=_0x4a6bba[_0xe5db('0x11')];return _[_0xe5db('0x6c')](_0x4a6bba[_0xe5db('0x9d')],function(_0x4ce3ea){var _0x5ebcc5=_0x4ce3ea[_0xe5db('0x34')]({'plain':!![]});_0x5ebcc5[_0xe5db('0xd5')]=_0x178d10;if(_0x5ebcc5[_0xe5db('0xf3')]){_0x5ebcc5[_0xe5db('0xf3')]={'id':_0x5ebcc5['Owner']['id'],'name':_0x5ebcc5[_0xe5db('0xf3')][_0xe5db('0x1d')],'fullname':_0x5ebcc5[_0xe5db('0xf3')][_0xe5db('0xe8')]};}return _0x5ebcc5;});});}});return Promise[_0xe5db('0x5f')](_0x459cbe);})['then'](function(_0x396470){return _(_0x396470)[_0xe5db('0xfe')]()[_0xe5db('0xff')]('createdAt')['reverse']()[_0xe5db('0x100')]();})[_0xe5db('0x18')](function(_0x40e435){_0x1d3150[_0xe5db('0x9d')]=_0x13eb64[_0xe5db('0x12')]?_0x40e435[_0xe5db('0x101')](_0x13eb64[_0xe5db('0xf')],_0x13eb64['offset']+_0x13eb64[_0xe5db('0x12')]):_0x40e435;return _0x1d3150;})['then'](respondWithFilteredResult(_0x43d927,_0x13eb64))[_0xe5db('0x26')](handleError(_0x43d927,null));};