Built motion from commit 013e4bb4.|2.6.18
[motion2.git] / server / components / contacts / sql-utils.js
index 0036802..6439da5 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xbbe6=['parseSearch','sqlOperator','conditions','find','dateOfBirth','datetime','castTo','DATE','buildExpression','type','default','text','start','value','end','Tag','map','clause','and','tags','User','user','uc.UserId\x20=\x20?','skip','keys','name','compact','Contact','c.ListId\x20IN\x20?','concat','\x20=\x20?','then','fields','tag','filter','resolve','getLists','attributes','group','c.id','limit','offset','subqry.id','having','order','DESC','subqry.','from','color','Sequelize','QueryTypes','SELECT','sequelize','toString','Tags','clone','isEmpty','query','COUNT(*)','exports','lodash','squel','../parsers/advancedSearch','../parsers/qs','../interaction/utils','role','agent','search','ListId','autocomplete','true','select','cm_contacts','where','c.deletedAt\x20IS\x20NULL','subqry','cm_user_has_contacts','uc.CmContactId\x20=\x20','.id','cm_contact_has_tags','ct.CmContactId\x20=\x20','left_join','tools_tags','t.id\x20=\x20ct.TagId','firstName','email','createdAt','updatedAt','TagIds','push','forEach','field','GROUP_CONCAT(DISTINCT\x20t.id)','expr','getSelectedTags','CONCAT(\x27,\x27,\x20subqry.TagIds,\x20\x27,\x27)\x20LIKE\x20?','replace','split','length','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','isNumeric','c.id\x20LIKE\x20?','c.phone\x20LIKE\x20?','c.fax\x20LIKE\x20?','isEmail','c.email\x20LIKE\x20?','c.firstName\x20LIKE\x20?'];(function(_0xfb23c1,_0xb0d570){var _0x5d87ce=function(_0x570655){while(--_0x570655){_0xfb23c1['push'](_0xfb23c1['shift']());}};_0x5d87ce(++_0xb0d570);}(_0xbbe6,0x114));var _0x6bbe=function(_0x42f5bc,_0x49f3b5){_0x42f5bc=_0x42f5bc-0x0;var _0x23ab80=_0xbbe6[_0x42f5bc];return _0x23ab80;};'use strict';var _=require(_0x6bbe('0x0'));var squel=require(_0x6bbe('0x1'));var as=require(_0x6bbe('0x2'));var qs=require(_0x6bbe('0x3'));var utils=require(_0x6bbe('0x4'));var db=require('../../mysqldb')['db'];function skipContactsQuery(_0x40eff5,_0x35c484){var _0x64d4f2=![];if(_0x40eff5[_0x6bbe('0x5')]===_0x6bbe('0x6')&&!_0x35c484[_0x6bbe('0x7')]&&!_0x35c484[_0x6bbe('0x8')]&&_0x35c484[_0x6bbe('0x9')]!==_0x6bbe('0xa')){_0x64d4f2=!![];}return _0x64d4f2;}function getContactsSubquery(){return squel[_0x6bbe('0xb')]()['from'](_0x6bbe('0xc'),'c')[_0x6bbe('0xd')](_0x6bbe('0xe'));}function applyJoinClauses(_0x1c14cc,_0x47a9b4){var _0x42f445=_0x47a9b4?'c':_0x6bbe('0xf');_0x1c14cc['left_join'](_0x6bbe('0x10'),'uc',_0x6bbe('0x11')+_0x42f445+_0x6bbe('0x12'))['left_join'](_0x6bbe('0x13'),'ct',_0x6bbe('0x14')+_0x42f445+_0x6bbe('0x12'))[_0x6bbe('0x15')](_0x6bbe('0x16'),'t',_0x6bbe('0x17'));return _0x1c14cc;}function addFieldsToQuery(_0x640009,_0x15af8a,_0x523c0f,_0x41038c,_0x2073bd){var _0x3a8d61=_0x2073bd?'c':'subqry';if(!_0x15af8a){_0x15af8a=['id',_0x6bbe('0x18'),'lastName','phone','mobile','fax',_0x6bbe('0x19'),_0x6bbe('0x8'),'CompanyId',_0x6bbe('0x1a'),_0x6bbe('0x1b'),'deletedAt',_0x6bbe('0x1c')];}else if(!_0x15af8a['includes']('id')){_0x15af8a[_0x6bbe('0x1d')]('id');}var _0x397031=_0x523c0f&&_0x2073bd||!_0x523c0f&&!_0x2073bd;if(_0x41038c){_0x397031=_0x41038c&&_0x2073bd||!_0x41038c&&!_0x2073bd;}_0x15af8a[_0x6bbe('0x1e')](function(_0x5f1f14){if(_0x5f1f14===_0x6bbe('0x1c')){if(_0x397031){_0x640009[_0x6bbe('0x1f')](_0x6bbe('0x20'),_0x5f1f14);}else if(_0x523c0f||_0x41038c){_0x640009['field'](_0x3a8d61+'.'+_0x5f1f14);}}else{_0x640009[_0x6bbe('0x1f')](_0x3a8d61+'.'+_0x5f1f14);}});return _0x640009;}function getSqlClauses(){var _0x4170e3={'default':squel['expr'](),'fields':squel['expr'](),'filter':squel[_0x6bbe('0x21')](),'tags':{'clause':squel[_0x6bbe('0x21')](),'ids':null},'user':{'clause':squel['expr'](),'skip':![]}};return _0x4170e3;}function parseTagParameter(_0x428f52){var _0x59ccf3=squel[_0x6bbe('0x21')]();if(_0x428f52){var _0x45d22e=utils[_0x6bbe('0x22')](_0x428f52);_0x45d22e[_0x6bbe('0x1e')](function(_0xcf617d){_0x59ccf3['or'](_0x6bbe('0x23'),'%,'+_0xcf617d+',%');});}return _0x59ccf3;}function parseSearchFilter(_0x15a704){var _0x4f60c5=squel[_0x6bbe('0x21')]();if(_0x15a704){var _0x4c9135=_0x15a704[_0x6bbe('0x24')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(_0x4c9135[_0x6bbe('0x25')]('\x20')[_0x6bbe('0x26')]>0x1){_0x4f60c5['or'](_0x6bbe('0x27'),qs[_0x6bbe('0x28')](_0x4c9135,!![]),null);}else{if(qs[_0x6bbe('0x29')](_0x4c9135)){_0x4f60c5['or'](_0x6bbe('0x2a'),_0x4c9135+'%');_0x4f60c5['or'](_0x6bbe('0x2b'),_0x4c9135+'%');_0x4f60c5['or']('c.mobile\x20LIKE\x20?',_0x4c9135+'%');_0x4f60c5['or'](_0x6bbe('0x2c'),_0x4c9135+'%');}else if(qs[_0x6bbe('0x2d')](_0x4c9135)){_0x4f60c5['or'](_0x6bbe('0x2e'),_0x4c9135+'%');}else{_0x4f60c5['or'](_0x6bbe('0x2f'),'%'+_0x4c9135+'%');_0x4f60c5['or']('c.lastName\x20LIKE\x20?','%'+_0x4c9135+'%');_0x4f60c5['or'](_0x6bbe('0x2e'),'%'+_0x4c9135+'%');}}}return _0x4f60c5;}function parseAdvancedSearchFilter(_0x536a8e,_0x310864){var _0x50a75e=getSqlClauses();var _0x4ef4f3=as[_0x6bbe('0x30')](_0x536a8e);var _0x1ca0dd=_0x4ef4f3[_0x6bbe('0x31')];for(var _0x41e49f=0x0;_0x41e49f<_0x4ef4f3[_0x6bbe('0x32')][_0x6bbe('0x26')];_0x41e49f++){var _0x4abf83=_0x4ef4f3['conditions'][_0x41e49f];var _0x41d7e='c';var _0x3cd9cf=_[_0x6bbe('0x33')](_0x310864,['name',_0x4abf83[_0x6bbe('0x1f')]]);if(_0x3cd9cf){if(_0x4abf83[_0x6bbe('0x1f')]===_0x6bbe('0x34')||_0x3cd9cf['fieldType']===_0x6bbe('0x35')){_0x4abf83[_0x6bbe('0x36')]=_0x6bbe('0x37');}var _0x5200fe=as[_0x6bbe('0x38')](_0x41d7e,_0x3cd9cf[_0x6bbe('0x39')],_0x4abf83);_0x50a75e[_0x6bbe('0x3a')][_0x1ca0dd](_0x5200fe[_0x6bbe('0x3b')],_0x5200fe['value'][_0x6bbe('0x3c')],_0x5200fe[_0x6bbe('0x3d')][_0x6bbe('0x3e')]);}else{if(_0x4abf83[_0x6bbe('0x1f')]===_0x6bbe('0x3f')){var _0x32dbc7=_0x4abf83[_0x6bbe('0x3d')]['split'](',')[_0x6bbe('0x40')](function(_0x1af511){return Number(_0x1af511);});var _0x4974d7=parseTagParameter(_0x32dbc7);_0x50a75e['tags'][_0x6bbe('0x41')][_0x6bbe('0x42')](_0x4974d7);_0x50a75e[_0x6bbe('0x43')]['ids']=_0x32dbc7;}else if(_0x4abf83[_0x6bbe('0x1f')]===_0x6bbe('0x44')){_0x50a75e[_0x6bbe('0x45')]['clause'][_0x6bbe('0x42')](_0x6bbe('0x46'),_0x4abf83[_0x6bbe('0x3d')]);_0x50a75e[_0x6bbe('0x45')][_0x6bbe('0x47')]=!![];}}}return _0x50a75e;}function parseModelFields(_0x354d2e,_0x226cf7){var _0x53eba0=squel[_0x6bbe('0x21')]();var _0xf8ec6=_(_0x354d2e)[_0x6bbe('0x48')]()[_0x6bbe('0x40')](function(_0x5c86e4){return _['some'](_0x226cf7,[_0x6bbe('0x49'),_0x5c86e4])?_0x5c86e4:undefined;})[_0x6bbe('0x4a')]()[_0x6bbe('0x3d')]();if(_0x354d2e[_0x6bbe('0x4b')]){_0xf8ec6['push'](_0x6bbe('0x4b'));}if(_0x354d2e[_0x6bbe('0x44')]){_0xf8ec6['push'](_0x6bbe('0x44'));}if(_0xf8ec6[_0x6bbe('0x26')]>0x0){_0xf8ec6[_0x6bbe('0x1e')](function(_0x2b768f){if(_0x2b768f==='ListId'){_0x53eba0[_0x6bbe('0x42')](_0x6bbe('0x4c'),[][_0x6bbe('0x4d')](_0x354d2e[_0x2b768f]));}else if(_0x2b768f===_0x6bbe('0x4b')){var _0x315d2a='%'+_0x354d2e[_0x2b768f]+'%';_0x53eba0[_0x6bbe('0x42')]('CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?',_0x315d2a);}else if(_0x2b768f==='User'){_0x53eba0['and'](_0x6bbe('0x46'),_0x354d2e[_0x2b768f]);}else{_0x53eba0[_0x6bbe('0x42')]('c.'+_0x2b768f+_0x6bbe('0x4e'),_0x354d2e[_0x2b768f]);}});}return _0x53eba0;}function parseQueryParameters(_0x8e6b1b,_0x475716){var _0x512282=getSqlClauses();return Promise['resolve']()[_0x6bbe('0x4f')](function(){return parseModelFields(_0x8e6b1b,_0x475716);})[_0x6bbe('0x4f')](function(_0x598345){_0x512282[_0x6bbe('0x50')][_0x6bbe('0x42')](_0x598345);return parseTagParameter(_0x8e6b1b[_0x6bbe('0x51')]);})['then'](function(_0x154f5f){_0x512282[_0x6bbe('0x43')][_0x6bbe('0x41')][_0x6bbe('0x42')](_0x154f5f);return parseSearchFilter(_0x8e6b1b['filter']);})[_0x6bbe('0x4f')](function(_0x1ac62f){_0x512282[_0x6bbe('0x52')]=_0x1ac62f;return _0x512282;});}function checkListsRestrictions(_0x4098df,_0x30228a,_0x1987ca){var _0xc0fe91=squel[_0x6bbe('0x21')]();return Promise[_0x6bbe('0x53')]()[_0x6bbe('0x4f')](function(){if(_0x30228a[_0x6bbe('0x7')]&&_0x4098df[_0x6bbe('0x5')]===_0x6bbe('0x6')&&!_0x1987ca){return _0x4098df[_0x6bbe('0x54')]({'attributes':['id'],'raw':!![]});}})[_0x6bbe('0x4f')](function(_0x5acd32){if(_0x5acd32){if(_0x5acd32[_0x6bbe('0x26')]===0x0){_0xc0fe91[_0x6bbe('0x42')]('c.ListId\x20IS\x20NULL');}else{_0xc0fe91['and'](_0x6bbe('0x4c'),_[_0x6bbe('0x40')](_0x5acd32,'id'));}}})[_0x6bbe('0x4f')](function(){return _0xc0fe91;});}function buildContactsQuery(_0x2c0b90,_0x1e0506,_0x19823c,_0x4ae351,_0x4e5ef2,_0x1dea7b){if(_0x1e0506){_0x1e0506=_0x19823c[_0x6bbe('0x55')];}_0x2c0b90=addFieldsToQuery(_0x2c0b90,_0x1e0506,_0x4ae351,_0x1dea7b,!![]);var _0x1c142e=squel[_0x6bbe('0xb')]();_0x1c142e=addFieldsToQuery(_0x1c142e,_0x1e0506,_0x4ae351,_0x1dea7b,![]);if(_0x4ae351||_0x1dea7b){_0x2c0b90=applyJoinClauses(_0x2c0b90,!![]);_0x2c0b90[_0x6bbe('0x56')](_0x6bbe('0x57'));if(_0x19823c[_0x6bbe('0x58')]){_0x1c142e[_0x6bbe('0x58')](_0x19823c[_0x6bbe('0x58')]);}if(_0x19823c['offset']){_0x1c142e[_0x6bbe('0x59')](_0x19823c[_0x6bbe('0x59')]);}}else{_0x1c142e=applyJoinClauses(_0x1c142e,![]);_0x1c142e[_0x6bbe('0x56')](_0x6bbe('0x5a'));if(_0x19823c[_0x6bbe('0x58')]){_0x2c0b90['limit'](_0x19823c[_0x6bbe('0x58')]);}if(_0x19823c[_0x6bbe('0x59')]){_0x2c0b90[_0x6bbe('0x59')](_0x19823c[_0x6bbe('0x59')]);}}_0x1c142e[_0x6bbe('0x5b')](_0x4e5ef2);if(_0x19823c[_0x6bbe('0x5c')]){_0x19823c[_0x6bbe('0x5c')][_0x6bbe('0x1e')](function(_0x385380){_0x2c0b90[_0x6bbe('0x5c')]('c.'+_0x385380[0x0],_0x385380[0x1]===_0x6bbe('0x5d')?![]:!![]);_0x1c142e[_0x6bbe('0x5c')](_0x6bbe('0x5e')+_0x385380[0x0],_0x385380[0x1]===_0x6bbe('0x5d')?![]:!![]);});}_0x1c142e[_0x6bbe('0x5f')](_0x2c0b90,_0x6bbe('0xf'));return _0x1c142e;}function getFilteredContacts(_0x5c8e54){var _0xc756d7=[];return db[_0x6bbe('0x3f')]['findAll']({'attributes':['id',_0x6bbe('0x49'),_0x6bbe('0x60')],'raw':!![]})[_0x6bbe('0x4f')](function(_0x1d6e5e){_0xc756d7=_['keyBy'](_0x1d6e5e,'id');var _0x58533f={'type':db[_0x6bbe('0x61')][_0x6bbe('0x62')][_0x6bbe('0x63')],'model':db['CmContact'],'mapToModel':!![],'nest':!![],'raw':!![]};return db[_0x6bbe('0x64')]['query'](_0x5c8e54[_0x6bbe('0x65')](),_0x58533f);})[_0x6bbe('0x4f')](function(_0x45a5ab){_0x45a5ab[_0x6bbe('0x1e')](function(_0x2bf2a8){if(_0x2bf2a8['TagIds']){_0x2bf2a8[_0x6bbe('0x66')]=[];_0x2bf2a8[_0x6bbe('0x1c')][_0x6bbe('0x25')](',')[_0x6bbe('0x1e')](function(_0x4a18a3){_0x2bf2a8[_0x6bbe('0x66')]['push'](_0xc756d7[_0x4a18a3]);});}delete _0x2bf2a8[_0x6bbe('0x1c')];});return _0x45a5ab;});}function countFilteredContacts(_0xdbf99,_0x58764c){var _0x1361fc=_0xdbf99[_0x6bbe('0x67')]();_0x1361fc[_0x6bbe('0x1f')]('COUNT(*)');_0x1361fc=applyJoinClauses(_0x1361fc,!![]);_0xdbf99[_0x6bbe('0x56')]('c.id');var _0x86fd21=utils['getSelectedTags'](_0x58764c);if(!_[_0x6bbe('0x68')](_0x86fd21)){_0x1361fc[_0x6bbe('0xd')]('t.id\x20IN\x20?',_0x86fd21);}var _0x5f00b1={'type':db['Sequelize'][_0x6bbe('0x62')][_0x6bbe('0x63')],'raw':!![]};return db['sequelize'][_0x6bbe('0x69')](_0x1361fc[_0x6bbe('0x65')](),_0x5f00b1)[_0x6bbe('0x4f')](function(_0x494011){return _0x494011[0x0][_0x6bbe('0x6a')];});}module[_0x6bbe('0x6b')]={'buildContactsQuery':buildContactsQuery,'checkListsRestrictions':checkListsRestrictions,'countFilteredContacts':countFilteredContacts,'getContactsSubquery':getContactsSubquery,'getFilteredContacts':getFilteredContacts,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipContactsQuery':skipContactsQuery};
\ No newline at end of file
+var _0x5e02=['buildExpression','type','default','text','Tag','split','tags','clause','and','User','user','uc.UserId\x20=\x20?','value','keys','map','some','compact','c.ListId\x20IN\x20?','concat','Contact','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','\x20=\x20?','resolve','then','fields','filter','c.ListId\x20IS\x20NULL','attributes','select','group','limit','offset','subqry.id','order','DESC','findAll','keyBy','QueryTypes','SELECT','CmContact','query','toString','Tags','clone','COUNT(*)','c.id','t.id\x20IN\x20?','Sequelize','sequelize','exports','lodash','squel','../parsers/advancedSearch','../interaction/utils','role','agent','search','ListId','from','c.deletedAt\x20IS\x20NULL','subqry','left_join','cm_user_has_contacts','uc.CmContactId\x20=\x20','.id','ct.CmContactId\x20=\x20','tools_tags','lastName','fax','email','CompanyId','createdAt','updatedAt','deletedAt','TagIds','includes','push','forEach','field','GROUP_CONCAT(DISTINCT\x20t.id)','expr','getSelectedTags','CONCAT(\x27,\x27,\x20subqry.TagIds,\x20\x27,\x27)\x20LIKE\x20?','length','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','isNumeric','c.id\x20LIKE\x20?','c.mobile\x20LIKE\x20?','c.fax\x20LIKE\x20?','c.email\x20LIKE\x20?','c.firstName\x20LIKE\x20?','c.lastName\x20LIKE\x20?','parseSearch','sqlOperator','conditions','find','name','dateOfBirth','fieldType','datetime','DATE'];(function(_0x249cd7,_0x1d2da8){var _0x209a2a=function(_0xc5e3b6){while(--_0xc5e3b6){_0x249cd7['push'](_0x249cd7['shift']());}};_0x209a2a(++_0x1d2da8);}(_0x5e02,0x164));var _0x25e0=function(_0x43e097,_0x33e351){_0x43e097=_0x43e097-0x0;var _0x1bb782=_0x5e02[_0x43e097];return _0x1bb782;};'use strict';var _=require(_0x25e0('0x0'));var squel=require(_0x25e0('0x1'));var as=require(_0x25e0('0x2'));var qs=require('../parsers/qs');var utils=require(_0x25e0('0x3'));var db=require('../../mysqldb')['db'];function skipContactsQuery(_0x4540a8,_0x3bd27f){var _0x65cd97=![];if(_0x4540a8[_0x25e0('0x4')]===_0x25e0('0x5')&&!_0x3bd27f[_0x25e0('0x6')]&&!_0x3bd27f[_0x25e0('0x7')]&&_0x3bd27f['autocomplete']!=='true'){_0x65cd97=!![];}return _0x65cd97;}function getContactsSubquery(){return squel['select']()[_0x25e0('0x8')]('cm_contacts','c')['where'](_0x25e0('0x9'));}function applyJoinClauses(_0x5d8f94,_0x450876){var _0x194534=_0x450876?'c':_0x25e0('0xa');_0x5d8f94[_0x25e0('0xb')](_0x25e0('0xc'),'uc',_0x25e0('0xd')+_0x194534+_0x25e0('0xe'))['left_join']('cm_contact_has_tags','ct',_0x25e0('0xf')+_0x194534+'.id')['left_join'](_0x25e0('0x10'),'t','t.id\x20=\x20ct.TagId');return _0x5d8f94;}function addFieldsToQuery(_0x62eab,_0x33591e,_0x4df0ee,_0x19f0cb,_0x550895){var _0x4e5c85=_0x550895?'c':_0x25e0('0xa');if(!_0x33591e){_0x33591e=['id','firstName',_0x25e0('0x11'),'phone','mobile',_0x25e0('0x12'),_0x25e0('0x13'),'ListId',_0x25e0('0x14'),_0x25e0('0x15'),_0x25e0('0x16'),_0x25e0('0x17'),_0x25e0('0x18')];}else if(!_0x33591e[_0x25e0('0x19')]('id')){_0x33591e[_0x25e0('0x1a')]('id');}var _0x2ce0e5=_0x4df0ee&&_0x550895||!_0x4df0ee&&!_0x550895;if(_0x19f0cb){_0x2ce0e5=_0x19f0cb&&_0x550895||!_0x19f0cb&&!_0x550895;}_0x33591e[_0x25e0('0x1b')](function(_0xdd5b8){if(_0xdd5b8==='TagIds'){if(_0x2ce0e5){_0x62eab[_0x25e0('0x1c')](_0x25e0('0x1d'),_0xdd5b8);}else if(_0x4df0ee||_0x19f0cb){_0x62eab[_0x25e0('0x1c')](_0x4e5c85+'.'+_0xdd5b8);}}else{_0x62eab[_0x25e0('0x1c')](_0x4e5c85+'.'+_0xdd5b8);}});return _0x62eab;}function getSqlClauses(){var _0x1e63e3={'default':squel[_0x25e0('0x1e')](),'fields':squel[_0x25e0('0x1e')](),'filter':squel[_0x25e0('0x1e')](),'tags':{'clause':squel[_0x25e0('0x1e')](),'ids':null},'user':{'clause':squel['expr'](),'skip':![]}};return _0x1e63e3;}function parseTagParameter(_0x5b62e2){var _0x33d981=squel[_0x25e0('0x1e')]();if(_0x5b62e2){var _0x5a73ec=utils[_0x25e0('0x1f')](_0x5b62e2);_0x5a73ec[_0x25e0('0x1b')](function(_0x4c8946){_0x33d981['or'](_0x25e0('0x20'),'%,'+_0x4c8946+',%');});}return _0x33d981;}function parseSearchFilter(_0x4987ac){var _0x397244=squel[_0x25e0('0x1e')]();if(_0x4987ac){var _0x3619ca=_0x4987ac['replace']('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(_0x3619ca['split']('\x20')[_0x25e0('0x21')]>0x1){_0x397244['or'](_0x25e0('0x22'),qs[_0x25e0('0x23')](_0x3619ca,!![]),null);}else{if(qs[_0x25e0('0x24')](_0x3619ca)){_0x397244['or'](_0x25e0('0x25'),_0x3619ca+'%');_0x397244['or']('c.phone\x20LIKE\x20?',_0x3619ca+'%');_0x397244['or'](_0x25e0('0x26'),_0x3619ca+'%');_0x397244['or'](_0x25e0('0x27'),_0x3619ca+'%');}else if(qs['isEmail'](_0x3619ca)){_0x397244['or'](_0x25e0('0x28'),_0x3619ca+'%');}else{_0x397244['or'](_0x25e0('0x29'),'%'+_0x3619ca+'%');_0x397244['or'](_0x25e0('0x2a'),'%'+_0x3619ca+'%');_0x397244['or'](_0x25e0('0x28'),'%'+_0x3619ca+'%');}}}return _0x397244;}function parseAdvancedSearchFilter(_0x2d62fc,_0x21bb6f){var _0x49a425=getSqlClauses();var _0x142a8e=as[_0x25e0('0x2b')](_0x2d62fc);var _0x58e5eb=_0x142a8e[_0x25e0('0x2c')];for(var _0x4be6e7=0x0;_0x4be6e7<_0x142a8e['conditions'][_0x25e0('0x21')];_0x4be6e7++){var _0x378e33=_0x142a8e[_0x25e0('0x2d')][_0x4be6e7];var _0x10557f='c';var _0x57725e=_[_0x25e0('0x2e')](_0x21bb6f,[_0x25e0('0x2f'),_0x378e33[_0x25e0('0x1c')]]);if(_0x57725e){if(_0x378e33[_0x25e0('0x1c')]===_0x25e0('0x30')||_0x57725e[_0x25e0('0x31')]===_0x25e0('0x32')){_0x378e33['castTo']=_0x25e0('0x33');}var _0x58d505=as[_0x25e0('0x34')](_0x10557f,_0x57725e[_0x25e0('0x35')],_0x378e33);_0x49a425[_0x25e0('0x36')][_0x58e5eb](_0x58d505[_0x25e0('0x37')],_0x58d505['value']['start'],_0x58d505['value']['end']);}else{if(_0x378e33['field']===_0x25e0('0x38')){var _0x2d499b=_0x378e33['value'][_0x25e0('0x39')](',')['map'](function(_0x524614){return Number(_0x524614);});var _0x35e771=parseTagParameter(_0x2d499b);_0x49a425[_0x25e0('0x3a')][_0x25e0('0x3b')][_0x25e0('0x3c')](_0x35e771);_0x49a425[_0x25e0('0x3a')]['ids']=_0x2d499b;}else if(_0x378e33[_0x25e0('0x1c')]===_0x25e0('0x3d')){_0x49a425[_0x25e0('0x3e')][_0x25e0('0x3b')][_0x25e0('0x3c')](_0x25e0('0x3f'),_0x378e33[_0x25e0('0x40')]);_0x49a425['user']['skip']=!![];}}}return _0x49a425;}function parseModelFields(_0x37a28f,_0x44b4bf){var _0x532e1c=squel[_0x25e0('0x1e')]();var _0x4eadf3=_(_0x37a28f)[_0x25e0('0x41')]()[_0x25e0('0x42')](function(_0x2ae3ff){return _[_0x25e0('0x43')](_0x44b4bf,['name',_0x2ae3ff])?_0x2ae3ff:undefined;})[_0x25e0('0x44')]()[_0x25e0('0x40')]();if(_0x37a28f['Contact']){_0x4eadf3[_0x25e0('0x1a')]('Contact');}if(_0x37a28f[_0x25e0('0x3d')]){_0x4eadf3[_0x25e0('0x1a')]('User');}if(_0x4eadf3['length']>0x0){_0x4eadf3['forEach'](function(_0x5045d5){if(_0x5045d5===_0x25e0('0x7')){_0x532e1c[_0x25e0('0x3c')](_0x25e0('0x45'),[][_0x25e0('0x46')](_0x37a28f[_0x5045d5]));}else if(_0x5045d5===_0x25e0('0x47')){var _0x476de8='%'+_0x37a28f[_0x5045d5]+'%';_0x532e1c[_0x25e0('0x3c')](_0x25e0('0x48'),_0x476de8);}else if(_0x5045d5==='User'){_0x532e1c[_0x25e0('0x3c')](_0x25e0('0x3f'),_0x37a28f[_0x5045d5]);}else{_0x532e1c[_0x25e0('0x3c')]('c.'+_0x5045d5+_0x25e0('0x49'),_0x37a28f[_0x5045d5]);}});}return _0x532e1c;}function parseQueryParameters(_0x479ab9,_0x4c0938){var _0x4eeca9=getSqlClauses();return Promise[_0x25e0('0x4a')]()[_0x25e0('0x4b')](function(){return parseModelFields(_0x479ab9,_0x4c0938);})[_0x25e0('0x4b')](function(_0x7ed91a){_0x4eeca9[_0x25e0('0x4c')][_0x25e0('0x3c')](_0x7ed91a);return parseTagParameter(_0x479ab9['tag']);})['then'](function(_0x487be4){_0x4eeca9[_0x25e0('0x3a')]['clause']['and'](_0x487be4);return parseSearchFilter(_0x479ab9[_0x25e0('0x4d')]);})['then'](function(_0x58b37c){_0x4eeca9[_0x25e0('0x4d')]=_0x58b37c;return _0x4eeca9;});}function checkListsRestrictions(_0x673079,_0x4b0ec7,_0x1d328e){var _0x2bc20d=squel[_0x25e0('0x1e')]();return Promise[_0x25e0('0x4a')]()['then'](function(){if(_0x4b0ec7[_0x25e0('0x6')]&&_0x673079['role']===_0x25e0('0x5')&&!_0x1d328e){return _0x673079['getLists']({'attributes':['id'],'raw':!![]});}})[_0x25e0('0x4b')](function(_0x1fe8d4){if(_0x1fe8d4){if(_0x1fe8d4[_0x25e0('0x21')]===0x0){_0x2bc20d[_0x25e0('0x3c')](_0x25e0('0x4e'));}else{_0x2bc20d[_0x25e0('0x3c')](_0x25e0('0x45'),_[_0x25e0('0x42')](_0x1fe8d4,'id'));}}})[_0x25e0('0x4b')](function(){return _0x2bc20d;});}function buildContactsQuery(_0x2cb472,_0x4643dc,_0x4eff0a,_0x13c1da,_0xeaa41e,_0x36c658){if(_0x4643dc){_0x4643dc=_0x4eff0a[_0x25e0('0x4f')];}_0x2cb472=addFieldsToQuery(_0x2cb472,_0x4643dc,_0x13c1da,_0x36c658,!![]);var _0x5c0f45=squel[_0x25e0('0x50')]();_0x5c0f45=addFieldsToQuery(_0x5c0f45,_0x4643dc,_0x13c1da,_0x36c658,![]);if(_0x13c1da||_0x36c658){_0x2cb472=applyJoinClauses(_0x2cb472,!![]);_0x2cb472[_0x25e0('0x51')]('c.id');if(_0x4eff0a['limit']){_0x5c0f45[_0x25e0('0x52')](_0x4eff0a[_0x25e0('0x52')]);}if(_0x4eff0a[_0x25e0('0x53')]){_0x5c0f45[_0x25e0('0x53')](_0x4eff0a[_0x25e0('0x53')]);}}else{_0x5c0f45=applyJoinClauses(_0x5c0f45,![]);_0x5c0f45['group'](_0x25e0('0x54'));if(_0x4eff0a[_0x25e0('0x52')]){_0x2cb472[_0x25e0('0x52')](_0x4eff0a[_0x25e0('0x52')]);}if(_0x4eff0a[_0x25e0('0x53')]){_0x2cb472['offset'](_0x4eff0a['offset']);}}_0x5c0f45['having'](_0xeaa41e);if(_0x4eff0a[_0x25e0('0x55')]){_0x4eff0a[_0x25e0('0x55')][_0x25e0('0x1b')](function(_0x5800eb){_0x2cb472[_0x25e0('0x55')]('c.'+_0x5800eb[0x0],_0x5800eb[0x1]===_0x25e0('0x56')?![]:!![]);_0x5c0f45['order']('subqry.'+_0x5800eb[0x0],_0x5800eb[0x1]==='DESC'?![]:!![]);});}_0x5c0f45[_0x25e0('0x8')](_0x2cb472,_0x25e0('0xa'));return _0x5c0f45;}function getFilteredContacts(_0x5f290b){var _0x4f893c=[];return db[_0x25e0('0x38')][_0x25e0('0x57')]({'attributes':['id',_0x25e0('0x2f'),'color'],'raw':!![]})[_0x25e0('0x4b')](function(_0xdc3e99){_0x4f893c=_[_0x25e0('0x58')](_0xdc3e99,'id');var _0xdd9ed3={'type':db['Sequelize'][_0x25e0('0x59')][_0x25e0('0x5a')],'model':db[_0x25e0('0x5b')],'mapToModel':!![],'nest':!![],'raw':!![]};return db['sequelize'][_0x25e0('0x5c')](_0x5f290b[_0x25e0('0x5d')](),_0xdd9ed3);})[_0x25e0('0x4b')](function(_0x9a10f2){_0x9a10f2['forEach'](function(_0x59dbef){if(_0x59dbef[_0x25e0('0x18')]){_0x59dbef[_0x25e0('0x5e')]=[];_0x59dbef['TagIds'][_0x25e0('0x39')](',')[_0x25e0('0x1b')](function(_0xd6ef3a){_0x59dbef['Tags']['push'](_0x4f893c[_0xd6ef3a]);});}delete _0x59dbef[_0x25e0('0x18')];});return _0x9a10f2;});}function countFilteredContacts(_0x24ef36,_0x23bec3){var _0x4dac59=_0x24ef36[_0x25e0('0x5f')]();_0x4dac59[_0x25e0('0x1c')](_0x25e0('0x60'));_0x4dac59=applyJoinClauses(_0x4dac59,!![]);_0x24ef36['group'](_0x25e0('0x61'));var _0x1cdc16=utils[_0x25e0('0x1f')](_0x23bec3);if(!_['isEmpty'](_0x1cdc16)){_0x4dac59['where'](_0x25e0('0x62'),_0x1cdc16);}var _0x3ca0ca={'type':db[_0x25e0('0x63')][_0x25e0('0x59')][_0x25e0('0x5a')],'raw':!![]};return db[_0x25e0('0x64')][_0x25e0('0x5c')](_0x4dac59[_0x25e0('0x5d')](),_0x3ca0ca)[_0x25e0('0x4b')](function(_0x465cec){return _0x465cec[0x0][_0x25e0('0x60')];});}module[_0x25e0('0x65')]={'buildContactsQuery':buildContactsQuery,'checkListsRestrictions':checkListsRestrictions,'countFilteredContacts':countFilteredContacts,'getContactsSubquery':getContactsSubquery,'getFilteredContacts':getFilteredContacts,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipContactsQuery':skipContactsQuery};
\ No newline at end of file