Built motion from commit 1ea47bf4.|2.6.34
[motion2.git] / server / components / contacts / sql-utils.js
index b14d108..338ed88 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x4578=['castTo','buildExpression','type','text','start','end','Tag','value','map','clause','and','ids','user','skip','keys','some','compact','Contact','push','User','c.ListId\x20IN\x20?','concat','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','\x20=\x20?','resolve','fields','tag','then','filter','search','getLists','c.ListId\x20IS\x20NULL','attributes','group','c.id','limit','offset','subqry.id','having','order','DESC','subqry.','from','findAll','color','keyBy','Sequelize','QueryTypes','SELECT','CmContact','sequelize','query','toString','Tags','clone','COUNT(*)','isEmpty','t.id\x20IN\x20?','exports','lodash','../parsers/advancedSearch','../parsers/qs','../interaction/utils','agent','ListId','true','select','where','subqry','cm_user_has_contacts','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','CompanyId','createdAt','updatedAt','deletedAt','TagIds','includes','forEach','field','expr','getSelectedTags','CONCAT(\x27,\x27,\x20subqry.TagIds,\x20\x27,\x27)\x20LIKE\x20?','replace','escapeLIKESpecialChars','split','length','getFullTextValue','c.id\x20LIKE\x20?','c.mobile\x20LIKE\x20?','isEmail','c.firstName\x20LIKE\x20?','c.email\x20LIKE\x20?','parseSearch','conditions','find','name','dateOfBirth','fieldType','datetime'];(function(_0x5dd9d1,_0x52619f){var _0x4a773c=function(_0x5abd68){while(--_0x5abd68){_0x5dd9d1['push'](_0x5dd9d1['shift']());}};_0x4a773c(++_0x52619f);}(_0x4578,0x1f3));var _0x8457=function(_0x3231e8,_0x41df58){_0x3231e8=_0x3231e8-0x0;var _0x13a897=_0x4578[_0x3231e8];return _0x13a897;};'use strict';var _=require(_0x8457('0x0'));var squel=require('squel');var as=require(_0x8457('0x1'));var qs=require(_0x8457('0x2'));var utils=require(_0x8457('0x3'));var db=require('../../mysqldb')['db'];function skipContactsQuery(_0x10357d,_0x47e2be){var _0x3dc3a8=![];if(_0x10357d['role']===_0x8457('0x4')&&!_0x47e2be['search']&&!_0x47e2be[_0x8457('0x5')]&&_0x47e2be['autocomplete']!==_0x8457('0x6')){_0x3dc3a8=!![];}return _0x3dc3a8;}function getContactsSubquery(){return squel[_0x8457('0x7')]()['from']('cm_contacts','c')[_0x8457('0x8')]('c.deletedAt\x20IS\x20NULL');}function applyJoinClauses(_0xd5896,_0x568a04){var _0x5e6c36=_0x568a04?'c':_0x8457('0x9');_0xd5896['left_join'](_0x8457('0xa'),'uc',_0x8457('0xb')+_0x5e6c36+_0x8457('0xc'))[_0x8457('0xd')](_0x8457('0xe'),'ct',_0x8457('0xf')+_0x5e6c36+_0x8457('0xc'))['left_join'](_0x8457('0x10'),'t',_0x8457('0x11'));return _0xd5896;}function addFieldsToQuery(_0x2d5ef0,_0x10a4ad,_0x2502d9,_0x135c4a,_0x447fea){var _0x1b1f6d=_0x447fea?'c':'subqry';if(!_0x10a4ad){_0x10a4ad=['id',_0x8457('0x12'),_0x8457('0x13'),_0x8457('0x14'),_0x8457('0x15'),_0x8457('0x16'),'email',_0x8457('0x5'),_0x8457('0x17'),_0x8457('0x18'),_0x8457('0x19'),_0x8457('0x1a'),_0x8457('0x1b')];}else if(!_0x10a4ad[_0x8457('0x1c')]('id')){_0x10a4ad['push']('id');}var _0x16f1c6=_0x2502d9&&_0x447fea||!_0x2502d9&&!_0x447fea;if(_0x135c4a){_0x16f1c6=_0x135c4a&&_0x447fea||!_0x135c4a&&!_0x447fea;}_0x10a4ad[_0x8457('0x1d')](function(_0x1b0feb){if(_0x1b0feb===_0x8457('0x1b')){if(_0x16f1c6){_0x2d5ef0[_0x8457('0x1e')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x1b0feb);}else if(_0x2502d9||_0x135c4a){_0x2d5ef0[_0x8457('0x1e')](_0x1b1f6d+'.'+_0x1b0feb);}}else{_0x2d5ef0['field'](_0x1b1f6d+'.'+_0x1b0feb);}});return _0x2d5ef0;}function getSqlClauses(){var _0x4d885d={'default':squel[_0x8457('0x1f')](),'fields':squel['expr'](),'filter':squel[_0x8457('0x1f')](),'tags':{'clause':squel[_0x8457('0x1f')](),'ids':null},'user':{'clause':squel[_0x8457('0x1f')](),'skip':![]}};return _0x4d885d;}function parseTagParameter(_0xdafe6f){var _0x4f4dcf=squel['expr']();if(_0xdafe6f){var _0x1fdd72=utils[_0x8457('0x20')](_0xdafe6f);_0x1fdd72[_0x8457('0x1d')](function(_0x2960da){_0x4f4dcf['or'](_0x8457('0x21'),'%,'+_0x2960da+',%');});}return _0x4f4dcf;}function parseSearchFilter(_0x52d809){var _0x1e0904=squel[_0x8457('0x1f')]();if(_0x52d809){var _0x3e47a8=_0x52d809[_0x8457('0x22')]('\x5c','\x5c\x5c')[_0x8457('0x22')](/'/g,'\x27\x27');var _0x3b08d1=qs[_0x8457('0x23')](_0x3e47a8);if(_0x3e47a8[_0x8457('0x24')]('\x20')[_0x8457('0x25')]>0x1){_0x1e0904['or']('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x8457('0x26')](_0x3e47a8,!![]),null);}else{if(qs['isNumeric'](_0x3e47a8)){_0x1e0904['or'](_0x8457('0x27'),_0x3b08d1+'%');_0x1e0904['or']('c.phone\x20LIKE\x20?',_0x3b08d1+'%');_0x1e0904['or'](_0x8457('0x28'),_0x3b08d1+'%');_0x1e0904['or']('c.fax\x20LIKE\x20?',_0x3b08d1+'%');}else if(qs[_0x8457('0x29')](_0x3e47a8)){_0x1e0904['or']('c.email\x20LIKE\x20?',_0x3b08d1+'%');}else{_0x1e0904['or'](_0x8457('0x2a'),'%'+_0x3b08d1+'%');_0x1e0904['or']('c.lastName\x20LIKE\x20?','%'+_0x3b08d1+'%');_0x1e0904['or'](_0x8457('0x2b'),'%'+_0x3b08d1+'%');}}}return _0x1e0904;}function parseAdvancedSearchFilter(_0x5d6a47,_0x119c27){var _0x3c1d3f=getSqlClauses();var _0x1125ae=as[_0x8457('0x2c')](_0x5d6a47);var _0x4663fc=_0x1125ae['sqlOperator'];for(var _0x76bc88=0x0;_0x76bc88<_0x1125ae[_0x8457('0x2d')][_0x8457('0x25')];_0x76bc88++){var _0x12481d=_0x1125ae[_0x8457('0x2d')][_0x76bc88];var _0x47fa8b='c';var _0x2b45ca=_[_0x8457('0x2e')](_0x119c27,[_0x8457('0x2f'),_0x12481d[_0x8457('0x1e')]]);if(_0x2b45ca){if(_0x12481d['field']===_0x8457('0x30')||_0x2b45ca[_0x8457('0x31')]===_0x8457('0x32')){_0x12481d[_0x8457('0x33')]='DATE';}var _0xcdf9a6=as[_0x8457('0x34')](_0x47fa8b,_0x2b45ca[_0x8457('0x35')],_0x12481d);_0x3c1d3f['default'][_0x4663fc](_0xcdf9a6[_0x8457('0x36')],_0xcdf9a6['value'][_0x8457('0x37')],_0xcdf9a6['value'][_0x8457('0x38')]);}else{if(_0x12481d[_0x8457('0x1e')]===_0x8457('0x39')){var _0xaefd0d=_0x12481d[_0x8457('0x3a')][_0x8457('0x24')](',')[_0x8457('0x3b')](function(_0x3cf3d5){return Number(_0x3cf3d5);});var _0x2d4c9d=parseTagParameter(_0xaefd0d);_0x3c1d3f['tags'][_0x8457('0x3c')][_0x8457('0x3d')](_0x2d4c9d);_0x3c1d3f['tags'][_0x8457('0x3e')]=_0xaefd0d;}else if(_0x12481d[_0x8457('0x1e')]==='User'){_0x3c1d3f['user'][_0x8457('0x3c')][_0x8457('0x3d')]('uc.UserId\x20=\x20?',_0x12481d[_0x8457('0x3a')]);_0x3c1d3f[_0x8457('0x3f')][_0x8457('0x40')]=!![];}}}return _0x3c1d3f;}function parseModelFields(_0xc9a2e3,_0x3d75cc){var _0x588102=squel['expr']();var _0x6cc823=_(_0xc9a2e3)[_0x8457('0x41')]()['map'](function(_0x204779){return _[_0x8457('0x42')](_0x3d75cc,[_0x8457('0x2f'),_0x204779])?_0x204779:undefined;})[_0x8457('0x43')]()[_0x8457('0x3a')]();if(_0xc9a2e3[_0x8457('0x44')]){_0x6cc823[_0x8457('0x45')]('Contact');}if(_0xc9a2e3[_0x8457('0x46')]){_0x6cc823['push'](_0x8457('0x46'));}if(_0x6cc823['length']>0x0){_0x6cc823[_0x8457('0x1d')](function(_0x45b8f1){if(_0x45b8f1===_0x8457('0x5')){_0x588102['and'](_0x8457('0x47'),[][_0x8457('0x48')](_0xc9a2e3[_0x45b8f1]));}else if(_0x45b8f1==='Contact'){var _0x28b6cb='%'+_0xc9a2e3[_0x45b8f1]+'%';_0x588102['and'](_0x8457('0x49'),_0x28b6cb);}else if(_0x45b8f1===_0x8457('0x46')){_0x588102[_0x8457('0x3d')]('uc.UserId\x20=\x20?',_0xc9a2e3[_0x45b8f1]);}else{_0x588102[_0x8457('0x3d')]('c.'+_0x45b8f1+_0x8457('0x4a'),_0xc9a2e3[_0x45b8f1]);}});}return _0x588102;}function parseQueryParameters(_0x22d78b,_0x113db2){var _0x435b77=getSqlClauses();return Promise[_0x8457('0x4b')]()['then'](function(){return parseModelFields(_0x22d78b,_0x113db2);})['then'](function(_0xfd0fa5){_0x435b77[_0x8457('0x4c')][_0x8457('0x3d')](_0xfd0fa5);return parseTagParameter(_0x22d78b[_0x8457('0x4d')]);})[_0x8457('0x4e')](function(_0x2eb950){_0x435b77['tags'][_0x8457('0x3c')][_0x8457('0x3d')](_0x2eb950);return parseSearchFilter(_0x22d78b['filter']);})[_0x8457('0x4e')](function(_0x4a1f3c){_0x435b77[_0x8457('0x4f')]=_0x4a1f3c;return _0x435b77;});}function checkListsRestrictions(_0x18fbb5,_0x195915,_0x3a0298){var _0x293fa6=squel['expr']();return Promise[_0x8457('0x4b')]()[_0x8457('0x4e')](function(){if(_0x195915[_0x8457('0x50')]&&_0x18fbb5['role']==='agent'&&!_0x3a0298){return _0x18fbb5[_0x8457('0x51')]({'attributes':['id'],'raw':!![]});}})[_0x8457('0x4e')](function(_0x333bb1){if(_0x333bb1){if(_0x333bb1['length']===0x0){_0x293fa6[_0x8457('0x3d')](_0x8457('0x52'));}else{_0x293fa6[_0x8457('0x3d')](_0x8457('0x47'),_[_0x8457('0x3b')](_0x333bb1,'id'));}}})['then'](function(){return _0x293fa6;});}function buildContactsQuery(_0x240935,_0x10091d,_0x46448a,_0x3c1108,_0x2587e4,_0x166a4d){if(_0x10091d){_0x10091d=_0x46448a[_0x8457('0x53')];}_0x240935=addFieldsToQuery(_0x240935,_0x10091d,_0x3c1108,_0x166a4d,!![]);var _0x54f67f=squel['select']();_0x54f67f=addFieldsToQuery(_0x54f67f,_0x10091d,_0x3c1108,_0x166a4d,![]);if(_0x3c1108||_0x166a4d){_0x240935=applyJoinClauses(_0x240935,!![]);_0x240935[_0x8457('0x54')](_0x8457('0x55'));if(_0x46448a['limit']){_0x54f67f['limit'](_0x46448a[_0x8457('0x56')]);}if(_0x46448a[_0x8457('0x57')]){_0x54f67f[_0x8457('0x57')](_0x46448a[_0x8457('0x57')]);}}else{_0x54f67f=applyJoinClauses(_0x54f67f,![]);_0x54f67f[_0x8457('0x54')](_0x8457('0x58'));if(_0x46448a[_0x8457('0x56')]){_0x240935[_0x8457('0x56')](_0x46448a['limit']);}if(_0x46448a[_0x8457('0x57')]){_0x240935['offset'](_0x46448a['offset']);}}_0x54f67f[_0x8457('0x59')](_0x2587e4);if(_0x46448a[_0x8457('0x5a')]){_0x46448a['order'][_0x8457('0x1d')](function(_0x2b5f45){_0x240935[_0x8457('0x5a')]('c.'+_0x2b5f45[0x0],_0x2b5f45[0x1]===_0x8457('0x5b')?![]:!![]);_0x54f67f['order'](_0x8457('0x5c')+_0x2b5f45[0x0],_0x2b5f45[0x1]==='DESC'?![]:!![]);});}_0x54f67f[_0x8457('0x5d')](_0x240935,_0x8457('0x9'));return _0x54f67f;}function getFilteredContacts(_0x11cb5e){var _0x53b83c=[];return db[_0x8457('0x39')][_0x8457('0x5e')]({'attributes':['id',_0x8457('0x2f'),_0x8457('0x5f')],'raw':!![]})[_0x8457('0x4e')](function(_0xe7a7b1){_0x53b83c=_[_0x8457('0x60')](_0xe7a7b1,'id');var _0xfa3813={'type':db[_0x8457('0x61')][_0x8457('0x62')][_0x8457('0x63')],'model':db[_0x8457('0x64')],'mapToModel':!![],'nest':!![],'raw':!![]};return db[_0x8457('0x65')][_0x8457('0x66')](_0x11cb5e[_0x8457('0x67')](),_0xfa3813);})[_0x8457('0x4e')](function(_0x438d84){_0x438d84[_0x8457('0x1d')](function(_0x2a7c34){if(_0x2a7c34[_0x8457('0x1b')]){_0x2a7c34[_0x8457('0x68')]=[];_0x2a7c34['TagIds'][_0x8457('0x24')](',')[_0x8457('0x1d')](function(_0x23a074){_0x2a7c34[_0x8457('0x68')][_0x8457('0x45')](_0x53b83c[_0x23a074]);});}delete _0x2a7c34['TagIds'];});return _0x438d84;});}function countFilteredContacts(_0x4a6bd1,_0x255d71){var _0x226f77=_0x4a6bd1[_0x8457('0x69')]();_0x226f77['field'](_0x8457('0x6a'));_0x226f77=applyJoinClauses(_0x226f77,!![]);_0x4a6bd1[_0x8457('0x54')]('c.id');var _0x1628aa=utils['getSelectedTags'](_0x255d71);if(!_[_0x8457('0x6b')](_0x1628aa)){_0x226f77[_0x8457('0x8')](_0x8457('0x6c'),_0x1628aa);}var _0x14dfdb={'type':db['Sequelize'][_0x8457('0x62')][_0x8457('0x63')],'raw':!![]};return db[_0x8457('0x65')][_0x8457('0x66')](_0x226f77[_0x8457('0x67')](),_0x14dfdb)[_0x8457('0x4e')](function(_0x2767c5){return _0x2767c5[0x0][_0x8457('0x6a')];});}module[_0x8457('0x6d')]={'buildContactsQuery':buildContactsQuery,'checkListsRestrictions':checkListsRestrictions,'countFilteredContacts':countFilteredContacts,'getContactsSubquery':getContactsSubquery,'getFilteredContacts':getFilteredContacts,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipContactsQuery':skipContactsQuery};
\ No newline at end of file
+var _0xd783=['order','subqry.','DESC','from','Tag','QueryTypes','SELECT','CmContact','sequelize','query','Tags','getSelectedTags','isEmpty','Sequelize','exports','lodash','squel','../parsers/advancedSearch','../interaction/utils','role','agent','search','ListId','autocomplete','true','select','cm_contacts','where','subqry','left_join','uc.CmContactId\x20=\x20','.id','cm_contact_has_tags','t.id\x20=\x20ct.TagId','firstName','lastName','phone','mobile','fax','email','CompanyId','createdAt','updatedAt','TagIds','includes','push','forEach','field','expr','CONCAT(\x27,\x27,\x20subqry.TagIds,\x20\x27,\x27)\x20LIKE\x20?','replace','escapeLIKESpecialChars','length','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','isNumeric','c.phone\x20LIKE\x20?','c.fax\x20LIKE\x20?','isEmail','c.email\x20LIKE\x20?','c.firstName\x20LIKE\x20?','parseSearch','sqlOperator','conditions','dateOfBirth','fieldType','buildExpression','type','default','start','value','end','split','clause','tags','ids','and','uc.UserId\x20=\x20?','user','skip','keys','map','some','name','compact','Contact','User','c.ListId\x20IN\x20?','concat','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','\x20=\x20?','resolve','then','fields','filter','getLists','c.ListId\x20IS\x20NULL','c.id','limit','offset','group','subqry.id','having'];(function(_0x213364,_0x1c96b6){var _0x46b6d5=function(_0x14e023){while(--_0x14e023){_0x213364['push'](_0x213364['shift']());}};_0x46b6d5(++_0x1c96b6);}(_0xd783,0x1ab));var _0x3d78=function(_0x118c30,_0x7eb1eb){_0x118c30=_0x118c30-0x0;var _0x569999=_0xd783[_0x118c30];return _0x569999;};'use strict';var _=require(_0x3d78('0x0'));var squel=require(_0x3d78('0x1'));var as=require(_0x3d78('0x2'));var qs=require('../parsers/qs');var utils=require(_0x3d78('0x3'));var db=require('../../mysqldb')['db'];function skipContactsQuery(_0x3ffb63,_0x1e517){var _0x20b150=![];if(_0x3ffb63[_0x3d78('0x4')]===_0x3d78('0x5')&&!_0x1e517[_0x3d78('0x6')]&&!_0x1e517[_0x3d78('0x7')]&&_0x1e517[_0x3d78('0x8')]!==_0x3d78('0x9')){_0x20b150=!![];}return _0x20b150;}function getContactsSubquery(){return squel[_0x3d78('0xa')]()['from'](_0x3d78('0xb'),'c')[_0x3d78('0xc')]('c.deletedAt\x20IS\x20NULL');}function applyJoinClauses(_0x10a461,_0x1a412d){var _0x5e1492=_0x1a412d?'c':_0x3d78('0xd');_0x10a461[_0x3d78('0xe')]('cm_user_has_contacts','uc',_0x3d78('0xf')+_0x5e1492+_0x3d78('0x10'))['left_join'](_0x3d78('0x11'),'ct','ct.CmContactId\x20=\x20'+_0x5e1492+'.id')[_0x3d78('0xe')]('tools_tags','t',_0x3d78('0x12'));return _0x10a461;}function addFieldsToQuery(_0x17d979,_0x18970c,_0x524dfa,_0x3b2509,_0xb2de98){var _0x3e0da0=_0xb2de98?'c':_0x3d78('0xd');if(!_0x18970c){_0x18970c=['id',_0x3d78('0x13'),_0x3d78('0x14'),_0x3d78('0x15'),_0x3d78('0x16'),_0x3d78('0x17'),_0x3d78('0x18'),_0x3d78('0x7'),_0x3d78('0x19'),_0x3d78('0x1a'),_0x3d78('0x1b'),'deletedAt',_0x3d78('0x1c')];}else if(!_0x18970c[_0x3d78('0x1d')]('id')){_0x18970c[_0x3d78('0x1e')]('id');}var _0x272107=_0x524dfa&&_0xb2de98||!_0x524dfa&&!_0xb2de98;if(_0x3b2509){_0x272107=_0x3b2509&&_0xb2de98||!_0x3b2509&&!_0xb2de98;}_0x18970c[_0x3d78('0x1f')](function(_0xa9068e){if(_0xa9068e===_0x3d78('0x1c')){if(_0x272107){_0x17d979['field']('GROUP_CONCAT(DISTINCT\x20t.id)',_0xa9068e);}else if(_0x524dfa||_0x3b2509){_0x17d979['field'](_0x3e0da0+'.'+_0xa9068e);}}else{_0x17d979[_0x3d78('0x20')](_0x3e0da0+'.'+_0xa9068e);}});return _0x17d979;}function getSqlClauses(){var _0x234a4a={'default':squel[_0x3d78('0x21')](),'fields':squel[_0x3d78('0x21')](),'filter':squel[_0x3d78('0x21')](),'tags':{'clause':squel[_0x3d78('0x21')](),'ids':null},'user':{'clause':squel[_0x3d78('0x21')](),'skip':![]}};return _0x234a4a;}function parseTagParameter(_0x550e4a){var _0x1359ff=squel['expr']();if(_0x550e4a){var _0x438a2b=utils['getSelectedTags'](_0x550e4a);_0x438a2b['forEach'](function(_0x3e762b){_0x1359ff['or'](_0x3d78('0x22'),'%,'+_0x3e762b+',%');});}return _0x1359ff;}function parseSearchFilter(_0x415d26){var _0x512cca=squel[_0x3d78('0x21')]();if(_0x415d26){var _0x20fd02=_0x415d26[_0x3d78('0x23')]('\x5c','\x5c\x5c')[_0x3d78('0x23')](/'/g,'\x27\x27');var _0x57c4dc=qs[_0x3d78('0x24')](_0x20fd02);if(_0x20fd02['split']('\x20')[_0x3d78('0x25')]>0x1){_0x512cca['or'](_0x3d78('0x26'),qs[_0x3d78('0x27')](_0x20fd02,!![]),null);}else{if(qs[_0x3d78('0x28')](_0x20fd02)){_0x512cca['or']('c.id\x20LIKE\x20?',_0x57c4dc+'%');_0x512cca['or'](_0x3d78('0x29'),_0x57c4dc+'%');_0x512cca['or']('c.mobile\x20LIKE\x20?',_0x57c4dc+'%');_0x512cca['or'](_0x3d78('0x2a'),_0x57c4dc+'%');}else if(qs[_0x3d78('0x2b')](_0x20fd02)){_0x512cca['or'](_0x3d78('0x2c'),_0x57c4dc+'%');}else{_0x512cca['or'](_0x3d78('0x2d'),'%'+_0x57c4dc+'%');_0x512cca['or']('c.lastName\x20LIKE\x20?','%'+_0x57c4dc+'%');_0x512cca['or'](_0x3d78('0x2c'),'%'+_0x57c4dc+'%');}}}return _0x512cca;}function parseAdvancedSearchFilter(_0x444908,_0x39d97b){var _0x41bee9=getSqlClauses();var _0xee9a3e=as[_0x3d78('0x2e')](_0x444908);var _0x557ead=_0xee9a3e[_0x3d78('0x2f')];for(var _0x382574=0x0;_0x382574<_0xee9a3e[_0x3d78('0x30')][_0x3d78('0x25')];_0x382574++){var _0x54507f=_0xee9a3e[_0x3d78('0x30')][_0x382574];var _0x12d004='c';var _0x18ce1e=_['find'](_0x39d97b,['name',_0x54507f[_0x3d78('0x20')]]);if(_0x18ce1e){if(_0x54507f[_0x3d78('0x20')]===_0x3d78('0x31')||_0x18ce1e[_0x3d78('0x32')]==='datetime'){_0x54507f['castTo']='DATE';}var _0x485c51=as[_0x3d78('0x33')](_0x12d004,_0x18ce1e[_0x3d78('0x34')],_0x54507f);_0x41bee9[_0x3d78('0x35')][_0x557ead](_0x485c51['text'],_0x485c51['value'][_0x3d78('0x36')],_0x485c51[_0x3d78('0x37')][_0x3d78('0x38')]);}else{if(_0x54507f[_0x3d78('0x20')]==='Tag'){var _0x489d89=_0x54507f['value'][_0x3d78('0x39')](',')['map'](function(_0x2b6450){return Number(_0x2b6450);});var _0x28cd44=parseTagParameter(_0x489d89);_0x41bee9['tags'][_0x3d78('0x3a')]['and'](_0x28cd44);_0x41bee9[_0x3d78('0x3b')][_0x3d78('0x3c')]=_0x489d89;}else if(_0x54507f['field']==='User'){_0x41bee9['user'][_0x3d78('0x3a')][_0x3d78('0x3d')](_0x3d78('0x3e'),_0x54507f['value']);_0x41bee9[_0x3d78('0x3f')][_0x3d78('0x40')]=!![];}}}return _0x41bee9;}function parseModelFields(_0x4f85f8,_0x4b5029){var _0x2792ef=squel[_0x3d78('0x21')]();var _0x588f9b=_(_0x4f85f8)[_0x3d78('0x41')]()[_0x3d78('0x42')](function(_0x36b9d4){return _[_0x3d78('0x43')](_0x4b5029,[_0x3d78('0x44'),_0x36b9d4])?_0x36b9d4:undefined;})[_0x3d78('0x45')]()[_0x3d78('0x37')]();if(_0x4f85f8['Contact']){_0x588f9b[_0x3d78('0x1e')](_0x3d78('0x46'));}if(_0x4f85f8[_0x3d78('0x47')]){_0x588f9b['push'](_0x3d78('0x47'));}if(_0x588f9b[_0x3d78('0x25')]>0x0){_0x588f9b[_0x3d78('0x1f')](function(_0x2ec24b){if(_0x2ec24b===_0x3d78('0x7')){_0x2792ef[_0x3d78('0x3d')](_0x3d78('0x48'),[][_0x3d78('0x49')](_0x4f85f8[_0x2ec24b]));}else if(_0x2ec24b===_0x3d78('0x46')){var _0x1f8e10='%'+_0x4f85f8[_0x2ec24b]+'%';_0x2792ef[_0x3d78('0x3d')](_0x3d78('0x4a'),_0x1f8e10);}else if(_0x2ec24b===_0x3d78('0x47')){_0x2792ef[_0x3d78('0x3d')]('uc.UserId\x20=\x20?',_0x4f85f8[_0x2ec24b]);}else{_0x2792ef[_0x3d78('0x3d')]('c.'+_0x2ec24b+_0x3d78('0x4b'),_0x4f85f8[_0x2ec24b]);}});}return _0x2792ef;}function parseQueryParameters(_0x4f3d26,_0x531a3c){var _0x5fb7a8=getSqlClauses();return Promise[_0x3d78('0x4c')]()[_0x3d78('0x4d')](function(){return parseModelFields(_0x4f3d26,_0x531a3c);})[_0x3d78('0x4d')](function(_0x14a91d){_0x5fb7a8[_0x3d78('0x4e')][_0x3d78('0x3d')](_0x14a91d);return parseTagParameter(_0x4f3d26['tag']);})[_0x3d78('0x4d')](function(_0x52a67b){_0x5fb7a8['tags'][_0x3d78('0x3a')][_0x3d78('0x3d')](_0x52a67b);return parseSearchFilter(_0x4f3d26[_0x3d78('0x4f')]);})[_0x3d78('0x4d')](function(_0x3a7376){_0x5fb7a8[_0x3d78('0x4f')]=_0x3a7376;return _0x5fb7a8;});}function checkListsRestrictions(_0x26fc54,_0x34f912,_0x1f0221){var _0x3c58f3=squel['expr']();return Promise[_0x3d78('0x4c')]()[_0x3d78('0x4d')](function(){if(_0x34f912[_0x3d78('0x6')]&&_0x26fc54['role']==='agent'&&!_0x1f0221){return _0x26fc54[_0x3d78('0x50')]({'attributes':['id'],'raw':!![]});}})[_0x3d78('0x4d')](function(_0x516aeb){if(_0x516aeb){if(_0x516aeb[_0x3d78('0x25')]===0x0){_0x3c58f3[_0x3d78('0x3d')](_0x3d78('0x51'));}else{_0x3c58f3[_0x3d78('0x3d')](_0x3d78('0x48'),_[_0x3d78('0x42')](_0x516aeb,'id'));}}})[_0x3d78('0x4d')](function(){return _0x3c58f3;});}function buildContactsQuery(_0x18e25a,_0x31f9c0,_0x291cfe,_0x475b10,_0x47407d,_0xffb5ef){if(_0x31f9c0){_0x31f9c0=_0x291cfe['attributes'];}_0x18e25a=addFieldsToQuery(_0x18e25a,_0x31f9c0,_0x475b10,_0xffb5ef,!![]);var _0x147a03=squel['select']();_0x147a03=addFieldsToQuery(_0x147a03,_0x31f9c0,_0x475b10,_0xffb5ef,![]);if(_0x475b10||_0xffb5ef){_0x18e25a=applyJoinClauses(_0x18e25a,!![]);_0x18e25a['group'](_0x3d78('0x52'));if(_0x291cfe['limit']){_0x147a03[_0x3d78('0x53')](_0x291cfe[_0x3d78('0x53')]);}if(_0x291cfe[_0x3d78('0x54')]){_0x147a03[_0x3d78('0x54')](_0x291cfe[_0x3d78('0x54')]);}}else{_0x147a03=applyJoinClauses(_0x147a03,![]);_0x147a03[_0x3d78('0x55')](_0x3d78('0x56'));if(_0x291cfe[_0x3d78('0x53')]){_0x18e25a['limit'](_0x291cfe['limit']);}if(_0x291cfe[_0x3d78('0x54')]){_0x18e25a[_0x3d78('0x54')](_0x291cfe[_0x3d78('0x54')]);}}_0x147a03[_0x3d78('0x57')](_0x47407d);if(_0x291cfe[_0x3d78('0x58')]){_0x291cfe[_0x3d78('0x58')]['forEach'](function(_0x32a4d9){_0x18e25a[_0x3d78('0x58')]('c.'+_0x32a4d9[0x0],_0x32a4d9[0x1]==='DESC'?![]:!![]);_0x147a03[_0x3d78('0x58')](_0x3d78('0x59')+_0x32a4d9[0x0],_0x32a4d9[0x1]===_0x3d78('0x5a')?![]:!![]);});}_0x147a03[_0x3d78('0x5b')](_0x18e25a,_0x3d78('0xd'));return _0x147a03;}function getFilteredContacts(_0xc4752b){var _0x331142=[];return db[_0x3d78('0x5c')]['findAll']({'attributes':['id',_0x3d78('0x44'),'color'],'raw':!![]})[_0x3d78('0x4d')](function(_0x4b9d21){_0x331142=_['keyBy'](_0x4b9d21,'id');var _0x448452={'type':db['Sequelize'][_0x3d78('0x5d')][_0x3d78('0x5e')],'model':db[_0x3d78('0x5f')],'mapToModel':!![],'nest':!![],'raw':!![]};return db[_0x3d78('0x60')][_0x3d78('0x61')](_0xc4752b['toString'](),_0x448452);})[_0x3d78('0x4d')](function(_0x4c9d13){_0x4c9d13['forEach'](function(_0x101a6a){if(_0x101a6a[_0x3d78('0x1c')]){_0x101a6a[_0x3d78('0x62')]=[];_0x101a6a['TagIds'][_0x3d78('0x39')](',')['forEach'](function(_0x10d89a){_0x101a6a[_0x3d78('0x62')][_0x3d78('0x1e')](_0x331142[_0x10d89a]);});}delete _0x101a6a['TagIds'];});return _0x4c9d13;});}function countFilteredContacts(_0xc03874,_0x34abbe){var _0x5770e4=_0xc03874['clone']();_0x5770e4[_0x3d78('0x20')]('COUNT(*)');_0x5770e4=applyJoinClauses(_0x5770e4,!![]);_0xc03874['group'](_0x3d78('0x52'));var _0x257aa6=utils[_0x3d78('0x63')](_0x34abbe);if(!_[_0x3d78('0x64')](_0x257aa6)){_0x5770e4['where']('t.id\x20IN\x20?',_0x257aa6);}var _0x2ec337={'type':db[_0x3d78('0x65')]['QueryTypes'][_0x3d78('0x5e')],'raw':!![]};return db['sequelize'][_0x3d78('0x61')](_0x5770e4['toString'](),_0x2ec337)[_0x3d78('0x4d')](function(_0x373160){return _0x373160[0x0]['COUNT(*)'];});}module[_0x3d78('0x66')]={'buildContactsQuery':buildContactsQuery,'checkListsRestrictions':checkListsRestrictions,'countFilteredContacts':countFilteredContacts,'getContactsSubquery':getContactsSubquery,'getFilteredContacts':getFilteredContacts,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipContactsQuery':skipContactsQuery};
\ No newline at end of file