Built motion from commit 10af8726.|2.6.34
[motion2.git] / server / components / contacts / sql-utils.js
index 809546d..b235dc6 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x3d82=['Contact','and','c.ListId\x20IN\x20?','concat','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','uc.UserId\x20=\x20?','resolve','then','fields','tag','filter','search','agent','getLists','c.ListId\x20IS\x20NULL','attributes','limit','offset','having','order','subqry.','DESC','findAll','color','keyBy','Sequelize','QueryTypes','CmContact','sequelize','toString','Tags','COUNT(*)','group','c.id','isEmpty','where','t.id\x20IN\x20?','SELECT','query','exports','lodash','squel','../parsers/advancedSearch','../interaction/utils','role','ListId','autocomplete','true','select','from','c.deletedAt\x20IS\x20NULL','subqry','cm_user_has_contacts','uc.CmContactId\x20=\x20','cm_contact_has_tags','firstName','lastName','phone','fax','CompanyId','createdAt','updatedAt','deletedAt','TagIds','push','forEach','field','GROUP_CONCAT(DISTINCT\x20t.id)','expr','getSelectedTags','CONCAT(\x27,\x27,\x20subqry.TagIds,\x20\x27,\x27)\x20LIKE\x20?','replace','split','isNumeric','c.id\x20LIKE\x20?','c.phone\x20LIKE\x20?','c.mobile\x20LIKE\x20?','c.fax\x20LIKE\x20?','isEmail','parseSearch','sqlOperator','conditions','length','find','name','dateOfBirth','fieldType','datetime','DATE','default','text','start','end','Tag','value','map','tags','clause','ids','User','user','keys','some'];(function(_0x34021d,_0x753aa6){var _0x16597b=function(_0x2d040a){while(--_0x2d040a){_0x34021d['push'](_0x34021d['shift']());}};_0x16597b(++_0x753aa6);}(_0x3d82,0x8f));var _0x23d8=function(_0x707d21,_0x28d345){_0x707d21=_0x707d21-0x0;var _0x1bae5f=_0x3d82[_0x707d21];return _0x1bae5f;};'use strict';var _=require(_0x23d8('0x0'));var squel=require(_0x23d8('0x1'));var as=require(_0x23d8('0x2'));var qs=require('../parsers/qs');var utils=require(_0x23d8('0x3'));var db=require('../../mysqldb')['db'];function skipContactsQuery(_0x47fc28,_0x201c26){var _0x5f18d1=![];if(_0x47fc28[_0x23d8('0x4')]==='agent'&&!_0x201c26['search']&&!_0x201c26[_0x23d8('0x5')]&&_0x201c26[_0x23d8('0x6')]!==_0x23d8('0x7')){_0x5f18d1=!![];}return _0x5f18d1;}function getContactsSubquery(){return squel[_0x23d8('0x8')]()[_0x23d8('0x9')]('cm_contacts','c')['where'](_0x23d8('0xa'));}function applyJoinClauses(_0x140f50,_0x5cce2f){var _0x3c2f1b=_0x5cce2f?'c':_0x23d8('0xb');_0x140f50['left_join'](_0x23d8('0xc'),'uc',_0x23d8('0xd')+_0x3c2f1b+'.id')['left_join'](_0x23d8('0xe'),'ct','ct.CmContactId\x20=\x20'+_0x3c2f1b+'.id')['left_join']('tools_tags','t','t.id\x20=\x20ct.TagId');return _0x140f50;}function addFieldsToQuery(_0x7c790b,_0x466a8e,_0x305814,_0x39f894,_0x40243e){var _0x243e65=_0x40243e?'c':_0x23d8('0xb');if(!_0x466a8e){_0x466a8e=['id',_0x23d8('0xf'),_0x23d8('0x10'),_0x23d8('0x11'),'mobile',_0x23d8('0x12'),'email',_0x23d8('0x5'),_0x23d8('0x13'),_0x23d8('0x14'),_0x23d8('0x15'),_0x23d8('0x16'),_0x23d8('0x17')];}else if(!_0x466a8e['includes']('id')){_0x466a8e[_0x23d8('0x18')]('id');}var _0x4e629b=_0x305814&&_0x40243e||!_0x305814&&!_0x40243e;if(_0x39f894){_0x4e629b=_0x39f894&&_0x40243e||!_0x39f894&&!_0x40243e;}_0x466a8e[_0x23d8('0x19')](function(_0x477746){if(_0x477746===_0x23d8('0x17')){if(_0x4e629b){_0x7c790b[_0x23d8('0x1a')](_0x23d8('0x1b'),_0x477746);}else if(_0x305814||_0x39f894){_0x7c790b['field'](_0x243e65+'.'+_0x477746);}}else{_0x7c790b[_0x23d8('0x1a')](_0x243e65+'.'+_0x477746);}});return _0x7c790b;}function getSqlClauses(){var _0x45b8f8={'default':squel[_0x23d8('0x1c')](),'fields':squel[_0x23d8('0x1c')](),'filter':squel[_0x23d8('0x1c')](),'tags':{'clause':squel[_0x23d8('0x1c')](),'ids':null},'user':{'clause':squel[_0x23d8('0x1c')](),'skip':![]}};return _0x45b8f8;}function parseTagParameter(_0x1081c2){var _0x3b712c=squel[_0x23d8('0x1c')]();if(_0x1081c2){var _0x23570a=utils[_0x23d8('0x1d')](_0x1081c2);_0x23570a['forEach'](function(_0x49b9f1){_0x3b712c['or'](_0x23d8('0x1e'),'%,'+_0x49b9f1+',%');});}return _0x3b712c;}function parseSearchFilter(_0x2f0a5e){var _0x2c20fd=squel[_0x23d8('0x1c')]();if(_0x2f0a5e){var _0x411806=_0x2f0a5e[_0x23d8('0x1f')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(_0x411806[_0x23d8('0x20')]('\x20')['length']>0x1){_0x2c20fd['or']('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x411806,!![]),null);}else{if(qs[_0x23d8('0x21')](_0x411806)){_0x2c20fd['or'](_0x23d8('0x22'),_0x411806+'%');_0x2c20fd['or'](_0x23d8('0x23'),_0x411806+'%');_0x2c20fd['or'](_0x23d8('0x24'),_0x411806+'%');_0x2c20fd['or'](_0x23d8('0x25'),_0x411806+'%');}else if(qs[_0x23d8('0x26')](_0x411806)){_0x2c20fd['or']('c.email\x20LIKE\x20?',_0x411806+'%');}else{_0x2c20fd['or']('c.firstName\x20LIKE\x20?','%'+_0x411806+'%');_0x2c20fd['or']('c.lastName\x20LIKE\x20?','%'+_0x411806+'%');_0x2c20fd['or']('c.email\x20LIKE\x20?','%'+_0x411806+'%');}}}return _0x2c20fd;}function parseAdvancedSearchFilter(_0xc41637,_0x3a9a03){var _0x8a6f70=getSqlClauses();var _0x5b54e1=as[_0x23d8('0x27')](_0xc41637);var _0x231278=_0x5b54e1[_0x23d8('0x28')];for(var _0x10c9c5=0x0;_0x10c9c5<_0x5b54e1[_0x23d8('0x29')][_0x23d8('0x2a')];_0x10c9c5++){var _0x170cc1=_0x5b54e1[_0x23d8('0x29')][_0x10c9c5];var _0x3461c0='c';var _0x4317e5=_[_0x23d8('0x2b')](_0x3a9a03,[_0x23d8('0x2c'),_0x170cc1[_0x23d8('0x1a')]]);if(_0x4317e5){if(_0x170cc1[_0x23d8('0x1a')]===_0x23d8('0x2d')||_0x4317e5[_0x23d8('0x2e')]===_0x23d8('0x2f')){_0x170cc1['castTo']=_0x23d8('0x30');}var _0xac5cce=as['buildExpression'](_0x3461c0,_0x4317e5['type'],_0x170cc1);_0x8a6f70[_0x23d8('0x31')][_0x231278](_0xac5cce[_0x23d8('0x32')],_0xac5cce['value'][_0x23d8('0x33')],_0xac5cce['value'][_0x23d8('0x34')]);}else{if(_0x170cc1[_0x23d8('0x1a')]===_0x23d8('0x35')){var _0x1f6a0d=_0x170cc1[_0x23d8('0x36')]['split'](',')[_0x23d8('0x37')](function(_0x1a323d){return Number(_0x1a323d);});var _0x3ed64a=parseTagParameter(_0x1f6a0d);_0x8a6f70[_0x23d8('0x38')][_0x23d8('0x39')]['and'](_0x3ed64a);_0x8a6f70[_0x23d8('0x38')][_0x23d8('0x3a')]=_0x1f6a0d;}else if(_0x170cc1['field']===_0x23d8('0x3b')){_0x8a6f70['user'][_0x23d8('0x39')]['and']('uc.UserId\x20=\x20?',_0x170cc1[_0x23d8('0x36')]);_0x8a6f70[_0x23d8('0x3c')]['skip']=!![];}}}return _0x8a6f70;}function parseModelFields(_0x36e15b,_0x177dc6){var _0x300e75=squel['expr']();var _0x660800=_(_0x36e15b)[_0x23d8('0x3d')]()[_0x23d8('0x37')](function(_0x48a88d){return _[_0x23d8('0x3e')](_0x177dc6,[_0x23d8('0x2c'),_0x48a88d])?_0x48a88d:undefined;})['compact']()[_0x23d8('0x36')]();if(_0x36e15b[_0x23d8('0x3f')]){_0x660800[_0x23d8('0x18')](_0x23d8('0x3f'));}if(_0x36e15b[_0x23d8('0x3b')]){_0x660800['push'](_0x23d8('0x3b'));}if(_0x660800[_0x23d8('0x2a')]>0x0){_0x660800[_0x23d8('0x19')](function(_0x2264f2){if(_0x2264f2==='ListId'){_0x300e75[_0x23d8('0x40')](_0x23d8('0x41'),[][_0x23d8('0x42')](_0x36e15b[_0x2264f2]));}else if(_0x2264f2===_0x23d8('0x3f')){var _0x13f5e1='%'+_0x36e15b[_0x2264f2]+'%';_0x300e75[_0x23d8('0x40')](_0x23d8('0x43'),_0x13f5e1);}else if(_0x2264f2===_0x23d8('0x3b')){_0x300e75[_0x23d8('0x40')](_0x23d8('0x44'),_0x36e15b[_0x2264f2]);}else{_0x300e75[_0x23d8('0x40')]('c.'+_0x2264f2+'\x20=\x20?',_0x36e15b[_0x2264f2]);}});}return _0x300e75;}function parseQueryParameters(_0x140ad6,_0x50e0bf){var _0x437528=getSqlClauses();return Promise[_0x23d8('0x45')]()[_0x23d8('0x46')](function(){return parseModelFields(_0x140ad6,_0x50e0bf);})[_0x23d8('0x46')](function(_0x2d8652){_0x437528[_0x23d8('0x47')][_0x23d8('0x40')](_0x2d8652);return parseTagParameter(_0x140ad6[_0x23d8('0x48')]);})[_0x23d8('0x46')](function(_0x9901b1){_0x437528['tags']['clause']['and'](_0x9901b1);return parseSearchFilter(_0x140ad6[_0x23d8('0x49')]);})[_0x23d8('0x46')](function(_0x2c61fa){_0x437528[_0x23d8('0x49')]=_0x2c61fa;return _0x437528;});}function checkListsRestrictions(_0x1e3302,_0x27d177,_0x50ea6a){var _0x50cbd4=squel[_0x23d8('0x1c')]();return Promise['resolve']()[_0x23d8('0x46')](function(){if(_0x27d177[_0x23d8('0x4a')]&&_0x1e3302[_0x23d8('0x4')]===_0x23d8('0x4b')&&!_0x50ea6a){return _0x1e3302[_0x23d8('0x4c')]({'attributes':['id'],'raw':!![]});}})[_0x23d8('0x46')](function(_0x586bda){if(_0x586bda){if(_0x586bda[_0x23d8('0x2a')]===0x0){_0x50cbd4[_0x23d8('0x40')](_0x23d8('0x4d'));}else{_0x50cbd4[_0x23d8('0x40')](_0x23d8('0x41'),_[_0x23d8('0x37')](_0x586bda,'id'));}}})['then'](function(){return _0x50cbd4;});}function buildContactsQuery(_0x5700f1,_0x1791f2,_0x138f02,_0x42493a,_0x2c72e8,_0x53f3ea){if(_0x1791f2){_0x1791f2=_0x138f02[_0x23d8('0x4e')];}_0x5700f1=addFieldsToQuery(_0x5700f1,_0x1791f2,_0x42493a,_0x53f3ea,!![]);var _0x5b661c=squel[_0x23d8('0x8')]();_0x5b661c=addFieldsToQuery(_0x5b661c,_0x1791f2,_0x42493a,_0x53f3ea,![]);if(_0x42493a||_0x53f3ea){_0x5700f1=applyJoinClauses(_0x5700f1,!![]);_0x5700f1['group']('c.id');if(_0x138f02[_0x23d8('0x4f')]){_0x5b661c[_0x23d8('0x4f')](_0x138f02[_0x23d8('0x4f')]);}if(_0x138f02[_0x23d8('0x50')]){_0x5b661c[_0x23d8('0x50')](_0x138f02[_0x23d8('0x50')]);}}else{_0x5b661c=applyJoinClauses(_0x5b661c,![]);_0x5b661c['group']('subqry.id');if(_0x138f02['limit']){_0x5700f1[_0x23d8('0x4f')](_0x138f02[_0x23d8('0x4f')]);}if(_0x138f02['offset']){_0x5700f1[_0x23d8('0x50')](_0x138f02[_0x23d8('0x50')]);}}_0x5b661c[_0x23d8('0x51')](_0x2c72e8);if(_0x138f02['order']){_0x138f02[_0x23d8('0x52')][_0x23d8('0x19')](function(_0x1d2c39){_0x5700f1[_0x23d8('0x52')]('c.'+_0x1d2c39[0x0],_0x1d2c39[0x1]==='DESC'?![]:!![]);_0x5b661c['order'](_0x23d8('0x53')+_0x1d2c39[0x0],_0x1d2c39[0x1]===_0x23d8('0x54')?![]:!![]);});}_0x5b661c['from'](_0x5700f1,'subqry');return _0x5b661c;}function getFilteredContacts(_0xa99e55){var _0x589fdf=[];return db[_0x23d8('0x35')][_0x23d8('0x55')]({'attributes':['id',_0x23d8('0x2c'),_0x23d8('0x56')],'raw':!![]})[_0x23d8('0x46')](function(_0x453948){_0x589fdf=_[_0x23d8('0x57')](_0x453948,'id');var _0x5b8fae={'type':db[_0x23d8('0x58')][_0x23d8('0x59')]['SELECT'],'model':db[_0x23d8('0x5a')],'mapToModel':!![],'nest':!![],'raw':!![]};return db[_0x23d8('0x5b')]['query'](_0xa99e55[_0x23d8('0x5c')](),_0x5b8fae);})[_0x23d8('0x46')](function(_0x45483d){_0x45483d[_0x23d8('0x19')](function(_0x44aeff){if(_0x44aeff[_0x23d8('0x17')]){_0x44aeff[_0x23d8('0x5d')]=[];_0x44aeff[_0x23d8('0x17')][_0x23d8('0x20')](',')[_0x23d8('0x19')](function(_0x177699){_0x44aeff[_0x23d8('0x5d')]['push'](_0x589fdf[_0x177699]);});}delete _0x44aeff[_0x23d8('0x17')];});return _0x45483d;});}function countFilteredContacts(_0x501a6d,_0x50d391){var _0x334a39=_0x501a6d['clone']();_0x334a39['field'](_0x23d8('0x5e'));_0x334a39=applyJoinClauses(_0x334a39,!![]);_0x501a6d[_0x23d8('0x5f')](_0x23d8('0x60'));var _0x1e8971=utils['getSelectedTags'](_0x50d391);if(!_[_0x23d8('0x61')](_0x1e8971)){_0x334a39[_0x23d8('0x62')](_0x23d8('0x63'),_0x1e8971);}var _0x5916bc={'type':db['Sequelize'][_0x23d8('0x59')][_0x23d8('0x64')],'raw':!![]};return db[_0x23d8('0x5b')][_0x23d8('0x65')](_0x334a39[_0x23d8('0x5c')](),_0x5916bc)[_0x23d8('0x46')](function(_0xad72e9){return _0xad72e9[0x0][_0x23d8('0x5e')];});}module[_0x23d8('0x66')]={'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