Built motion from commit 10af8726.|2.6.34
[motion2.git] / server / components / contacts / sql-utils.js
index 84a4c4c..b235dc6 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x9e7f=['keyBy','QueryTypes','SELECT','CmContact','query','toString','Tags','COUNT(*)','c.id','isEmpty','t.id\x20IN\x20?','Sequelize','sequelize','exports','squel','../parsers/advancedSearch','../parsers/qs','role','agent','ListId','autocomplete','true','from','cm_contacts','where','c.deletedAt\x20IS\x20NULL','subqry','left_join','uc.CmContactId\x20=\x20','.id','cm_contact_has_tags','ct.CmContactId\x20=\x20','tools_tags','t.id\x20=\x20ct.TagId','firstName','phone','mobile','email','CompanyId','createdAt','updatedAt','deletedAt','TagIds','includes','forEach','field','expr','getSelectedTags','CONCAT(\x27,\x27,\x20subqry.TagIds,\x20\x27,\x27)\x20LIKE\x20?','replace','length','getFullTextValue','isNumeric','c.mobile\x20LIKE\x20?','c.fax\x20LIKE\x20?','isEmail','c.email\x20LIKE\x20?','c.firstName\x20LIKE\x20?','c.lastName\x20LIKE\x20?','parseSearch','sqlOperator','conditions','find','name','dateOfBirth','datetime','DATE','buildExpression','type','default','text','value','start','split','map','tags','clause','and','uc.UserId\x20=\x20?','user','skip','keys','Contact','push','User','c.ListId\x20IN\x20?','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','\x20=\x20?','resolve','then','fields','search','getLists','c.ListId\x20IS\x20NULL','select','limit','offset','order','DESC','Tag','findAll'];(function(_0x430205,_0x328c94){var _0x3f5146=function(_0x3cd6bd){while(--_0x3cd6bd){_0x430205['push'](_0x430205['shift']());}};_0x3f5146(++_0x328c94);}(_0x9e7f,0x13d));var _0xf9e7=function(_0x2dafbe,_0x5d04de){_0x2dafbe=_0x2dafbe-0x0;var _0x58a45a=_0x9e7f[_0x2dafbe];return _0x58a45a;};'use strict';var _=require('lodash');var squel=require(_0xf9e7('0x0'));var as=require(_0xf9e7('0x1'));var qs=require(_0xf9e7('0x2'));var utils=require('../interaction/utils');var db=require('../../mysqldb')['db'];function skipContactsQuery(_0x29acf4,_0x3ddb60){var _0x599764=![];if(_0x29acf4[_0xf9e7('0x3')]===_0xf9e7('0x4')&&!_0x3ddb60['search']&&!_0x3ddb60[_0xf9e7('0x5')]&&_0x3ddb60[_0xf9e7('0x6')]!==_0xf9e7('0x7')){_0x599764=!![];}return _0x599764;}function getContactsSubquery(){return squel['select']()[_0xf9e7('0x8')](_0xf9e7('0x9'),'c')[_0xf9e7('0xa')](_0xf9e7('0xb'));}function applyJoinClauses(_0x207875,_0x51eeb4){var _0x38314c=_0x51eeb4?'c':_0xf9e7('0xc');_0x207875[_0xf9e7('0xd')]('cm_user_has_contacts','uc',_0xf9e7('0xe')+_0x38314c+_0xf9e7('0xf'))[_0xf9e7('0xd')](_0xf9e7('0x10'),'ct',_0xf9e7('0x11')+_0x38314c+_0xf9e7('0xf'))[_0xf9e7('0xd')](_0xf9e7('0x12'),'t',_0xf9e7('0x13'));return _0x207875;}function addFieldsToQuery(_0x20902b,_0x1f6b46,_0x55dde0,_0x4c587d,_0x259670){var _0x550946=_0x259670?'c':_0xf9e7('0xc');if(!_0x1f6b46){_0x1f6b46=['id',_0xf9e7('0x14'),'lastName',_0xf9e7('0x15'),_0xf9e7('0x16'),'fax',_0xf9e7('0x17'),_0xf9e7('0x5'),_0xf9e7('0x18'),_0xf9e7('0x19'),_0xf9e7('0x1a'),_0xf9e7('0x1b'),_0xf9e7('0x1c')];}else if(!_0x1f6b46[_0xf9e7('0x1d')]('id')){_0x1f6b46['push']('id');}var _0xff7205=_0x55dde0&&_0x259670||!_0x55dde0&&!_0x259670;if(_0x4c587d){_0xff7205=_0x4c587d&&_0x259670||!_0x4c587d&&!_0x259670;}_0x1f6b46[_0xf9e7('0x1e')](function(_0xe904ca){if(_0xe904ca===_0xf9e7('0x1c')){if(_0xff7205){_0x20902b[_0xf9e7('0x1f')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0xe904ca);}else if(_0x55dde0||_0x4c587d){_0x20902b[_0xf9e7('0x1f')](_0x550946+'.'+_0xe904ca);}}else{_0x20902b[_0xf9e7('0x1f')](_0x550946+'.'+_0xe904ca);}});return _0x20902b;}function getSqlClauses(){var _0x269456={'default':squel[_0xf9e7('0x20')](),'fields':squel[_0xf9e7('0x20')](),'filter':squel['expr'](),'tags':{'clause':squel[_0xf9e7('0x20')](),'ids':null},'user':{'clause':squel[_0xf9e7('0x20')](),'skip':![]}};return _0x269456;}function parseTagParameter(_0x4e1a6e){var _0x285304=squel[_0xf9e7('0x20')]();if(_0x4e1a6e){var _0x3ec6d5=utils[_0xf9e7('0x21')](_0x4e1a6e);_0x3ec6d5[_0xf9e7('0x1e')](function(_0x5eb135){_0x285304['or'](_0xf9e7('0x22'),'%,'+_0x5eb135+',%');});}return _0x285304;}function parseSearchFilter(_0x548407){var _0x178778=squel[_0xf9e7('0x20')]();if(_0x548407){var _0x43a81f=_0x548407[_0xf9e7('0x23')]('\x5c','\x5c\x5c')[_0xf9e7('0x23')](/'/g,'\x27\x27');if(_0x43a81f['split']('\x20')[_0xf9e7('0x24')]>0x1){_0x178778['or']('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xf9e7('0x25')](_0x43a81f,!![]),null);}else{if(qs[_0xf9e7('0x26')](_0x43a81f)){_0x178778['or']('c.id\x20LIKE\x20?',_0x43a81f+'%');_0x178778['or']('c.phone\x20LIKE\x20?',_0x43a81f+'%');_0x178778['or'](_0xf9e7('0x27'),_0x43a81f+'%');_0x178778['or'](_0xf9e7('0x28'),_0x43a81f+'%');}else if(qs[_0xf9e7('0x29')](_0x43a81f)){_0x178778['or'](_0xf9e7('0x2a'),_0x43a81f+'%');}else{_0x178778['or'](_0xf9e7('0x2b'),'%'+_0x43a81f+'%');_0x178778['or'](_0xf9e7('0x2c'),'%'+_0x43a81f+'%');_0x178778['or'](_0xf9e7('0x2a'),'%'+_0x43a81f+'%');}}}return _0x178778;}function parseAdvancedSearchFilter(_0xd78889,_0x3625ed){var _0x2e5c9f=getSqlClauses();var _0x57dd2a=as[_0xf9e7('0x2d')](_0xd78889);var _0x3ceb95=_0x57dd2a[_0xf9e7('0x2e')];for(var _0x4de113=0x0;_0x4de113<_0x57dd2a[_0xf9e7('0x2f')][_0xf9e7('0x24')];_0x4de113++){var _0x5f4732=_0x57dd2a['conditions'][_0x4de113];var _0x3d7b95='c';var _0x3c5a5a=_[_0xf9e7('0x30')](_0x3625ed,[_0xf9e7('0x31'),_0x5f4732[_0xf9e7('0x1f')]]);if(_0x3c5a5a){if(_0x5f4732[_0xf9e7('0x1f')]===_0xf9e7('0x32')||_0x3c5a5a['fieldType']===_0xf9e7('0x33')){_0x5f4732['castTo']=_0xf9e7('0x34');}var _0x21fded=as[_0xf9e7('0x35')](_0x3d7b95,_0x3c5a5a[_0xf9e7('0x36')],_0x5f4732);_0x2e5c9f[_0xf9e7('0x37')][_0x3ceb95](_0x21fded[_0xf9e7('0x38')],_0x21fded[_0xf9e7('0x39')][_0xf9e7('0x3a')],_0x21fded[_0xf9e7('0x39')]['end']);}else{if(_0x5f4732['field']==='Tag'){var _0x1c8919=_0x5f4732[_0xf9e7('0x39')][_0xf9e7('0x3b')](',')[_0xf9e7('0x3c')](function(_0x592c65){return Number(_0x592c65);});var _0x4b4699=parseTagParameter(_0x1c8919);_0x2e5c9f[_0xf9e7('0x3d')][_0xf9e7('0x3e')][_0xf9e7('0x3f')](_0x4b4699);_0x2e5c9f['tags']['ids']=_0x1c8919;}else if(_0x5f4732['field']==='User'){_0x2e5c9f['user'][_0xf9e7('0x3e')]['and'](_0xf9e7('0x40'),_0x5f4732[_0xf9e7('0x39')]);_0x2e5c9f[_0xf9e7('0x41')][_0xf9e7('0x42')]=!![];}}}return _0x2e5c9f;}function parseModelFields(_0x3404e8,_0x445dfd){var _0x467595=squel[_0xf9e7('0x20')]();var _0x5877c8=_(_0x3404e8)[_0xf9e7('0x43')]()[_0xf9e7('0x3c')](function(_0x52a8e6){return _['some'](_0x445dfd,[_0xf9e7('0x31'),_0x52a8e6])?_0x52a8e6:undefined;})['compact']()[_0xf9e7('0x39')]();if(_0x3404e8[_0xf9e7('0x44')]){_0x5877c8[_0xf9e7('0x45')](_0xf9e7('0x44'));}if(_0x3404e8[_0xf9e7('0x46')]){_0x5877c8[_0xf9e7('0x45')](_0xf9e7('0x46'));}if(_0x5877c8[_0xf9e7('0x24')]>0x0){_0x5877c8[_0xf9e7('0x1e')](function(_0x262582){if(_0x262582===_0xf9e7('0x5')){_0x467595[_0xf9e7('0x3f')](_0xf9e7('0x47'),[]['concat'](_0x3404e8[_0x262582]));}else if(_0x262582===_0xf9e7('0x44')){var _0x56c9c7='%'+_0x3404e8[_0x262582]+'%';_0x467595[_0xf9e7('0x3f')](_0xf9e7('0x48'),_0x56c9c7);}else if(_0x262582===_0xf9e7('0x46')){_0x467595[_0xf9e7('0x3f')]('uc.UserId\x20=\x20?',_0x3404e8[_0x262582]);}else{_0x467595[_0xf9e7('0x3f')]('c.'+_0x262582+_0xf9e7('0x49'),_0x3404e8[_0x262582]);}});}return _0x467595;}function parseQueryParameters(_0x281cfd,_0x195682){var _0x1bd629=getSqlClauses();return Promise[_0xf9e7('0x4a')]()[_0xf9e7('0x4b')](function(){return parseModelFields(_0x281cfd,_0x195682);})['then'](function(_0x305afb){_0x1bd629[_0xf9e7('0x4c')][_0xf9e7('0x3f')](_0x305afb);return parseTagParameter(_0x281cfd['tag']);})['then'](function(_0x5b3f2a){_0x1bd629[_0xf9e7('0x3d')][_0xf9e7('0x3e')][_0xf9e7('0x3f')](_0x5b3f2a);return parseSearchFilter(_0x281cfd['filter']);})['then'](function(_0x271a12){_0x1bd629['filter']=_0x271a12;return _0x1bd629;});}function checkListsRestrictions(_0x505633,_0x46d185,_0x161c7e){var _0x198b2c=squel['expr']();return Promise['resolve']()[_0xf9e7('0x4b')](function(){if(_0x46d185[_0xf9e7('0x4d')]&&_0x505633[_0xf9e7('0x3')]===_0xf9e7('0x4')&&!_0x161c7e){return _0x505633[_0xf9e7('0x4e')]({'attributes':['id'],'raw':!![]});}})[_0xf9e7('0x4b')](function(_0xdd48ca){if(_0xdd48ca){if(_0xdd48ca[_0xf9e7('0x24')]===0x0){_0x198b2c[_0xf9e7('0x3f')](_0xf9e7('0x4f'));}else{_0x198b2c['and'](_0xf9e7('0x47'),_[_0xf9e7('0x3c')](_0xdd48ca,'id'));}}})['then'](function(){return _0x198b2c;});}function buildContactsQuery(_0x1f0c7b,_0x1973f6,_0x3bd643,_0x167e87,_0x1f6c5c,_0x5b3987){if(_0x1973f6){_0x1973f6=_0x3bd643['attributes'];}_0x1f0c7b=addFieldsToQuery(_0x1f0c7b,_0x1973f6,_0x167e87,_0x5b3987,!![]);var _0x59adc3=squel[_0xf9e7('0x50')]();_0x59adc3=addFieldsToQuery(_0x59adc3,_0x1973f6,_0x167e87,_0x5b3987,![]);if(_0x167e87||_0x5b3987){_0x1f0c7b=applyJoinClauses(_0x1f0c7b,!![]);_0x1f0c7b['group']('c.id');if(_0x3bd643[_0xf9e7('0x51')]){_0x59adc3[_0xf9e7('0x51')](_0x3bd643[_0xf9e7('0x51')]);}if(_0x3bd643['offset']){_0x59adc3[_0xf9e7('0x52')](_0x3bd643[_0xf9e7('0x52')]);}}else{_0x59adc3=applyJoinClauses(_0x59adc3,![]);_0x59adc3['group']('subqry.id');if(_0x3bd643[_0xf9e7('0x51')]){_0x1f0c7b[_0xf9e7('0x51')](_0x3bd643[_0xf9e7('0x51')]);}if(_0x3bd643['offset']){_0x1f0c7b[_0xf9e7('0x52')](_0x3bd643['offset']);}}_0x59adc3['having'](_0x1f6c5c);if(_0x3bd643['order']){_0x3bd643[_0xf9e7('0x53')]['forEach'](function(_0x25b57f){_0x1f0c7b[_0xf9e7('0x53')]('c.'+_0x25b57f[0x0],_0x25b57f[0x1]===_0xf9e7('0x54')?![]:!![]);_0x59adc3['order']('subqry.'+_0x25b57f[0x0],_0x25b57f[0x1]===_0xf9e7('0x54')?![]:!![]);});}_0x59adc3[_0xf9e7('0x8')](_0x1f0c7b,'subqry');return _0x59adc3;}function getFilteredContacts(_0x1723c2){var _0x35e68d=[];return db[_0xf9e7('0x55')][_0xf9e7('0x56')]({'attributes':['id',_0xf9e7('0x31'),'color'],'raw':!![]})['then'](function(_0x254358){_0x35e68d=_[_0xf9e7('0x57')](_0x254358,'id');var _0x524146={'type':db['Sequelize'][_0xf9e7('0x58')][_0xf9e7('0x59')],'model':db[_0xf9e7('0x5a')],'mapToModel':!![],'nest':!![],'raw':!![]};return db['sequelize'][_0xf9e7('0x5b')](_0x1723c2[_0xf9e7('0x5c')](),_0x524146);})[_0xf9e7('0x4b')](function(_0x2f3750){_0x2f3750[_0xf9e7('0x1e')](function(_0xa12eeb){if(_0xa12eeb[_0xf9e7('0x1c')]){_0xa12eeb[_0xf9e7('0x5d')]=[];_0xa12eeb[_0xf9e7('0x1c')]['split'](',')[_0xf9e7('0x1e')](function(_0x2a53fa){_0xa12eeb[_0xf9e7('0x5d')]['push'](_0x35e68d[_0x2a53fa]);});}delete _0xa12eeb[_0xf9e7('0x1c')];});return _0x2f3750;});}function countFilteredContacts(_0x116681,_0x30ec62){var _0x6e7676=_0x116681['clone']();_0x6e7676['field'](_0xf9e7('0x5e'));_0x6e7676=applyJoinClauses(_0x6e7676,!![]);_0x116681['group'](_0xf9e7('0x5f'));var _0x1e536f=utils['getSelectedTags'](_0x30ec62);if(!_[_0xf9e7('0x60')](_0x1e536f)){_0x6e7676[_0xf9e7('0xa')](_0xf9e7('0x61'),_0x1e536f);}var _0x318ff4={'type':db[_0xf9e7('0x62')][_0xf9e7('0x58')]['SELECT'],'raw':!![]};return db[_0xf9e7('0x63')][_0xf9e7('0x5b')](_0x6e7676['toString'](),_0x318ff4)[_0xf9e7('0x4b')](function(_0x2edd34){return _0x2edd34[0x0][_0xf9e7('0x5e')];});}module[_0xf9e7('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