142d255e4daae3ff525650d17aaddc4db8bb185b
[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 _0xfdbf=['users','u.id\x20=\x20ui.UserId','length','where','map','getInteractionsTables','interactions','cm_contacts','o.id\x20=\x20i.UserId','accounts','a.id\x20=\x20i.','messages','me.','\x20=\x20i.id','interactionsTags','it.','expr','getSelectedTags','forEach','replace','{OPERATOR}','isNumeric','whatsapp','includes','i.phone\x20LIKE\x20?','fax','i.fax\x20LIKE\x20?','openchannel','i.from\x20LIKE\x20?','mail','isEmail','c.email\x20LIKE\x20?','MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','MATCH\x20(me.plainBody,\x20me.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','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)','sqlOperator','conditions','find','type','default','text','start','value','end','unreadMessages','read','and','Contact','operator','$substring','split','contact','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','Tag','tags','ids','User','user','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','keys','some','compact','concat','createdAt','parse','$gte','$lte','null','\x20IS\x20NULL','\x20=\x20?','then','fields','tag','filter','chat','Websites','Accounts','resolve','\x20IS\x20NOT\x20NULL','i.thirdDisposition','i.secondDisposition','i.disposition','unshift','i.substatus','closed','shift','CONCAT_WS(\x27\x27,\x20','capitalize','Interaction','QueryTypes','sequelize','query','toString','keyBy','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','a.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','i.id','i.closed','i.lastMsgAt','i.subject','i.to','i.ContactId','i.MailAccountId','i.UserId','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','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','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.mobile','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','TagIds','limit','offset','groupBy','findOne','enableEmailPreview','COUNT(*)','isEmpty','t.id\x20IN\x20?','Sequelize','SELECT','exports','lodash','../parsers/advancedSearch','./update-interaction','updateInteraction','./utils','../../mysqldb','getAccountFK','role','agent','search','select','field','name','color','from','tools_tags','getInteractionFK','user_has_','_interactions','u.id','u.fullname','ui.','left_join'];(function(_0x2a8037,_0x41f312){var _0x1904cf=function(_0x5662f0){while(--_0x5662f0){_0x2a8037['push'](_0x2a8037['shift']());}};_0x1904cf(++_0x41f312);}(_0xfdbf,0x139));var _0xffdb=function(_0x18afca,_0x4219d9){_0x18afca=_0x18afca-0x0;var _0x11603f=_0xfdbf[_0x18afca];return _0x11603f;};'use strict';var _=require(_0xffdb('0x0'));var squel=require('squel');var as=require(_0xffdb('0x1'));var qs=require('../parsers/qs');var updateInteraction=require(_0xffdb('0x2'))[_0xffdb('0x3')];var utils=require(_0xffdb('0x4'));var db=require(_0xffdb('0x5'))['db'];function skipInteractionsQuery(_0x1df64e,_0x8c8fe9,_0x41fff3){var _0x30df68=![];var _0x23e4e5=utils[_0xffdb('0x6')](_0x1df64e);if(_0x8c8fe9[_0xffdb('0x7')]===_0xffdb('0x8')&&!_0x41fff3[_0xffdb('0x9')]&&!_0x41fff3[_0x23e4e5]){_0x30df68=!![];}return _0x30df68;}function getTagsQuery(){return squel[_0xffdb('0xa')]()[_0xffdb('0xb')]('id')['field'](_0xffdb('0xc'))[_0xffdb('0xb')](_0xffdb('0xd'))[_0xffdb('0xe')](_0xffdb('0xf'));}function getUsersQuery(_0x3301f3,_0x427334){var _0x3426c4=utils[_0xffdb('0x10')](_0x3301f3);var _0xa15930=_0xffdb('0x11')+_0x3301f3+_0xffdb('0x12');var _0x1ca7e=squel[_0xffdb('0xa')]()[_0xffdb('0xb')](_0xffdb('0x13'))[_0xffdb('0xb')](_0xffdb('0x14'))[_0xffdb('0xb')](_0xffdb('0x15')+_0x3426c4)[_0xffdb('0xe')](_0xa15930,'ui')[_0xffdb('0x16')](_0xffdb('0x17'),'u',_0xffdb('0x18'));if(_0x427334[_0xffdb('0x19')]>0x0){_0x1ca7e[_0xffdb('0x1a')]('ui.'+_0x3426c4+'\x20IN\x20?',_[_0xffdb('0x1b')](_0x427334,'id'));}return _0x1ca7e;}function getInteractionsQuery(_0x329bf6){var _0x4dca29=utils[_0xffdb('0x1c')](_0x329bf6);var _0xcb86d6=utils['getAccountFK'](_0x329bf6);var _0x477f65=utils['getInteractionFK'](_0x329bf6);return squel[_0xffdb('0xa')]()[_0xffdb('0xe')](_0x4dca29[_0xffdb('0x1d')],'i')[_0xffdb('0x16')](_0xffdb('0x1e'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0xffdb('0x16')]('users','o',_0xffdb('0x1f'))['left_join'](_0x4dca29[_0xffdb('0x20')],'a',_0xffdb('0x21')+_0xcb86d6)[_0xffdb('0x16')](_0x4dca29[_0xffdb('0x22')],'me',_0xffdb('0x23')+_0x477f65+_0xffdb('0x24'))[_0xffdb('0x16')](_0x4dca29[_0xffdb('0x25')],'it',_0xffdb('0x26')+_0x477f65+_0xffdb('0x24'))[_0xffdb('0x16')](_0xffdb('0xf'),'t','t.id\x20=\x20it.TagId');}function getSqlClauses(){var _0x4bf320={'body':squel[_0xffdb('0x27')](),'contact':squel[_0xffdb('0x27')](),'default':squel[_0xffdb('0x27')](),'fields':squel['expr'](),'filter':squel[_0xffdb('0x27')](),'read':squel[_0xffdb('0x27')](),'tags':{'clause':squel[_0xffdb('0x27')](),'ids':null},'user':squel[_0xffdb('0x27')]()};return _0x4bf320;}function parseTagParameter(_0x1f959f){var _0x252888=squel[_0xffdb('0x27')]();if(_0x1f959f){var _0x3f68cf=utils[_0xffdb('0x28')](_0x1f959f);_0x3f68cf[_0xffdb('0x29')](function(_0x3956bc){_0x252888['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x3956bc+',%');});}return _0x252888;}function parseReadParameter(_0x4d98db){var _0x1fdc81='';if(_0x4d98db){_0x1fdc81='unreadMessages\x20{OPERATOR}\x200';if(_0x4d98db==='1'){_0x1fdc81=_0x1fdc81[_0xffdb('0x2a')](_0xffdb('0x2b'),'=');}else{_0x1fdc81=_0x1fdc81[_0xffdb('0x2a')](_0xffdb('0x2b'),'>');}}return _0x1fdc81;}function parseSearchFilter(_0x6c73d1,_0x2332cf){var _0x105feb=squel['expr']();if(_0x2332cf){var _0x15be07=_0x2332cf['replace']('\x5c','\x5c\x5c')[_0xffdb('0x2a')](/'/g,'\x27\x27');if(qs[_0xffdb('0x2c')](_0x15be07)){_0x105feb['or']('i.id\x20LIKE\x20?',_0x15be07+'%');if(['sms',_0xffdb('0x2d')][_0xffdb('0x2e')](_0x6c73d1)){_0x105feb['or'](_0xffdb('0x2f'),_0x15be07+'%');}else if(_0x6c73d1===_0xffdb('0x30')){_0x105feb['or'](_0xffdb('0x31'),_0x15be07+'%');}else if(_0x6c73d1===_0xffdb('0x32')){_0x105feb['or'](_0xffdb('0x33'),_0x15be07+'%');}}else if(_0x6c73d1===_0xffdb('0x34')&&qs[_0xffdb('0x35')](_0x15be07)){_0x105feb['or'](_0xffdb('0x36'),_0x15be07+'%');}else{if(_0x6c73d1==='mail'){_0x105feb['or'](_0xffdb('0x37'),qs[_0xffdb('0x38')](_0x15be07,!![]))['or'](_0xffdb('0x39'),qs[_0xffdb('0x38')](_0x15be07));}else if(_0x6c73d1!==_0xffdb('0x30')){_0x105feb['or'](_0xffdb('0x3a'),qs[_0xffdb('0x38')](_0x15be07));}_0x105feb['or'](_0xffdb('0x3b'),qs[_0xffdb('0x38')](_0x15be07,!![]),null);}}return _0x105feb;}function parseAdvancedSearchFilter(_0x17ef13,_0x120132){var _0x5179a7=getSqlClauses();var _0x46b4db=as['parseSearch'](_0x17ef13);var _0x253f9a=_0x46b4db[_0xffdb('0x3c')];for(var _0x46c84e=0x0;_0x46c84e<_0x46b4db[_0xffdb('0x3d')]['length'];_0x46c84e++){var _0x1e24c4=_0x46b4db[_0xffdb('0x3d')][_0x46c84e];var _0x339d05='i';var _0x2f9e66=_[_0xffdb('0x3e')](_0x120132,[_0xffdb('0xc'),_0x1e24c4['field']]);if(_0x2f9e66){var _0x42be8e=as['buildExpression'](_0x339d05,_0x2f9e66[_0xffdb('0x3f')],_0x1e24c4);_0x5179a7[_0xffdb('0x40')][_0x253f9a](_0x42be8e[_0xffdb('0x41')],_0x42be8e['value'][_0xffdb('0x42')],_0x42be8e[_0xffdb('0x43')][_0xffdb('0x44')]);}else{switch(_0x1e24c4[_0xffdb('0xb')]){case _0xffdb('0x45'):var _0x250a8b=parseReadParameter(_0x1e24c4[_0xffdb('0x43')]);_0x5179a7[_0xffdb('0x46')][_0xffdb('0x47')](_0x250a8b);break;case _0xffdb('0x48'):if(_0x1e24c4[_0xffdb('0x49')]===_0xffdb('0x4a')){if(_0x1e24c4[_0xffdb('0x43')][_0xffdb('0x4b')]('\x20')['length']>0x1){_0x5179a7[_0xffdb('0x4c')][_0x253f9a](_0xffdb('0x3b'),qs['getFullTextValue'](_0x1e24c4[_0xffdb('0x43')],!![]),null);}else{var _0x2203b5='%'+_0x1e24c4[_0xffdb('0x43')]+'%';_0x5179a7[_0xffdb('0x4c')][_0x253f9a](_0xffdb('0x4d'),_0x2203b5,_0x2203b5,_0x2203b5);}}else{_0x2f9e66=_['find'](_0x120132,[_0xffdb('0xc'),_0xffdb('0x4e')]);_0x1e24c4[_0xffdb('0xb')]=_0xffdb('0x4e');_0x42be8e=as[_0xffdb('0x4f')](_0x339d05,_0x2f9e66[_0xffdb('0x3f')],_0x1e24c4);_0x5179a7[_0xffdb('0x4c')][_0x253f9a](_0x42be8e[_0xffdb('0x41')],_0x42be8e['value'][_0xffdb('0x42')],_0x42be8e[_0xffdb('0x43')][_0xffdb('0x44')]);}break;case _0xffdb('0x50'):var _0x4bb072=_0x1e24c4['value']['split'](',')[_0xffdb('0x1b')](function(_0x69e06c){return Number(_0x69e06c);});var _0x886be8=parseTagParameter(_0x4bb072);_0x5179a7[_0xffdb('0x51')]['clause'][_0xffdb('0x47')](_0x886be8);_0x5179a7[_0xffdb('0x51')][_0xffdb('0x52')]=_0x4bb072;break;case _0xffdb('0x53'):if(_0x1e24c4[_0xffdb('0x49')]==='$substring'){_0x5179a7[_0xffdb('0x54')][_0x253f9a](_0xffdb('0x55'),'%'+_0x1e24c4[_0xffdb('0x43')]+'%',null);}else{_0x2f9e66=_[_0xffdb('0x3e')](_0x120132,[_0xffdb('0xc'),'UserId']);_0x1e24c4[_0xffdb('0xb')]=_0xffdb('0x56');_0x42be8e=as[_0xffdb('0x4f')](_0x339d05,_0x2f9e66[_0xffdb('0x3f')],_0x1e24c4);_0x5179a7[_0xffdb('0x54')][_0x253f9a](_0x42be8e[_0xffdb('0x41')],_0x42be8e['value'][_0xffdb('0x42')],_0x42be8e['value'][_0xffdb('0x44')]);}break;case _0xffdb('0x57'):case'plainBody':_0x42be8e=as[_0xffdb('0x4f')]('me',null,_0x1e24c4);_0x5179a7[_0xffdb('0x57')][_0x253f9a](_0x42be8e[_0xffdb('0x41')],_0x42be8e[_0xffdb('0x43')][_0xffdb('0x42')],_0x42be8e['value'][_0xffdb('0x44')]);break;}}}return _0x5179a7;}function parseModelFields(_0x5e66f3,_0x5590c3,_0x476bee){var _0x84ff91=utils[_0xffdb('0x6')](_0x5e66f3);var _0x502ab9=squel[_0xffdb('0x27')]();var _0x1d8520=_(_0x5590c3)[_0xffdb('0x58')]()['map'](function(_0x2eae0c){return _[_0xffdb('0x59')](_0x476bee,[_0xffdb('0xc'),_0x2eae0c])?_0x2eae0c:undefined;})[_0xffdb('0x5a')]()[_0xffdb('0x43')]();if(_0x1d8520[_0xffdb('0x19')]>0x0){_0x1d8520[_0xffdb('0x29')](function(_0x222b6e){if(_0x222b6e===_0x84ff91){_0x502ab9[_0xffdb('0x47')]('i.'+_0x84ff91+'\x20IN\x20?',[][_0xffdb('0x5b')](_0x5590c3[_0x222b6e]));}else if(_0x222b6e===_0xffdb('0x5c')){var _0x51d6a8=JSON[_0xffdb('0x5d')](_0x5590c3[_0x222b6e])[_0xffdb('0x5e')];var _0x5bd198=JSON[_0xffdb('0x5d')](_0x5590c3[_0x222b6e])[_0xffdb('0x5f')];_0x502ab9['and']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x51d6a8,_0x5bd198);}else{if(_0x5590c3[_0x222b6e]===_0xffdb('0x60')){_0x502ab9[_0xffdb('0x47')]('i.'+_0x222b6e+_0xffdb('0x61'));}else{_0x502ab9[_0xffdb('0x47')]('i.'+_0x222b6e+_0xffdb('0x62'),_0x5590c3[_0x222b6e]);}}});}return _0x502ab9;}function parseQueryParameters(_0x145139,_0x52398f,_0x5d303e){var _0x5eb183=getSqlClauses();return Promise['resolve']()['then'](function(){return parseModelFields(_0x145139,_0x52398f,_0x5d303e);})[_0xffdb('0x63')](function(_0x177a0d){_0x5eb183[_0xffdb('0x64')]['and'](_0x177a0d);return parseReadParameter(_0x52398f['read']);})[_0xffdb('0x63')](function(_0x39c846){_0x5eb183[_0xffdb('0x46')][_0xffdb('0x47')](_0x39c846);return parseTagParameter(_0x52398f[_0xffdb('0x65')]);})[_0xffdb('0x63')](function(_0x4efa9c){_0x5eb183['tags']['clause'][_0xffdb('0x47')](_0x4efa9c);return parseSearchFilter(_0x145139,_0x52398f[_0xffdb('0x66')]);})[_0xffdb('0x63')](function(_0x4d966a){_0x5eb183[_0xffdb('0x66')]=_0x4d966a;return _0x5eb183;});}function checkAccountsRestrictions(_0xb40d38,_0x1b5690,_0x311671){var _0x1ca955=utils['getAccountFK'](_0xb40d38);var _0x134f17='get'+_['capitalize'](_0xb40d38)+(_0xb40d38===_0xffdb('0x67')?_0xffdb('0x68'):_0xffdb('0x69'));var _0x416501=squel[_0xffdb('0x27')]();return Promise[_0xffdb('0x6a')]()[_0xffdb('0x63')](function(){if(_0x311671['search']&&_0x1b5690['role']===_0xffdb('0x8')){return _0x1b5690[_0x134f17]({'attributes':['id'],'raw':!![]});}})[_0xffdb('0x63')](function(_0x4920c2){if(_0x4920c2){if(_0x4920c2[_0xffdb('0x19')]===0x0){_0x416501[_0xffdb('0x47')]('i.'+_0x1ca955+_0xffdb('0x61'));}else{_0x416501[_0xffdb('0x47')]('i.'+_0x1ca955+'\x20IN\x20?',_[_0xffdb('0x1b')](_0x4920c2,'id'));}}else if(!_0x311671[_0x1ca955]){_0x416501[_0xffdb('0x47')]('i.'+_0x1ca955+_0xffdb('0x6b'));}})['then'](function(){return _0x416501;});}function getClosedOrderClause(_0x12d6e5,_0x22fbf2){var _0x4acf94='';var _0x218e56=[_0xffdb('0x6c'),_0xffdb('0x6d'),_0xffdb('0x6e')];if(_0x12d6e5===_0xffdb('0x34')){_0x218e56[_0xffdb('0x6f')](_0xffdb('0x70'));}if(_0x22fbf2[_0xffdb('0x71')]==='0'&&_0x12d6e5===_0xffdb('0x34')){_0x4acf94=_0xffdb('0x70');}else{if(_0x22fbf2['closed']==='1'){_0x218e56[_0xffdb('0x72')]();}_0x4acf94=_0xffdb('0x73')+_0x218e56['join'](',\x20')+')';}return _0x4acf94;}function getFilteredInteractions(_0x12a86d,_0xbff3df,_0x16f57b,_0x4606ac){var _0x5454fe=utils[_0xffdb('0x10')](_0x12a86d);var _0x28f75c=_[_0xffdb('0x74')](_0x12a86d)+_0xffdb('0x75');var _0x1e59d7=[];var _0x49a2a2=getTagsQuery();var _0x2c4bf1={'type':db['Sequelize'][_0xffdb('0x76')]['SELECT'],'raw':!![]};var _0x5a5ab3=[];var _0x1e603c=[];return db[_0xffdb('0x77')][_0xffdb('0x78')](_0x49a2a2[_0xffdb('0x79')](),_0x2c4bf1)['then'](function(_0x27bd50){_0x1e59d7=_[_0xffdb('0x7a')](_0x27bd50,'id');_0x2c4bf1=_[_0xffdb('0x7b')](_0x2c4bf1,{'model':db[_0x28f75c],'mapToModel':!![],'nest':!![]});if(_0x16f57b[_0xffdb('0x64')]){_0x4606ac['attributes'][_0xffdb('0x29')](function(_0x32942c){_0xbff3df['field']('i.'+_0x32942c);});}else{_0xbff3df['field'](_0xffdb('0x7c'),_0xffdb('0x45'));_0xbff3df['field'](_0xffdb('0x7d'),_0xffdb('0x7e'));_0xbff3df[_0xffdb('0xb')](_0xffdb('0x7f'),'Account.mandatoryDisposition');if(_0x12a86d==='mail'){_0xbff3df[_0xffdb('0xb')](_0xffdb('0x80'),'Account.email');_0xbff3df[_0xffdb('0xb')](_0xffdb('0x81'),'contactName');_0xbff3df[_0xffdb('0xb')](_0xffdb('0x82'));_0xbff3df[_0xffdb('0xb')]('i.createdAt');_0xbff3df[_0xffdb('0xb')]('i.updatedAt');_0xbff3df[_0xffdb('0xb')](_0xffdb('0x83'));_0xbff3df[_0xffdb('0xb')]('i.closedAt');_0xbff3df[_0xffdb('0xb')]('i.attach');_0xbff3df[_0xffdb('0xb')](_0xffdb('0x84'));_0xbff3df[_0xffdb('0xb')]('i.lastMsgDirection');_0xbff3df[_0xffdb('0xb')](_0xffdb('0x85'));_0xbff3df[_0xffdb('0xb')](_0xffdb('0x6e'));_0xbff3df[_0xffdb('0xb')](_0xffdb('0x6d'));_0xbff3df['field'](_0xffdb('0x6c'));_0xbff3df[_0xffdb('0xb')](_0xffdb('0x70'));_0xbff3df[_0xffdb('0xb')](_0xffdb('0x86'));_0xbff3df[_0xffdb('0xb')](_0xffdb('0x87'));_0xbff3df['field'](_0xffdb('0x88'));_0xbff3df[_0xffdb('0xb')](_0xffdb('0x89'));}else if(_0x12a86d===_0xffdb('0x32')){_0xbff3df[_0xffdb('0xb')](_0xffdb('0x8a'),_0xffdb('0x8b'));}else{_0xbff3df[_0xffdb('0xb')](_0xffdb('0x8c'),_0xffdb('0x8b'));}if(_0x12a86d!==_0xffdb('0x34')){_0xbff3df['field'](_0xffdb('0x8d'));}_0xbff3df[_0xffdb('0xb')](_0xffdb('0x8e'),_0xffdb('0x8f'));_0xbff3df[_0xffdb('0xb')](_0xffdb('0x90'),_0xffdb('0x91'));_0xbff3df[_0xffdb('0xb')](_0xffdb('0x92'),'Contact.email');_0xbff3df['field'](_0xffdb('0x93'),_0xffdb('0x94'));_0xbff3df['field'](_0xffdb('0x95'),_0xffdb('0x96'));_0xbff3df[_0xffdb('0xb')]('c.fax','Contact.fax');_0xbff3df[_0xffdb('0xb')](_0xffdb('0x97'),_0xffdb('0x98'));_0xbff3df[_0xffdb('0xb')](_0xffdb('0x99'),_0xffdb('0x9a'));_0xbff3df['field'](_0xffdb('0x9b'),_0xffdb('0x9c'));}if(_0x4606ac[_0xffdb('0x9d')]){_0xbff3df[_0xffdb('0x9d')](_0x4606ac['limit']);}if(_0x4606ac['offset']){_0xbff3df[_0xffdb('0x9e')](_0x4606ac[_0xffdb('0x9e')]);}return db[_0xffdb('0x77')][_0xffdb('0x78')](_0xbff3df[_0xffdb('0x79')](),_0x2c4bf1);})[_0xffdb('0x63')](function(_0x3a2beb){_0x5a5ab3=_0x3a2beb;var _0xd82483=getUsersQuery(_0x12a86d,_0x5a5ab3);return db[_0xffdb('0x77')][_0xffdb('0x78')](_0xd82483['toString'](),_0x2c4bf1);})[_0xffdb('0x63')](function(_0x5b23d7){_0x1e603c=_[_0xffdb('0x9f')](_0x5b23d7,_0x5454fe);if(_0x12a86d===_0xffdb('0x34')){return db['Setting'][_0xffdb('0xa0')]({'attributes':[_0xffdb('0xa1')],'raw':!![]});}})[_0xffdb('0x63')](function(_0x57f3c1){var _0x1036cf=_0x57f3c1?_0x57f3c1[_0xffdb('0xa1')]:undefined;var _0x38e78c=_0x5a5ab3[_0xffdb('0x1b')](function(_0x4f6aef){return updateInteraction(_0x4f6aef,_0x1e59d7,_0x1e603c,_0x1036cf);});return Promise['all'](_0x38e78c);});}function countFilteredInteractions(_0x217fb4,_0x55197d){var _0x49bd46=_0x217fb4['clone']();_0x49bd46['field'](_0xffdb('0xa2'));_0x49bd46[_0xffdb('0xb')](_0xffdb('0x7c'),_0xffdb('0x45'));var _0x2d47b8=utils[_0xffdb('0x28')](_0x55197d);if(!_[_0xffdb('0xa3')](_0x2d47b8)){_0x49bd46['where'](_0xffdb('0xa4'),_0x2d47b8);}var _0x1cfe50={'type':db[_0xffdb('0xa5')][_0xffdb('0x76')][_0xffdb('0xa6')],'raw':!![]};return db['sequelize'][_0xffdb('0x78')](_0x49bd46[_0xffdb('0x79')](),_0x1cfe50);}module[_0xffdb('0xa7')]={'checkAccountsRestrictions':checkAccountsRestrictions,'countFilteredInteractions':countFilteredInteractions,'getClosedOrderClause':getClosedOrderClause,'getFilteredInteractions':getFilteredInteractions,'getInteractionsQuery':getInteractionsQuery,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipInteractionsQuery':skipInteractionsQuery};