ff7b51a9dd2f0210840a776f4ce0f23d997fbae3
[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 _0xac55=['search','select','field','name','from','tools_tags','user_has_','u.id','left_join','u.id\x20=\x20ui.UserId','where','ui.','\x20IN\x20?','map','getInteractionsTables','getAccountFK','getInteractionFK','interactions','cm_contacts','users','accounts','me.','\x20=\x20i.id','it.','t.id\x20=\x20it.TagId','expr','getSelectedTags','unreadMessages\x20{OPERATOR}\x200','{OPERATOR}','replace','isNumeric','i.id\x20LIKE\x20?','whatsapp','includes','i.phone\x20LIKE\x20?','i.fax\x20LIKE\x20?','i.from\x20LIKE\x20?','mail','isEmail','c.email\x20LIKE\x20?','getFullTextValue','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','parseSearch','sqlOperator','conditions','length','find','buildExpression','type','default','text','value','start','read','and','Contact','operator','$substring','split','contact','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','end','Tag','tags','ids','user','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','plainBody','keys','some','compact','forEach','concat','createdAt','$gte','parse','$lte','\x20IS\x20NULL','\x20=\x20?','resolve','then','fields','clause','filter','get','Accounts','\x20IS\x20NOT\x20NULL','unshift','i.substatus','closed','shift','capitalize','Interaction','Sequelize','QueryTypes','SELECT','sequelize','query','toString','keyBy','unreadMessages','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','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.createdAt','i.closed','i.closedAt','i.lastMsgAt','i.lastMsgDirection','i.subject','i.secondDisposition','i.thirdDisposition','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','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.email','c.phone','Contact.mobile','c.fax','Contact.fax','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','TagIds','limit','offset','groupBy','Setting','enableEmailPreview','all','clone','exports','lodash','squel','../parsers/advancedSearch','../parsers/qs','updateInteraction','./utils','../../mysqldb','role','agent'];(function(_0x19f275,_0x3c2e41){var _0x4a1c82=function(_0x27c412){while(--_0x27c412){_0x19f275['push'](_0x19f275['shift']());}};_0x4a1c82(++_0x3c2e41);}(_0xac55,0x1c8));var _0x5ac5=function(_0x52eb8d,_0x27c32c){_0x52eb8d=_0x52eb8d-0x0;var _0xfd0237=_0xac55[_0x52eb8d];return _0xfd0237;};'use strict';var _=require(_0x5ac5('0x0'));var squel=require(_0x5ac5('0x1'));var as=require(_0x5ac5('0x2'));var qs=require(_0x5ac5('0x3'));var updateInteraction=require('./update-interaction')[_0x5ac5('0x4')];var utils=require(_0x5ac5('0x5'));var db=require(_0x5ac5('0x6'))['db'];function skipInteractionsQuery(_0x1cdfec,_0x3706ee,_0x245d73){var _0x234650=![];var _0x52e117=utils['getAccountFK'](_0x1cdfec);if(_0x3706ee[_0x5ac5('0x7')]===_0x5ac5('0x8')&&!_0x245d73[_0x5ac5('0x9')]&&!_0x245d73[_0x52e117]){_0x234650=!![];}return _0x234650;}function getTagsQuery(){return squel[_0x5ac5('0xa')]()[_0x5ac5('0xb')]('id')[_0x5ac5('0xb')](_0x5ac5('0xc'))['field']('color')[_0x5ac5('0xd')](_0x5ac5('0xe'));}function getUsersQuery(_0x4ec845,_0x127342){var _0x294425=utils['getInteractionFK'](_0x4ec845);var _0x2b70ed=_0x5ac5('0xf')+_0x4ec845+'_interactions';var _0x3bf4ea=squel[_0x5ac5('0xa')]()[_0x5ac5('0xb')](_0x5ac5('0x10'))[_0x5ac5('0xb')]('u.fullname')[_0x5ac5('0xb')]('ui.'+_0x294425)[_0x5ac5('0xd')](_0x2b70ed,'ui')[_0x5ac5('0x11')]('users','u',_0x5ac5('0x12'));if(_0x127342['length']>0x0){_0x3bf4ea[_0x5ac5('0x13')](_0x5ac5('0x14')+_0x294425+_0x5ac5('0x15'),_[_0x5ac5('0x16')](_0x127342,'id'));}return _0x3bf4ea;}function getInteractionsQuery(_0x34a95e){var _0x3e35e9=utils[_0x5ac5('0x17')](_0x34a95e);var _0x5510ef=utils[_0x5ac5('0x18')](_0x34a95e);var _0x5364a6=utils[_0x5ac5('0x19')](_0x34a95e);return squel[_0x5ac5('0xa')]()['from'](_0x3e35e9[_0x5ac5('0x1a')],'i')['left_join'](_0x5ac5('0x1b'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join'](_0x5ac5('0x1c'),'o','o.id\x20=\x20i.UserId')[_0x5ac5('0x11')](_0x3e35e9[_0x5ac5('0x1d')],'a','a.id\x20=\x20i.'+_0x5510ef)[_0x5ac5('0x11')](_0x3e35e9['messages'],'me',_0x5ac5('0x1e')+_0x5364a6+_0x5ac5('0x1f'))['left_join'](_0x3e35e9['interactionsTags'],'it',_0x5ac5('0x20')+_0x5364a6+_0x5ac5('0x1f'))[_0x5ac5('0x11')](_0x5ac5('0xe'),'t',_0x5ac5('0x21'));}function getSqlClauses(){var _0x4dec2f={'body':squel[_0x5ac5('0x22')](),'contact':squel[_0x5ac5('0x22')](),'default':squel[_0x5ac5('0x22')](),'fields':squel[_0x5ac5('0x22')](),'filter':squel['expr'](),'read':squel[_0x5ac5('0x22')](),'tags':{'clause':squel['expr'](),'ids':null},'user':squel[_0x5ac5('0x22')]()};return _0x4dec2f;}function parseTagParameter(_0x74f32b){var _0x1d78cf=squel[_0x5ac5('0x22')]();if(_0x74f32b){var _0x3ab796=utils[_0x5ac5('0x23')](_0x74f32b);_0x3ab796['forEach'](function(_0x31f9cc){_0x1d78cf['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x31f9cc+',%');});}return _0x1d78cf;}function parseReadParameter(_0x24e8c7){var _0x3d0e6f='';if(_0x24e8c7){_0x3d0e6f=_0x5ac5('0x24');if(_0x24e8c7==='1'){_0x3d0e6f=_0x3d0e6f['replace'](_0x5ac5('0x25'),'=');}else{_0x3d0e6f=_0x3d0e6f[_0x5ac5('0x26')](_0x5ac5('0x25'),'>');}}return _0x3d0e6f;}function parseSearchFilter(_0x21307c,_0x4eafa1){var _0x16c472=squel['expr']();if(_0x4eafa1){var _0x3414ba=_0x4eafa1[_0x5ac5('0x26')]('\x5c','\x5c\x5c')[_0x5ac5('0x26')](/'/g,'\x27\x27');if(qs[_0x5ac5('0x27')](_0x3414ba)){_0x16c472['or'](_0x5ac5('0x28'),_0x3414ba+'%');if(['sms',_0x5ac5('0x29')][_0x5ac5('0x2a')](_0x21307c)){_0x16c472['or'](_0x5ac5('0x2b'),_0x3414ba+'%');}else if(_0x21307c==='fax'){_0x16c472['or'](_0x5ac5('0x2c'),_0x3414ba+'%');}else if(_0x21307c==='openchannel'){_0x16c472['or'](_0x5ac5('0x2d'),_0x3414ba+'%');}}else if(_0x21307c===_0x5ac5('0x2e')&&qs[_0x5ac5('0x2f')](_0x3414ba)){_0x16c472['or'](_0x5ac5('0x30'),_0x3414ba+'%');}else{if(_0x21307c===_0x5ac5('0x2e')){_0x16c472['or']('MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x5ac5('0x31')](_0x3414ba))['or']('MATCH\x20(me.plainBody,\x20me.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x5ac5('0x31')](_0x3414ba));}else{if(_0x21307c!=='fax'){_0x16c472['or'](_0x5ac5('0x32'),qs[_0x5ac5('0x31')](_0x3414ba));}_0x16c472['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x3414ba+'%');}}}return _0x16c472;}function parseAdvancedSearchFilter(_0x2bd707,_0x465a41){var _0x585e4b=getSqlClauses();var _0x4b8dd5=as[_0x5ac5('0x33')](_0x2bd707);var _0x1479e1=_0x4b8dd5[_0x5ac5('0x34')];for(var _0xb78c67=0x0;_0xb78c67<_0x4b8dd5[_0x5ac5('0x35')][_0x5ac5('0x36')];_0xb78c67++){var _0x4c3372=_0x4b8dd5['conditions'][_0xb78c67];var _0x4dc522='i';var _0xb77951=_[_0x5ac5('0x37')](_0x465a41,['name',_0x4c3372[_0x5ac5('0xb')]]);if(_0xb77951){var _0x42a5d6=as[_0x5ac5('0x38')](_0x4dc522,_0xb77951[_0x5ac5('0x39')],_0x4c3372);_0x585e4b[_0x5ac5('0x3a')][_0x1479e1](_0x42a5d6[_0x5ac5('0x3b')],_0x42a5d6[_0x5ac5('0x3c')][_0x5ac5('0x3d')],_0x42a5d6[_0x5ac5('0x3c')]['end']);}else{switch(_0x4c3372[_0x5ac5('0xb')]){case'unreadMessages':var _0x1453c7=parseReadParameter(_0x4c3372[_0x5ac5('0x3c')]);_0x585e4b[_0x5ac5('0x3e')][_0x5ac5('0x3f')](_0x1453c7);break;case _0x5ac5('0x40'):if(_0x4c3372[_0x5ac5('0x41')]===_0x5ac5('0x42')){if(_0x4c3372[_0x5ac5('0x3c')][_0x5ac5('0x43')]('\x20')['length']>0x1){_0x585e4b[_0x5ac5('0x44')][_0x1479e1](_0x5ac5('0x45'),qs['getFullTextValue'](_0x4c3372['value']),null);}else{var _0x3f9054='%'+_0x4c3372['value']+'%';_0x585e4b[_0x5ac5('0x44')][_0x1479e1](_0x5ac5('0x46'),_0x3f9054,_0x3f9054,_0x3f9054);}}else{_0xb77951=_['find'](_0x465a41,['name',_0x5ac5('0x47')]);_0x4c3372[_0x5ac5('0xb')]=_0x5ac5('0x47');_0x42a5d6=as[_0x5ac5('0x38')](_0x4dc522,_0xb77951[_0x5ac5('0x39')],_0x4c3372);_0x585e4b[_0x5ac5('0x44')][_0x1479e1](_0x42a5d6[_0x5ac5('0x3b')],_0x42a5d6['value'][_0x5ac5('0x3d')],_0x42a5d6[_0x5ac5('0x3c')][_0x5ac5('0x48')]);}break;case _0x5ac5('0x49'):var _0x1a0f1c=_0x4c3372[_0x5ac5('0x3c')]['split'](',')[_0x5ac5('0x16')](function(_0x24657d){return Number(_0x24657d);});var _0x483419=parseTagParameter(_0x1a0f1c);_0x585e4b[_0x5ac5('0x4a')]['clause'][_0x5ac5('0x3f')](_0x483419);_0x585e4b[_0x5ac5('0x4a')][_0x5ac5('0x4b')]=_0x1a0f1c;break;case'User':if(_0x4c3372['operator']===_0x5ac5('0x42')){_0x585e4b[_0x5ac5('0x4c')][_0x1479e1](_0x5ac5('0x4d'),'%'+_0x4c3372[_0x5ac5('0x3c')]+'%',null);}else{_0xb77951=_['find'](_0x465a41,[_0x5ac5('0xc'),'UserId']);_0x4c3372[_0x5ac5('0xb')]=_0x5ac5('0x4e');_0x42a5d6=as['buildExpression'](_0x4dc522,_0xb77951[_0x5ac5('0x39')],_0x4c3372);_0x585e4b['user'][_0x1479e1](_0x42a5d6[_0x5ac5('0x3b')],_0x42a5d6[_0x5ac5('0x3c')][_0x5ac5('0x3d')],_0x42a5d6['value']['end']);}break;case _0x5ac5('0x4f'):case _0x5ac5('0x50'):_0x42a5d6=as[_0x5ac5('0x38')]('me',null,_0x4c3372);_0x585e4b[_0x5ac5('0x4f')][_0x1479e1](_0x42a5d6[_0x5ac5('0x3b')],_0x42a5d6[_0x5ac5('0x3c')][_0x5ac5('0x3d')],_0x42a5d6[_0x5ac5('0x3c')][_0x5ac5('0x48')]);break;}}}return _0x585e4b;}function parseModelFields(_0x536765,_0x2d6aa5,_0xe44c3b){var _0x183e83=utils['getAccountFK'](_0x536765);var _0x5c7259=squel[_0x5ac5('0x22')]();var _0x8168fc=_(_0x2d6aa5)[_0x5ac5('0x51')]()['map'](function(_0x3a646b){return _[_0x5ac5('0x52')](_0xe44c3b,[_0x5ac5('0xc'),_0x3a646b])?_0x3a646b:undefined;})[_0x5ac5('0x53')]()[_0x5ac5('0x3c')]();if(_0x8168fc[_0x5ac5('0x36')]>0x0){_0x8168fc[_0x5ac5('0x54')](function(_0x523b11){if(_0x523b11===_0x183e83){_0x5c7259['and']('i.'+_0x183e83+'\x20IN\x20?',[][_0x5ac5('0x55')](_0x2d6aa5[_0x523b11]));}else if(_0x523b11===_0x5ac5('0x56')){var _0xc76fbd=JSON['parse'](_0x2d6aa5[_0x523b11])[_0x5ac5('0x57')];var _0x31345e=JSON[_0x5ac5('0x58')](_0x2d6aa5[_0x523b11])[_0x5ac5('0x59')];_0x5c7259[_0x5ac5('0x3f')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0xc76fbd,_0x31345e);}else{if(_0x2d6aa5[_0x523b11]==='null'){_0x5c7259['and']('i.'+_0x523b11+_0x5ac5('0x5a'));}else{_0x5c7259[_0x5ac5('0x3f')]('i.'+_0x523b11+_0x5ac5('0x5b'),_0x2d6aa5[_0x523b11]);}}});}return _0x5c7259;}function parseQueryParameters(_0x3fb4c1,_0x3fc780,_0x2501c3){var _0x149d3d=getSqlClauses();return Promise[_0x5ac5('0x5c')]()[_0x5ac5('0x5d')](function(){return parseModelFields(_0x3fb4c1,_0x3fc780,_0x2501c3);})[_0x5ac5('0x5d')](function(_0x16bfcd){_0x149d3d[_0x5ac5('0x5e')][_0x5ac5('0x3f')](_0x16bfcd);return parseReadParameter(_0x3fc780[_0x5ac5('0x3e')]);})[_0x5ac5('0x5d')](function(_0x49b721){_0x149d3d[_0x5ac5('0x3e')][_0x5ac5('0x3f')](_0x49b721);return parseTagParameter(_0x3fc780['tag']);})[_0x5ac5('0x5d')](function(_0x45bd57){_0x149d3d[_0x5ac5('0x4a')][_0x5ac5('0x5f')][_0x5ac5('0x3f')](_0x45bd57);return parseSearchFilter(_0x3fb4c1,_0x3fc780[_0x5ac5('0x60')]);})['then'](function(_0x2b5329){_0x149d3d[_0x5ac5('0x60')]=_0x2b5329;return _0x149d3d;});}function checkAccountsRestrictions(_0x424bed,_0x4db247,_0x26b9d4){var _0x44e349=utils['getAccountFK'](_0x424bed);var _0x1a6428=_0x5ac5('0x61')+_['capitalize'](_0x424bed)+(_0x424bed==='chat'?'Websites':_0x5ac5('0x62'));var _0x7429bf=squel[_0x5ac5('0x22')]();return Promise[_0x5ac5('0x5c')]()[_0x5ac5('0x5d')](function(){if(_0x26b9d4[_0x5ac5('0x9')]&&_0x4db247['role']===_0x5ac5('0x8')){return _0x4db247[_0x1a6428]({'attributes':['id'],'raw':!![]});}})[_0x5ac5('0x5d')](function(_0x1f6c43){if(_0x1f6c43){if(_0x1f6c43[_0x5ac5('0x36')]===0x0){_0x7429bf[_0x5ac5('0x3f')]('i.'+_0x44e349+'\x20IS\x20NULL');}else{_0x7429bf['and']('i.'+_0x44e349+'\x20IN\x20?',_[_0x5ac5('0x16')](_0x1f6c43,'id'));}}else if(!_0x26b9d4[_0x44e349]){_0x7429bf[_0x5ac5('0x3f')]('i.'+_0x44e349+_0x5ac5('0x63'));}})[_0x5ac5('0x5d')](function(){return _0x7429bf;});}function getClosedOrderClause(_0x53bde1,_0x16aabd){var _0x38b128='';var _0x3a72ea=['i.thirdDisposition','i.secondDisposition','i.disposition'];if(_0x53bde1===_0x5ac5('0x2e')){_0x3a72ea[_0x5ac5('0x64')](_0x5ac5('0x65'));}if(_0x16aabd[_0x5ac5('0x66')]==='0'&&_0x53bde1===_0x5ac5('0x2e')){_0x38b128=_0x5ac5('0x65');}else{if(_0x16aabd['closed']==='1'){_0x3a72ea[_0x5ac5('0x67')]();}_0x38b128='CONCAT_WS(\x27\x27,\x20'+_0x3a72ea['join'](',\x20')+')';}return _0x38b128;}function getFilteredInteractions(_0x3eda7f,_0x30a2b3,_0x2b9438,_0x324ec9){var _0x3a45eb=utils[_0x5ac5('0x19')](_0x3eda7f);var _0xb02e95=_[_0x5ac5('0x68')](_0x3eda7f)+_0x5ac5('0x69');var _0x130c67=[];var _0x13e80b=getTagsQuery();var _0x1f7768={'type':db[_0x5ac5('0x6a')][_0x5ac5('0x6b')][_0x5ac5('0x6c')],'raw':!![]};var _0x46315b=[];var _0x356f1b=[];return db[_0x5ac5('0x6d')][_0x5ac5('0x6e')](_0x13e80b[_0x5ac5('0x6f')](),_0x1f7768)[_0x5ac5('0x5d')](function(_0x4b3896){_0x130c67=_[_0x5ac5('0x70')](_0x4b3896,'id');_0x1f7768=_['merge'](_0x1f7768,{'model':db[_0xb02e95],'mapToModel':!![],'nest':!![]});if(_0x2b9438[_0x5ac5('0x5e')]){_0x324ec9['attributes'][_0x5ac5('0x54')](function(_0x58b9e2){_0x30a2b3['field']('i.'+_0x58b9e2);});}else{_0x30a2b3[_0x5ac5('0xb')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x5ac5('0x71'));_0x30a2b3[_0x5ac5('0xb')]('a.key',_0x5ac5('0x72'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x73'),_0x5ac5('0x74'));if(_0x3eda7f===_0x5ac5('0x2e')){_0x30a2b3[_0x5ac5('0xb')]('a.email',_0x5ac5('0x75'));_0x30a2b3['field'](_0x5ac5('0x76'),_0x5ac5('0x77'));_0x30a2b3[_0x5ac5('0xb')]('i.id');_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x78'));_0x30a2b3[_0x5ac5('0xb')]('i.updatedAt');_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x79'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x7a'));_0x30a2b3[_0x5ac5('0xb')]('i.attach');_0x30a2b3['field'](_0x5ac5('0x7b'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x7c'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x7d'));_0x30a2b3[_0x5ac5('0xb')]('i.disposition');_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x7e'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x7f'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x65'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x80'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x81'));_0x30a2b3['field'](_0x5ac5('0x82'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x83'));}else if(_0x3eda7f==='openchannel'){_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x84'),_0x5ac5('0x77'));}else{_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x85'),_0x5ac5('0x77'));}if(_0x3eda7f!==_0x5ac5('0x2e')){_0x30a2b3['field'](_0x5ac5('0x86'));}_0x30a2b3['field'](_0x5ac5('0x87'),_0x5ac5('0x88'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x89'),'Contact.lastName');_0x30a2b3[_0x5ac5('0xb')]('c.email',_0x5ac5('0x8a'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x8b'),'Contact.phone');_0x30a2b3[_0x5ac5('0xb')]('c.mobile',_0x5ac5('0x8c'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x8d'),_0x5ac5('0x8e'));_0x30a2b3['field']('o.fullname',_0x5ac5('0x8f'));_0x30a2b3['field']('o.internal',_0x5ac5('0x90'));_0x30a2b3[_0x5ac5('0xb')](_0x5ac5('0x91'),_0x5ac5('0x92'));}if(_0x324ec9['limit']){_0x30a2b3[_0x5ac5('0x93')](_0x324ec9[_0x5ac5('0x93')]);}if(_0x324ec9[_0x5ac5('0x94')]){_0x30a2b3['offset'](_0x324ec9[_0x5ac5('0x94')]);}return db[_0x5ac5('0x6d')]['query'](_0x30a2b3[_0x5ac5('0x6f')](),_0x1f7768);})['then'](function(_0x3769c3){_0x46315b=_0x3769c3;var _0x4406d8=getUsersQuery(_0x3eda7f,_0x46315b);return db[_0x5ac5('0x6d')][_0x5ac5('0x6e')](_0x4406d8['toString'](),_0x1f7768);})[_0x5ac5('0x5d')](function(_0x517e24){_0x356f1b=_[_0x5ac5('0x95')](_0x517e24,_0x3a45eb);if(_0x3eda7f===_0x5ac5('0x2e')){return db[_0x5ac5('0x96')]['findOne']({'attributes':[_0x5ac5('0x97')],'raw':!![]});}})[_0x5ac5('0x5d')](function(_0x33463e){var _0x3a26fd=_0x33463e?_0x33463e[_0x5ac5('0x97')]:undefined;var _0x18aaa3=_0x46315b['map'](function(_0x457f93){return updateInteraction(_0x457f93,_0x130c67,_0x356f1b,_0x3a26fd);});return Promise[_0x5ac5('0x98')](_0x18aaa3);});}function countFilteredInteractions(_0x4ada39,_0x38a977){var _0x3d4ffa=_0x4ada39[_0x5ac5('0x99')]();_0x3d4ffa['field']('COUNT(*)');_0x3d4ffa['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x5ac5('0x71'));var _0x2b280e=utils[_0x5ac5('0x23')](_0x38a977);if(!_['isEmpty'](_0x2b280e)){_0x3d4ffa[_0x5ac5('0x13')]('t.id\x20IN\x20?',_0x2b280e);}var _0x61f022={'type':db['Sequelize'][_0x5ac5('0x6b')]['SELECT'],'raw':!![]};return db[_0x5ac5('0x6d')][_0x5ac5('0x6e')](_0x3d4ffa[_0x5ac5('0x6f')](),_0x61f022);}module[_0x5ac5('0x9a')]={'checkAccountsRestrictions':checkAccountsRestrictions,'countFilteredInteractions':countFilteredInteractions,'getClosedOrderClause':getClosedOrderClause,'getFilteredInteractions':getFilteredInteractions,'getInteractionsQuery':getInteractionsQuery,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipInteractionsQuery':skipInteractionsQuery};