ff2d6fe1fb4342d4c86a68aa43f25b262a2e8f2e
[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 _0x42c1=['MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','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','name','buildExpression','text','value','start','unreadMessages','Contact','operator','$substring','split','contact','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','find','ContactId','end','tags','clause','and','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','type','body','plainBody','keys','some','compact','concat','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','resolve','then','fields','read','tag','filter','chat','Websites','Accounts','agent','\x20IS\x20NOT\x20NULL','i.disposition','unshift','i.substatus','closed','shift','CONCAT_WS(\x27\x27,\x20','join','capitalize','Interaction','Sequelize','QueryTypes','SELECT','sequelize','toString','keyBy','merge','attributes','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','a.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.closed','i.lastMsgAt','i.subject','i.secondDisposition','i.thirdDisposition','i.to','i.MailAccountId','i.UserId','openchannel','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','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','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','TagIds','limit','offset','query','Setting','findOne','enableEmailPreview','all','clone','exports','squel','../parsers/advancedSearch','../parsers/qs','updateInteraction','./utils','../../mysqldb','getAccountFK','role','search','select','field','from','tools_tags','getInteractionFK','user_has_','u.id','u.fullname','ui.','left_join','users','length','where','\x20IN\x20?','map','getInteractionsTables','interactions','cm_contacts','o.id\x20=\x20i.UserId','accounts','a.id\x20=\x20i.','messages','me.','it.','\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','getSelectedTags','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','replace','{OPERATOR}','i.id\x20LIKE\x20?','sms','whatsapp','includes','i.phone\x20LIKE\x20?','i.fax\x20LIKE\x20?','i.from\x20LIKE\x20?','mail','isEmail','c.email\x20LIKE\x20?'];(function(_0x472bc0,_0x2918f1){var _0x19e4b2=function(_0x1e304f){while(--_0x1e304f){_0x472bc0['push'](_0x472bc0['shift']());}};_0x19e4b2(++_0x2918f1);}(_0x42c1,0x1bc));var _0x142c=function(_0x48dfb8,_0x2a7d76){_0x48dfb8=_0x48dfb8-0x0;var _0xe1547b=_0x42c1[_0x48dfb8];return _0xe1547b;};'use strict';var _=require('lodash');var squel=require(_0x142c('0x0'));var as=require(_0x142c('0x1'));var qs=require(_0x142c('0x2'));var updateInteraction=require('./update-interaction')[_0x142c('0x3')];var utils=require(_0x142c('0x4'));var db=require(_0x142c('0x5'))['db'];function skipInteractionsQuery(_0x3dd5ba,_0x275e69,_0x2a2d47){var _0x382cec=![];var _0x3053a1=utils[_0x142c('0x6')](_0x3dd5ba);if(_0x275e69[_0x142c('0x7')]==='agent'&&!_0x2a2d47[_0x142c('0x8')]&&!_0x2a2d47[_0x3053a1]){_0x382cec=!![];}return _0x382cec;}function getTagsQuery(){return squel[_0x142c('0x9')]()[_0x142c('0xa')]('id')[_0x142c('0xa')]('name')['field']('color')[_0x142c('0xb')](_0x142c('0xc'));}function getUsersQuery(_0x20fee3,_0xf6c50f){var _0x270dfa=utils[_0x142c('0xd')](_0x20fee3);var _0x1ab590=_0x142c('0xe')+_0x20fee3+'_interactions';var _0x33fb22=squel['select']()[_0x142c('0xa')](_0x142c('0xf'))[_0x142c('0xa')](_0x142c('0x10'))[_0x142c('0xa')](_0x142c('0x11')+_0x270dfa)[_0x142c('0xb')](_0x1ab590,'ui')[_0x142c('0x12')](_0x142c('0x13'),'u','u.id\x20=\x20ui.UserId');if(_0xf6c50f[_0x142c('0x14')]>0x0){_0x33fb22[_0x142c('0x15')](_0x142c('0x11')+_0x270dfa+_0x142c('0x16'),_[_0x142c('0x17')](_0xf6c50f,'id'));}return _0x33fb22;}function getInteractionsQuery(_0x4ef47e){var _0x3ea5b1=utils[_0x142c('0x18')](_0x4ef47e);var _0x3a2728=utils['getAccountFK'](_0x4ef47e);var _0x40c8b5=utils[_0x142c('0xd')](_0x4ef47e);return squel[_0x142c('0x9')]()[_0x142c('0xb')](_0x3ea5b1[_0x142c('0x19')],'i')[_0x142c('0x12')](_0x142c('0x1a'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x142c('0x12')]('users','o',_0x142c('0x1b'))[_0x142c('0x12')](_0x3ea5b1[_0x142c('0x1c')],'a',_0x142c('0x1d')+_0x3a2728)[_0x142c('0x12')](_0x3ea5b1[_0x142c('0x1e')],'me',_0x142c('0x1f')+_0x40c8b5+'\x20=\x20i.id')[_0x142c('0x12')](_0x3ea5b1['interactionsTags'],'it',_0x142c('0x20')+_0x40c8b5+_0x142c('0x21'))['left_join'](_0x142c('0xc'),'t',_0x142c('0x22'));}function getSqlClauses(){var _0xd8ae2b={'body':squel['expr'](),'contact':squel[_0x142c('0x23')](),'default':squel[_0x142c('0x23')](),'fields':squel[_0x142c('0x23')](),'filter':squel['expr'](),'read':squel['expr'](),'tags':{'clause':squel['expr'](),'ids':null},'user':squel[_0x142c('0x23')]()};return _0xd8ae2b;}function parseTagParameter(_0x1f1c3b){var _0x1b6679=squel[_0x142c('0x23')]();if(_0x1f1c3b){var _0x1c4a52=utils[_0x142c('0x24')](_0x1f1c3b);_0x1c4a52[_0x142c('0x25')](function(_0x15bf27){_0x1b6679['or'](_0x142c('0x26'),'%,'+_0x15bf27+',%');});}return _0x1b6679;}function parseReadParameter(_0x25b3b5){var _0x27f90e='';if(_0x25b3b5){_0x27f90e='unreadMessages\x20{OPERATOR}\x200';if(_0x25b3b5==='1'){_0x27f90e=_0x27f90e[_0x142c('0x27')](_0x142c('0x28'),'=');}else{_0x27f90e=_0x27f90e[_0x142c('0x27')](_0x142c('0x28'),'>');}}return _0x27f90e;}function parseSearchFilter(_0x3695df,_0x4c6510){var _0x38c90c=squel[_0x142c('0x23')]();if(_0x4c6510){var _0x28eb58=_0x4c6510[_0x142c('0x27')]('\x5c','\x5c\x5c')[_0x142c('0x27')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x28eb58)){_0x38c90c['or'](_0x142c('0x29'),_0x28eb58+'%');if([_0x142c('0x2a'),_0x142c('0x2b')][_0x142c('0x2c')](_0x3695df)){_0x38c90c['or'](_0x142c('0x2d'),_0x28eb58+'%');}else if(_0x3695df==='fax'){_0x38c90c['or'](_0x142c('0x2e'),_0x28eb58+'%');}else if(_0x3695df==='openchannel'){_0x38c90c['or'](_0x142c('0x2f'),_0x28eb58+'%');}}else if(_0x3695df===_0x142c('0x30')&&qs[_0x142c('0x31')](_0x28eb58)){_0x38c90c['or'](_0x142c('0x32'),_0x28eb58+'%');}else{if(_0x3695df==='mail'){_0x38c90c['or'](_0x142c('0x33'),qs[_0x142c('0x34')](_0x28eb58,!![]))['or'](_0x142c('0x35'),qs['getFullTextValue'](_0x28eb58));}else if(_0x3695df!==_0x142c('0x36')){_0x38c90c['or'](_0x142c('0x37'),qs[_0x142c('0x34')](_0x28eb58));}_0x38c90c['or']('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x142c('0x34')](_0x28eb58,!![]),null);}}return _0x38c90c;}function parseAdvancedSearchFilter(_0x39725a,_0x50f871){var _0x192ada=getSqlClauses();var _0x311f00=as[_0x142c('0x38')](_0x39725a);var _0x2de65e=_0x311f00[_0x142c('0x39')];for(var _0x327021=0x0;_0x327021<_0x311f00[_0x142c('0x3a')][_0x142c('0x14')];_0x327021++){var _0xfe520e=_0x311f00[_0x142c('0x3a')][_0x327021];var _0x2e52a4='i';var _0xbf6add=_['find'](_0x50f871,[_0x142c('0x3b'),_0xfe520e['field']]);if(_0xbf6add){var _0x10ccce=as[_0x142c('0x3c')](_0x2e52a4,_0xbf6add['type'],_0xfe520e);_0x192ada['default'][_0x2de65e](_0x10ccce[_0x142c('0x3d')],_0x10ccce[_0x142c('0x3e')][_0x142c('0x3f')],_0x10ccce[_0x142c('0x3e')]['end']);}else{switch(_0xfe520e['field']){case _0x142c('0x40'):var _0x5bbaca=parseReadParameter(_0xfe520e[_0x142c('0x3e')]);_0x192ada['read']['and'](_0x5bbaca);break;case _0x142c('0x41'):if(_0xfe520e[_0x142c('0x42')]===_0x142c('0x43')){if(_0xfe520e['value'][_0x142c('0x44')]('\x20')['length']>0x1){_0x192ada[_0x142c('0x45')][_0x2de65e]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x142c('0x34')](_0xfe520e[_0x142c('0x3e')],!![]),null);}else{var _0x10376a='%'+_0xfe520e['value']+'%';_0x192ada[_0x142c('0x45')][_0x2de65e](_0x142c('0x46'),_0x10376a,_0x10376a,_0x10376a);}}else{_0xbf6add=_[_0x142c('0x47')](_0x50f871,[_0x142c('0x3b'),_0x142c('0x48')]);_0xfe520e[_0x142c('0xa')]='ContactId';_0x10ccce=as[_0x142c('0x3c')](_0x2e52a4,_0xbf6add['type'],_0xfe520e);_0x192ada[_0x142c('0x45')][_0x2de65e](_0x10ccce[_0x142c('0x3d')],_0x10ccce[_0x142c('0x3e')][_0x142c('0x3f')],_0x10ccce[_0x142c('0x3e')][_0x142c('0x49')]);}break;case'Tag':var _0xccc9b4=_0xfe520e[_0x142c('0x3e')][_0x142c('0x44')](',')[_0x142c('0x17')](function(_0xc2e446){return Number(_0xc2e446);});var _0x526607=parseTagParameter(_0xccc9b4);_0x192ada[_0x142c('0x4a')][_0x142c('0x4b')][_0x142c('0x4c')](_0x526607);_0x192ada['tags']['ids']=_0xccc9b4;break;case _0x142c('0x4d'):if(_0xfe520e[_0x142c('0x42')]===_0x142c('0x43')){_0x192ada['user'][_0x2de65e](_0x142c('0x4e'),'%'+_0xfe520e[_0x142c('0x3e')]+'%',null);}else{_0xbf6add=_['find'](_0x50f871,[_0x142c('0x3b'),'UserId']);_0xfe520e[_0x142c('0xa')]=_0x142c('0x4f');_0x10ccce=as[_0x142c('0x3c')](_0x2e52a4,_0xbf6add[_0x142c('0x50')],_0xfe520e);_0x192ada['user'][_0x2de65e](_0x10ccce[_0x142c('0x3d')],_0x10ccce[_0x142c('0x3e')]['start'],_0x10ccce[_0x142c('0x3e')][_0x142c('0x49')]);}break;case _0x142c('0x51'):case _0x142c('0x52'):_0x10ccce=as[_0x142c('0x3c')]('me',null,_0xfe520e);_0x192ada['body'][_0x2de65e](_0x10ccce[_0x142c('0x3d')],_0x10ccce[_0x142c('0x3e')][_0x142c('0x3f')],_0x10ccce[_0x142c('0x3e')][_0x142c('0x49')]);break;}}}return _0x192ada;}function parseModelFields(_0x4db21d,_0x47ab0e,_0x287e82){var _0x6ce1fa=utils['getAccountFK'](_0x4db21d);var _0x862226=squel[_0x142c('0x23')]();var _0x18f04b=_(_0x47ab0e)[_0x142c('0x53')]()[_0x142c('0x17')](function(_0x188bd5){return _[_0x142c('0x54')](_0x287e82,['name',_0x188bd5])?_0x188bd5:undefined;})[_0x142c('0x55')]()[_0x142c('0x3e')]();if(_0x18f04b[_0x142c('0x14')]>0x0){_0x18f04b[_0x142c('0x25')](function(_0x4f05c3){if(_0x4f05c3===_0x6ce1fa){_0x862226['and']('i.'+_0x6ce1fa+_0x142c('0x16'),[][_0x142c('0x56')](_0x47ab0e[_0x4f05c3]));}else if(_0x4f05c3===_0x142c('0x57')){var _0x19bef4=JSON[_0x142c('0x58')](_0x47ab0e[_0x4f05c3])['$gte'];var _0x299580=JSON['parse'](_0x47ab0e[_0x4f05c3])[_0x142c('0x59')];_0x862226[_0x142c('0x4c')](_0x142c('0x5a'),_0x19bef4,_0x299580);}else{if(_0x47ab0e[_0x4f05c3]==='null'){_0x862226[_0x142c('0x4c')]('i.'+_0x4f05c3+_0x142c('0x5b'));}else{_0x862226[_0x142c('0x4c')]('i.'+_0x4f05c3+_0x142c('0x5c'),_0x47ab0e[_0x4f05c3]);}}});}return _0x862226;}function parseQueryParameters(_0x446eb2,_0x20e116,_0x3fc900){var _0x1dbd13=getSqlClauses();return Promise[_0x142c('0x5d')]()[_0x142c('0x5e')](function(){return parseModelFields(_0x446eb2,_0x20e116,_0x3fc900);})[_0x142c('0x5e')](function(_0x4fd614){_0x1dbd13[_0x142c('0x5f')]['and'](_0x4fd614);return parseReadParameter(_0x20e116['read']);})[_0x142c('0x5e')](function(_0x200fd5){_0x1dbd13[_0x142c('0x60')][_0x142c('0x4c')](_0x200fd5);return parseTagParameter(_0x20e116[_0x142c('0x61')]);})[_0x142c('0x5e')](function(_0x8cdca6){_0x1dbd13['tags'][_0x142c('0x4b')]['and'](_0x8cdca6);return parseSearchFilter(_0x446eb2,_0x20e116[_0x142c('0x62')]);})[_0x142c('0x5e')](function(_0x48f849){_0x1dbd13[_0x142c('0x62')]=_0x48f849;return _0x1dbd13;});}function checkAccountsRestrictions(_0x5c67d9,_0x16425d,_0x549209){var _0x206498=utils['getAccountFK'](_0x5c67d9);var _0x46634d='get'+_['capitalize'](_0x5c67d9)+(_0x5c67d9===_0x142c('0x63')?_0x142c('0x64'):_0x142c('0x65'));var _0x4fa5a6=squel['expr']();return Promise['resolve']()['then'](function(){if(_0x549209['search']&&_0x16425d[_0x142c('0x7')]===_0x142c('0x66')){return _0x16425d[_0x46634d]({'attributes':['id'],'raw':!![]});}})[_0x142c('0x5e')](function(_0x45df6b){if(_0x45df6b){if(_0x45df6b['length']===0x0){_0x4fa5a6[_0x142c('0x4c')]('i.'+_0x206498+'\x20IS\x20NULL');}else{_0x4fa5a6[_0x142c('0x4c')]('i.'+_0x206498+_0x142c('0x16'),_[_0x142c('0x17')](_0x45df6b,'id'));}}else if(!_0x549209[_0x206498]){_0x4fa5a6[_0x142c('0x4c')]('i.'+_0x206498+_0x142c('0x67'));}})[_0x142c('0x5e')](function(){return _0x4fa5a6;});}function getClosedOrderClause(_0x1b86f9,_0x18396c){var _0x4d470c='';var _0x84e18d=['i.thirdDisposition','i.secondDisposition',_0x142c('0x68')];if(_0x1b86f9==='mail'){_0x84e18d[_0x142c('0x69')](_0x142c('0x6a'));}if(_0x18396c[_0x142c('0x6b')]==='0'&&_0x1b86f9===_0x142c('0x30')){_0x4d470c=_0x142c('0x6a');}else{if(_0x18396c[_0x142c('0x6b')]==='1'){_0x84e18d[_0x142c('0x6c')]();}_0x4d470c=_0x142c('0x6d')+_0x84e18d[_0x142c('0x6e')](',\x20')+')';}return _0x4d470c;}function getFilteredInteractions(_0x370fda,_0x30f067,_0xc1483b,_0x1744e4){var _0x196eeb=utils[_0x142c('0xd')](_0x370fda);var _0x3877b9=_[_0x142c('0x6f')](_0x370fda)+_0x142c('0x70');var _0x18ed5d=[];var _0x148271=getTagsQuery();var _0x5471da={'type':db[_0x142c('0x71')][_0x142c('0x72')][_0x142c('0x73')],'raw':!![]};var _0x25bdf0=[];var _0x16aa00=[];return db[_0x142c('0x74')]['query'](_0x148271[_0x142c('0x75')](),_0x5471da)[_0x142c('0x5e')](function(_0x341689){_0x18ed5d=_[_0x142c('0x76')](_0x341689,'id');_0x5471da=_[_0x142c('0x77')](_0x5471da,{'model':db[_0x3877b9],'mapToModel':!![],'nest':!![]});if(_0xc1483b[_0x142c('0x5f')]){_0x1744e4[_0x142c('0x78')][_0x142c('0x25')](function(_0x49b9fb){_0x30f067[_0x142c('0xa')]('i.'+_0x49b9fb);});}else{_0x30f067[_0x142c('0xa')](_0x142c('0x79'),_0x142c('0x40'));_0x30f067[_0x142c('0xa')](_0x142c('0x7a'),_0x142c('0x7b'));_0x30f067['field'](_0x142c('0x7c'),'Account.mandatoryDisposition');if(_0x370fda===_0x142c('0x30')){_0x30f067[_0x142c('0xa')](_0x142c('0x7d'),_0x142c('0x7e'));_0x30f067[_0x142c('0xa')](_0x142c('0x7f'),_0x142c('0x80'));_0x30f067[_0x142c('0xa')]('i.id');_0x30f067[_0x142c('0xa')]('i.createdAt');_0x30f067[_0x142c('0xa')]('i.updatedAt');_0x30f067[_0x142c('0xa')](_0x142c('0x81'));_0x30f067[_0x142c('0xa')]('i.closedAt');_0x30f067['field']('i.attach');_0x30f067[_0x142c('0xa')](_0x142c('0x82'));_0x30f067['field']('i.lastMsgDirection');_0x30f067[_0x142c('0xa')](_0x142c('0x83'));_0x30f067['field']('i.disposition');_0x30f067['field'](_0x142c('0x84'));_0x30f067['field'](_0x142c('0x85'));_0x30f067['field']('i.substatus');_0x30f067[_0x142c('0xa')](_0x142c('0x86'));_0x30f067[_0x142c('0xa')]('i.ContactId');_0x30f067['field'](_0x142c('0x87'));_0x30f067[_0x142c('0xa')](_0x142c('0x88'));}else if(_0x370fda===_0x142c('0x89')){_0x30f067[_0x142c('0xa')](_0x142c('0x8a'),'contactName');}else{_0x30f067[_0x142c('0xa')](_0x142c('0x8b'),_0x142c('0x80'));}if(_0x370fda!==_0x142c('0x30')){_0x30f067[_0x142c('0xa')](_0x142c('0x8c'));}_0x30f067[_0x142c('0xa')](_0x142c('0x8d'),_0x142c('0x8e'));_0x30f067[_0x142c('0xa')](_0x142c('0x8f'),'Contact.lastName');_0x30f067[_0x142c('0xa')](_0x142c('0x90'),_0x142c('0x91'));_0x30f067[_0x142c('0xa')](_0x142c('0x92'),_0x142c('0x93'));_0x30f067[_0x142c('0xa')](_0x142c('0x94'),_0x142c('0x95'));_0x30f067[_0x142c('0xa')](_0x142c('0x96'),_0x142c('0x97'));_0x30f067[_0x142c('0xa')]('o.fullname',_0x142c('0x98'));_0x30f067['field']('o.internal',_0x142c('0x99'));_0x30f067['field'](_0x142c('0x9a'),_0x142c('0x9b'));}if(_0x1744e4[_0x142c('0x9c')]){_0x30f067[_0x142c('0x9c')](_0x1744e4['limit']);}if(_0x1744e4['offset']){_0x30f067[_0x142c('0x9d')](_0x1744e4['offset']);}return db['sequelize'][_0x142c('0x9e')](_0x30f067[_0x142c('0x75')](),_0x5471da);})['then'](function(_0x2d5e19){_0x25bdf0=_0x2d5e19;var _0x1390e7=getUsersQuery(_0x370fda,_0x25bdf0);return db[_0x142c('0x74')][_0x142c('0x9e')](_0x1390e7[_0x142c('0x75')](),_0x5471da);})[_0x142c('0x5e')](function(_0x4db3f4){_0x16aa00=_['groupBy'](_0x4db3f4,_0x196eeb);if(_0x370fda===_0x142c('0x30')){return db[_0x142c('0x9f')][_0x142c('0xa0')]({'attributes':[_0x142c('0xa1')],'raw':!![]});}})[_0x142c('0x5e')](function(_0x396ced){var _0x5a98e4=_0x396ced?_0x396ced[_0x142c('0xa1')]:undefined;var _0x2e67ed=_0x25bdf0[_0x142c('0x17')](function(_0x55987d){return updateInteraction(_0x55987d,_0x18ed5d,_0x16aa00,_0x5a98e4);});return Promise[_0x142c('0xa2')](_0x2e67ed);});}function countFilteredInteractions(_0x5e97f1,_0x4697e8){var _0x11b1c3=_0x5e97f1[_0x142c('0xa3')]();_0x11b1c3['field']('COUNT(*)');_0x11b1c3[_0x142c('0xa')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x142c('0x40'));var _0x31d749=utils[_0x142c('0x24')](_0x4697e8);if(!_['isEmpty'](_0x31d749)){_0x11b1c3['where']('t.id\x20IN\x20?',_0x31d749);}var _0x1ded54={'type':db[_0x142c('0x71')][_0x142c('0x72')][_0x142c('0x73')],'raw':!![]};return db['sequelize']['query'](_0x11b1c3['toString'](),_0x1ded54);}module[_0x142c('0xa4')]={'checkAccountsRestrictions':checkAccountsRestrictions,'countFilteredInteractions':countFilteredInteractions,'getClosedOrderClause':getClosedOrderClause,'getFilteredInteractions':getFilteredInteractions,'getInteractionsQuery':getInteractionsQuery,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipInteractionsQuery':skipInteractionsQuery};