Built motion from commit b5996064.|2.6.21
[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 _0x3b6b=['findOne','enableEmailPreview','clone','COUNT(*)','isEmpty','t.id\x20IN\x20?','lodash','squel','../parsers/advancedSearch','../parsers/qs','./update-interaction','updateInteraction','./utils','../../mysqldb','getAccountFK','role','search','select','field','name','color','from','tools_tags','getInteractionFK','user_has_','_interactions','u.id','ui.','users','u.id\x20=\x20ui.UserId','length','\x20IN\x20?','map','getInteractionsTables','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','accounts','messages','\x20=\x20i.id','interactionsTags','it.','t.id\x20=\x20it.TagId','expr','getSelectedTags','forEach','unreadMessages\x20{OPERATOR}\x200','replace','{OPERATOR}','isNumeric','i.id\x20LIKE\x20?','includes','i.phone\x20LIKE\x20?','i.fax\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)','parseSearch','sqlOperator','conditions','find','buildExpression','type','default','text','value','start','end','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','contact','ContactId','Tag','split','tags','clause','and','ids','User','user','UserId','body','plainBody','keys','some','concat','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20=\x20?','resolve','then','fields','read','tag','get','capitalize','chat','\x20IS\x20NULL','i.thirdDisposition','i.disposition','unshift','i.substatus','closed','shift','join','Sequelize','QueryTypes','SELECT','sequelize','toString','attributes','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','a.email','Account.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.id','i.createdAt','i.updatedAt','i.closed','i.closedAt','i.lastMsgAt','i.lastMsgDirection','i.secondDisposition','i.to','i.ContactId','i.MailAccountId','i.*','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','TagIds','limit','offset','query','groupBy','Setting'];(function(_0x13d07a,_0x41efc3){var _0x5ee0ee=function(_0x4ca94a){while(--_0x4ca94a){_0x13d07a['push'](_0x13d07a['shift']());}};_0x5ee0ee(++_0x41efc3);}(_0x3b6b,0x148));var _0xb3b6=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x3b6b[_0x20a584];return _0x4b41a8;};'use strict';var _=require(_0xb3b6('0x0'));var squel=require(_0xb3b6('0x1'));var as=require(_0xb3b6('0x2'));var qs=require(_0xb3b6('0x3'));var updateInteraction=require(_0xb3b6('0x4'))[_0xb3b6('0x5')];var utils=require(_0xb3b6('0x6'));var db=require(_0xb3b6('0x7'))['db'];function skipInteractionsQuery(_0x71e090,_0x4c3897,_0x49564b){var _0x4b147c=![];var _0x5791d0=utils[_0xb3b6('0x8')](_0x71e090);if(_0x4c3897[_0xb3b6('0x9')]==='agent'&&!_0x49564b[_0xb3b6('0xa')]&&!_0x49564b[_0x5791d0]){_0x4b147c=!![];}return _0x4b147c;}function getTagsQuery(){return squel[_0xb3b6('0xb')]()[_0xb3b6('0xc')]('id')[_0xb3b6('0xc')](_0xb3b6('0xd'))[_0xb3b6('0xc')](_0xb3b6('0xe'))[_0xb3b6('0xf')](_0xb3b6('0x10'));}function getUsersQuery(_0x5d180a,_0x3b35ba){var _0x27e0b5=utils[_0xb3b6('0x11')](_0x5d180a);var _0x54f01f=_0xb3b6('0x12')+_0x5d180a+_0xb3b6('0x13');var _0x3b67a8=squel['select']()['field'](_0xb3b6('0x14'))[_0xb3b6('0xc')]('u.fullname')['field'](_0xb3b6('0x15')+_0x27e0b5)['from'](_0x54f01f,'ui')['left_join'](_0xb3b6('0x16'),'u',_0xb3b6('0x17'));if(_0x3b35ba[_0xb3b6('0x18')]>0x0){_0x3b67a8['where']('ui.'+_0x27e0b5+_0xb3b6('0x19'),_[_0xb3b6('0x1a')](_0x3b35ba,'id'));}return _0x3b67a8;}function getInteractionsQuery(_0x326287){var _0x3baa80=utils[_0xb3b6('0x1b')](_0x326287);var _0x1a6865=utils[_0xb3b6('0x8')](_0x326287);var _0x60a1e9=utils[_0xb3b6('0x11')](_0x326287);return squel['select']()['from'](_0x3baa80['interactions'],'i')[_0xb3b6('0x1c')](_0xb3b6('0x1d'),'c',_0xb3b6('0x1e'))['left_join'](_0xb3b6('0x16'),'o','o.id\x20=\x20i.UserId')['left_join'](_0x3baa80[_0xb3b6('0x1f')],'a','a.id\x20=\x20i.'+_0x1a6865)['left_join'](_0x3baa80[_0xb3b6('0x20')],'me','me.'+_0x60a1e9+_0xb3b6('0x21'))['left_join'](_0x3baa80[_0xb3b6('0x22')],'it',_0xb3b6('0x23')+_0x60a1e9+'\x20=\x20i.id')['left_join'](_0xb3b6('0x10'),'t',_0xb3b6('0x24'));}function getSqlClauses(){var _0x54dca6={'body':squel[_0xb3b6('0x25')](),'contact':squel['expr'](),'default':squel[_0xb3b6('0x25')](),'fields':squel[_0xb3b6('0x25')](),'filter':squel[_0xb3b6('0x25')](),'read':squel['expr'](),'tags':{'clause':squel[_0xb3b6('0x25')](),'ids':null},'user':squel[_0xb3b6('0x25')]()};return _0x54dca6;}function parseTagParameter(_0xe2dd20){var _0x25b0f5=squel['expr']();if(_0xe2dd20){var _0x13c8ce=utils[_0xb3b6('0x26')](_0xe2dd20);_0x13c8ce[_0xb3b6('0x27')](function(_0x23aadd){_0x25b0f5['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x23aadd+',%');});}return _0x25b0f5;}function parseReadParameter(_0x5b7cfb){var _0x3995ee='';if(_0x5b7cfb){_0x3995ee=_0xb3b6('0x28');if(_0x5b7cfb==='1'){_0x3995ee=_0x3995ee[_0xb3b6('0x29')]('{OPERATOR}','=');}else{_0x3995ee=_0x3995ee[_0xb3b6('0x29')](_0xb3b6('0x2a'),'>');}}return _0x3995ee;}function parseSearchFilter(_0x530b84,_0x50595b){var _0x2d34d0=squel[_0xb3b6('0x25')]();if(_0x50595b){var _0xd7bd26=_0x50595b[_0xb3b6('0x29')]('\x5c','\x5c\x5c')[_0xb3b6('0x29')](/'/g,'\x27\x27');if(qs[_0xb3b6('0x2b')](_0xd7bd26)){_0x2d34d0['or'](_0xb3b6('0x2c'),_0xd7bd26+'%');if(['sms','whatsapp'][_0xb3b6('0x2d')](_0x530b84)){_0x2d34d0['or'](_0xb3b6('0x2e'),_0xd7bd26+'%');}else if(_0x530b84==='fax'){_0x2d34d0['or'](_0xb3b6('0x2f'),_0xd7bd26+'%');}else if(_0x530b84===_0xb3b6('0x30')){_0x2d34d0['or'](_0xb3b6('0x31'),_0xd7bd26+'%');}}else if(_0x530b84===_0xb3b6('0x32')&&qs[_0xb3b6('0x33')](_0xd7bd26)){_0x2d34d0['or'](_0xb3b6('0x34'),_0xd7bd26+'%');}else{if(_0x530b84===_0xb3b6('0x32')){_0x2d34d0['or']('MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xb3b6('0x35')](_0xd7bd26,!![]))['or'](_0xb3b6('0x36'),qs[_0xb3b6('0x35')](_0xd7bd26));}else if(_0x530b84!==_0xb3b6('0x37')){_0x2d34d0['or'](_0xb3b6('0x38'),qs[_0xb3b6('0x35')](_0xd7bd26));}_0x2d34d0['or']('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0xd7bd26,!![]),null);}}return _0x2d34d0;}function parseAdvancedSearchFilter(_0x2d673a,_0x591f56){var _0x7652c8=getSqlClauses();var _0x2bde3a=as[_0xb3b6('0x39')](_0x2d673a);var _0xeb1f5f=_0x2bde3a[_0xb3b6('0x3a')];for(var _0x6f552a=0x0;_0x6f552a<_0x2bde3a[_0xb3b6('0x3b')]['length'];_0x6f552a++){var _0x11bdde=_0x2bde3a['conditions'][_0x6f552a];var _0x4ffe6d='i';var _0x26d10d=_[_0xb3b6('0x3c')](_0x591f56,[_0xb3b6('0xd'),_0x11bdde[_0xb3b6('0xc')]]);if(_0x26d10d){var _0x44e8ef=as[_0xb3b6('0x3d')](_0x4ffe6d,_0x26d10d[_0xb3b6('0x3e')],_0x11bdde);_0x7652c8[_0xb3b6('0x3f')][_0xeb1f5f](_0x44e8ef[_0xb3b6('0x40')],_0x44e8ef[_0xb3b6('0x41')][_0xb3b6('0x42')],_0x44e8ef[_0xb3b6('0x41')][_0xb3b6('0x43')]);}else{switch(_0x11bdde['field']){case'unreadMessages':var _0x37ed1c=parseReadParameter(_0x11bdde[_0xb3b6('0x41')]);_0x7652c8['read']['and'](_0x37ed1c);break;case'Contact':if(_0x11bdde[_0xb3b6('0x44')]===_0xb3b6('0x45')){if(_0x11bdde[_0xb3b6('0x41')]['split']('\x20')[_0xb3b6('0x18')]>0x1){_0x7652c8['contact'][_0xeb1f5f](_0xb3b6('0x46'),qs[_0xb3b6('0x35')](_0x11bdde[_0xb3b6('0x41')],!![]),null);}else{var _0x54c8ac='%'+_0x11bdde[_0xb3b6('0x41')]+'%';_0x7652c8[_0xb3b6('0x47')][_0xeb1f5f]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x54c8ac,_0x54c8ac,_0x54c8ac);}}else{_0x26d10d=_[_0xb3b6('0x3c')](_0x591f56,[_0xb3b6('0xd'),'ContactId']);_0x11bdde[_0xb3b6('0xc')]=_0xb3b6('0x48');_0x44e8ef=as[_0xb3b6('0x3d')](_0x4ffe6d,_0x26d10d[_0xb3b6('0x3e')],_0x11bdde);_0x7652c8[_0xb3b6('0x47')][_0xeb1f5f](_0x44e8ef[_0xb3b6('0x40')],_0x44e8ef[_0xb3b6('0x41')][_0xb3b6('0x42')],_0x44e8ef[_0xb3b6('0x41')][_0xb3b6('0x43')]);}break;case _0xb3b6('0x49'):var _0x3ef3b4=_0x11bdde[_0xb3b6('0x41')][_0xb3b6('0x4a')](',')['map'](function(_0x4922ea){return Number(_0x4922ea);});var _0x28bfab=parseTagParameter(_0x3ef3b4);_0x7652c8[_0xb3b6('0x4b')][_0xb3b6('0x4c')][_0xb3b6('0x4d')](_0x28bfab);_0x7652c8['tags'][_0xb3b6('0x4e')]=_0x3ef3b4;break;case _0xb3b6('0x4f'):if(_0x11bdde[_0xb3b6('0x44')]===_0xb3b6('0x45')){_0x7652c8[_0xb3b6('0x50')][_0xeb1f5f]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x11bdde[_0xb3b6('0x41')]+'%',null);}else{_0x26d10d=_[_0xb3b6('0x3c')](_0x591f56,[_0xb3b6('0xd'),_0xb3b6('0x51')]);_0x11bdde[_0xb3b6('0xc')]=_0xb3b6('0x51');_0x44e8ef=as[_0xb3b6('0x3d')](_0x4ffe6d,_0x26d10d[_0xb3b6('0x3e')],_0x11bdde);_0x7652c8[_0xb3b6('0x50')][_0xeb1f5f](_0x44e8ef[_0xb3b6('0x40')],_0x44e8ef[_0xb3b6('0x41')]['start'],_0x44e8ef[_0xb3b6('0x41')][_0xb3b6('0x43')]);}break;case _0xb3b6('0x52'):case _0xb3b6('0x53'):_0x44e8ef=as[_0xb3b6('0x3d')]('me',null,_0x11bdde);_0x7652c8[_0xb3b6('0x52')][_0xeb1f5f](_0x44e8ef[_0xb3b6('0x40')],_0x44e8ef[_0xb3b6('0x41')]['start'],_0x44e8ef['value']['end']);break;}}}return _0x7652c8;}function parseModelFields(_0x4161af,_0x4c18a8,_0x43d5ae){var _0x53382b=utils['getAccountFK'](_0x4161af);var _0x1880fc=squel[_0xb3b6('0x25')]();var _0x261543=_(_0x4c18a8)[_0xb3b6('0x54')]()[_0xb3b6('0x1a')](function(_0x258bfc){return _[_0xb3b6('0x55')](_0x43d5ae,[_0xb3b6('0xd'),_0x258bfc])?_0x258bfc:undefined;})['compact']()[_0xb3b6('0x41')]();if(_0x261543['length']>0x0){_0x261543[_0xb3b6('0x27')](function(_0x1b3f90){if(_0x1b3f90===_0x53382b){_0x1880fc[_0xb3b6('0x4d')]('i.'+_0x53382b+_0xb3b6('0x19'),[][_0xb3b6('0x56')](_0x4c18a8[_0x1b3f90]));}else if(_0x1b3f90==='createdAt'){var _0x1f3d68=JSON[_0xb3b6('0x57')](_0x4c18a8[_0x1b3f90])[_0xb3b6('0x58')];var _0x1f0376=JSON[_0xb3b6('0x57')](_0x4c18a8[_0x1b3f90])[_0xb3b6('0x59')];_0x1880fc['and'](_0xb3b6('0x5a'),_0x1f3d68,_0x1f0376);}else{if(_0x4c18a8[_0x1b3f90]===_0xb3b6('0x5b')){_0x1880fc['and']('i.'+_0x1b3f90+'\x20IS\x20NULL');}else{_0x1880fc['and']('i.'+_0x1b3f90+_0xb3b6('0x5c'),_0x4c18a8[_0x1b3f90]);}}});}return _0x1880fc;}function parseQueryParameters(_0x1c622f,_0x443153,_0x187873){var _0x4eb349=getSqlClauses();return Promise[_0xb3b6('0x5d')]()['then'](function(){return parseModelFields(_0x1c622f,_0x443153,_0x187873);})[_0xb3b6('0x5e')](function(_0x297a){_0x4eb349[_0xb3b6('0x5f')]['and'](_0x297a);return parseReadParameter(_0x443153[_0xb3b6('0x60')]);})[_0xb3b6('0x5e')](function(_0x15dd1e){_0x4eb349['read'][_0xb3b6('0x4d')](_0x15dd1e);return parseTagParameter(_0x443153[_0xb3b6('0x61')]);})['then'](function(_0x17c239){_0x4eb349[_0xb3b6('0x4b')]['clause'][_0xb3b6('0x4d')](_0x17c239);return parseSearchFilter(_0x1c622f,_0x443153['filter']);})[_0xb3b6('0x5e')](function(_0x2fa09a){_0x4eb349['filter']=_0x2fa09a;return _0x4eb349;});}function checkAccountsRestrictions(_0x330679,_0x55963e,_0x42e804){var _0x3a696e=utils['getAccountFK'](_0x330679);var _0x521c99=_0xb3b6('0x62')+_[_0xb3b6('0x63')](_0x330679)+(_0x330679===_0xb3b6('0x64')?'Websites':'Accounts');var _0x1fc462=squel[_0xb3b6('0x25')]();return Promise['resolve']()['then'](function(){if(_0x42e804[_0xb3b6('0xa')]&&_0x55963e['role']==='agent'){return _0x55963e[_0x521c99]({'attributes':['id'],'raw':!![]});}})[_0xb3b6('0x5e')](function(_0x5669d5){if(_0x5669d5){if(_0x5669d5[_0xb3b6('0x18')]===0x0){_0x1fc462[_0xb3b6('0x4d')]('i.'+_0x3a696e+_0xb3b6('0x65'));}else{_0x1fc462[_0xb3b6('0x4d')]('i.'+_0x3a696e+_0xb3b6('0x19'),_[_0xb3b6('0x1a')](_0x5669d5,'id'));}}else if(!_0x42e804[_0x3a696e]){_0x1fc462[_0xb3b6('0x4d')]('i.'+_0x3a696e+'\x20IS\x20NOT\x20NULL');}})[_0xb3b6('0x5e')](function(){return _0x1fc462;});}function getClosedOrderClause(_0x1d9547,_0x36672c){var _0x28eb92='';var _0x53d85a=[_0xb3b6('0x66'),'i.secondDisposition',_0xb3b6('0x67')];if(_0x1d9547===_0xb3b6('0x32')){_0x53d85a[_0xb3b6('0x68')](_0xb3b6('0x69'));}if(_0x36672c[_0xb3b6('0x6a')]==='0'&&_0x1d9547===_0xb3b6('0x32')){_0x28eb92=_0xb3b6('0x69');}else{if(_0x36672c[_0xb3b6('0x6a')]==='1'){_0x53d85a[_0xb3b6('0x6b')]();}_0x28eb92='CONCAT_WS(\x27\x27,\x20'+_0x53d85a[_0xb3b6('0x6c')](',\x20')+')';}return _0x28eb92;}function getFilteredInteractions(_0x2f69f8,_0x3bb575,_0x1839ef,_0x1b8e01){var _0x50a8c3=utils['getInteractionFK'](_0x2f69f8);var _0x3d5eb8=_[_0xb3b6('0x63')](_0x2f69f8)+'Interaction';var _0x5e3c0f=[];var _0x128e6c=getTagsQuery();var _0x5d032d={'type':db[_0xb3b6('0x6d')][_0xb3b6('0x6e')][_0xb3b6('0x6f')],'raw':!![]};var _0x4dacb0=[];var _0x5365bc=[];return db[_0xb3b6('0x70')]['query'](_0x128e6c[_0xb3b6('0x71')](),_0x5d032d)[_0xb3b6('0x5e')](function(_0x4c8e21){_0x5e3c0f=_['keyBy'](_0x4c8e21,'id');_0x5d032d=_['merge'](_0x5d032d,{'model':db[_0x3d5eb8],'mapToModel':!![],'nest':!![]});if(_0x1839ef['fields']){_0x1b8e01[_0xb3b6('0x72')]['forEach'](function(_0x45fbc0){_0x3bb575[_0xb3b6('0xc')]('i.'+_0x45fbc0);});}else{_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x73'),_0xb3b6('0x74'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x75'),_0xb3b6('0x76'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x77'),_0xb3b6('0x78'));if(_0x2f69f8==='mail'){_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x79'),_0xb3b6('0x7a'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x7b'),_0xb3b6('0x7c'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x7d'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x7e'));_0x3bb575['field'](_0xb3b6('0x7f'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x80'));_0x3bb575['field'](_0xb3b6('0x81'));_0x3bb575[_0xb3b6('0xc')]('i.attach');_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x82'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x83'));_0x3bb575[_0xb3b6('0xc')]('i.subject');_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x67'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x84'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x66'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x69'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x85'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x86'));_0x3bb575['field'](_0xb3b6('0x87'));_0x3bb575[_0xb3b6('0xc')]('i.UserId');}else if(_0x2f69f8===_0xb3b6('0x30')){_0x3bb575[_0xb3b6('0xc')]('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','contactName');}else{_0x3bb575[_0xb3b6('0xc')]('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','contactName');}if(_0x2f69f8!=='mail'){_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x88'));}_0x3bb575[_0xb3b6('0xc')]('c.firstName',_0xb3b6('0x89'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x8a'),_0xb3b6('0x8b'));_0x3bb575['field'](_0xb3b6('0x8c'),'Contact.email');_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x8d'),_0xb3b6('0x8e'));_0x3bb575[_0xb3b6('0xc')]('c.mobile',_0xb3b6('0x8f'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x90'),_0xb3b6('0x91'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x92'),'Owner.fullname');_0x3bb575['field']('o.internal',_0xb3b6('0x93'));_0x3bb575[_0xb3b6('0xc')](_0xb3b6('0x94'),_0xb3b6('0x95'));}if(_0x1b8e01['limit']){_0x3bb575['limit'](_0x1b8e01[_0xb3b6('0x96')]);}if(_0x1b8e01[_0xb3b6('0x97')]){_0x3bb575[_0xb3b6('0x97')](_0x1b8e01['offset']);}return db['sequelize']['query'](_0x3bb575[_0xb3b6('0x71')](),_0x5d032d);})['then'](function(_0x2d88ca){_0x4dacb0=_0x2d88ca;var _0x2f0db0=getUsersQuery(_0x2f69f8,_0x4dacb0);return db[_0xb3b6('0x70')][_0xb3b6('0x98')](_0x2f0db0[_0xb3b6('0x71')](),_0x5d032d);})['then'](function(_0x12b771){_0x5365bc=_[_0xb3b6('0x99')](_0x12b771,_0x50a8c3);if(_0x2f69f8===_0xb3b6('0x32')){return db[_0xb3b6('0x9a')][_0xb3b6('0x9b')]({'attributes':[_0xb3b6('0x9c')],'raw':!![]});}})[_0xb3b6('0x5e')](function(_0x4c64a3){var _0x242fa9=_0x4c64a3?_0x4c64a3['enableEmailPreview']:undefined;var _0xb4e078=_0x4dacb0['map'](function(_0x5384cd){return updateInteraction(_0x5384cd,_0x5e3c0f,_0x5365bc,_0x242fa9);});return Promise['all'](_0xb4e078);});}function countFilteredInteractions(_0x4e9921,_0xe78cb6){var _0x5ac7c0=_0x4e9921[_0xb3b6('0x9d')]();_0x5ac7c0['field'](_0xb3b6('0x9e'));_0x5ac7c0['field'](_0xb3b6('0x73'),_0xb3b6('0x74'));var _0x3ffc92=utils[_0xb3b6('0x26')](_0xe78cb6);if(!_[_0xb3b6('0x9f')](_0x3ffc92)){_0x5ac7c0['where'](_0xb3b6('0xa0'),_0x3ffc92);}var _0x4995ae={'type':db[_0xb3b6('0x6d')][_0xb3b6('0x6e')][_0xb3b6('0x6f')],'raw':!![]};return db['sequelize'][_0xb3b6('0x98')](_0x5ac7c0[_0xb3b6('0x71')](),_0x4995ae);}module['exports']={'checkAccountsRestrictions':checkAccountsRestrictions,'countFilteredInteractions':countFilteredInteractions,'getClosedOrderClause':getClosedOrderClause,'getFilteredInteractions':getFilteredInteractions,'getInteractionsQuery':getInteractionsQuery,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipInteractionsQuery':skipInteractionsQuery};