b989429644781b1129e58d8d3564a74c4fa09046
[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 _0xde7f=['contact\x20phone\x20exists','PHONE','CmHopperAdditionalPhone','item','ItemType','literal','`ItemType`.OrderBy','ItemType.OrderBy','getAdditionalPhones','duplicateAdditionalPhones','toContactId','rescheduleAdditionalPhones','hopperId','getHoppers','rawAttributes','count','includeAll','include','rows','getHopperHistories','ContactId','getHopperFinals','getJscriptySessions','uploadCsv','No\x20ListId\x20specified','binding_keys','binding_values','No\x20association\x20values\x20specified!','socket_timestamp','Unable\x20to\x20synchronize\x20socket,\x20no\x20timestamp\x20passed','split','Incorrect\x20binding\x20parameters\x20passed!','zipObject','No\x20phone\x20column\x20specified','firstName','No\x20firstName\x20column\x20specified','root','file','0777','child_process','fork','../../components/import/cm/csv','CompanyId','File\x20uploaded\x20correctly!','pid','upload','createReadStream','meta','import','User','agent','binding','../../components/import/cm/csv2','stringify','message','start\x20child\x20process\x20correctly!','exit','error\x20child\x20process','importUpdates','../../components/import/cm/csvUpdates','getJourney','mail','chat','sms','openchannel','fax','voice','-createdAt','resolve','channel','toLowerCase','range','parse','isValid','Invalid\x20date\x20for\x20range\x20from\x20filter','Invalid\x20createdAt\x20filter','uniqueid','source','destination','callerid','starttime','endtime','note','userSecondDisposition','userThirdDisposition','UserId','fullname','alias','createdAt','DESC','findAndCountAll','startCase','Website','Account','closed','disposition','secondDisposition','thirdDisposition','key','browserName','customerIp','customerPort','osName','ratingType','ratingValue','referer','subject','threadId','Interaction','Owner','flatten','sortBy','reverse','value','moment','bluebird','util','path','lodash','squel','../../config/logger','api','../../config/environment','../../config/environment/shared','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./cmContact.socket','status','json','offset','undefined','limit','set','Content-Range','update','then','destroy','end','sendStatus','error','stack','name','send','describe','getOptions','findAll','query','user','catch','CmContact','find','params','tags','keys','length','cf_','columnName','displayName','CmCustomField','custom','type','values','info','forEach','merge','body','from','get','isArray','[CmContact][merge]\x20to\x20%s\x20from\x20%s','CmHopper','[CmContact][merge][destroy][CmHopperBlack],\x20%s','create','ChatMessage','ChatOfflineMessage','MailInteraction','MailMessage','SmsInteraction','SmsMessage','FaxInteraction','FaxMessage','OpenchannelInteraction','OpenchannelMessage','CmContactHasItem','CmHopperFinal','CmHopperHistory','ReportAgentPreview','VoiceCallReport','ChatQueueReport','FaxQueueReport','SmsQueueReport','JscriptySessionReport','WhatsappInteraction','WhatsappMessage','WhatsappQueueReport','join','isNil','dialTimezone','timezones','additionalPhones','bulkCreate','each','duplicates','where','$or','push','ListId','findOrCreate','hasOwnProperty','contact','all','show','Tag','Tags','color','tag','Phones','ContactItemType','sequelize','Phones.OrderBy','$and','map','cf_%d','utcOffset','omit','pickBy','startsWith','format','table','setFields','id\x20=\x20?','toParam','text','phone','getTags','findOne','model','filters','intersection','attributes','fields','order','sort','pick','filter','options','nolimit','setTags','OrderBy','item_types','ItemTypeId','items','description'];(function(_0x150358,_0xa09f10){var _0x2995f8=function(_0x591d98){while(--_0x591d98){_0x150358['push'](_0x150358['shift']());}};_0x2995f8(++_0xa09f10);}(_0xde7f,0x72));var _0xfde7=function(_0x5cb504,_0xfec21){_0x5cb504=_0x5cb504-0x0;var _0x2206b6=_0xde7f[_0x5cb504];return _0x2206b6;};'use strict';var moment=require(_0xfde7('0x0'));var BPromise=require(_0xfde7('0x1'));var util=require(_0xfde7('0x2'));var path=require(_0xfde7('0x3'));var fs=require('fs');var _=require(_0xfde7('0x4'));var squel=require(_0xfde7('0x5'));var Papa=require('papaparse');var Redis=require('ioredis');var contacts=require('../../components/contacts');var qs=require('../../components/parsers/qs');var logger=require(_0xfde7('0x6'))(_0xfde7('0x7'));var config=require(_0xfde7('0x8'));var shared=require(_0xfde7('0x9'));var db=require(_0xfde7('0xa'))['db'];config[_0xfde7('0xb')]=_[_0xfde7('0xc')](config[_0xfde7('0xb')],{'host':_0xfde7('0xd'),'port':0x18eb});var socket=require(_0xfde7('0xe'))(new Redis(config[_0xfde7('0xb')]));require(_0xfde7('0xf'))['register'](socket);function respondWithResult(_0x3ab38e,_0x7ae8a8){_0x7ae8a8=_0x7ae8a8||0xc8;return function(_0x3fb7ba){if(_0x3fb7ba){return _0x3ab38e[_0xfde7('0x10')](_0x7ae8a8)[_0xfde7('0x11')](_0x3fb7ba);}};}function respondWithFilteredResult(_0x4e42c7,_0x562c35){return function(_0x640feb){if(_0x640feb){var _0x51e0d2=typeof _0x562c35[_0xfde7('0x12')]===_0xfde7('0x13')&&typeof _0x562c35[_0xfde7('0x14')]===_0xfde7('0x13');var _0x3e9936=_0x640feb['count'];var _0x4abf99=_0x51e0d2?0x0:_0x562c35[_0xfde7('0x12')];var _0x147179=_0x51e0d2?_0x640feb['count']:_0x562c35[_0xfde7('0x12')]+_0x562c35[_0xfde7('0x14')];var _0x2ea7fe;if(_0x147179>=_0x3e9936){_0x147179=_0x3e9936;_0x2ea7fe=0xc8;}else{_0x2ea7fe=0xce;}_0x4e42c7[_0xfde7('0x10')](_0x2ea7fe);return _0x4e42c7[_0xfde7('0x15')](_0xfde7('0x16'),_0x4abf99+'-'+_0x147179+'/'+_0x3e9936)[_0xfde7('0x11')](_0x640feb);}return null;};}function saveUpdates(_0x42e804){return function(_0x185ab1){if(_0x185ab1){return _0x185ab1[_0xfde7('0x17')](_0x42e804)[_0xfde7('0x18')](function(_0x20c615){return _0x20c615;});}return null;};}function removeEntity(_0x573b5f){return function(_0x5b3f26){if(_0x5b3f26){return _0x5b3f26[_0xfde7('0x19')]()['then'](function(){_0x573b5f[_0xfde7('0x10')](0xcc)[_0xfde7('0x1a')]();});}};}function handleEntityNotFound(_0x1691bd){return function(_0x4fd259){if(!_0x4fd259){_0x1691bd[_0xfde7('0x1b')](0x194);}return _0x4fd259;};}function handleError(_0x3d75aa,_0xbe3f9e){_0xbe3f9e=_0xbe3f9e||0x1f4;return function(_0x43ba64){logger[_0xfde7('0x1c')](_0x43ba64[_0xfde7('0x1d')]);if(_0x43ba64[_0xfde7('0x1e')]){delete _0x43ba64[_0xfde7('0x1e')];}_0x3d75aa[_0xfde7('0x10')](_0xbe3f9e)[_0xfde7('0x1f')](_0x43ba64);};}exports['index']=function(_0x2be5e9,_0x1f6cea){var _0x23f176={};return contacts[_0xfde7('0x20')]()[_0xfde7('0x18')](function(_0x15b698){_0x23f176=qs[_0xfde7('0x21')](_0x15b698,_0x2be5e9);return contacts[_0xfde7('0x22')](_0x2be5e9[_0xfde7('0x23')],_0x2be5e9[_0xfde7('0x24')],_0x23f176,_0x15b698);})['then'](respondWithFilteredResult(_0x1f6cea,_0x23f176))[_0xfde7('0x25')](handleError(_0x1f6cea,null));};exports[_0xfde7('0x19')]=function(_0x3d7818,_0x5acbf2){return db[_0xfde7('0x26')][_0xfde7('0x27')]({'where':{'id':_0x3d7818[_0xfde7('0x28')]['id']}})[_0xfde7('0x18')](handleEntityNotFound(_0x5acbf2,null))[_0xfde7('0x18')](removeEntity(_0x5acbf2,null))[_0xfde7('0x25')](handleError(_0x5acbf2,null));};exports[_0xfde7('0x20')]=function(_0x44eeb8,_0x4acf0d){return db[_0xfde7('0x26')][_0xfde7('0x20')]()[_0xfde7('0x18')](function(_0x2db39c){delete _0x2db39c[_0xfde7('0x29')];for(var _0xaf4ce4=0x0;_0xaf4ce4<Object[_0xfde7('0x2a')](_0x2db39c)[_0xfde7('0x2b')];_0xaf4ce4++){var _0x1ab78a=Object[_0xfde7('0x2a')](_0x2db39c)[_0xaf4ce4];if(!_['startsWith'](_0x1ab78a,_0xfde7('0x2c'))){_0x2db39c[_0x1ab78a][_0xfde7('0x2d')]=_0x1ab78a;_0x2db39c[_0x1ab78a][_0xfde7('0x2e')]=_0x1ab78a;}}return _0x2db39c;})['then'](function(_0x1a7609){var _0x14d27f={'where':Boolean(_0x44eeb8[_0xfde7('0x23')]['analytics'])===!![]?undefined:{'$or':[{'ListId':_0x44eeb8[_0xfde7('0x23')]['id']},{'ListId':null}]},'raw':!![]};return db[_0xfde7('0x2f')][_0xfde7('0x22')](_0x14d27f)[_0xfde7('0x18')](function(_0x513c3e){for(var _0x53365c=0x0;_0x53365c<_0x513c3e[_0xfde7('0x2b')];_0x53365c++){var _0x132be6=_0xfde7('0x2c')+_0x513c3e[_0x53365c]['id'];if(_0x1a7609[_0x132be6]){_0x1a7609[_0x132be6][_0xfde7('0x2d')]=_0x132be6;_0x1a7609[_0x132be6][_0xfde7('0x2e')]=_0x513c3e[_0x53365c]['alias'];_0x1a7609[_0x132be6][_0xfde7('0x30')]={'type':_0x513c3e[_0x53365c][_0xfde7('0x31')],'values':_0x513c3e[_0x53365c][_0xfde7('0x32')]};}else{logger[_0xfde7('0x33')]('Custom\x20field\x20%s\x20not\x20found\x20on\x20cm_contacts\x20table',_0x132be6);}}Object['keys'](_0x1a7609)[_0xfde7('0x34')](function(_0x460547){if(!_0x1a7609[_0x460547]['hasOwnProperty'](_0xfde7('0x2d'))){delete _0x1a7609[_0x460547];}});return _0x1a7609;});})[_0xfde7('0x18')](respondWithResult(_0x4acf0d,null))[_0xfde7('0x25')](handleError(_0x4acf0d,null));};exports[_0xfde7('0x35')]=function(_0xc78d09,_0x25031a){var _0x343233;var _0x24ccf1;var _0xeab328;if(_0xc78d09[_0xfde7('0x36')]['id']){delete _0xc78d09[_0xfde7('0x36')]['id'];}return db['CmContact'][_0xfde7('0x22')]({'where':{'id':[_0xc78d09['body']['to'],_0xc78d09[_0xfde7('0x36')][_0xfde7('0x37')]]}})[_0xfde7('0x18')](function(_0x888358){if(_0x888358){if(_0x888358[_0xfde7('0x2b')]!==0x2){return null;}_0x888358[0x0]=_0x888358[0x0][_0xfde7('0x38')]({'plain':!![]});_0x888358[0x1]=_0x888358[0x1][_0xfde7('0x38')]({'plain':!![]});delete _0x888358[0x0]['id'];delete _0x888358[0x1]['id'];return _['mergeWith'](_0x888358[0x0],_0x888358[0x1],function(_0x45c976,_0x155f1e){if(Array[_0xfde7('0x39')](_0x155f1e)&&!_0x155f1e[_0xfde7('0x2b')]){return _0x45c976;}else if(!_0x155f1e){return _0x45c976;}});}})['then'](handleEntityNotFound(_0x25031a,null))[_0xfde7('0x18')](function(_0x573686){if(_0x573686){if(_0x573686['tags']&&_['isArray'](_0x573686[_0xfde7('0x29')])){_0x573686[_0xfde7('0x29')]=_0x573686['tags']['join']();}logger[_0xfde7('0x33')](_0xfde7('0x3a'),_0xc78d09[_0xfde7('0x36')]['to'],_0xc78d09['body'][_0xfde7('0x37')]);return db[_0xfde7('0x3b')][_0xfde7('0x19')]({'where':{'ContactId':[_0xc78d09[_0xfde7('0x36')]['to'],_0xc78d09['body']['from']]}})[_0xfde7('0x18')](function(_0x3d51ec){logger[_0xfde7('0x33')]('[CmContact][merge][destroy][CmHopper],\x20%s',_0x3d51ec);return db['CmHopperBlack'][_0xfde7('0x19')]({'where':{'ContactId':[_0xc78d09[_0xfde7('0x36')]['to'],_0xc78d09[_0xfde7('0x36')][_0xfde7('0x37')]]}})[_0xfde7('0x18')](function(_0x3f1fbb){logger[_0xfde7('0x33')](_0xfde7('0x3c'),_0x3f1fbb);return db[_0xfde7('0x26')][_0xfde7('0x3d')](_0x573686);});});}})[_0xfde7('0x18')](function(_0x5011bf){if(_0x5011bf){_0x343233=_0x5011bf;_0x24ccf1={'ContactId':_0x343233['id']};_0xeab328={'where':{'ContactId':[_0xc78d09['body']['to'],_0xc78d09['body'][_0xfde7('0x37')]]}};return db['ChatInteraction'][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x3e')]['update'](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x3f')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})['then'](function(){if(_0x343233){return db[_0xfde7('0x40')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db['MailMessage']['update'](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x40')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x41')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x42')]['update'](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x43')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x44')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x45')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})['then'](function(){if(_0x343233){return db[_0xfde7('0x46')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})['then'](function(){if(_0x343233){return db[_0xfde7('0x47')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x48')][_0xfde7('0x17')]({'CmContactId':_0x343233['id']},{'where':{'CmContactId':[_0xc78d09[_0xfde7('0x36')]['to'],_0xc78d09['body'][_0xfde7('0x37')]]}});}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x49')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x4a')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x4b')]['update'](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x4c')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x4d')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})['then'](function(){if(_0x343233){return db[_0xfde7('0x4e')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db['MailQueueReport'][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})['then'](function(){if(_0x343233){return db['OpenchannelQueueReport'][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x4f')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x50')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x51')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x52')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x53')][_0xfde7('0x17')](_0x24ccf1,_0xeab328);}})[_0xfde7('0x18')](function(){if(_0x343233){return db[_0xfde7('0x26')][_0xfde7('0x19')]({'where':{'id':[_0xc78d09[_0xfde7('0x36')]['to'],_0xc78d09[_0xfde7('0x36')][_0xfde7('0x37')]]}});}})[_0xfde7('0x18')](function(){if(_0x343233){return _0x343233;}})[_0xfde7('0x18')](respondWithResult(_0x25031a,null))[_0xfde7('0x25')](handleError(_0x25031a,null));};exports[_0xfde7('0x3d')]=function(_0x27b296,_0x4bb4b9){return db['CmContact'][_0xfde7('0x20')]()['then'](function(_0x9d1278){if(_0x27b296[_0xfde7('0x36')][_0xfde7('0x29')]&&_[_0xfde7('0x39')](_0x27b296['body'][_0xfde7('0x29')])){if(_0x27b296[_0xfde7('0x36')]['tags']['length']){_0x27b296[_0xfde7('0x36')][_0xfde7('0x29')]=_0x27b296['body']['tags'][_0xfde7('0x54')](';')+';';}else{_0x27b296[_0xfde7('0x36')][_0xfde7('0x29')]=null;}}else{_0x27b296[_0xfde7('0x36')][_0xfde7('0x29')]=null;}if(!_[_0xfde7('0x55')](_0x27b296[_0xfde7('0x36')][_0xfde7('0x56')])){var _0xaedfd3=_0x27b296[_0xfde7('0x36')][_0xfde7('0x56')];if(!_[_0xfde7('0x55')](shared[_0xfde7('0x57')][_0xaedfd3]))_0x27b296['body']['utcOffset']=shared[_0xfde7('0x57')][_0xaedfd3]['utcOffset'];}return db[_0xfde7('0x26')][_0xfde7('0x3d')](_0x27b296['body'],{'fields':_[_0xfde7('0x2a')](_0x9d1278),'raw':!![]});})[_0xfde7('0x18')](function(_0x5e0217){if(_0x27b296[_0xfde7('0x36')][_0xfde7('0x58')]){return insertAdditionalPhones(_0x5e0217,_0x27b296[_0xfde7('0x36')][_0xfde7('0x58')]);}else{return _0x5e0217;}})[_0xfde7('0x18')](respondWithResult(_0x4bb4b9,0xc9))[_0xfde7('0x25')](handleError(_0x4bb4b9,null));};exports[_0xfde7('0x59')]=function(_0x4a678b,_0x1bd129){var _0x1c5474=0x0;var _0x2e84dc=0x0;var _0x2220dc=0x0;var _0x274eef=[];return db['CmContact'][_0xfde7('0x20')]()[_0xfde7('0x18')](function(_0x35925e){return BPromise[_0xfde7('0x5a')](_0x4a678b[_0xfde7('0x36')],function(_0x4befe9){var _0x2c2cf5={'where':{'$or':[]},'defaults':_0x4befe9,'fields':_[_0xfde7('0x2a')](_0x35925e),'raw':!![]};if(_0x4befe9['duplicates']){for(var _0x4cd460=0x0;_0x4cd460<_0x4befe9['duplicates'][_0xfde7('0x2b')];_0x4cd460++){var _0x979878={};_0x979878[_0x4befe9[_0xfde7('0x5b')][_0x4cd460]]=_0x4befe9[_0x4befe9[_0xfde7('0x5b')][_0x4cd460]];_0x2c2cf5[_0xfde7('0x5c')][_0xfde7('0x5d')][_0xfde7('0x5e')](_0x979878);}_0x2c2cf5[_0xfde7('0x5c')]['ListId']=_0x4befe9[_0xfde7('0x5f')];}return db[_0xfde7('0x26')][_0xfde7('0x60')](_0x2c2cf5)['spread'](function(_0x28254b,_0x4095d3){if(_0x4095d3){if(_0x4befe9[_0xfde7('0x61')]('additionalPhones')){_0x274eef[_0xfde7('0x5e')]({'contact':_0x28254b,'additionalPhones':_0x4befe9['additionalPhones']});}_0x1c5474++;}else{_0x2220dc++;}})[_0xfde7('0x25')](function(){_0x2e84dc++;});});})[_0xfde7('0x18')](function(_0x32a2fe){if(_0x32a2fe){if(_0x274eef[_0xfde7('0x2b')]>0x0){return new Promise(function(_0x1cdf02){var _0x3c2a4f=[];for(var _0x4296bd=0x0;_0x4296bd<_0x274eef[_0xfde7('0x2b')];_0x4296bd++){_0x3c2a4f['push'](insertAdditionalPhones(_0x274eef[_0x4296bd][_0xfde7('0x62')],_0x274eef[_0x4296bd]['additionalPhones']));}Promise[_0xfde7('0x63')](_0x3c2a4f)[_0xfde7('0x18')](function(){_0x1cdf02(0x1);});})[_0xfde7('0x18')](function(){return{'success':_0x1c5474,'failure':_0x2e84dc,'duplicates':_0x2220dc};});}else{return{'success':_0x1c5474,'failure':_0x2e84dc,'duplicates':_0x2220dc};}}})[_0xfde7('0x18')](respondWithResult(_0x1bd129,0xc9))[_0xfde7('0x25')](handleError(_0x1bd129,null));};exports[_0xfde7('0x64')]=function(_0x494c33,_0x102181){var _0x179775;return db[_0xfde7('0x26')][_0xfde7('0x20')]()['then'](function(_0x401a52){return db[_0xfde7('0x26')]['find']({'where':{'id':_0x494c33[_0xfde7('0x28')]['id']},'include':[{'model':db[_0xfde7('0x65')],'as':_0xfde7('0x66'),'attributes':['id',_0xfde7('0x1e'),_0xfde7('0x67')],'required':_0x494c33[_0xfde7('0x23')][_0xfde7('0x68')]?!![]:![]},{'model':db[_0xfde7('0x48')],'as':_0xfde7('0x69'),'where':{'CmContactId':_0x494c33['params']['id']},'required':![],'include':[{'model':db[_0xfde7('0x6a')],'as':'ItemType'}]}],'order':[db[_0xfde7('0x6b')]['literal'](_0xfde7('0x6c'))],'attributes':_[_0xfde7('0x2a')](_0x401a52)});})[_0xfde7('0x18')](function(_0x4a7f2f){if(!_['isNil'](_0x4a7f2f)){_0x179775=_0x4a7f2f[_0xfde7('0x38')]({'plain':!![]});var _0x1831d7={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x4a7f2f&&_0x4a7f2f[_0xfde7('0x5f')]){if(_0x4a7f2f['ListId']){_0x1831d7[_0xfde7('0x5c')][_0xfde7('0x6d')][_0xfde7('0x5e')]({'ListId':{'$ne':_0x4a7f2f[_0xfde7('0x5f')]}});}}return db['CmCustomField'][_0xfde7('0x22')](_0x1831d7);}})[_0xfde7('0x18')](function(_0x15e527){if(!_[_0xfde7('0x55')](_0x15e527)){return _['omit'](_0x179775,_[_0xfde7('0x6e')](_0x15e527,function(_0x3fbc8d){return util['format'](_0xfde7('0x6f'),_0x3fbc8d['id']);}));}})[_0xfde7('0x18')](handleEntityNotFound(_0x102181,null))['then'](respondWithResult(_0x102181,null))['catch'](handleError(_0x102181,null));};exports[_0xfde7('0x17')]=function(_0xc7dd27,_0x50032b){var _0xefd084;if(_0xc7dd27[_0xfde7('0x36')]['id']){delete _0xc7dd27['body']['id'];}if(!_[_0xfde7('0x55')](_0xc7dd27[_0xfde7('0x36')]['dialTimezone'])){var _0x55cac0=_0xc7dd27['body'][_0xfde7('0x56')];if(!_['isNil'](shared['timezones'][_0x55cac0]))_0xc7dd27['body'][_0xfde7('0x70')]=shared[_0xfde7('0x57')][_0x55cac0]['utcOffset'];}return db[_0xfde7('0x26')][_0xfde7('0x27')]({'where':{'id':_0xc7dd27[_0xfde7('0x28')]['id']}})['then'](handleEntityNotFound(_0x50032b,null))[_0xfde7('0x18')](saveUpdates(_0xc7dd27[_0xfde7('0x36')],null))[_0xfde7('0x18')](function(_0x3d3c21){_0xefd084=_0x3d3c21;var _0x3b361e={'where':{'$and':[{'ListId':{'$ne':null}}]}};if(_0x3d3c21&&_0x3d3c21['ListId']){if(_0x3d3c21['ListId']){_0x3b361e[_0xfde7('0x5c')][_0xfde7('0x6d')][_0xfde7('0x5e')]({'ListId':{'$ne':_0x3d3c21[_0xfde7('0x5f')]}});}}return db['CmCustomField']['findAll'](_0x3b361e);})[_0xfde7('0x18')](function(_0x419814){if(_0x419814){return _[_0xfde7('0x71')](_[_0xfde7('0x72')](_0xc7dd27['body'],function(_0x7e1cff,_0x326448){return _[_0xfde7('0x73')](_0x326448,_0xfde7('0x2c'));}),_[_0xfde7('0x6e')](_0x419814,function(_0x2203ed){return util[_0xfde7('0x74')](_0xfde7('0x6f'),_0x2203ed['id']);}));}})[_0xfde7('0x18')](function(_0x4441fa){if(_0x4441fa&&!_['isEmpty'](_0x4441fa)){var _0x477411=squel[_0xfde7('0x17')]()[_0xfde7('0x75')]('cm_contacts')[_0xfde7('0x76')](_0x4441fa)[_0xfde7('0x5c')](_0xfde7('0x77'),_0xc7dd27[_0xfde7('0x28')]['id'])[_0xfde7('0x78')]();return db[_0xfde7('0x6b')][_0xfde7('0x23')](_0x477411[_0xfde7('0x79')],{'replacements':_0x477411[_0xfde7('0x32')]});}})[_0xfde7('0x18')](function(){if(_0xc7dd27[_0xfde7('0x36')][_0xfde7('0x7a')]&&_0xefd084){return db[_0xfde7('0x3b')]['update']({'phone':_0xc7dd27['body'][_0xfde7('0x7a')],'OrderBy':0x0},{'where':{'ContactId':_0xefd084['id']}});}})['then'](function(){return _0xefd084;})['then'](respondWithResult(_0x50032b,null))[_0xfde7('0x25')](handleError(_0x50032b,null));};exports[_0xfde7('0x7b')]=function(_0x1f0481,_0x588ab2){var _0x343871={};var _0x1ed484={};var _0x244047;var _0x4de28e;return db[_0xfde7('0x26')][_0xfde7('0x7c')]({'where':{'id':_0x1f0481[_0xfde7('0x28')]['id']}})['then'](handleEntityNotFound(_0x588ab2,null))[_0xfde7('0x18')](function(_0x192b78){if(_0x192b78){_0x244047=_0x192b78;_0x1ed484[_0xfde7('0x7d')]=_[_0xfde7('0x2a')](db['Tag']['rawAttributes']);_0x1ed484[_0xfde7('0x23')]=_[_0xfde7('0x2a')](_0x1f0481[_0xfde7('0x23')]);_0x1ed484[_0xfde7('0x7e')]=_[_0xfde7('0x7f')](_0x1ed484[_0xfde7('0x7d')],_0x1ed484['query']);_0x343871[_0xfde7('0x80')]=_[_0xfde7('0x7f')](_0x1ed484[_0xfde7('0x7d')],qs[_0xfde7('0x81')](_0x1f0481[_0xfde7('0x23')][_0xfde7('0x81')]));_0x343871[_0xfde7('0x80')]=_0x343871[_0xfde7('0x80')]['length']?_0x343871[_0xfde7('0x80')]:_0x1ed484['model'];_0x343871[_0xfde7('0x82')]=qs[_0xfde7('0x83')](_0x1f0481[_0xfde7('0x23')][_0xfde7('0x83')]);_0x343871[_0xfde7('0x5c')]=qs[_0xfde7('0x7e')](_[_0xfde7('0x84')](_0x1f0481['query'],_0x1ed484[_0xfde7('0x7e')]));if(_0x1f0481['query'][_0xfde7('0x85')]){_0x343871['where']=_[_0xfde7('0x35')](_0x343871[_0xfde7('0x5c')],{'$or':_[_0xfde7('0x6e')](_0x343871[_0xfde7('0x80')],function(_0x671d59){var _0x331a9a={};_0x331a9a[_0x671d59]={'$like':'%'+_0x1f0481[_0xfde7('0x23')][_0xfde7('0x85')]+'%'};return _0x331a9a;})});}_0x343871=_[_0xfde7('0x35')]({},_0x343871,_0x1f0481[_0xfde7('0x86')]);return _0x244047['getTags'](_0x343871);}})[_0xfde7('0x18')](function(_0x120e4e){if(_0x120e4e){_0x4de28e=_0x120e4e[_0xfde7('0x2b')];if(!_0x1f0481['query'][_0xfde7('0x61')](_0xfde7('0x87'))){_0x343871[_0xfde7('0x14')]=qs[_0xfde7('0x14')](_0x1f0481[_0xfde7('0x23')][_0xfde7('0x14')]);_0x343871[_0xfde7('0x12')]=qs['offset'](_0x1f0481[_0xfde7('0x23')][_0xfde7('0x12')]);}return _0x244047[_0xfde7('0x7b')](_0x343871);}})[_0xfde7('0x18')](function(_0x4fe806){if(_0x4fe806){return _0x4fe806?{'count':_0x4de28e,'rows':_0x4fe806}:null;}})[_0xfde7('0x18')](respondWithResult(_0x588ab2,null))[_0xfde7('0x25')](handleError(_0x588ab2,null));};exports['setTags']=function(_0x202f9f,_0x1256aa){if(_0x202f9f[_0xfde7('0x36')]['id']){delete _0x202f9f[_0xfde7('0x36')]['id'];}return db[_0xfde7('0x26')][_0xfde7('0x7c')]({'where':{'id':_0x202f9f['params']['id']}})['then'](handleEntityNotFound(_0x1256aa,null))[_0xfde7('0x18')](function(_0x2d0248){if(_0x2d0248){return _0x2d0248[_0xfde7('0x88')](_0x202f9f[_0xfde7('0x36')]['ids']||[]);}return null;})[_0xfde7('0x18')](respondWithResult(_0x1256aa,null))['catch'](handleError(_0x1256aa,null));};exports['setAdditionalPhones']=function(_0x5c0b6e,_0x5f26cd){var _0x5365ce=[];_0x5365ce[_0xfde7('0x5e')](addAdditionalPhones(_0x5c0b6e[_0xfde7('0x36')]));Promise[_0xfde7('0x63')](_0x5365ce)[_0xfde7('0x18')](function(){_0x5365ce=[];_0x5365ce[_0xfde7('0x5e')](deleteCmHopperPhones(_0x5c0b6e[_0xfde7('0x36')]['id']));_0x5365ce[_0xfde7('0x5e')](addCmHopperPhones(_0x5c0b6e[_0xfde7('0x36')]['id']));Promise['all'](_0x5365ce)['then'](function(){return[0x1];})[_0xfde7('0x18')](respondWithResult(_0x5f26cd,null));});};function addAdditionalPhones(_0x219991){var _0xb2a740;return new Promise(function(_0x28eb05){return db[_0xfde7('0x48')]['destroy']({'where':{'CmContactId':_0x219991['id']}})['then'](function(){db[_0xfde7('0x6a')][_0xfde7('0x22')]({'raw':!![],'attributes':['id',_0xfde7('0x89')]})['then'](function(_0x422d69){var _0x51ac29=[];for(var _0x20379d=0x0;_0x20379d<_0x219991['items']['length'];_0x20379d++){var _0x40ed95=_0x219991[_0xfde7('0x8a')]?_['isNil'](_0x219991[_0xfde7('0x8a')][_0x20379d])?'':_0x219991['item_types'][_0x20379d]:_0x219991['items'][_0x20379d]['ItemTypeId']?_0x219991['items'][_0x20379d][_0xfde7('0x8b')]:'';var _0x3bba26=_[_0xfde7('0x55')](_0x219991[_0xfde7('0x8c')][_0x20379d][_0xfde7('0x8d')])?'':_0x219991[_0xfde7('0x8c')][_0x20379d][_0xfde7('0x8d')];var _0x382058=_0x40ed95+':'+_0x219991[_0xfde7('0x8c')][_0x20379d][_0xfde7('0x7a')]+'ยง'+_0x3bba26;if(_[_0xfde7('0x55')](_0xb2a740))_0xb2a740=_0x382058;else _0xb2a740+=';'+_0x382058;var _0x3387e7=null;var _0x35c296=null;if(_0x219991[_0xfde7('0x8a')]){if(!_['isNil'](_0x219991[_0xfde7('0x8a')][_0x20379d])){_0x35c296=_['find'](_0x422d69,function(_0x4dc78a){return _0x4dc78a['id']===_0x219991[_0xfde7('0x8a')][_0x20379d];});if(!_[_0xfde7('0x55')](_0x35c296)){_0x3387e7=_0x35c296[_0xfde7('0x89')];}}}else{if(!_['isNil'](_0x219991[_0xfde7('0x8c')][_0x20379d])){_0x35c296=_[_0xfde7('0x27')](_0x422d69,function(_0x57fe91){return _0x57fe91['id']===_0x219991[_0xfde7('0x8c')][_0x20379d][_0xfde7('0x8b')];});if(!_[_0xfde7('0x55')](_0x35c296)){_0x3387e7=_0x20379d;}}}if(_[_0xfde7('0x55')](_0x3387e7)){_0x3387e7=0x64;}_0x51ac29[_0xfde7('0x5e')](addAdditionalPhone(_0x219991['id'],_0x219991['items'][_0x20379d][_0xfde7('0x7a')],_0x219991[_0xfde7('0x8a')]?_[_0xfde7('0x55')](_0x219991[_0xfde7('0x8a')][_0x20379d])?null:_0x219991[_0xfde7('0x8a')][_0x20379d]:_0x219991[_0xfde7('0x8c')][_0x20379d][_0xfde7('0x8b')]?_0x219991[_0xfde7('0x8c')][_0x20379d]['ItemTypeId']:null,_0x3387e7,_0x3bba26));}Promise[_0xfde7('0x63')](_0x51ac29)['then'](function(){db[_0xfde7('0x26')]['update']({'AdditionalPhones':_0xb2a740},{'where':{'id':_0x219991['id']}})[_0xfde7('0x18')](function(){_0x28eb05(0x1);});});});});});}function addAdditionalPhone(_0x7b69a1,_0xa67347,_0x826fb,_0xe66f42,_0x1572e9){return db[_0xfde7('0x48')][_0xfde7('0x27')]({'where':{'CmContactId':_0x7b69a1,'item':_0xa67347}})[_0xfde7('0x18')](function(_0x4a05cd){if(_0x4a05cd)logger['info'](_0xfde7('0x8e'),_0x4a05cd);else{db[_0xfde7('0x48')][_0xfde7('0x3d')]({'CmContactId':_0x7b69a1,'item':_0xa67347,'ItemTypeId':_0x826fb,'OrderBy':_0xe66f42,'ItemClass':_0xfde7('0x8f'),'description':_0x1572e9});}});}function deleteCmHopperPhones(_0x2b0c57){return new Promise(function(_0x39fc88){return db[_0xfde7('0x3b')][_0xfde7('0x22')]({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x2b0c57}})[_0xfde7('0x18')](function(_0x33689f){db[_0xfde7('0x90')][_0xfde7('0x19')]({'where':{'CmHopperId':{'$in':_[_0xfde7('0x6e')](_0x33689f,'id')}}});})[_0xfde7('0x18')](function(){_0x39fc88(0x1);});});}function addCmHopperPhones(_0x254387){return new Promise(function(_0x2cf9c0){return db['CmHopper']['findAll']({'raw':!![],'attributes':['id'],'where':{'ContactId':_0x254387}})[_0xfde7('0x18')](function(_0x5565d1){var _0x3a77ac=[];_[_0xfde7('0x6e')](_0x5565d1,function(_0x3dc8c9){_0x3a77ac['push'](createCmHopperPhone(_0x254387,_0x3dc8c9['id']));});Promise[_0xfde7('0x63')](_0x3a77ac)[_0xfde7('0x18')](function(){_0x2cf9c0(0x1);});});});}function createCmHopperPhone(_0x5ef8d6,_0x463d4d){return new Promise(function(_0x47a31c){db[_0xfde7('0x48')][_0xfde7('0x22')]({'raw':!![],'attributes':[_0xfde7('0x91'),'OrderBy'],'where':{'CmContactId':_0x5ef8d6,'ItemClass':_0xfde7('0x8f')},'include':[{'model':db['ContactItemType'],'attributes':[_0xfde7('0x89')],'as':_0xfde7('0x92')}],'order':[_0xfde7('0x89'),db[_0xfde7('0x6b')][_0xfde7('0x93')](_0xfde7('0x94'))]})[_0xfde7('0x18')](function(_0xf7a3ba){var _0xb85a62=0x1;var _0x1cdf9e=_[_0xfde7('0x6e')](_0xf7a3ba,function(_0x3d63fb){_0x3d63fb['CmHopperId']=_0x463d4d;_0x3d63fb[_0xfde7('0x7a')]=_0x3d63fb['item'];_0x3d63fb[_0xfde7('0x89')]=_0xb85a62;delete _0x3d63fb[_0xfde7('0x95')];_0xb85a62=_0xb85a62+0x1;return _0x3d63fb;});return db['CmHopperAdditionalPhone'][_0xfde7('0x59')](_0x1cdf9e,{});})['then'](function(){_0x47a31c(0x1);});});}function insertAdditionalPhones(_0x4b2f24,_0x33fb45){return new Promise(function(_0x5bd951){var _0x4ad1cb=[];for(var _0x4da7f5=0x0;_0x4da7f5<_0x33fb45['length'];_0x4da7f5++){var _0x3eebb6=_0x33fb45[_0x4da7f5];_0x4ad1cb[_0xfde7('0x5e')](parseContactItemType(_0x3eebb6));}Promise['all'](_0x4ad1cb)[_0xfde7('0x18')](function(){var _0x3de3f4={'id':_0x4b2f24['id'],'items':_0x33fb45};return addAdditionalPhones(_0x3de3f4)[_0xfde7('0x18')](function(){return addCmHopperPhones(_0x4b2f24['id']);});})[_0xfde7('0x18')](function(){_0x5bd951(_0x4b2f24);});});}function parseContactItemType(_0x58aa90){return new Promise(function(_0x4365a6){if(_0x58aa90[_0xfde7('0x61')](_0xfde7('0x8b'))){_0x4365a6(_0x58aa90);}else{return db[_0xfde7('0x6a')][_0xfde7('0x27')]({'where':{'name':_0x58aa90[_0xfde7('0x92')]}})[_0xfde7('0x18')](function(_0x3cef30){if(_[_0xfde7('0x55')](_0x3cef30))_0x58aa90[_0xfde7('0x8b')]=null;else _0x58aa90[_0xfde7('0x8b')]=_0x3cef30['id'];_0x4365a6(_0x58aa90);});}});}exports[_0xfde7('0x96')]=function(_0x4df723,_0x52450d){return db[_0xfde7('0x48')]['findAll']({'raw':!![],'where':{'CmContactId':_0x4df723[_0xfde7('0x28')]['id'],'ItemClass':_0xfde7('0x8f')},'include':[{'model':db[_0xfde7('0x6a')],'as':_0xfde7('0x92')}],'order':[['OrderBy'],[db[_0xfde7('0x6b')]['literal'](_0xfde7('0x94'))]]})[_0xfde7('0x18')](function(_0x49f730){return _0x49f730;})[_0xfde7('0x18')](respondWithResult(_0x52450d,null))[_0xfde7('0x25')](handleError(_0x52450d,null));};exports[_0xfde7('0x97')]=function(_0x5e44a7,_0x41cdcc){return db[_0xfde7('0x48')][_0xfde7('0x22')]({'raw':!![],'where':{'CmContactId':_0x5e44a7[_0xfde7('0x36')]['fromContactId']}})[_0xfde7('0x18')](function(_0x3970b2){var _0x17d9bd=_['map'](_0x3970b2,function(_0x2dc799){_0x2dc799['CmContactId']=_0x5e44a7[_0xfde7('0x36')][_0xfde7('0x98')];return _0x2dc799;});return db[_0xfde7('0x48')][_0xfde7('0x59')](_0x17d9bd,{});})[_0xfde7('0x18')](function(){return addCmHopperPhones(_0x5e44a7[_0xfde7('0x36')]['toContactId']);})[_0xfde7('0x18')](function(){return['ok'];})[_0xfde7('0x18')](respondWithResult(_0x41cdcc,null))['catch'](handleError(_0x41cdcc,null));};exports[_0xfde7('0x99')]=function(_0x23b6ca,_0x2902bd){var _0x415435=[];_0x415435['push'](createCmHopperPhone(_0x23b6ca[_0xfde7('0x36')]['id'],_0x23b6ca[_0xfde7('0x36')][_0xfde7('0x9a')]));Promise['all'](_0x415435)[_0xfde7('0x18')](function(){return[0x1];})[_0xfde7('0x18')](respondWithResult(_0x2902bd,null));};exports[_0xfde7('0x9b')]=function(_0x40ee4a,_0x49f104){var _0x5b93be={'raw':![],'where':{}};var _0x4e36d1={};var _0x423bfb={'count':0x0,'rows':[]};return db[_0xfde7('0x26')]['findOne']({'where':{'id':_0x40ee4a[_0xfde7('0x28')]['id']}})['then'](handleEntityNotFound(_0x49f104,null))[_0xfde7('0x18')](function(_0x3b79a0){if(_0x3b79a0){_0x4e36d1[_0xfde7('0x7d')]=_['keys'](db[_0xfde7('0x3b')][_0xfde7('0x9c')]);_0x4e36d1[_0xfde7('0x23')]=_[_0xfde7('0x2a')](_0x40ee4a['query']);_0x4e36d1[_0xfde7('0x7e')]=_[_0xfde7('0x7f')](_0x4e36d1[_0xfde7('0x7d')],_0x4e36d1[_0xfde7('0x23')]);_0x5b93be[_0xfde7('0x80')]=_[_0xfde7('0x7f')](_0x4e36d1[_0xfde7('0x7d')],qs[_0xfde7('0x81')](_0x40ee4a[_0xfde7('0x23')][_0xfde7('0x81')]));_0x5b93be[_0xfde7('0x80')]=_0x5b93be[_0xfde7('0x80')]['length']?_0x5b93be[_0xfde7('0x80')]:_0x4e36d1[_0xfde7('0x7d')];if(!_0x40ee4a[_0xfde7('0x23')][_0xfde7('0x61')](_0xfde7('0x87'))){_0x5b93be[_0xfde7('0x14')]=qs['limit'](_0x40ee4a[_0xfde7('0x23')][_0xfde7('0x14')]);_0x5b93be[_0xfde7('0x12')]=qs[_0xfde7('0x12')](_0x40ee4a[_0xfde7('0x23')][_0xfde7('0x12')]);}_0x5b93be[_0xfde7('0x82')]=qs[_0xfde7('0x83')](_0x40ee4a[_0xfde7('0x23')][_0xfde7('0x83')]);_0x5b93be['where']=qs[_0xfde7('0x7e')](_[_0xfde7('0x84')](_0x40ee4a[_0xfde7('0x23')],_0x4e36d1[_0xfde7('0x7e')]));_0x5b93be[_0xfde7('0x5c')]['ContactId']=_0x3b79a0['id'];if(_0x40ee4a[_0xfde7('0x23')][_0xfde7('0x85')]){_0x5b93be['where']=_[_0xfde7('0x35')](_0x5b93be[_0xfde7('0x5c')],{'$or':_[_0xfde7('0x6e')](_0x5b93be[_0xfde7('0x80')],function(_0x103b8d){var _0x4cf80d={};_0x4cf80d[_0x103b8d]={'$like':'%'+_0x40ee4a[_0xfde7('0x23')][_0xfde7('0x85')]+'%'};return _0x4cf80d;})});}_0x5b93be=_[_0xfde7('0x35')]({},_0x5b93be,_0x40ee4a[_0xfde7('0x86')]);return db[_0xfde7('0x3b')]['count']({'where':_0x5b93be['where']})[_0xfde7('0x18')](function(_0x46c1bb){_0x423bfb[_0xfde7('0x9d')]=_0x46c1bb;if(_0x40ee4a['query'][_0xfde7('0x9e')]){_0x5b93be[_0xfde7('0x9f')]=[{'all':!![]}];}return db[_0xfde7('0x3b')]['findAll'](_0x5b93be);})['then'](function(_0x2943d7){_0x423bfb[_0xfde7('0xa0')]=_0x2943d7;return _0x423bfb;});}})[_0xfde7('0x18')](respondWithFilteredResult(_0x49f104,_0x5b93be))['catch'](handleError(_0x49f104,null));};exports[_0xfde7('0xa1')]=function(_0x2654ad,_0xbf3bda){var _0xd6e508={'raw':!![],'where':{}};var _0x2e0c8c={};var _0x48713b={'count':0x0,'rows':[]};return db['CmContact'][_0xfde7('0x7c')]({'where':{'id':_0x2654ad[_0xfde7('0x28')]['id']}})[_0xfde7('0x18')](handleEntityNotFound(_0xbf3bda,null))[_0xfde7('0x18')](function(_0x113178){if(_0x113178){_0x2e0c8c[_0xfde7('0x7d')]=_[_0xfde7('0x2a')](db[_0xfde7('0x4a')][_0xfde7('0x9c')]);_0x2e0c8c[_0xfde7('0x23')]=_[_0xfde7('0x2a')](_0x2654ad['query']);_0x2e0c8c[_0xfde7('0x7e')]=_[_0xfde7('0x7f')](_0x2e0c8c['model'],_0x2e0c8c[_0xfde7('0x23')]);_0xd6e508['attributes']=_[_0xfde7('0x7f')](_0x2e0c8c['model'],qs[_0xfde7('0x81')](_0x2654ad[_0xfde7('0x23')][_0xfde7('0x81')]));_0xd6e508['attributes']=_0xd6e508[_0xfde7('0x80')][_0xfde7('0x2b')]?_0xd6e508[_0xfde7('0x80')]:_0x2e0c8c['model'];if(!_0x2654ad[_0xfde7('0x23')][_0xfde7('0x61')](_0xfde7('0x87'))){_0xd6e508[_0xfde7('0x14')]=qs['limit'](_0x2654ad[_0xfde7('0x23')][_0xfde7('0x14')]);_0xd6e508[_0xfde7('0x12')]=qs['offset'](_0x2654ad['query']['offset']);}_0xd6e508['order']=qs[_0xfde7('0x83')](_0x2654ad[_0xfde7('0x23')][_0xfde7('0x83')]);_0xd6e508['where']=qs[_0xfde7('0x7e')](_[_0xfde7('0x84')](_0x2654ad['query'],_0x2e0c8c[_0xfde7('0x7e')]));_0xd6e508[_0xfde7('0x5c')][_0xfde7('0xa2')]=_0x113178['id'];if(_0x2654ad[_0xfde7('0x23')][_0xfde7('0x85')]){_0xd6e508['where']=_[_0xfde7('0x35')](_0xd6e508[_0xfde7('0x5c')],{'$or':_[_0xfde7('0x6e')](_0xd6e508['attributes'],function(_0x7c64ea){var _0x25ed8a={};_0x25ed8a[_0x7c64ea]={'$like':'%'+_0x2654ad[_0xfde7('0x23')][_0xfde7('0x85')]+'%'};return _0x25ed8a;})});}_0xd6e508=_[_0xfde7('0x35')]({},_0xd6e508,_0x2654ad[_0xfde7('0x86')]);return db[_0xfde7('0x4a')]['count']({'where':_0xd6e508[_0xfde7('0x5c')]})[_0xfde7('0x18')](function(_0x34fc2b){_0x48713b[_0xfde7('0x9d')]=_0x34fc2b;if(_0x2654ad[_0xfde7('0x23')]['includeAll']){_0xd6e508['include']=[{'all':!![]}];}return db[_0xfde7('0x4a')][_0xfde7('0x22')](_0xd6e508);})[_0xfde7('0x18')](function(_0x2453fc){_0x48713b[_0xfde7('0xa0')]=_0x2453fc;return _0x48713b;});}})[_0xfde7('0x18')](respondWithFilteredResult(_0xbf3bda,_0xd6e508))['catch'](handleError(_0xbf3bda,null));};exports[_0xfde7('0xa3')]=function(_0x9b295a,_0x592d33){var _0x3480e0={'raw':!![],'where':{}};var _0x5a1041={};var _0x45fe15={'count':0x0,'rows':[]};return db[_0xfde7('0x26')]['findOne']({'where':{'id':_0x9b295a[_0xfde7('0x28')]['id']}})[_0xfde7('0x18')](handleEntityNotFound(_0x592d33,null))[_0xfde7('0x18')](function(_0x5d7bc6){if(_0x5d7bc6){_0x5a1041[_0xfde7('0x7d')]=_['keys'](db[_0xfde7('0x49')][_0xfde7('0x9c')]);_0x5a1041[_0xfde7('0x23')]=_[_0xfde7('0x2a')](_0x9b295a[_0xfde7('0x23')]);_0x5a1041[_0xfde7('0x7e')]=_[_0xfde7('0x7f')](_0x5a1041[_0xfde7('0x7d')],_0x5a1041[_0xfde7('0x23')]);_0x3480e0[_0xfde7('0x80')]=_[_0xfde7('0x7f')](_0x5a1041[_0xfde7('0x7d')],qs['fields'](_0x9b295a['query']['fields']));_0x3480e0[_0xfde7('0x80')]=_0x3480e0['attributes'][_0xfde7('0x2b')]?_0x3480e0[_0xfde7('0x80')]:_0x5a1041['model'];if(!_0x9b295a['query'][_0xfde7('0x61')]('nolimit')){_0x3480e0[_0xfde7('0x14')]=qs[_0xfde7('0x14')](_0x9b295a['query']['limit']);_0x3480e0[_0xfde7('0x12')]=qs['offset'](_0x9b295a['query'][_0xfde7('0x12')]);}_0x3480e0[_0xfde7('0x82')]=qs[_0xfde7('0x83')](_0x9b295a[_0xfde7('0x23')]['sort']);_0x3480e0[_0xfde7('0x5c')]=qs[_0xfde7('0x7e')](_[_0xfde7('0x84')](_0x9b295a[_0xfde7('0x23')],_0x5a1041[_0xfde7('0x7e')]));_0x3480e0[_0xfde7('0x5c')]['ContactId']=_0x5d7bc6['id'];if(_0x9b295a[_0xfde7('0x23')][_0xfde7('0x85')]){_0x3480e0['where']=_[_0xfde7('0x35')](_0x3480e0[_0xfde7('0x5c')],{'$or':_['map'](_0x3480e0[_0xfde7('0x80')],function(_0x3ffe30){var _0x132b40={};_0x132b40[_0x3ffe30]={'$like':'%'+_0x9b295a[_0xfde7('0x23')][_0xfde7('0x85')]+'%'};return _0x132b40;})});}_0x3480e0=_[_0xfde7('0x35')]({},_0x3480e0,_0x9b295a[_0xfde7('0x86')]);return db[_0xfde7('0x49')][_0xfde7('0x9d')]({'where':_0x3480e0[_0xfde7('0x5c')]})[_0xfde7('0x18')](function(_0x8585d7){_0x45fe15[_0xfde7('0x9d')]=_0x8585d7;if(_0x9b295a[_0xfde7('0x23')][_0xfde7('0x9e')]){_0x3480e0[_0xfde7('0x9f')]=[{'all':!![]}];}return db[_0xfde7('0x49')]['findAll'](_0x3480e0);})[_0xfde7('0x18')](function(_0x40595d){_0x45fe15[_0xfde7('0xa0')]=_0x40595d;return _0x45fe15;});}})[_0xfde7('0x18')](respondWithFilteredResult(_0x592d33,_0x3480e0))['catch'](handleError(_0x592d33,null));};exports[_0xfde7('0xa4')]=function(_0x572e21,_0x5d82c0){var _0x15abf6={'raw':!![],'where':{}};var _0x509dfb={};var _0x1b3962={'count':0x0,'rows':[]};return db[_0xfde7('0x26')]['findOne']({'where':{'id':_0x572e21[_0xfde7('0x28')]['id']}})[_0xfde7('0x18')](handleEntityNotFound(_0x5d82c0,null))[_0xfde7('0x18')](function(_0x3a1756){if(_0x3a1756){_0x509dfb[_0xfde7('0x7d')]=_[_0xfde7('0x2a')](db[_0xfde7('0x50')][_0xfde7('0x9c')]);_0x509dfb[_0xfde7('0x23')]=_[_0xfde7('0x2a')](_0x572e21[_0xfde7('0x23')]);_0x509dfb[_0xfde7('0x7e')]=_['intersection'](_0x509dfb[_0xfde7('0x7d')],_0x509dfb[_0xfde7('0x23')]);_0x15abf6[_0xfde7('0x80')]=_[_0xfde7('0x7f')](_0x509dfb[_0xfde7('0x7d')],qs[_0xfde7('0x81')](_0x572e21[_0xfde7('0x23')][_0xfde7('0x81')]));_0x15abf6[_0xfde7('0x80')]=_0x15abf6[_0xfde7('0x80')]['length']?_0x15abf6[_0xfde7('0x80')]:_0x509dfb[_0xfde7('0x7d')];if(!_0x572e21[_0xfde7('0x23')][_0xfde7('0x61')](_0xfde7('0x87'))){_0x15abf6['limit']=qs['limit'](_0x572e21[_0xfde7('0x23')]['limit']);_0x15abf6['offset']=qs[_0xfde7('0x12')](_0x572e21[_0xfde7('0x23')]['offset']);}_0x15abf6[_0xfde7('0x82')]=qs['sort'](_0x572e21['query']['sort']);_0x15abf6['where']=qs[_0xfde7('0x7e')](_['pick'](_0x572e21[_0xfde7('0x23')],_0x509dfb[_0xfde7('0x7e')]));_0x15abf6[_0xfde7('0x5c')][_0xfde7('0xa2')]=_0x3a1756['id'];if(_0x572e21[_0xfde7('0x23')][_0xfde7('0x85')]){_0x15abf6['where']=_['merge'](_0x15abf6[_0xfde7('0x5c')],{'$or':_['map'](_0x15abf6['attributes'],function(_0x387a2e){var _0x3cd340={};_0x3cd340[_0x387a2e]={'$like':'%'+_0x572e21[_0xfde7('0x23')][_0xfde7('0x85')]+'%'};return _0x3cd340;})});}_0x15abf6=_[_0xfde7('0x35')]({},_0x15abf6,_0x572e21[_0xfde7('0x86')]);return db[_0xfde7('0x50')][_0xfde7('0x9d')]({'where':_0x15abf6[_0xfde7('0x5c')]})[_0xfde7('0x18')](function(_0x43d267){_0x1b3962[_0xfde7('0x9d')]=_0x43d267;if(_0x572e21[_0xfde7('0x23')]['includeAll']){_0x15abf6[_0xfde7('0x9f')]=[{'all':!![]}];}return db[_0xfde7('0x50')][_0xfde7('0x22')](_0x15abf6);})['then'](function(_0x2ae61d){_0x1b3962['rows']=_0x2ae61d;return _0x1b3962;});}})['then'](respondWithFilteredResult(_0x5d82c0,_0x15abf6))[_0xfde7('0x25')](handleError(_0x5d82c0,null));};exports[_0xfde7('0xa5')]=function(_0x28d65a,_0x44df45){try{if(!_0x28d65a[_0xfde7('0x36')][_0xfde7('0x5f')]){throw new Error(_0xfde7('0xa6'));}if(!_0x28d65a[_0xfde7('0x36')][_0xfde7('0xa7')]){throw new Error('No\x20association\x20keys\x20specified!');}if(!_0x28d65a[_0xfde7('0x36')][_0xfde7('0xa8')]){throw new Error(_0xfde7('0xa9'));}if(!_0x28d65a['body'][_0xfde7('0xaa')]){throw new Error(_0xfde7('0xab'));}var _0x2b7c8a=_0x28d65a[_0xfde7('0x36')][_0xfde7('0xa7')][_0xfde7('0xac')](',');var _0x468569=_0x28d65a[_0xfde7('0x36')][_0xfde7('0xa8')][_0xfde7('0xac')](',');if(!_0x2b7c8a['length']||!_0x468569[_0xfde7('0x2b')]||_0x2b7c8a[_0xfde7('0x2b')]!==_0x468569[_0xfde7('0x2b')]){throw new Error(_0xfde7('0xad'));}_0x28d65a[_0xfde7('0x36')][_0xfde7('0x81')]=_[_0xfde7('0xae')](_0x2b7c8a,_0x468569);if(!_0x28d65a['body'][_0xfde7('0x81')][_0xfde7('0x7a')]){throw new Error(_0xfde7('0xaf'));}if(!_0x28d65a[_0xfde7('0x36')][_0xfde7('0x81')][_0xfde7('0xb0')]){throw new Error(_0xfde7('0xb1'));}var _0x2c3f67=path[_0xfde7('0x54')](config[_0xfde7('0xb2')],'server/files/tmp',_0x28d65a[_0xfde7('0xb3')]['filename']);fs['chmodSync'](_0x2c3f67,parseInt(_0xfde7('0xb4'),0x8));var _0x4724bb=require(_0xfde7('0xb5'))[_0xfde7('0xb6')](path[_0xfde7('0x54')](__dirname,_0xfde7('0xb7')),[_0x2c3f67,_0x28d65a[_0xfde7('0x36')][_0xfde7('0xa7')],_0x28d65a['body']['binding_values'],_0x28d65a[_0xfde7('0x36')]['ListId'],_0x28d65a[_0xfde7('0x36')][_0xfde7('0xb8')],_0x28d65a['body'][_0xfde7('0x5b')],_0x28d65a['body'][_0xfde7('0xaa')]]);return _0x44df45['status'](0xc8)['json']({'message':_0xfde7('0xb9'),'pid':_0x4724bb[_0xfde7('0xba')]});}catch(_0x55912c){return _0x44df45[_0xfde7('0x10')](0x1f4)[_0xfde7('0x1f')](_0x55912c);}};exports[_0xfde7('0xbb')]=function(_0x3cd5ad,_0x1da6e5){var _0x2b2767=fs[_0xfde7('0xbc')](_0x3cd5ad[_0xfde7('0xb3')][_0xfde7('0x3')]);Papa['parse'](_0x2b2767,{'header':!![],'skipEmptyLines':!![],'preview':0x1,'complete':function(_0x37efd2){return _0x1da6e5[_0xfde7('0x10')](0xc8)[_0xfde7('0x11')]({'file':_0x3cd5ad[_0xfde7('0xb3')],'fields':_0x37efd2[_0xfde7('0xbd')]['fields']});}});};exports[_0xfde7('0xbe')]=function(_0x1ae1b4,_0x47ed25){return db[_0xfde7('0xbf')]['findAll']({'raw':!![],'attributes':['id'],'where':{'role':_0xfde7('0xc0')}})['then'](function(_0x4c1d1f){var _0xfabd15=![];if(!_0x1ae1b4[_0xfde7('0x36')][_0xfde7('0x5f')]){throw new Error(_0xfde7('0xa6'));}if(!_0x1ae1b4['body'][_0xfde7('0xc1')]['phone']){throw new Error(_0xfde7('0xaf'));}if(!_0x1ae1b4['body'][_0xfde7('0xc1')][_0xfde7('0xb0')]){throw new Error(_0xfde7('0xb1'));}if(!_0x1ae1b4[_0xfde7('0x36')][_0xfde7('0xaa')]){throw new Error(_0xfde7('0xab'));}var _0x3ca47e=require(_0xfde7('0xb5'))[_0xfde7('0xb6')](path['join'](__dirname,_0xfde7('0xc2')),[_0x1ae1b4[_0xfde7('0x28')]['id'],JSON[_0xfde7('0xc3')](_0x1ae1b4[_0xfde7('0x36')]),JSON[_0xfde7('0xc3')](_0x4c1d1f)]);_0x3ca47e['on'](_0xfde7('0xc4'),function(){_0xfabd15=!![];return _0x47ed25[_0xfde7('0x10')](0xc8)[_0xfde7('0x11')]({'message':_0xfde7('0xc5'),'pid':_0x3ca47e[_0xfde7('0xba')]});});_0x3ca47e['on'](_0xfde7('0xc6'),function(_0x1f30e2){if(_0x1f30e2&&!_0xfabd15){return _0x47ed25[_0xfde7('0x10')](0x1f4)[_0xfde7('0x11')]({'message':_0xfde7('0xc7'),'pid':_0x3ca47e[_0xfde7('0xba')]});}});})[_0xfde7('0x25')](handleError(_0x47ed25,null));};exports[_0xfde7('0xc8')]=function(_0x19fa8a,_0x119a24){return db[_0xfde7('0xbf')][_0xfde7('0x22')]({'raw':!![],'attributes':['id'],'where':{'role':_0xfde7('0xc0')}})[_0xfde7('0x18')](function(_0x52dced){var _0x4dd431=![];if(!_0x19fa8a[_0xfde7('0x36')][_0xfde7('0x5f')]){throw new Error('No\x20ListId\x20specified');}if(!_0x19fa8a['body']['binding'][_0xfde7('0x7a')]){throw new Error(_0xfde7('0xaf'));}if(!_0x19fa8a[_0xfde7('0x36')][_0xfde7('0xc1')][_0xfde7('0xb0')]){throw new Error('No\x20firstName\x20column\x20specified');}if(!_0x19fa8a[_0xfde7('0x36')][_0xfde7('0xaa')]){throw new Error(_0xfde7('0xab'));}var _0x46ad03=require(_0xfde7('0xb5'))['fork'](path[_0xfde7('0x54')](__dirname,_0xfde7('0xc9')),[_0x19fa8a[_0xfde7('0x28')]['id'],JSON[_0xfde7('0xc3')](_0x19fa8a['body']),JSON[_0xfde7('0xc3')](_0x52dced)]);_0x46ad03['on'](_0xfde7('0xc4'),function(){_0x4dd431=!![];return _0x119a24[_0xfde7('0x10')](0xc8)['json']({'message':_0xfde7('0xc5'),'pid':_0x46ad03[_0xfde7('0xba')]});});_0x46ad03['on'](_0xfde7('0xc6'),function(_0x1b088f){if(_0x1b088f&&!_0x4dd431){return _0x119a24[_0xfde7('0x10')](0x1f4)[_0xfde7('0x11')]({'message':_0xfde7('0xc7'),'pid':_0x46ad03[_0xfde7('0xba')]});}});})[_0xfde7('0x25')](handleError(_0x119a24,null));};exports[_0xfde7('0xca')]=function(_0xb07dd,_0x462c28){var _0x347ecf=[_0xfde7('0xcb'),_0xfde7('0xcc'),_0xfde7('0xcd'),_0xfde7('0xce'),_0xfde7('0xcf'),'whatsapp',_0xfde7('0xd0')];var _0x42237b={'offset':0x0,'order':qs[_0xfde7('0x83')](_0xfde7('0xd1'))},_0x571d4c={'count':0x0,'rows':[]};Promise[_0xfde7('0xd2')]()[_0xfde7('0x18')](function(){if(_0xb07dd['query'][_0xfde7('0xd3')]){if(!_['includes'](_0x347ecf,_0xb07dd['query'][_0xfde7('0xd3')]['toLowerCase']())){throw new Error('Invalid\x20channel');}_0x347ecf=[_0xb07dd[_0xfde7('0x23')][_0xfde7('0xd3')][_0xfde7('0xd4')]()];}if(_0xb07dd[_0xfde7('0x23')][_0xfde7('0xd5')]){try{var _0x37cc07=JSON[_0xfde7('0xd6')](_0xb07dd[_0xfde7('0x23')]['range']);if(!moment(_0x37cc07[_0xfde7('0x37')])[_0xfde7('0xd7')]()){throw new Error(_0xfde7('0xd8'));}if(!moment(_0x37cc07['to'])[_0xfde7('0xd7')]()){throw new Error('Invalid\x20date\x20for\x20range\x20to\x20filter');}}catch(_0x429330){throw new Error(_0xfde7('0xd9'));}}if(!_0xb07dd[_0xfde7('0x23')][_0xfde7('0x61')](_0xfde7('0x87'))){_0x42237b[_0xfde7('0x14')]=qs[_0xfde7('0x14')](_0xb07dd[_0xfde7('0x23')][_0xfde7('0x14')]||0xa);_0x42237b['offset']=qs['offset'](_0xb07dd[_0xfde7('0x23')]['offset']);}var _0x34b24c=_0x347ecf[_0xfde7('0x6e')](function(_0x165d53){if(_0x165d53===_0xfde7('0xd0')){var _0x2d1dd0={'attributes':['id',_0xfde7('0xda'),_0xfde7('0x31'),_0xfde7('0xdb'),_0xfde7('0xdc'),_0xfde7('0xdd'),_0xfde7('0xde'),_0xfde7('0xdf'),'duration',_0xfde7('0xe0'),'createdAt','userDisposition',_0xfde7('0xe1'),_0xfde7('0xe2'),_0xfde7('0xe3')],'where':{'ContactId':_0xb07dd[_0xfde7('0x28')]['id']},'include':[{'model':db['User'],'as':_0xfde7('0xbf'),'attributes':['id',_0xfde7('0x1e'),_0xfde7('0xe4'),_0xfde7('0xe5')]}],'order':[[_0xfde7('0xe6'),_0xfde7('0xe7')]]};if(_0xb07dd[_0xfde7('0x23')][_0xfde7('0xd5')]){_0x2d1dd0[_0xfde7('0x5c')][_0xfde7('0xe6')]={'$gte':_0x37cc07[_0xfde7('0x37')],'$lte':_0x37cc07['to']};}return db[_0xfde7('0x4c')][_0xfde7('0xe8')](_0x2d1dd0)['then'](function(_0x45332b){_0x571d4c[_0xfde7('0x9d')]+=_0x45332b['count'];return _[_0xfde7('0x6e')](_0x45332b[_0xfde7('0xa0')],function(_0x330012){var _0x21ab18=_0x330012[_0xfde7('0x38')]({'plain':!![]});_0x21ab18[_0xfde7('0xd3')]=_0x165d53;if(_0x21ab18[_0xfde7('0xbf')]){_0x21ab18[_0xfde7('0xbf')]={'id':_0x21ab18[_0xfde7('0xbf')]['id'],'name':_0x21ab18[_0xfde7('0xbf')][_0xfde7('0x1e')],'fullname':_0x21ab18['User'][_0xfde7('0xe4')],'alias':_0x21ab18['User'][_0xfde7('0xe5')]};}return _0x21ab18;});});}else{var _0x2210f9=_[_0xfde7('0xe9')](_0x165d53)+(_0x165d53===_0xfde7('0xcc')?_0xfde7('0xea'):_0xfde7('0xeb'));var _0x3eccda={'attributes':['id',_0xfde7('0xec'),'closedAt',_0xfde7('0xe6'),'note',_0xfde7('0xed'),_0xfde7('0xee'),_0xfde7('0xef'),'UserId',_0x2210f9+'Id'],'where':{'ContactId':_0xb07dd[_0xfde7('0x28')]['id']},'include':[{'model':db[_0x2210f9],'as':_0xfde7('0xeb'),'attributes':['id',_0xfde7('0x1e'),_0xfde7('0xf0')]},{'model':db[_0xfde7('0xbf')],'as':'Owner','attributes':['id',_0xfde7('0x1e'),_0xfde7('0xe4')]},{'model':db[_0xfde7('0x65')],'as':_0xfde7('0x66'),'attributes':['id','name','color'],'through':{'attributes':[]}}],'order':[[_0xfde7('0xe6'),_0xfde7('0xe7')]]};if(_0xb07dd[_0xfde7('0x23')][_0xfde7('0xd5')]){_0x3eccda['where'][_0xfde7('0xe6')]={'$gte':_0x37cc07[_0xfde7('0x37')],'$lte':_0x37cc07['to']};}switch(_0x165d53){case'chat':_0x3eccda[_0xfde7('0x80')][_0xfde7('0x5e')](_0xfde7('0xf1'),_0xfde7('0xf2'),_0xfde7('0xf3'),'deviceModel',_0xfde7('0xf4'),'ratingMessage',_0xfde7('0xf5'),_0xfde7('0xf6'),_0xfde7('0xf7'));break;case _0xfde7('0xcb'):_0x3eccda[_0xfde7('0x80')][_0xfde7('0x5e')](_0xfde7('0xf8'),'substatus');break;case _0xfde7('0xce'):_0x3eccda[_0xfde7('0x80')][_0xfde7('0x5e')]('externalUrl',_0xfde7('0xf9'));break;}return db[_['startCase'](_0x165d53)+_0xfde7('0xfa')][_0xfde7('0xe8')](_0x3eccda)[_0xfde7('0x18')](function(_0x3a51bc){_0x571d4c[_0xfde7('0x9d')]+=_0x3a51bc[_0xfde7('0x9d')];return _[_0xfde7('0x6e')](_0x3a51bc[_0xfde7('0xa0')],function(_0x30ca31){var _0x790919=_0x30ca31[_0xfde7('0x38')]({'plain':!![]});_0x790919[_0xfde7('0xd3')]=_0x165d53;if(_0x790919[_0xfde7('0xfb')]){_0x790919[_0xfde7('0xfb')]={'id':_0x790919[_0xfde7('0xfb')]['id'],'name':_0x790919[_0xfde7('0xfb')][_0xfde7('0x1e')],'fullname':_0x790919[_0xfde7('0xfb')]['fullname']};}return _0x790919;});});}});return Promise[_0xfde7('0x63')](_0x34b24c);})[_0xfde7('0x18')](function(_0x3dba3f){return _(_0x3dba3f)[_0xfde7('0xfc')]()[_0xfde7('0xfd')](_0xfde7('0xe6'))[_0xfde7('0xfe')]()[_0xfde7('0xff')]();})[_0xfde7('0x18')](function(_0x388110){_0x571d4c['rows']=_0x42237b[_0xfde7('0x14')]?_0x388110['slice'](_0x42237b[_0xfde7('0x12')],_0x42237b[_0xfde7('0x12')]+_0x42237b['limit']):_0x388110;return _0x571d4c;})['then'](respondWithFilteredResult(_0x462c28,_0x42237b))[_0xfde7('0x25')](handleError(_0x462c28,null));};