Built motion from commit 10af8726.|2.6.34
[motion2.git] / server / components / contacts / sql-utils.js
index 5293a30..b235dc6 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xbe2f=['ct.CmContactId\x20=\x20','tools_tags','t.id\x20=\x20ct.TagId','firstName','lastName','mobile','fax','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?','replace','split','length','getFullTextValue','c.phone\x20LIKE\x20?','c.mobile\x20LIKE\x20?','c.fax\x20LIKE\x20?','isEmail','c.email\x20LIKE\x20?','c.lastName\x20LIKE\x20?','parseSearch','sqlOperator','conditions','name','dateOfBirth','fieldType','datetime','castTo','buildExpression','value','end','Tag','map','tags','and','ids','User','user','clause','uc.UserId\x20=\x20?','skip','keys','some','Contact','c.ListId\x20IN\x20?','concat','\x20=\x20?','resolve','then','tag','filter','getLists','group','c.id','limit','offset','subqry.id','having','order','DESC','subqry.','keyBy','QueryTypes','SELECT','CmContact','sequelize','query','Tags','clone','COUNT(*)','isEmpty','t.id\x20IN\x20?','exports','lodash','../parsers/advancedSearch','../parsers/qs','../interaction/utils','role','agent','search','ListId','autocomplete','true','select','from','cm_contacts','where','c.deletedAt\x20IS\x20NULL','subqry','.id','left_join'];(function(_0x5aefa0,_0x387b10){var _0x34b6e8=function(_0x44285c){while(--_0x44285c){_0x5aefa0['push'](_0x5aefa0['shift']());}};_0x34b6e8(++_0x387b10);}(_0xbe2f,0x182));var _0xfbe2=function(_0x11da2c,_0xb84b59){_0x11da2c=_0x11da2c-0x0;var _0x27c614=_0xbe2f[_0x11da2c];return _0x27c614;};'use strict';var _=require(_0xfbe2('0x0'));var squel=require('squel');var as=require(_0xfbe2('0x1'));var qs=require(_0xfbe2('0x2'));var utils=require(_0xfbe2('0x3'));var db=require('../../mysqldb')['db'];function skipContactsQuery(_0x1fbb7f,_0x3e710b){var _0x15c6c5=![];if(_0x1fbb7f[_0xfbe2('0x4')]===_0xfbe2('0x5')&&!_0x3e710b[_0xfbe2('0x6')]&&!_0x3e710b[_0xfbe2('0x7')]&&_0x3e710b[_0xfbe2('0x8')]!==_0xfbe2('0x9')){_0x15c6c5=!![];}return _0x15c6c5;}function getContactsSubquery(){return squel[_0xfbe2('0xa')]()[_0xfbe2('0xb')](_0xfbe2('0xc'),'c')[_0xfbe2('0xd')](_0xfbe2('0xe'));}function applyJoinClauses(_0x54bc8a,_0x5bc358){var _0x33b88c=_0x5bc358?'c':_0xfbe2('0xf');_0x54bc8a['left_join']('cm_user_has_contacts','uc','uc.CmContactId\x20=\x20'+_0x33b88c+_0xfbe2('0x10'))[_0xfbe2('0x11')]('cm_contact_has_tags','ct',_0xfbe2('0x12')+_0x33b88c+'.id')[_0xfbe2('0x11')](_0xfbe2('0x13'),'t',_0xfbe2('0x14'));return _0x54bc8a;}function addFieldsToQuery(_0x1c84a6,_0x5bb13d,_0x5e9f08,_0x38dbbd,_0x3ff5a6){var _0x20dbe0=_0x3ff5a6?'c':_0xfbe2('0xf');if(!_0x5bb13d){_0x5bb13d=['id',_0xfbe2('0x15'),_0xfbe2('0x16'),'phone',_0xfbe2('0x17'),_0xfbe2('0x18'),'email',_0xfbe2('0x7'),_0xfbe2('0x19'),_0xfbe2('0x1a'),_0xfbe2('0x1b'),_0xfbe2('0x1c'),_0xfbe2('0x1d')];}else if(!_0x5bb13d[_0xfbe2('0x1e')]('id')){_0x5bb13d[_0xfbe2('0x1f')]('id');}var _0x520ea6=_0x5e9f08&&_0x3ff5a6||!_0x5e9f08&&!_0x3ff5a6;if(_0x38dbbd){_0x520ea6=_0x38dbbd&&_0x3ff5a6||!_0x38dbbd&&!_0x3ff5a6;}_0x5bb13d[_0xfbe2('0x20')](function(_0x391149){if(_0x391149==='TagIds'){if(_0x520ea6){_0x1c84a6[_0xfbe2('0x21')](_0xfbe2('0x22'),_0x391149);}else if(_0x5e9f08||_0x38dbbd){_0x1c84a6['field'](_0x20dbe0+'.'+_0x391149);}}else{_0x1c84a6[_0xfbe2('0x21')](_0x20dbe0+'.'+_0x391149);}});return _0x1c84a6;}function getSqlClauses(){var _0x5a7673={'default':squel[_0xfbe2('0x23')](),'fields':squel[_0xfbe2('0x23')](),'filter':squel[_0xfbe2('0x23')](),'tags':{'clause':squel[_0xfbe2('0x23')](),'ids':null},'user':{'clause':squel[_0xfbe2('0x23')](),'skip':![]}};return _0x5a7673;}function parseTagParameter(_0x8b0d53){var _0x4b902a=squel[_0xfbe2('0x23')]();if(_0x8b0d53){var _0x29a9a9=utils[_0xfbe2('0x24')](_0x8b0d53);_0x29a9a9[_0xfbe2('0x20')](function(_0x33ef0a){_0x4b902a['or'](_0xfbe2('0x25'),'%,'+_0x33ef0a+',%');});}return _0x4b902a;}function parseSearchFilter(_0x44b037){var _0x8c7067=squel[_0xfbe2('0x23')]();if(_0x44b037){var _0xb25abc=_0x44b037[_0xfbe2('0x26')]('\x5c','\x5c\x5c')[_0xfbe2('0x26')](/'/g,'\x27\x27');if(_0xb25abc[_0xfbe2('0x27')]('\x20')[_0xfbe2('0x28')]>0x1){_0x8c7067['or']('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xfbe2('0x29')](_0xb25abc,!![]),null);}else{if(qs['isNumeric'](_0xb25abc)){_0x8c7067['or']('c.id\x20LIKE\x20?',_0xb25abc+'%');_0x8c7067['or'](_0xfbe2('0x2a'),_0xb25abc+'%');_0x8c7067['or'](_0xfbe2('0x2b'),_0xb25abc+'%');_0x8c7067['or'](_0xfbe2('0x2c'),_0xb25abc+'%');}else if(qs[_0xfbe2('0x2d')](_0xb25abc)){_0x8c7067['or'](_0xfbe2('0x2e'),_0xb25abc+'%');}else{_0x8c7067['or']('c.firstName\x20LIKE\x20?','%'+_0xb25abc+'%');_0x8c7067['or'](_0xfbe2('0x2f'),'%'+_0xb25abc+'%');_0x8c7067['or'](_0xfbe2('0x2e'),'%'+_0xb25abc+'%');}}}return _0x8c7067;}function parseAdvancedSearchFilter(_0x191716,_0x2e7e60){var _0x136694=getSqlClauses();var _0x32790c=as[_0xfbe2('0x30')](_0x191716);var _0x2c7fb3=_0x32790c[_0xfbe2('0x31')];for(var _0x48598b=0x0;_0x48598b<_0x32790c[_0xfbe2('0x32')][_0xfbe2('0x28')];_0x48598b++){var _0x2d120e=_0x32790c[_0xfbe2('0x32')][_0x48598b];var _0x247d25='c';var _0x31874c=_['find'](_0x2e7e60,[_0xfbe2('0x33'),_0x2d120e['field']]);if(_0x31874c){if(_0x2d120e['field']===_0xfbe2('0x34')||_0x31874c[_0xfbe2('0x35')]===_0xfbe2('0x36')){_0x2d120e[_0xfbe2('0x37')]='DATE';}var _0x37bcf5=as[_0xfbe2('0x38')](_0x247d25,_0x31874c['type'],_0x2d120e);_0x136694['default'][_0x2c7fb3](_0x37bcf5['text'],_0x37bcf5[_0xfbe2('0x39')]['start'],_0x37bcf5[_0xfbe2('0x39')][_0xfbe2('0x3a')]);}else{if(_0x2d120e[_0xfbe2('0x21')]===_0xfbe2('0x3b')){var _0xd1ad11=_0x2d120e['value'][_0xfbe2('0x27')](',')[_0xfbe2('0x3c')](function(_0x5439aa){return Number(_0x5439aa);});var _0x889e34=parseTagParameter(_0xd1ad11);_0x136694[_0xfbe2('0x3d')]['clause'][_0xfbe2('0x3e')](_0x889e34);_0x136694[_0xfbe2('0x3d')][_0xfbe2('0x3f')]=_0xd1ad11;}else if(_0x2d120e[_0xfbe2('0x21')]===_0xfbe2('0x40')){_0x136694[_0xfbe2('0x41')][_0xfbe2('0x42')][_0xfbe2('0x3e')](_0xfbe2('0x43'),_0x2d120e[_0xfbe2('0x39')]);_0x136694[_0xfbe2('0x41')][_0xfbe2('0x44')]=!![];}}}return _0x136694;}function parseModelFields(_0x4223bc,_0x1c893f){var _0x31237b=squel['expr']();var _0x47cbde=_(_0x4223bc)[_0xfbe2('0x45')]()['map'](function(_0x35a89d){return _[_0xfbe2('0x46')](_0x1c893f,[_0xfbe2('0x33'),_0x35a89d])?_0x35a89d:undefined;})['compact']()[_0xfbe2('0x39')]();if(_0x4223bc[_0xfbe2('0x47')]){_0x47cbde['push'](_0xfbe2('0x47'));}if(_0x4223bc['User']){_0x47cbde[_0xfbe2('0x1f')](_0xfbe2('0x40'));}if(_0x47cbde[_0xfbe2('0x28')]>0x0){_0x47cbde['forEach'](function(_0x48389e){if(_0x48389e==='ListId'){_0x31237b[_0xfbe2('0x3e')](_0xfbe2('0x48'),[][_0xfbe2('0x49')](_0x4223bc[_0x48389e]));}else if(_0x48389e===_0xfbe2('0x47')){var _0x344d87='%'+_0x4223bc[_0x48389e]+'%';_0x31237b[_0xfbe2('0x3e')]('CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?',_0x344d87);}else if(_0x48389e==='User'){_0x31237b[_0xfbe2('0x3e')]('uc.UserId\x20=\x20?',_0x4223bc[_0x48389e]);}else{_0x31237b[_0xfbe2('0x3e')]('c.'+_0x48389e+_0xfbe2('0x4a'),_0x4223bc[_0x48389e]);}});}return _0x31237b;}function parseQueryParameters(_0x7a0563,_0x48a22a){var _0x5b9770=getSqlClauses();return Promise[_0xfbe2('0x4b')]()['then'](function(){return parseModelFields(_0x7a0563,_0x48a22a);})[_0xfbe2('0x4c')](function(_0x406a99){_0x5b9770['fields'][_0xfbe2('0x3e')](_0x406a99);return parseTagParameter(_0x7a0563[_0xfbe2('0x4d')]);})[_0xfbe2('0x4c')](function(_0x48d064){_0x5b9770['tags'][_0xfbe2('0x42')][_0xfbe2('0x3e')](_0x48d064);return parseSearchFilter(_0x7a0563['filter']);})[_0xfbe2('0x4c')](function(_0x48b090){_0x5b9770[_0xfbe2('0x4e')]=_0x48b090;return _0x5b9770;});}function checkListsRestrictions(_0x130fa3,_0x3c7330,_0x3f8e13){var _0xa3885b=squel[_0xfbe2('0x23')]();return Promise[_0xfbe2('0x4b')]()[_0xfbe2('0x4c')](function(){if(_0x3c7330[_0xfbe2('0x6')]&&_0x130fa3[_0xfbe2('0x4')]==='agent'&&!_0x3f8e13){return _0x130fa3[_0xfbe2('0x4f')]({'attributes':['id'],'raw':!![]});}})[_0xfbe2('0x4c')](function(_0x15fa4d){if(_0x15fa4d){if(_0x15fa4d[_0xfbe2('0x28')]===0x0){_0xa3885b['and']('c.ListId\x20IS\x20NULL');}else{_0xa3885b[_0xfbe2('0x3e')](_0xfbe2('0x48'),_['map'](_0x15fa4d,'id'));}}})[_0xfbe2('0x4c')](function(){return _0xa3885b;});}function buildContactsQuery(_0xe30a68,_0x57f853,_0x56171b,_0x3ac7ee,_0x3d5613,_0x1407f4){if(_0x57f853){_0x57f853=_0x56171b['attributes'];}_0xe30a68=addFieldsToQuery(_0xe30a68,_0x57f853,_0x3ac7ee,_0x1407f4,!![]);var _0x5109aa=squel[_0xfbe2('0xa')]();_0x5109aa=addFieldsToQuery(_0x5109aa,_0x57f853,_0x3ac7ee,_0x1407f4,![]);if(_0x3ac7ee||_0x1407f4){_0xe30a68=applyJoinClauses(_0xe30a68,!![]);_0xe30a68[_0xfbe2('0x50')](_0xfbe2('0x51'));if(_0x56171b[_0xfbe2('0x52')]){_0x5109aa[_0xfbe2('0x52')](_0x56171b['limit']);}if(_0x56171b[_0xfbe2('0x53')]){_0x5109aa[_0xfbe2('0x53')](_0x56171b[_0xfbe2('0x53')]);}}else{_0x5109aa=applyJoinClauses(_0x5109aa,![]);_0x5109aa[_0xfbe2('0x50')](_0xfbe2('0x54'));if(_0x56171b[_0xfbe2('0x52')]){_0xe30a68[_0xfbe2('0x52')](_0x56171b[_0xfbe2('0x52')]);}if(_0x56171b['offset']){_0xe30a68[_0xfbe2('0x53')](_0x56171b[_0xfbe2('0x53')]);}}_0x5109aa[_0xfbe2('0x55')](_0x3d5613);if(_0x56171b[_0xfbe2('0x56')]){_0x56171b['order'][_0xfbe2('0x20')](function(_0x4bd1df){_0xe30a68[_0xfbe2('0x56')]('c.'+_0x4bd1df[0x0],_0x4bd1df[0x1]===_0xfbe2('0x57')?![]:!![]);_0x5109aa[_0xfbe2('0x56')](_0xfbe2('0x58')+_0x4bd1df[0x0],_0x4bd1df[0x1]===_0xfbe2('0x57')?![]:!![]);});}_0x5109aa[_0xfbe2('0xb')](_0xe30a68,_0xfbe2('0xf'));return _0x5109aa;}function getFilteredContacts(_0xc611be){var _0x3a8f2b=[];return db[_0xfbe2('0x3b')]['findAll']({'attributes':['id',_0xfbe2('0x33'),'color'],'raw':!![]})[_0xfbe2('0x4c')](function(_0x2a91c6){_0x3a8f2b=_[_0xfbe2('0x59')](_0x2a91c6,'id');var _0x1af787={'type':db['Sequelize'][_0xfbe2('0x5a')][_0xfbe2('0x5b')],'model':db[_0xfbe2('0x5c')],'mapToModel':!![],'nest':!![],'raw':!![]};return db[_0xfbe2('0x5d')][_0xfbe2('0x5e')](_0xc611be['toString'](),_0x1af787);})['then'](function(_0x4a06cc){_0x4a06cc['forEach'](function(_0x52011f){if(_0x52011f[_0xfbe2('0x1d')]){_0x52011f['Tags']=[];_0x52011f[_0xfbe2('0x1d')][_0xfbe2('0x27')](',')[_0xfbe2('0x20')](function(_0x4a1a05){_0x52011f[_0xfbe2('0x5f')][_0xfbe2('0x1f')](_0x3a8f2b[_0x4a1a05]);});}delete _0x52011f[_0xfbe2('0x1d')];});return _0x4a06cc;});}function countFilteredContacts(_0x49f4ac,_0x3d1a15){var _0x4783ce=_0x49f4ac[_0xfbe2('0x60')]();_0x4783ce[_0xfbe2('0x21')](_0xfbe2('0x61'));_0x4783ce=applyJoinClauses(_0x4783ce,!![]);_0x49f4ac[_0xfbe2('0x50')]('c.id');var _0x1ab670=utils[_0xfbe2('0x24')](_0x3d1a15);if(!_[_0xfbe2('0x62')](_0x1ab670)){_0x4783ce['where'](_0xfbe2('0x63'),_0x1ab670);}var _0x563d79={'type':db['Sequelize'][_0xfbe2('0x5a')][_0xfbe2('0x5b')],'raw':!![]};return db[_0xfbe2('0x5d')]['query'](_0x4783ce['toString'](),_0x563d79)[_0xfbe2('0x4c')](function(_0x523f39){return _0x523f39[0x0]['COUNT(*)'];});}module[_0xfbe2('0x64')]={'buildContactsQuery':buildContactsQuery,'checkListsRestrictions':checkListsRestrictions,'countFilteredContacts':countFilteredContacts,'getContactsSubquery':getContactsSubquery,'getFilteredContacts':getFilteredContacts,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipContactsQuery':skipContactsQuery};
\ No newline at end of file
+var _0xbedc=['length','c.ListId\x20IN\x20?','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','uc.UserId\x20=\x20?','\x20=\x20?','resolve','fields','tag','then','search','c.ListId\x20IS\x20NULL','select','group','c.id','limit','offset','subqry.id','order','DESC','findAll','keyBy','Sequelize','QueryTypes','SELECT','CmContact','query','toString','Tags','clone','COUNT(*)','isEmpty','sequelize','squel','../parsers/advancedSearch','../interaction/utils','../../mysqldb','role','ListId','true','from','cm_contacts','where','c.deletedAt\x20IS\x20NULL','subqry','uc.CmContactId\x20=\x20','.id','left_join','cm_contact_has_tags','ct.CmContactId\x20=\x20','tools_tags','t.id\x20=\x20ct.TagId','firstName','lastName','phone','mobile','fax','email','CompanyId','createdAt','updatedAt','deletedAt','includes','push','forEach','TagIds','GROUP_CONCAT(DISTINCT\x20t.id)','field','expr','getSelectedTags','escapeLIKESpecialChars','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.id\x20LIKE\x20?','c.mobile\x20LIKE\x20?','c.fax\x20LIKE\x20?','isEmail','c.firstName\x20LIKE\x20?','c.lastName\x20LIKE\x20?','c.email\x20LIKE\x20?','parseSearch','sqlOperator','find','name','dateOfBirth','fieldType','castTo','buildExpression','type','default','text','start','value','map','tags','clause','ids','and','user','skip','keys','compact','Contact','User'];(function(_0xd07790,_0x3db009){var _0x32f10e=function(_0x1f4911){while(--_0x1f4911){_0xd07790['push'](_0xd07790['shift']());}};_0x32f10e(++_0x3db009);}(_0xbedc,0x1c0));var _0xcbed=function(_0x2bfad3,_0x10ab16){_0x2bfad3=_0x2bfad3-0x0;var _0xa480f7=_0xbedc[_0x2bfad3];return _0xa480f7;};'use strict';var _=require('lodash');var squel=require(_0xcbed('0x0'));var as=require(_0xcbed('0x1'));var qs=require('../parsers/qs');var utils=require(_0xcbed('0x2'));var db=require(_0xcbed('0x3'))['db'];function skipContactsQuery(_0x336a3e,_0x569bbc){var _0x254a7a=![];if(_0x336a3e[_0xcbed('0x4')]==='agent'&&!_0x569bbc['search']&&!_0x569bbc[_0xcbed('0x5')]&&_0x569bbc['autocomplete']!==_0xcbed('0x6')){_0x254a7a=!![];}return _0x254a7a;}function getContactsSubquery(){return squel['select']()[_0xcbed('0x7')](_0xcbed('0x8'),'c')[_0xcbed('0x9')](_0xcbed('0xa'));}function applyJoinClauses(_0x40ca58,_0x1c1523){var _0x7064df=_0x1c1523?'c':_0xcbed('0xb');_0x40ca58['left_join']('cm_user_has_contacts','uc',_0xcbed('0xc')+_0x7064df+_0xcbed('0xd'))[_0xcbed('0xe')](_0xcbed('0xf'),'ct',_0xcbed('0x10')+_0x7064df+_0xcbed('0xd'))[_0xcbed('0xe')](_0xcbed('0x11'),'t',_0xcbed('0x12'));return _0x40ca58;}function addFieldsToQuery(_0x211850,_0x45c83f,_0xd6ea7f,_0x2d985a,_0x4eff53){var _0x320211=_0x4eff53?'c':_0xcbed('0xb');if(!_0x45c83f){_0x45c83f=['id',_0xcbed('0x13'),_0xcbed('0x14'),_0xcbed('0x15'),_0xcbed('0x16'),_0xcbed('0x17'),_0xcbed('0x18'),'ListId',_0xcbed('0x19'),_0xcbed('0x1a'),_0xcbed('0x1b'),_0xcbed('0x1c'),'TagIds'];}else if(!_0x45c83f[_0xcbed('0x1d')]('id')){_0x45c83f[_0xcbed('0x1e')]('id');}var _0x4b4daf=_0xd6ea7f&&_0x4eff53||!_0xd6ea7f&&!_0x4eff53;if(_0x2d985a){_0x4b4daf=_0x2d985a&&_0x4eff53||!_0x2d985a&&!_0x4eff53;}_0x45c83f[_0xcbed('0x1f')](function(_0xd2af2e){if(_0xd2af2e===_0xcbed('0x20')){if(_0x4b4daf){_0x211850['field'](_0xcbed('0x21'),_0xd2af2e);}else if(_0xd6ea7f||_0x2d985a){_0x211850['field'](_0x320211+'.'+_0xd2af2e);}}else{_0x211850[_0xcbed('0x22')](_0x320211+'.'+_0xd2af2e);}});return _0x211850;}function getSqlClauses(){var _0x594c3c={'default':squel[_0xcbed('0x23')](),'fields':squel[_0xcbed('0x23')](),'filter':squel['expr'](),'tags':{'clause':squel[_0xcbed('0x23')](),'ids':null},'user':{'clause':squel[_0xcbed('0x23')](),'skip':![]}};return _0x594c3c;}function parseTagParameter(_0x161930){var _0x315574=squel['expr']();if(_0x161930){var _0x34180d=utils[_0xcbed('0x24')](_0x161930);_0x34180d[_0xcbed('0x1f')](function(_0x3bd59d){_0x315574['or']('CONCAT(\x27,\x27,\x20subqry.TagIds,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x3bd59d+',%');});}return _0x315574;}function parseSearchFilter(_0x11afd7){var _0x70837a=squel['expr']();if(_0x11afd7){var _0x3dc77b=_0x11afd7['replace']('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');var _0x504337=qs[_0xcbed('0x25')](_0x3dc77b);if(_0x3dc77b[_0xcbed('0x26')]('\x20')['length']>0x1){_0x70837a['or'](_0xcbed('0x27'),qs[_0xcbed('0x28')](_0x3dc77b,!![]),null);}else{if(qs['isNumeric'](_0x3dc77b)){_0x70837a['or'](_0xcbed('0x29'),_0x504337+'%');_0x70837a['or']('c.phone\x20LIKE\x20?',_0x504337+'%');_0x70837a['or'](_0xcbed('0x2a'),_0x504337+'%');_0x70837a['or'](_0xcbed('0x2b'),_0x504337+'%');}else if(qs[_0xcbed('0x2c')](_0x3dc77b)){_0x70837a['or']('c.email\x20LIKE\x20?',_0x504337+'%');}else{_0x70837a['or'](_0xcbed('0x2d'),'%'+_0x504337+'%');_0x70837a['or'](_0xcbed('0x2e'),'%'+_0x504337+'%');_0x70837a['or'](_0xcbed('0x2f'),'%'+_0x504337+'%');}}}return _0x70837a;}function parseAdvancedSearchFilter(_0x12e8ca,_0xf051f5){var _0x6565d7=getSqlClauses();var _0x27e4cd=as[_0xcbed('0x30')](_0x12e8ca);var _0x20f549=_0x27e4cd[_0xcbed('0x31')];for(var _0x160c89=0x0;_0x160c89<_0x27e4cd['conditions']['length'];_0x160c89++){var _0x2586b5=_0x27e4cd['conditions'][_0x160c89];var _0x5f1897='c';var _0x5e6475=_[_0xcbed('0x32')](_0xf051f5,[_0xcbed('0x33'),_0x2586b5[_0xcbed('0x22')]]);if(_0x5e6475){if(_0x2586b5['field']===_0xcbed('0x34')||_0x5e6475[_0xcbed('0x35')]==='datetime'){_0x2586b5[_0xcbed('0x36')]='DATE';}var _0x3adfe1=as[_0xcbed('0x37')](_0x5f1897,_0x5e6475[_0xcbed('0x38')],_0x2586b5);_0x6565d7[_0xcbed('0x39')][_0x20f549](_0x3adfe1[_0xcbed('0x3a')],_0x3adfe1['value'][_0xcbed('0x3b')],_0x3adfe1['value']['end']);}else{if(_0x2586b5[_0xcbed('0x22')]==='Tag'){var _0x192ee6=_0x2586b5[_0xcbed('0x3c')][_0xcbed('0x26')](',')[_0xcbed('0x3d')](function(_0x101e6e){return Number(_0x101e6e);});var _0x2c9a3e=parseTagParameter(_0x192ee6);_0x6565d7[_0xcbed('0x3e')][_0xcbed('0x3f')]['and'](_0x2c9a3e);_0x6565d7['tags'][_0xcbed('0x40')]=_0x192ee6;}else if(_0x2586b5[_0xcbed('0x22')]==='User'){_0x6565d7['user']['clause'][_0xcbed('0x41')]('uc.UserId\x20=\x20?',_0x2586b5[_0xcbed('0x3c')]);_0x6565d7[_0xcbed('0x42')][_0xcbed('0x43')]=!![];}}}return _0x6565d7;}function parseModelFields(_0x118847,_0x3db580){var _0x2ff4df=squel['expr']();var _0x254500=_(_0x118847)[_0xcbed('0x44')]()[_0xcbed('0x3d')](function(_0x5999fc){return _['some'](_0x3db580,['name',_0x5999fc])?_0x5999fc:undefined;})[_0xcbed('0x45')]()[_0xcbed('0x3c')]();if(_0x118847[_0xcbed('0x46')]){_0x254500[_0xcbed('0x1e')](_0xcbed('0x46'));}if(_0x118847[_0xcbed('0x47')]){_0x254500[_0xcbed('0x1e')](_0xcbed('0x47'));}if(_0x254500[_0xcbed('0x48')]>0x0){_0x254500[_0xcbed('0x1f')](function(_0x530582){if(_0x530582===_0xcbed('0x5')){_0x2ff4df['and'](_0xcbed('0x49'),[]['concat'](_0x118847[_0x530582]));}else if(_0x530582===_0xcbed('0x46')){var _0x56e11e='%'+_0x118847[_0x530582]+'%';_0x2ff4df[_0xcbed('0x41')](_0xcbed('0x4a'),_0x56e11e);}else if(_0x530582===_0xcbed('0x47')){_0x2ff4df['and'](_0xcbed('0x4b'),_0x118847[_0x530582]);}else{_0x2ff4df[_0xcbed('0x41')]('c.'+_0x530582+_0xcbed('0x4c'),_0x118847[_0x530582]);}});}return _0x2ff4df;}function parseQueryParameters(_0x2c4b84,_0x9c38e3){var _0x388f22=getSqlClauses();return Promise[_0xcbed('0x4d')]()['then'](function(){return parseModelFields(_0x2c4b84,_0x9c38e3);})['then'](function(_0x4e2700){_0x388f22[_0xcbed('0x4e')][_0xcbed('0x41')](_0x4e2700);return parseTagParameter(_0x2c4b84[_0xcbed('0x4f')]);})[_0xcbed('0x50')](function(_0x2ff296){_0x388f22[_0xcbed('0x3e')][_0xcbed('0x3f')][_0xcbed('0x41')](_0x2ff296);return parseSearchFilter(_0x2c4b84['filter']);})[_0xcbed('0x50')](function(_0x4bad1e){_0x388f22['filter']=_0x4bad1e;return _0x388f22;});}function checkListsRestrictions(_0x1b03b8,_0x3823ba,_0x3abd12){var _0x35c54b=squel[_0xcbed('0x23')]();return Promise[_0xcbed('0x4d')]()[_0xcbed('0x50')](function(){if(_0x3823ba[_0xcbed('0x51')]&&_0x1b03b8[_0xcbed('0x4')]==='agent'&&!_0x3abd12){return _0x1b03b8['getLists']({'attributes':['id'],'raw':!![]});}})[_0xcbed('0x50')](function(_0x32874a){if(_0x32874a){if(_0x32874a[_0xcbed('0x48')]===0x0){_0x35c54b[_0xcbed('0x41')](_0xcbed('0x52'));}else{_0x35c54b['and'](_0xcbed('0x49'),_['map'](_0x32874a,'id'));}}})[_0xcbed('0x50')](function(){return _0x35c54b;});}function buildContactsQuery(_0x4ec2b9,_0x18b78f,_0x365e47,_0x39086d,_0x7113e2,_0x11f948){if(_0x18b78f){_0x18b78f=_0x365e47['attributes'];}_0x4ec2b9=addFieldsToQuery(_0x4ec2b9,_0x18b78f,_0x39086d,_0x11f948,!![]);var _0x5720bc=squel[_0xcbed('0x53')]();_0x5720bc=addFieldsToQuery(_0x5720bc,_0x18b78f,_0x39086d,_0x11f948,![]);if(_0x39086d||_0x11f948){_0x4ec2b9=applyJoinClauses(_0x4ec2b9,!![]);_0x4ec2b9[_0xcbed('0x54')](_0xcbed('0x55'));if(_0x365e47[_0xcbed('0x56')]){_0x5720bc[_0xcbed('0x56')](_0x365e47[_0xcbed('0x56')]);}if(_0x365e47['offset']){_0x5720bc['offset'](_0x365e47[_0xcbed('0x57')]);}}else{_0x5720bc=applyJoinClauses(_0x5720bc,![]);_0x5720bc[_0xcbed('0x54')](_0xcbed('0x58'));if(_0x365e47[_0xcbed('0x56')]){_0x4ec2b9['limit'](_0x365e47[_0xcbed('0x56')]);}if(_0x365e47[_0xcbed('0x57')]){_0x4ec2b9[_0xcbed('0x57')](_0x365e47[_0xcbed('0x57')]);}}_0x5720bc['having'](_0x7113e2);if(_0x365e47[_0xcbed('0x59')]){_0x365e47[_0xcbed('0x59')][_0xcbed('0x1f')](function(_0x15a06d){_0x4ec2b9['order']('c.'+_0x15a06d[0x0],_0x15a06d[0x1]==='DESC'?![]:!![]);_0x5720bc[_0xcbed('0x59')]('subqry.'+_0x15a06d[0x0],_0x15a06d[0x1]===_0xcbed('0x5a')?![]:!![]);});}_0x5720bc['from'](_0x4ec2b9,'subqry');return _0x5720bc;}function getFilteredContacts(_0x4b731d){var _0x44ad65=[];return db['Tag'][_0xcbed('0x5b')]({'attributes':['id','name','color'],'raw':!![]})[_0xcbed('0x50')](function(_0x4df407){_0x44ad65=_[_0xcbed('0x5c')](_0x4df407,'id');var _0x175c26={'type':db[_0xcbed('0x5d')][_0xcbed('0x5e')][_0xcbed('0x5f')],'model':db[_0xcbed('0x60')],'mapToModel':!![],'nest':!![],'raw':!![]};return db['sequelize'][_0xcbed('0x61')](_0x4b731d[_0xcbed('0x62')](),_0x175c26);})[_0xcbed('0x50')](function(_0x143bdd){_0x143bdd[_0xcbed('0x1f')](function(_0x514941){if(_0x514941[_0xcbed('0x20')]){_0x514941[_0xcbed('0x63')]=[];_0x514941[_0xcbed('0x20')][_0xcbed('0x26')](',')['forEach'](function(_0x293732){_0x514941[_0xcbed('0x63')]['push'](_0x44ad65[_0x293732]);});}delete _0x514941['TagIds'];});return _0x143bdd;});}function countFilteredContacts(_0x1b1c56,_0x4ca88e){var _0x4fc711=_0x1b1c56[_0xcbed('0x64')]();_0x4fc711[_0xcbed('0x22')](_0xcbed('0x65'));_0x4fc711=applyJoinClauses(_0x4fc711,!![]);_0x1b1c56[_0xcbed('0x54')](_0xcbed('0x55'));var _0x150285=utils['getSelectedTags'](_0x4ca88e);if(!_[_0xcbed('0x66')](_0x150285)){_0x4fc711[_0xcbed('0x9')]('t.id\x20IN\x20?',_0x150285);}var _0x11bae7={'type':db[_0xcbed('0x5d')][_0xcbed('0x5e')][_0xcbed('0x5f')],'raw':!![]};return db[_0xcbed('0x67')][_0xcbed('0x61')](_0x4fc711[_0xcbed('0x62')](),_0x11bae7)['then'](function(_0x223b08){return _0x223b08[0x0][_0xcbed('0x65')];});}module['exports']={'buildContactsQuery':buildContactsQuery,'checkListsRestrictions':checkListsRestrictions,'countFilteredContacts':countFilteredContacts,'getContactsSubquery':getContactsSubquery,'getFilteredContacts':getFilteredContacts,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipContactsQuery':skipContactsQuery};
\ No newline at end of file