d2e756e37249810992b7a9b86922989a1176a3b9
[motion2.git] / server / components / interaction / sql-utils.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 _0x2ad8=['agent','\x20IS\x20NOT\x20NULL','i.secondDisposition','i.disposition','unshift','i.substatus','closed','CONCAT_WS(\x27\x27,\x20','join','capitalize','Sequelize','QueryTypes','SELECT','sequelize','query','toString','keyBy','attributes','forEach','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','a.email','CASE\x20WHEN\x20i.to\x20IS\x20NOT\x20NULL\x20AND\x20i.to\x20<>\x20\x27\x27\x20AND\x20i.to\x20NOT\x20LIKE\x20CONCAT(\x27%\x27,\x20a.email,\x20\x27%\x27)\x20THEN\x20TRIM(SUBSTRING_INDEX(i.to,\x20\x27<\x27,\x201))\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','contactName','i.updatedAt','i.closed','i.closedAt','i.attach','i.lastMsgAt','i.lastMsgDirection','i.subject','i.thirdDisposition','i.to','i.MailAccountId','CASE\x20WHEN\x20i.from\x20IS\x20NOT\x20NULL\x20AND\x20i.from\x20<>\x20\x27\x27\x20THEN\x20i.from\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','c.firstName','Contact.firstName','c.lastName','Contact.email','c.mobile','Contact.mobile','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','limit','offset','groupBy','enableEmailPreview','clone','COUNT(*)','isEmpty','t.id\x20IN\x20?','exports','squel','../parsers/advancedSearch','updateInteraction','./utils','../../mysqldb','role','search','field','name','color','from','getInteractionFK','user_has_','_interactions','select','u.id','u.fullname','ui.','left_join','u.id\x20=\x20ui.UserId','where','\x20IN\x20?','map','getAccountFK','interactions','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','a.id\x20=\x20i.','messages','\x20=\x20i.id','interactionsTags','it.','expr','getSelectedTags','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','unreadMessages\x20{OPERATOR}\x200','replace','{OPERATOR}','i.id\x20LIKE\x20?','sms','whatsapp','includes','i.phone\x20LIKE\x20?','openchannel','i.from\x20LIKE\x20?','mail','isEmail','c.email\x20LIKE\x20?','getFullTextValue','MATCH\x20(me.plainBody,\x20me.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','fax','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','conditions','length','buildExpression','type','text','value','start','end','unreadMessages','read','and','Contact','operator','split','contact','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','find','Tag','tags','clause','ids','$substring','user','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','plainBody','keys','some','compact','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','then','fields','filter','get','chat','Websites','Accounts','resolve'];(function(_0x26a906,_0x3d135c){var _0x495575=function(_0x2365af){while(--_0x2365af){_0x26a906['push'](_0x26a906['shift']());}};_0x495575(++_0x3d135c);}(_0x2ad8,0x178));var _0x82ad=function(_0x2697d9,_0x26806a){_0x2697d9=_0x2697d9-0x0;var _0x25e6ae=_0x2ad8[_0x2697d9];return _0x25e6ae;};'use strict';var _=require('lodash');var squel=require(_0x82ad('0x0'));var as=require(_0x82ad('0x1'));var qs=require('../parsers/qs');var updateInteraction=require('./update-interaction')[_0x82ad('0x2')];var utils=require(_0x82ad('0x3'));var db=require(_0x82ad('0x4'))['db'];function skipInteractionsQuery(_0x198ed0,_0x27a784,_0x20f42e){var _0x29338=![];var _0x598c96=utils['getAccountFK'](_0x198ed0);if(_0x27a784[_0x82ad('0x5')]==='agent'&&!_0x20f42e[_0x82ad('0x6')]&&!_0x20f42e[_0x598c96]){_0x29338=!![];}return _0x29338;}function getTagsQuery(){return squel['select']()[_0x82ad('0x7')]('id')[_0x82ad('0x7')](_0x82ad('0x8'))[_0x82ad('0x7')](_0x82ad('0x9'))[_0x82ad('0xa')]('tools_tags');}function getUsersQuery(_0xf1e13c,_0x1adb42){var _0xa6cb0a=utils[_0x82ad('0xb')](_0xf1e13c);var _0x1f8976=_0x82ad('0xc')+_0xf1e13c+_0x82ad('0xd');var _0x1e8046=squel[_0x82ad('0xe')]()[_0x82ad('0x7')](_0x82ad('0xf'))[_0x82ad('0x7')](_0x82ad('0x10'))[_0x82ad('0x7')](_0x82ad('0x11')+_0xa6cb0a)[_0x82ad('0xa')](_0x1f8976,'ui')[_0x82ad('0x12')]('users','u',_0x82ad('0x13'));if(_0x1adb42['length']>0x0){_0x1e8046[_0x82ad('0x14')](_0x82ad('0x11')+_0xa6cb0a+_0x82ad('0x15'),_[_0x82ad('0x16')](_0x1adb42,'id'));}return _0x1e8046;}function getInteractionsQuery(_0x128130){var _0x4119a8=utils['getInteractionsTables'](_0x128130);var _0x5cccd0=utils[_0x82ad('0x17')](_0x128130);var _0x8c8145=utils[_0x82ad('0xb')](_0x128130);return squel['select']()[_0x82ad('0xa')](_0x4119a8[_0x82ad('0x18')],'i')[_0x82ad('0x12')]('cm_contacts','c',_0x82ad('0x19'))[_0x82ad('0x12')](_0x82ad('0x1a'),'o',_0x82ad('0x1b'))['left_join'](_0x4119a8['accounts'],'a',_0x82ad('0x1c')+_0x5cccd0)[_0x82ad('0x12')](_0x4119a8[_0x82ad('0x1d')],'me','me.'+_0x8c8145+_0x82ad('0x1e'))[_0x82ad('0x12')](_0x4119a8[_0x82ad('0x1f')],'it',_0x82ad('0x20')+_0x8c8145+_0x82ad('0x1e'))[_0x82ad('0x12')]('tools_tags','t','t.id\x20=\x20it.TagId');}function getSqlClauses(){var _0x5e5d55={'body':squel[_0x82ad('0x21')](),'contact':squel[_0x82ad('0x21')](),'default':squel[_0x82ad('0x21')](),'fields':squel[_0x82ad('0x21')](),'filter':squel[_0x82ad('0x21')](),'read':squel[_0x82ad('0x21')](),'tags':{'clause':squel['expr'](),'ids':null},'user':squel[_0x82ad('0x21')]()};return _0x5e5d55;}function parseTagParameter(_0x5b3d83){var _0x4d2fb7=squel[_0x82ad('0x21')]();if(_0x5b3d83){var _0x2bcf73=utils[_0x82ad('0x22')](_0x5b3d83);_0x2bcf73['forEach'](function(_0x2a5e4f){_0x4d2fb7['or'](_0x82ad('0x23'),'%,'+_0x2a5e4f+',%');});}return _0x4d2fb7;}function parseReadParameter(_0xa7a281){var _0x2e2060='';if(_0xa7a281){_0x2e2060=_0x82ad('0x24');if(_0xa7a281==='1'){_0x2e2060=_0x2e2060['replace']('{OPERATOR}','=');}else{_0x2e2060=_0x2e2060[_0x82ad('0x25')](_0x82ad('0x26'),'>');}}return _0x2e2060;}function parseSearchFilter(_0xa331be,_0xb91717){var _0x45cc7d=squel[_0x82ad('0x21')]();if(_0xb91717){var _0x3d2211=_0xb91717[_0x82ad('0x25')]('\x5c','\x5c\x5c')[_0x82ad('0x25')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x3d2211)){_0x45cc7d['or'](_0x82ad('0x27'),_0x3d2211+'%');if([_0x82ad('0x28'),_0x82ad('0x29')][_0x82ad('0x2a')](_0xa331be)){_0x45cc7d['or'](_0x82ad('0x2b'),_0x3d2211+'%');}else if(_0xa331be==='fax'){_0x45cc7d['or']('i.fax\x20LIKE\x20?',_0x3d2211+'%');}else if(_0xa331be===_0x82ad('0x2c')){_0x45cc7d['or'](_0x82ad('0x2d'),_0x3d2211+'%');}}else if(_0xa331be===_0x82ad('0x2e')&&qs[_0x82ad('0x2f')](_0x3d2211)){_0x45cc7d['or'](_0x82ad('0x30'),_0x3d2211+'%');}else{if(_0xa331be==='mail'){_0x45cc7d['or']('MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x82ad('0x31')](_0x3d2211,!![]))['or'](_0x82ad('0x32'),qs[_0x82ad('0x31')](_0x3d2211));}else if(_0xa331be!==_0x82ad('0x33')){_0x45cc7d['or'](_0x82ad('0x34'),qs[_0x82ad('0x31')](_0x3d2211));}_0x45cc7d['or'](_0x82ad('0x35'),qs[_0x82ad('0x31')](_0x3d2211,!![]),null);}}return _0x45cc7d;}function parseAdvancedSearchFilter(_0x15868c,_0x9f484b){var _0x560189=getSqlClauses();var _0x53efa2=as['parseSearch'](_0x15868c);var _0x53e490=_0x53efa2['sqlOperator'];for(var _0x20dddb=0x0;_0x20dddb<_0x53efa2[_0x82ad('0x36')][_0x82ad('0x37')];_0x20dddb++){var _0x1d0594=_0x53efa2[_0x82ad('0x36')][_0x20dddb];var _0x24c505='i';var _0x34194=_['find'](_0x9f484b,['name',_0x1d0594[_0x82ad('0x7')]]);if(_0x34194){var _0x5734c0=as[_0x82ad('0x38')](_0x24c505,_0x34194[_0x82ad('0x39')],_0x1d0594);_0x560189['default'][_0x53e490](_0x5734c0[_0x82ad('0x3a')],_0x5734c0[_0x82ad('0x3b')][_0x82ad('0x3c')],_0x5734c0['value'][_0x82ad('0x3d')]);}else{switch(_0x1d0594[_0x82ad('0x7')]){case _0x82ad('0x3e'):var _0x451b56=parseReadParameter(_0x1d0594[_0x82ad('0x3b')]);_0x560189[_0x82ad('0x3f')][_0x82ad('0x40')](_0x451b56);break;case _0x82ad('0x41'):if(_0x1d0594[_0x82ad('0x42')]==='$substring'){if(_0x1d0594[_0x82ad('0x3b')][_0x82ad('0x43')]('\x20')[_0x82ad('0x37')]>0x1){_0x560189[_0x82ad('0x44')][_0x53e490]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x82ad('0x31')](_0x1d0594[_0x82ad('0x3b')],!![]),null);}else{var _0x493a68='%'+_0x1d0594[_0x82ad('0x3b')]+'%';_0x560189[_0x82ad('0x44')][_0x53e490](_0x82ad('0x45'),_0x493a68,_0x493a68,_0x493a68);}}else{_0x34194=_[_0x82ad('0x46')](_0x9f484b,[_0x82ad('0x8'),'ContactId']);_0x1d0594[_0x82ad('0x7')]='ContactId';_0x5734c0=as['buildExpression'](_0x24c505,_0x34194['type'],_0x1d0594);_0x560189['contact'][_0x53e490](_0x5734c0[_0x82ad('0x3a')],_0x5734c0[_0x82ad('0x3b')][_0x82ad('0x3c')],_0x5734c0['value'][_0x82ad('0x3d')]);}break;case _0x82ad('0x47'):var _0x3ca03d=_0x1d0594[_0x82ad('0x3b')]['split'](',')['map'](function(_0x4b0703){return Number(_0x4b0703);});var _0x4572ca=parseTagParameter(_0x3ca03d);_0x560189[_0x82ad('0x48')][_0x82ad('0x49')][_0x82ad('0x40')](_0x4572ca);_0x560189[_0x82ad('0x48')][_0x82ad('0x4a')]=_0x3ca03d;break;case'User':if(_0x1d0594[_0x82ad('0x42')]===_0x82ad('0x4b')){_0x560189[_0x82ad('0x4c')][_0x53e490](_0x82ad('0x4d'),'%'+_0x1d0594[_0x82ad('0x3b')]+'%',null);}else{_0x34194=_['find'](_0x9f484b,[_0x82ad('0x8'),'UserId']);_0x1d0594[_0x82ad('0x7')]=_0x82ad('0x4e');_0x5734c0=as[_0x82ad('0x38')](_0x24c505,_0x34194[_0x82ad('0x39')],_0x1d0594);_0x560189[_0x82ad('0x4c')][_0x53e490](_0x5734c0[_0x82ad('0x3a')],_0x5734c0['value']['start'],_0x5734c0[_0x82ad('0x3b')][_0x82ad('0x3d')]);}break;case _0x82ad('0x4f'):case _0x82ad('0x50'):_0x5734c0=as[_0x82ad('0x38')]('me',null,_0x1d0594);_0x560189['body'][_0x53e490](_0x5734c0[_0x82ad('0x3a')],_0x5734c0[_0x82ad('0x3b')][_0x82ad('0x3c')],_0x5734c0[_0x82ad('0x3b')][_0x82ad('0x3d')]);break;}}}return _0x560189;}function parseModelFields(_0x4b9101,_0x3d6307,_0x40cd66){var _0x52081f=utils[_0x82ad('0x17')](_0x4b9101);var _0x4e561c=squel[_0x82ad('0x21')]();var _0x290498=_(_0x3d6307)[_0x82ad('0x51')]()[_0x82ad('0x16')](function(_0x3262ef){return _[_0x82ad('0x52')](_0x40cd66,['name',_0x3262ef])?_0x3262ef:undefined;})[_0x82ad('0x53')]()[_0x82ad('0x3b')]();if(_0x290498[_0x82ad('0x37')]>0x0){_0x290498['forEach'](function(_0x3d81c5){if(_0x3d81c5===_0x52081f){_0x4e561c['and']('i.'+_0x52081f+_0x82ad('0x15'),[][_0x82ad('0x54')](_0x3d6307[_0x3d81c5]));}else if(_0x3d81c5===_0x82ad('0x55')){var _0x25ce9e=JSON[_0x82ad('0x56')](_0x3d6307[_0x3d81c5])[_0x82ad('0x57')];var _0x55d199=JSON[_0x82ad('0x56')](_0x3d6307[_0x3d81c5])[_0x82ad('0x58')];_0x4e561c[_0x82ad('0x40')](_0x82ad('0x59'),_0x25ce9e,_0x55d199);}else{if(_0x3d6307[_0x3d81c5]===_0x82ad('0x5a')){_0x4e561c[_0x82ad('0x40')]('i.'+_0x3d81c5+_0x82ad('0x5b'));}else{_0x4e561c[_0x82ad('0x40')]('i.'+_0x3d81c5+_0x82ad('0x5c'),_0x3d6307[_0x3d81c5]);}}});}return _0x4e561c;}function parseQueryParameters(_0x9f78ef,_0x16aff7,_0x1314f9){var _0x2d0795=getSqlClauses();return Promise['resolve']()[_0x82ad('0x5d')](function(){return parseModelFields(_0x9f78ef,_0x16aff7,_0x1314f9);})[_0x82ad('0x5d')](function(_0x1f4f84){_0x2d0795[_0x82ad('0x5e')]['and'](_0x1f4f84);return parseReadParameter(_0x16aff7['read']);})[_0x82ad('0x5d')](function(_0x101fc2){_0x2d0795[_0x82ad('0x3f')][_0x82ad('0x40')](_0x101fc2);return parseTagParameter(_0x16aff7['tag']);})[_0x82ad('0x5d')](function(_0x726f20){_0x2d0795['tags'][_0x82ad('0x49')][_0x82ad('0x40')](_0x726f20);return parseSearchFilter(_0x9f78ef,_0x16aff7[_0x82ad('0x5f')]);})['then'](function(_0x33ce71){_0x2d0795[_0x82ad('0x5f')]=_0x33ce71;return _0x2d0795;});}function checkAccountsRestrictions(_0x157168,_0x394e0f,_0x55e040){var _0x403cb8=utils['getAccountFK'](_0x157168);var _0x2ff391=_0x82ad('0x60')+_['capitalize'](_0x157168)+(_0x157168===_0x82ad('0x61')?_0x82ad('0x62'):_0x82ad('0x63'));var _0x3c6428=squel[_0x82ad('0x21')]();return Promise[_0x82ad('0x64')]()[_0x82ad('0x5d')](function(){if(_0x55e040[_0x82ad('0x6')]&&_0x394e0f['role']===_0x82ad('0x65')){return _0x394e0f[_0x2ff391]({'attributes':['id'],'raw':!![]});}})['then'](function(_0x924456){if(_0x924456){if(_0x924456[_0x82ad('0x37')]===0x0){_0x3c6428['and']('i.'+_0x403cb8+_0x82ad('0x5b'));}else{_0x3c6428[_0x82ad('0x40')]('i.'+_0x403cb8+_0x82ad('0x15'),_[_0x82ad('0x16')](_0x924456,'id'));}}else if(!_0x55e040[_0x403cb8]){_0x3c6428[_0x82ad('0x40')]('i.'+_0x403cb8+_0x82ad('0x66'));}})[_0x82ad('0x5d')](function(){return _0x3c6428;});}function getClosedOrderClause(_0x457ef9,_0x409ccf){var _0x49e1e2='';var _0x144430=['i.thirdDisposition',_0x82ad('0x67'),_0x82ad('0x68')];if(_0x457ef9==='mail'){_0x144430[_0x82ad('0x69')](_0x82ad('0x6a'));}if(_0x409ccf['closed']==='0'&&_0x457ef9===_0x82ad('0x2e')){_0x49e1e2='i.substatus';}else{if(_0x409ccf[_0x82ad('0x6b')]==='1'){_0x144430['shift']();}_0x49e1e2=_0x82ad('0x6c')+_0x144430[_0x82ad('0x6d')](',\x20')+')';}return _0x49e1e2;}function getFilteredInteractions(_0x192863,_0x1ef61f,_0x386d71,_0x4113d8){var _0x5458f3=utils[_0x82ad('0xb')](_0x192863);var _0x1ee56c=_[_0x82ad('0x6e')](_0x192863)+'Interaction';var _0x1078b6=[];var _0xcf4ce0=getTagsQuery();var _0x223a7f={'type':db[_0x82ad('0x6f')][_0x82ad('0x70')][_0x82ad('0x71')],'raw':!![]};var _0x55f01d=[];var _0x5a8a1c=[];return db[_0x82ad('0x72')][_0x82ad('0x73')](_0xcf4ce0[_0x82ad('0x74')](),_0x223a7f)[_0x82ad('0x5d')](function(_0x2e2445){_0x1078b6=_[_0x82ad('0x75')](_0x2e2445,'id');_0x223a7f=_['merge'](_0x223a7f,{'model':db[_0x1ee56c],'mapToModel':!![],'nest':!![]});if(_0x386d71['fields']){_0x4113d8[_0x82ad('0x76')][_0x82ad('0x77')](function(_0x3cd991){_0x1ef61f['field']('i.'+_0x3cd991);});}else{_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x78'),_0x82ad('0x3e'));_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x79'),_0x82ad('0x7a'));_0x1ef61f['field'](_0x82ad('0x7b'),_0x82ad('0x7c'));if(_0x192863==='mail'){_0x1ef61f['field'](_0x82ad('0x7d'),'Account.email');_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x7e'),_0x82ad('0x7f'));_0x1ef61f[_0x82ad('0x7')]('i.id');_0x1ef61f[_0x82ad('0x7')]('i.createdAt');_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x80'));_0x1ef61f['field'](_0x82ad('0x81'));_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x82'));_0x1ef61f['field'](_0x82ad('0x83'));_0x1ef61f['field'](_0x82ad('0x84'));_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x85'));_0x1ef61f['field'](_0x82ad('0x86'));_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x68'));_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x67'));_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x87'));_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x6a'));_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x88'));_0x1ef61f[_0x82ad('0x7')]('i.ContactId');_0x1ef61f['field'](_0x82ad('0x89'));_0x1ef61f[_0x82ad('0x7')]('i.UserId');}else if(_0x192863===_0x82ad('0x2c')){_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x8a'),_0x82ad('0x7f'));}else{_0x1ef61f[_0x82ad('0x7')]('CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END',_0x82ad('0x7f'));}if(_0x192863!=='mail'){_0x1ef61f[_0x82ad('0x7')]('i.*');}_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x8b'),_0x82ad('0x8c'));_0x1ef61f['field'](_0x82ad('0x8d'),'Contact.lastName');_0x1ef61f['field']('c.email',_0x82ad('0x8e'));_0x1ef61f[_0x82ad('0x7')]('c.phone','Contact.phone');_0x1ef61f['field'](_0x82ad('0x8f'),_0x82ad('0x90'));_0x1ef61f[_0x82ad('0x7')]('c.fax','Contact.fax');_0x1ef61f['field'](_0x82ad('0x91'),_0x82ad('0x92'));_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x93'),_0x82ad('0x94'));_0x1ef61f[_0x82ad('0x7')](_0x82ad('0x95'),'TagIds');}if(_0x4113d8[_0x82ad('0x96')]){_0x1ef61f[_0x82ad('0x96')](_0x4113d8[_0x82ad('0x96')]);}if(_0x4113d8['offset']){_0x1ef61f[_0x82ad('0x97')](_0x4113d8[_0x82ad('0x97')]);}return db['sequelize']['query'](_0x1ef61f[_0x82ad('0x74')](),_0x223a7f);})['then'](function(_0x5a3fd1){_0x55f01d=_0x5a3fd1;var _0x215c54=getUsersQuery(_0x192863,_0x55f01d);return db['sequelize']['query'](_0x215c54[_0x82ad('0x74')](),_0x223a7f);})[_0x82ad('0x5d')](function(_0x570f0d){_0x5a8a1c=_[_0x82ad('0x98')](_0x570f0d,_0x5458f3);if(_0x192863==='mail'){return db['Setting']['findOne']({'attributes':[_0x82ad('0x99')],'raw':!![]});}})[_0x82ad('0x5d')](function(_0x18ed88){var _0x5157bd=_0x18ed88?_0x18ed88[_0x82ad('0x99')]:undefined;var _0x5d98ab=_0x55f01d[_0x82ad('0x16')](function(_0x2a3d5a){return updateInteraction(_0x2a3d5a,_0x1078b6,_0x5a8a1c,_0x5157bd);});return Promise['all'](_0x5d98ab);});}function countFilteredInteractions(_0x3e6069,_0x18ae5b){var _0x915b3=_0x3e6069[_0x82ad('0x9a')]();_0x915b3[_0x82ad('0x7')](_0x82ad('0x9b'));_0x915b3[_0x82ad('0x7')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x82ad('0x3e'));var _0x2913f5=utils['getSelectedTags'](_0x18ae5b);if(!_[_0x82ad('0x9c')](_0x2913f5)){_0x915b3[_0x82ad('0x14')](_0x82ad('0x9d'),_0x2913f5);}var _0x4b9223={'type':db['Sequelize'][_0x82ad('0x70')]['SELECT'],'raw':!![]};return db[_0x82ad('0x72')][_0x82ad('0x73')](_0x915b3['toString'](),_0x4b9223);}module[_0x82ad('0x9e')]={'checkAccountsRestrictions':checkAccountsRestrictions,'countFilteredInteractions':countFilteredInteractions,'getClosedOrderClause':getClosedOrderClause,'getFilteredInteractions':getFilteredInteractions,'getInteractionsQuery':getInteractionsQuery,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipInteractionsQuery':skipInteractionsQuery};