Built motion from commit 71df090e.|2.6.31
[motion2.git] / server / components / contacts / sql-utils.js
index 2e41797..22cc1a9 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x9463=['resolve','then','fields','tag','filter','attributes','group','limit','offset','subqry.id','having','order','DESC','keyBy','QueryTypes','SELECT','sequelize','query','toString','Tags','clone','COUNT(*)','where','t.id\x20IN\x20?','Sequelize','exports','lodash','../parsers/advancedSearch','../interaction/utils','../../mysqldb','role','agent','search','autocomplete','true','select','from','cm_contacts','c.deletedAt\x20IS\x20NULL','subqry','left_join','.id','cm_contact_has_tags','tools_tags','t.id\x20=\x20ct.TagId','lastName','fax','ListId','CompanyId','createdAt','updatedAt','TagIds','includes','forEach','field','expr','getSelectedTags','CONCAT(\x27,\x27,\x20subqry.TagIds,\x20\x27,\x27)\x20LIKE\x20?','replace','escapeLIKESpecialChars','split','getFullTextValue','isNumeric','c.id\x20LIKE\x20?','c.phone\x20LIKE\x20?','c.mobile\x20LIKE\x20?','c.fax\x20LIKE\x20?','isEmail','c.email\x20LIKE\x20?','c.firstName\x20LIKE\x20?','c.lastName\x20LIKE\x20?','parseSearch','sqlOperator','conditions','name','dateOfBirth','fieldType','datetime','DATE','default','value','start','end','Tag','tags','clause','and','ids','User','user','uc.UserId\x20=\x20?','map','some','push','Contact','length','c.ListId\x20IN\x20?','concat','\x20=\x20?'];(function(_0x4b92f0,_0x5255d3){var _0x1626a3=function(_0x3bf2a4){while(--_0x3bf2a4){_0x4b92f0['push'](_0x4b92f0['shift']());}};_0x1626a3(++_0x5255d3);}(_0x9463,0x1a6));var _0x3946=function(_0x5dd43c,_0x15fa60){_0x5dd43c=_0x5dd43c-0x0;var _0x1facec=_0x9463[_0x5dd43c];return _0x1facec;};'use strict';var _=require(_0x3946('0x0'));var squel=require('squel');var as=require(_0x3946('0x1'));var qs=require('../parsers/qs');var utils=require(_0x3946('0x2'));var db=require(_0x3946('0x3'))['db'];function skipContactsQuery(_0x3b315f,_0x4118ac){var _0x2a7e78=![];if(_0x3b315f[_0x3946('0x4')]===_0x3946('0x5')&&!_0x4118ac[_0x3946('0x6')]&&!_0x4118ac['ListId']&&_0x4118ac[_0x3946('0x7')]!==_0x3946('0x8')){_0x2a7e78=!![];}return _0x2a7e78;}function getContactsSubquery(){return squel[_0x3946('0x9')]()[_0x3946('0xa')](_0x3946('0xb'),'c')['where'](_0x3946('0xc'));}function applyJoinClauses(_0x5a3a35,_0x3e6866){var _0x3a4e43=_0x3e6866?'c':_0x3946('0xd');_0x5a3a35[_0x3946('0xe')]('cm_user_has_contacts','uc','uc.CmContactId\x20=\x20'+_0x3a4e43+_0x3946('0xf'))['left_join'](_0x3946('0x10'),'ct','ct.CmContactId\x20=\x20'+_0x3a4e43+_0x3946('0xf'))[_0x3946('0xe')](_0x3946('0x11'),'t',_0x3946('0x12'));return _0x5a3a35;}function addFieldsToQuery(_0x73ba34,_0x32a1c4,_0x5f7a88,_0x375dbb,_0x725ba1){var _0x515bd3=_0x725ba1?'c':'subqry';if(!_0x32a1c4){_0x32a1c4=['id','firstName',_0x3946('0x13'),'phone','mobile',_0x3946('0x14'),'email',_0x3946('0x15'),_0x3946('0x16'),_0x3946('0x17'),_0x3946('0x18'),'deletedAt',_0x3946('0x19')];}else if(!_0x32a1c4[_0x3946('0x1a')]('id')){_0x32a1c4['push']('id');}var _0x5f502e=_0x5f7a88&&_0x725ba1||!_0x5f7a88&&!_0x725ba1;if(_0x375dbb){_0x5f502e=_0x375dbb&&_0x725ba1||!_0x375dbb&&!_0x725ba1;}_0x32a1c4[_0x3946('0x1b')](function(_0xa2b2e){if(_0xa2b2e==='TagIds'){if(_0x5f502e){_0x73ba34[_0x3946('0x1c')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0xa2b2e);}else if(_0x5f7a88||_0x375dbb){_0x73ba34[_0x3946('0x1c')](_0x515bd3+'.'+_0xa2b2e);}}else{_0x73ba34[_0x3946('0x1c')](_0x515bd3+'.'+_0xa2b2e);}});return _0x73ba34;}function getSqlClauses(){var _0x513587={'default':squel[_0x3946('0x1d')](),'fields':squel[_0x3946('0x1d')](),'filter':squel[_0x3946('0x1d')](),'tags':{'clause':squel[_0x3946('0x1d')](),'ids':null},'user':{'clause':squel[_0x3946('0x1d')](),'skip':![]}};return _0x513587;}function parseTagParameter(_0x437d54){var _0x15a17b=squel[_0x3946('0x1d')]();if(_0x437d54){var _0x4ef420=utils[_0x3946('0x1e')](_0x437d54);_0x4ef420[_0x3946('0x1b')](function(_0xada0bf){_0x15a17b['or'](_0x3946('0x1f'),'%,'+_0xada0bf+',%');});}return _0x15a17b;}function parseSearchFilter(_0x3d75c9){var _0x2daf73=squel[_0x3946('0x1d')]();if(_0x3d75c9){var _0x5bc4b5=_0x3d75c9[_0x3946('0x20')]('\x5c','\x5c\x5c')[_0x3946('0x20')](/'/g,'\x27\x27');var _0x2f3d2c=qs[_0x3946('0x21')](_0x5bc4b5);if(_0x5bc4b5[_0x3946('0x22')]('\x20')['length']>0x1){_0x2daf73['or']('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x3946('0x23')](_0x5bc4b5,!![]),null);}else{if(qs[_0x3946('0x24')](_0x5bc4b5)){_0x2daf73['or'](_0x3946('0x25'),_0x2f3d2c+'%');_0x2daf73['or'](_0x3946('0x26'),_0x2f3d2c+'%');_0x2daf73['or'](_0x3946('0x27'),_0x2f3d2c+'%');_0x2daf73['or'](_0x3946('0x28'),_0x2f3d2c+'%');}else if(qs[_0x3946('0x29')](_0x5bc4b5)){_0x2daf73['or'](_0x3946('0x2a'),_0x2f3d2c+'%');}else{_0x2daf73['or'](_0x3946('0x2b'),'%'+_0x2f3d2c+'%');_0x2daf73['or'](_0x3946('0x2c'),'%'+_0x2f3d2c+'%');_0x2daf73['or'](_0x3946('0x2a'),'%'+_0x2f3d2c+'%');}}}return _0x2daf73;}function parseAdvancedSearchFilter(_0x385b63,_0x33a96){var _0x5513c6=getSqlClauses();var _0xf9188e=as[_0x3946('0x2d')](_0x385b63);var _0x362e73=_0xf9188e[_0x3946('0x2e')];for(var _0x27f134=0x0;_0x27f134<_0xf9188e[_0x3946('0x2f')]['length'];_0x27f134++){var _0x54337b=_0xf9188e[_0x3946('0x2f')][_0x27f134];var _0x3681b9='c';var _0x201a5d=_['find'](_0x33a96,[_0x3946('0x30'),_0x54337b[_0x3946('0x1c')]]);if(_0x201a5d){if(_0x54337b[_0x3946('0x1c')]===_0x3946('0x31')||_0x201a5d[_0x3946('0x32')]===_0x3946('0x33')){_0x54337b['castTo']=_0x3946('0x34');}var _0x2d2195=as['buildExpression'](_0x3681b9,_0x201a5d['type'],_0x54337b);_0x5513c6[_0x3946('0x35')][_0x362e73](_0x2d2195['text'],_0x2d2195[_0x3946('0x36')][_0x3946('0x37')],_0x2d2195['value'][_0x3946('0x38')]);}else{if(_0x54337b[_0x3946('0x1c')]===_0x3946('0x39')){var _0x516392=_0x54337b[_0x3946('0x36')]['split'](',')['map'](function(_0x5de88f){return Number(_0x5de88f);});var _0x23eb2e=parseTagParameter(_0x516392);_0x5513c6[_0x3946('0x3a')][_0x3946('0x3b')][_0x3946('0x3c')](_0x23eb2e);_0x5513c6[_0x3946('0x3a')][_0x3946('0x3d')]=_0x516392;}else if(_0x54337b['field']===_0x3946('0x3e')){_0x5513c6[_0x3946('0x3f')][_0x3946('0x3b')][_0x3946('0x3c')](_0x3946('0x40'),_0x54337b[_0x3946('0x36')]);_0x5513c6['user']['skip']=!![];}}}return _0x5513c6;}function parseModelFields(_0x16de45,_0x50bdef){var _0x386478=squel[_0x3946('0x1d')]();var _0x18e526=_(_0x16de45)['keys']()[_0x3946('0x41')](function(_0x5bff2a){return _[_0x3946('0x42')](_0x50bdef,[_0x3946('0x30'),_0x5bff2a])?_0x5bff2a:undefined;})['compact']()['value']();if(_0x16de45['Contact']){_0x18e526[_0x3946('0x43')](_0x3946('0x44'));}if(_0x16de45[_0x3946('0x3e')]){_0x18e526['push'](_0x3946('0x3e'));}if(_0x18e526[_0x3946('0x45')]>0x0){_0x18e526[_0x3946('0x1b')](function(_0xcb4b03){if(_0xcb4b03==='ListId'){_0x386478['and'](_0x3946('0x46'),[][_0x3946('0x47')](_0x16de45[_0xcb4b03]));}else if(_0xcb4b03==='Contact'){var _0x408cf1='%'+_0x16de45[_0xcb4b03]+'%';_0x386478[_0x3946('0x3c')]('CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?',_0x408cf1);}else if(_0xcb4b03===_0x3946('0x3e')){_0x386478[_0x3946('0x3c')]('uc.UserId\x20=\x20?',_0x16de45[_0xcb4b03]);}else{_0x386478[_0x3946('0x3c')]('c.'+_0xcb4b03+_0x3946('0x48'),_0x16de45[_0xcb4b03]);}});}return _0x386478;}function parseQueryParameters(_0x3f5080,_0x164ba0){var _0x52fa5b=getSqlClauses();return Promise[_0x3946('0x49')]()[_0x3946('0x4a')](function(){return parseModelFields(_0x3f5080,_0x164ba0);})[_0x3946('0x4a')](function(_0x1a34ed){_0x52fa5b[_0x3946('0x4b')][_0x3946('0x3c')](_0x1a34ed);return parseTagParameter(_0x3f5080[_0x3946('0x4c')]);})[_0x3946('0x4a')](function(_0x25e2b5){_0x52fa5b['tags'][_0x3946('0x3b')][_0x3946('0x3c')](_0x25e2b5);return parseSearchFilter(_0x3f5080['filter']);})['then'](function(_0x2f6606){_0x52fa5b[_0x3946('0x4d')]=_0x2f6606;return _0x52fa5b;});}function checkListsRestrictions(_0x599fd9,_0x408d62,_0x3c1b82){var _0x2570af=squel[_0x3946('0x1d')]();return Promise[_0x3946('0x49')]()['then'](function(){if(_0x408d62[_0x3946('0x6')]&&_0x599fd9[_0x3946('0x4')]===_0x3946('0x5')&&!_0x3c1b82){return _0x599fd9['getLists']({'attributes':['id'],'raw':!![]});}})[_0x3946('0x4a')](function(_0x6b1960){if(_0x6b1960){if(_0x6b1960[_0x3946('0x45')]===0x0){_0x2570af[_0x3946('0x3c')]('c.ListId\x20IS\x20NULL');}else{_0x2570af[_0x3946('0x3c')](_0x3946('0x46'),_[_0x3946('0x41')](_0x6b1960,'id'));}}})['then'](function(){return _0x2570af;});}function buildContactsQuery(_0x3542be,_0x3d6e9f,_0x538c2d,_0xdd9743,_0x1470c5,_0x1fcc0e){if(_0x3d6e9f){_0x3d6e9f=_0x538c2d[_0x3946('0x4e')];}_0x3542be=addFieldsToQuery(_0x3542be,_0x3d6e9f,_0xdd9743,_0x1fcc0e,!![]);var _0x534124=squel[_0x3946('0x9')]();_0x534124=addFieldsToQuery(_0x534124,_0x3d6e9f,_0xdd9743,_0x1fcc0e,![]);if(_0xdd9743||_0x1fcc0e){_0x3542be=applyJoinClauses(_0x3542be,!![]);_0x3542be[_0x3946('0x4f')]('c.id');if(_0x538c2d[_0x3946('0x50')]){_0x534124[_0x3946('0x50')](_0x538c2d[_0x3946('0x50')]);}if(_0x538c2d[_0x3946('0x51')]){_0x534124['offset'](_0x538c2d[_0x3946('0x51')]);}}else{_0x534124=applyJoinClauses(_0x534124,![]);_0x534124[_0x3946('0x4f')](_0x3946('0x52'));if(_0x538c2d[_0x3946('0x50')]){_0x3542be['limit'](_0x538c2d[_0x3946('0x50')]);}if(_0x538c2d[_0x3946('0x51')]){_0x3542be[_0x3946('0x51')](_0x538c2d[_0x3946('0x51')]);}}_0x534124[_0x3946('0x53')](_0x1470c5);if(_0x538c2d['order']){_0x538c2d[_0x3946('0x54')][_0x3946('0x1b')](function(_0x23b2de){_0x3542be['order']('c.'+_0x23b2de[0x0],_0x23b2de[0x1]===_0x3946('0x55')?![]:!![]);_0x534124[_0x3946('0x54')]('subqry.'+_0x23b2de[0x0],_0x23b2de[0x1]===_0x3946('0x55')?![]:!![]);});}_0x534124[_0x3946('0xa')](_0x3542be,_0x3946('0xd'));return _0x534124;}function getFilteredContacts(_0x98d053){var _0x3be57c=[];return db[_0x3946('0x39')]['findAll']({'attributes':['id',_0x3946('0x30'),'color'],'raw':!![]})['then'](function(_0x3fbd9d){_0x3be57c=_[_0x3946('0x56')](_0x3fbd9d,'id');var _0x45013a={'type':db['Sequelize'][_0x3946('0x57')][_0x3946('0x58')],'model':db['CmContact'],'mapToModel':!![],'nest':!![],'raw':!![]};return db[_0x3946('0x59')][_0x3946('0x5a')](_0x98d053[_0x3946('0x5b')](),_0x45013a);})[_0x3946('0x4a')](function(_0x5d17f8){_0x5d17f8['forEach'](function(_0x3dce0f){if(_0x3dce0f[_0x3946('0x19')]){_0x3dce0f['Tags']=[];_0x3dce0f[_0x3946('0x19')]['split'](',')['forEach'](function(_0x46c271){_0x3dce0f[_0x3946('0x5c')][_0x3946('0x43')](_0x3be57c[_0x46c271]);});}delete _0x3dce0f['TagIds'];});return _0x5d17f8;});}function countFilteredContacts(_0x31188f,_0x455899){var _0x175cf4=_0x31188f[_0x3946('0x5d')]();_0x175cf4['field'](_0x3946('0x5e'));_0x175cf4=applyJoinClauses(_0x175cf4,!![]);_0x31188f[_0x3946('0x4f')]('c.id');var _0x69f797=utils[_0x3946('0x1e')](_0x455899);if(!_['isEmpty'](_0x69f797)){_0x175cf4[_0x3946('0x5f')](_0x3946('0x60'),_0x69f797);}var _0x341c26={'type':db[_0x3946('0x61')][_0x3946('0x57')][_0x3946('0x58')],'raw':!![]};return db['sequelize'][_0x3946('0x5a')](_0x175cf4[_0x3946('0x5b')](),_0x341c26)[_0x3946('0x4a')](function(_0x27c607){return _0x27c607[0x0][_0x3946('0x5e')];});}module[_0x3946('0x62')]={'buildContactsQuery':buildContactsQuery,'checkListsRestrictions':checkListsRestrictions,'countFilteredContacts':countFilteredContacts,'getContactsSubquery':getContactsSubquery,'getFilteredContacts':getFilteredContacts,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipContactsQuery':skipContactsQuery};
\ No newline at end of file
+var _0xf572=['query','toString','Tags','clone','isEmpty','sequelize','COUNT(*)','../parsers/advancedSearch','../../mysqldb','role','agent','search','ListId','true','select','from','cm_contacts','where','c.deletedAt\x20IS\x20NULL','subqry','left_join','cm_user_has_contacts','uc.CmContactId\x20=\x20','.id','cm_contact_has_tags','tools_tags','t.id\x20=\x20ct.TagId','firstName','lastName','phone','email','createdAt','updatedAt','deletedAt','TagIds','push','forEach','field','expr','getSelectedTags','CONCAT(\x27,\x27,\x20subqry.TagIds,\x20\x27,\x27)\x20LIKE\x20?','replace','split','length','getFullTextValue','isNumeric','c.id\x20LIKE\x20?','c.phone\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','datetime','castTo','DATE','buildExpression','type','default','text','value','map','and','tags','ids','User','user','clause','skip','keys','some','compact','Contact','c.ListId\x20IN\x20?','concat','\x20=\x20?','resolve','then','fields','tag','getLists','c.ListId\x20IS\x20NULL','attributes','group','c.id','limit','offset','subqry.id','order','DESC','subqry.','Tag','findAll','name','color','keyBy','Sequelize','QueryTypes','SELECT'];(function(_0x16a9da,_0x2059ec){var _0xbefa88=function(_0x7d0adc){while(--_0x7d0adc){_0x16a9da['push'](_0x16a9da['shift']());}};_0xbefa88(++_0x2059ec);}(_0xf572,0x13c));var _0x2f57=function(_0x3ea2e0,_0x261f01){_0x3ea2e0=_0x3ea2e0-0x0;var _0x552331=_0xf572[_0x3ea2e0];return _0x552331;};'use strict';var _=require('lodash');var squel=require('squel');var as=require(_0x2f57('0x0'));var qs=require('../parsers/qs');var utils=require('../interaction/utils');var db=require(_0x2f57('0x1'))['db'];function skipContactsQuery(_0x30658f,_0x53000d){var _0x35b598=![];if(_0x30658f[_0x2f57('0x2')]===_0x2f57('0x3')&&!_0x53000d[_0x2f57('0x4')]&&!_0x53000d[_0x2f57('0x5')]&&_0x53000d['autocomplete']!==_0x2f57('0x6')){_0x35b598=!![];}return _0x35b598;}function getContactsSubquery(){return squel[_0x2f57('0x7')]()[_0x2f57('0x8')](_0x2f57('0x9'),'c')[_0x2f57('0xa')](_0x2f57('0xb'));}function applyJoinClauses(_0x2f7ca3,_0x4d3ca5){var _0x345766=_0x4d3ca5?'c':_0x2f57('0xc');_0x2f7ca3[_0x2f57('0xd')](_0x2f57('0xe'),'uc',_0x2f57('0xf')+_0x345766+_0x2f57('0x10'))[_0x2f57('0xd')](_0x2f57('0x11'),'ct','ct.CmContactId\x20=\x20'+_0x345766+_0x2f57('0x10'))[_0x2f57('0xd')](_0x2f57('0x12'),'t',_0x2f57('0x13'));return _0x2f7ca3;}function addFieldsToQuery(_0x4bf35f,_0x36c129,_0x2d641c,_0x411704,_0x3e37f5){var _0x45ae18=_0x3e37f5?'c':_0x2f57('0xc');if(!_0x36c129){_0x36c129=['id',_0x2f57('0x14'),_0x2f57('0x15'),_0x2f57('0x16'),'mobile','fax',_0x2f57('0x17'),'ListId','CompanyId',_0x2f57('0x18'),_0x2f57('0x19'),_0x2f57('0x1a'),_0x2f57('0x1b')];}else if(!_0x36c129['includes']('id')){_0x36c129[_0x2f57('0x1c')]('id');}var _0x2086cb=_0x2d641c&&_0x3e37f5||!_0x2d641c&&!_0x3e37f5;if(_0x411704){_0x2086cb=_0x411704&&_0x3e37f5||!_0x411704&&!_0x3e37f5;}_0x36c129[_0x2f57('0x1d')](function(_0x1bcad8){if(_0x1bcad8===_0x2f57('0x1b')){if(_0x2086cb){_0x4bf35f[_0x2f57('0x1e')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x1bcad8);}else if(_0x2d641c||_0x411704){_0x4bf35f[_0x2f57('0x1e')](_0x45ae18+'.'+_0x1bcad8);}}else{_0x4bf35f[_0x2f57('0x1e')](_0x45ae18+'.'+_0x1bcad8);}});return _0x4bf35f;}function getSqlClauses(){var _0x4ebaf0={'default':squel[_0x2f57('0x1f')](),'fields':squel[_0x2f57('0x1f')](),'filter':squel[_0x2f57('0x1f')](),'tags':{'clause':squel['expr'](),'ids':null},'user':{'clause':squel[_0x2f57('0x1f')](),'skip':![]}};return _0x4ebaf0;}function parseTagParameter(_0x27608e){var _0xe28e09=squel[_0x2f57('0x1f')]();if(_0x27608e){var _0x48d787=utils[_0x2f57('0x20')](_0x27608e);_0x48d787[_0x2f57('0x1d')](function(_0x3859d9){_0xe28e09['or'](_0x2f57('0x21'),'%,'+_0x3859d9+',%');});}return _0xe28e09;}function parseSearchFilter(_0x19d16e){var _0x439b29=squel[_0x2f57('0x1f')]();if(_0x19d16e){var _0x5b526b=_0x19d16e['replace']('\x5c','\x5c\x5c')[_0x2f57('0x22')](/'/g,'\x27\x27');var _0x29856e=qs['escapeLIKESpecialChars'](_0x5b526b);if(_0x5b526b[_0x2f57('0x23')]('\x20')[_0x2f57('0x24')]>0x1){_0x439b29['or']('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x2f57('0x25')](_0x5b526b,!![]),null);}else{if(qs[_0x2f57('0x26')](_0x5b526b)){_0x439b29['or'](_0x2f57('0x27'),_0x29856e+'%');_0x439b29['or'](_0x2f57('0x28'),_0x29856e+'%');_0x439b29['or'](_0x2f57('0x29'),_0x29856e+'%');_0x439b29['or'](_0x2f57('0x2a'),_0x29856e+'%');}else if(qs['isEmail'](_0x5b526b)){_0x439b29['or'](_0x2f57('0x2b'),_0x29856e+'%');}else{_0x439b29['or'](_0x2f57('0x2c'),'%'+_0x29856e+'%');_0x439b29['or'](_0x2f57('0x2d'),'%'+_0x29856e+'%');_0x439b29['or'](_0x2f57('0x2b'),'%'+_0x29856e+'%');}}}return _0x439b29;}function parseAdvancedSearchFilter(_0x7af0a8,_0x1630fc){var _0x592f36=getSqlClauses();var _0x184891=as[_0x2f57('0x2e')](_0x7af0a8);var _0x14f192=_0x184891[_0x2f57('0x2f')];for(var _0x40d61d=0x0;_0x40d61d<_0x184891[_0x2f57('0x30')][_0x2f57('0x24')];_0x40d61d++){var _0x59c987=_0x184891[_0x2f57('0x30')][_0x40d61d];var _0x3d3b0a='c';var _0x5ca32d=_[_0x2f57('0x31')](_0x1630fc,['name',_0x59c987[_0x2f57('0x1e')]]);if(_0x5ca32d){if(_0x59c987[_0x2f57('0x1e')]==='dateOfBirth'||_0x5ca32d['fieldType']===_0x2f57('0x32')){_0x59c987[_0x2f57('0x33')]=_0x2f57('0x34');}var _0x233ef4=as[_0x2f57('0x35')](_0x3d3b0a,_0x5ca32d[_0x2f57('0x36')],_0x59c987);_0x592f36[_0x2f57('0x37')][_0x14f192](_0x233ef4[_0x2f57('0x38')],_0x233ef4['value']['start'],_0x233ef4[_0x2f57('0x39')]['end']);}else{if(_0x59c987['field']==='Tag'){var _0x11ddbf=_0x59c987[_0x2f57('0x39')][_0x2f57('0x23')](',')[_0x2f57('0x3a')](function(_0x450ba5){return Number(_0x450ba5);});var _0x411487=parseTagParameter(_0x11ddbf);_0x592f36['tags']['clause'][_0x2f57('0x3b')](_0x411487);_0x592f36[_0x2f57('0x3c')][_0x2f57('0x3d')]=_0x11ddbf;}else if(_0x59c987[_0x2f57('0x1e')]===_0x2f57('0x3e')){_0x592f36[_0x2f57('0x3f')][_0x2f57('0x40')]['and']('uc.UserId\x20=\x20?',_0x59c987[_0x2f57('0x39')]);_0x592f36[_0x2f57('0x3f')][_0x2f57('0x41')]=!![];}}}return _0x592f36;}function parseModelFields(_0x58e99c,_0x33b02c){var _0x5cf6a8=squel[_0x2f57('0x1f')]();var _0x416198=_(_0x58e99c)[_0x2f57('0x42')]()['map'](function(_0x23a0dd){return _[_0x2f57('0x43')](_0x33b02c,['name',_0x23a0dd])?_0x23a0dd:undefined;})[_0x2f57('0x44')]()[_0x2f57('0x39')]();if(_0x58e99c[_0x2f57('0x45')]){_0x416198[_0x2f57('0x1c')](_0x2f57('0x45'));}if(_0x58e99c[_0x2f57('0x3e')]){_0x416198[_0x2f57('0x1c')](_0x2f57('0x3e'));}if(_0x416198['length']>0x0){_0x416198[_0x2f57('0x1d')](function(_0x1f8d91){if(_0x1f8d91===_0x2f57('0x5')){_0x5cf6a8[_0x2f57('0x3b')](_0x2f57('0x46'),[][_0x2f57('0x47')](_0x58e99c[_0x1f8d91]));}else if(_0x1f8d91===_0x2f57('0x45')){var _0x4e28eb='%'+_0x58e99c[_0x1f8d91]+'%';_0x5cf6a8[_0x2f57('0x3b')]('CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?',_0x4e28eb);}else if(_0x1f8d91===_0x2f57('0x3e')){_0x5cf6a8['and']('uc.UserId\x20=\x20?',_0x58e99c[_0x1f8d91]);}else{_0x5cf6a8[_0x2f57('0x3b')]('c.'+_0x1f8d91+_0x2f57('0x48'),_0x58e99c[_0x1f8d91]);}});}return _0x5cf6a8;}function parseQueryParameters(_0x43aec7,_0x5bb7f3){var _0x5438fd=getSqlClauses();return Promise[_0x2f57('0x49')]()['then'](function(){return parseModelFields(_0x43aec7,_0x5bb7f3);})[_0x2f57('0x4a')](function(_0xd323d1){_0x5438fd[_0x2f57('0x4b')][_0x2f57('0x3b')](_0xd323d1);return parseTagParameter(_0x43aec7[_0x2f57('0x4c')]);})[_0x2f57('0x4a')](function(_0x21bedc){_0x5438fd[_0x2f57('0x3c')][_0x2f57('0x40')]['and'](_0x21bedc);return parseSearchFilter(_0x43aec7['filter']);})[_0x2f57('0x4a')](function(_0x1472e9){_0x5438fd['filter']=_0x1472e9;return _0x5438fd;});}function checkListsRestrictions(_0x4d5f4a,_0x5a8e04,_0x1bf0ff){var _0x1bd080=squel['expr']();return Promise[_0x2f57('0x49')]()[_0x2f57('0x4a')](function(){if(_0x5a8e04[_0x2f57('0x4')]&&_0x4d5f4a[_0x2f57('0x2')]===_0x2f57('0x3')&&!_0x1bf0ff){return _0x4d5f4a[_0x2f57('0x4d')]({'attributes':['id'],'raw':!![]});}})[_0x2f57('0x4a')](function(_0x40e93c){if(_0x40e93c){if(_0x40e93c['length']===0x0){_0x1bd080['and'](_0x2f57('0x4e'));}else{_0x1bd080[_0x2f57('0x3b')](_0x2f57('0x46'),_[_0x2f57('0x3a')](_0x40e93c,'id'));}}})[_0x2f57('0x4a')](function(){return _0x1bd080;});}function buildContactsQuery(_0x14c9eb,_0x5cc05d,_0x313cc1,_0x352603,_0x11c059,_0x31ab63){if(_0x5cc05d){_0x5cc05d=_0x313cc1[_0x2f57('0x4f')];}_0x14c9eb=addFieldsToQuery(_0x14c9eb,_0x5cc05d,_0x352603,_0x31ab63,!![]);var _0x49943f=squel[_0x2f57('0x7')]();_0x49943f=addFieldsToQuery(_0x49943f,_0x5cc05d,_0x352603,_0x31ab63,![]);if(_0x352603||_0x31ab63){_0x14c9eb=applyJoinClauses(_0x14c9eb,!![]);_0x14c9eb[_0x2f57('0x50')](_0x2f57('0x51'));if(_0x313cc1[_0x2f57('0x52')]){_0x49943f[_0x2f57('0x52')](_0x313cc1['limit']);}if(_0x313cc1[_0x2f57('0x53')]){_0x49943f['offset'](_0x313cc1[_0x2f57('0x53')]);}}else{_0x49943f=applyJoinClauses(_0x49943f,![]);_0x49943f[_0x2f57('0x50')](_0x2f57('0x54'));if(_0x313cc1[_0x2f57('0x52')]){_0x14c9eb[_0x2f57('0x52')](_0x313cc1['limit']);}if(_0x313cc1[_0x2f57('0x53')]){_0x14c9eb[_0x2f57('0x53')](_0x313cc1[_0x2f57('0x53')]);}}_0x49943f['having'](_0x11c059);if(_0x313cc1[_0x2f57('0x55')]){_0x313cc1['order'][_0x2f57('0x1d')](function(_0x378dbd){_0x14c9eb[_0x2f57('0x55')]('c.'+_0x378dbd[0x0],_0x378dbd[0x1]===_0x2f57('0x56')?![]:!![]);_0x49943f['order'](_0x2f57('0x57')+_0x378dbd[0x0],_0x378dbd[0x1]===_0x2f57('0x56')?![]:!![]);});}_0x49943f[_0x2f57('0x8')](_0x14c9eb,_0x2f57('0xc'));return _0x49943f;}function getFilteredContacts(_0x8692f8){var _0x1f7468=[];return db[_0x2f57('0x58')][_0x2f57('0x59')]({'attributes':['id',_0x2f57('0x5a'),_0x2f57('0x5b')],'raw':!![]})['then'](function(_0x18df58){_0x1f7468=_[_0x2f57('0x5c')](_0x18df58,'id');var _0x273fc5={'type':db[_0x2f57('0x5d')][_0x2f57('0x5e')][_0x2f57('0x5f')],'model':db['CmContact'],'mapToModel':!![],'nest':!![],'raw':!![]};return db['sequelize'][_0x2f57('0x60')](_0x8692f8[_0x2f57('0x61')](),_0x273fc5);})[_0x2f57('0x4a')](function(_0x43271f){_0x43271f['forEach'](function(_0x35fdef){if(_0x35fdef[_0x2f57('0x1b')]){_0x35fdef['Tags']=[];_0x35fdef['TagIds'][_0x2f57('0x23')](',')[_0x2f57('0x1d')](function(_0x3280c5){_0x35fdef[_0x2f57('0x62')][_0x2f57('0x1c')](_0x1f7468[_0x3280c5]);});}delete _0x35fdef['TagIds'];});return _0x43271f;});}function countFilteredContacts(_0x3d0a65,_0x10612c){var _0x2be131=_0x3d0a65[_0x2f57('0x63')]();_0x2be131[_0x2f57('0x1e')]('COUNT(*)');_0x2be131=applyJoinClauses(_0x2be131,!![]);_0x3d0a65[_0x2f57('0x50')](_0x2f57('0x51'));var _0x1ee73e=utils['getSelectedTags'](_0x10612c);if(!_[_0x2f57('0x64')](_0x1ee73e)){_0x2be131[_0x2f57('0xa')]('t.id\x20IN\x20?',_0x1ee73e);}var _0x4e32e2={'type':db[_0x2f57('0x5d')][_0x2f57('0x5e')][_0x2f57('0x5f')],'raw':!![]};return db[_0x2f57('0x65')][_0x2f57('0x60')](_0x2be131[_0x2f57('0x61')](),_0x4e32e2)[_0x2f57('0x4a')](function(_0xfac4de){return _0xfac4de[0x0][_0x2f57('0x66')];});}module['exports']={'buildContactsQuery':buildContactsQuery,'checkListsRestrictions':checkListsRestrictions,'countFilteredContacts':countFilteredContacts,'getContactsSubquery':getContactsSubquery,'getFilteredContacts':getFilteredContacts,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipContactsQuery':skipContactsQuery};
\ No newline at end of file