Built motion from commit b0a9a629.|2.6.33
[motion2.git] / server / components / contacts / sql-utils.js
index 5879de7..3c2a42f 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xa38b=['push','forEach','field','GROUP_CONCAT(DISTINCT\x20t.id)','expr','getSelectedTags','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.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','find','name','fieldType','datetime','castTo','DATE','type','default','value','end','Tag','split','tags','clause','and','uc.UserId\x20=\x20?','user','skip','keys','map','some','compact','Contact','ListId','c.ListId\x20IN\x20?','concat','User','\x20=\x20?','resolve','then','fields','tag','filter','attributes','group','c.id','limit','subqry.id','offset','having','order','subqry.','DESC','findAll','color','keyBy','QueryTypes','SELECT','CmContact','sequelize','query','toString','Tags','clone','COUNT(*)','isEmpty','where','t.id\x20IN\x20?','Sequelize','exports','lodash','../../mysqldb','role','agent','search','autocomplete','true','select','from','cm_contacts','c.deletedAt\x20IS\x20NULL','left_join','cm_user_has_contacts','uc.CmContactId\x20=\x20','ct.CmContactId\x20=\x20','subqry','phone','mobile','email','CompanyId','createdAt','updatedAt','deletedAt','TagIds','includes'];(function(_0x32ca32,_0x238b2b){var _0x5438ff=function(_0x1e3337){while(--_0x1e3337){_0x32ca32['push'](_0x32ca32['shift']());}};_0x5438ff(++_0x238b2b);}(_0xa38b,0x19b));var _0xba38=function(_0x1b0f2b,_0x16a480){_0x1b0f2b=_0x1b0f2b-0x0;var _0x284828=_0xa38b[_0x1b0f2b];return _0x284828;};'use strict';var _=require(_0xba38('0x0'));var squel=require('squel');var as=require('../parsers/advancedSearch');var qs=require('../parsers/qs');var utils=require('../interaction/utils');var db=require(_0xba38('0x1'))['db'];function skipContactsQuery(_0xccd365,_0x54ab26){var _0x8c97b=![];if(_0xccd365[_0xba38('0x2')]===_0xba38('0x3')&&!_0x54ab26[_0xba38('0x4')]&&!_0x54ab26['ListId']&&_0x54ab26[_0xba38('0x5')]!==_0xba38('0x6')){_0x8c97b=!![];}return _0x8c97b;}function getContactsSubquery(){return squel[_0xba38('0x7')]()[_0xba38('0x8')](_0xba38('0x9'),'c')['where'](_0xba38('0xa'));}function applyJoinClauses(_0x1d86fb,_0xc17e03){var _0x7ab323=_0xc17e03?'c':'subqry';_0x1d86fb[_0xba38('0xb')](_0xba38('0xc'),'uc',_0xba38('0xd')+_0x7ab323+'.id')[_0xba38('0xb')]('cm_contact_has_tags','ct',_0xba38('0xe')+_0x7ab323+'.id')[_0xba38('0xb')]('tools_tags','t','t.id\x20=\x20ct.TagId');return _0x1d86fb;}function addFieldsToQuery(_0x2b5bb6,_0x2e1fa3,_0x347812,_0x5e2ea8,_0xd26bf4){var _0x4110fa=_0xd26bf4?'c':_0xba38('0xf');if(!_0x2e1fa3){_0x2e1fa3=['id','firstName','lastName',_0xba38('0x10'),_0xba38('0x11'),'fax',_0xba38('0x12'),'ListId',_0xba38('0x13'),_0xba38('0x14'),_0xba38('0x15'),_0xba38('0x16'),_0xba38('0x17')];}else if(!_0x2e1fa3[_0xba38('0x18')]('id')){_0x2e1fa3[_0xba38('0x19')]('id');}var _0x82249f=_0x347812&&_0xd26bf4||!_0x347812&&!_0xd26bf4;if(_0x5e2ea8){_0x82249f=_0x5e2ea8&&_0xd26bf4||!_0x5e2ea8&&!_0xd26bf4;}_0x2e1fa3[_0xba38('0x1a')](function(_0x4eae62){if(_0x4eae62===_0xba38('0x17')){if(_0x82249f){_0x2b5bb6[_0xba38('0x1b')](_0xba38('0x1c'),_0x4eae62);}else if(_0x347812||_0x5e2ea8){_0x2b5bb6[_0xba38('0x1b')](_0x4110fa+'.'+_0x4eae62);}}else{_0x2b5bb6[_0xba38('0x1b')](_0x4110fa+'.'+_0x4eae62);}});return _0x2b5bb6;}function getSqlClauses(){var _0x537f81={'default':squel[_0xba38('0x1d')](),'fields':squel[_0xba38('0x1d')](),'filter':squel['expr'](),'tags':{'clause':squel[_0xba38('0x1d')](),'ids':null},'user':{'clause':squel[_0xba38('0x1d')](),'skip':![]}};return _0x537f81;}function parseTagParameter(_0x33ac0d){var _0x4ba60e=squel['expr']();if(_0x33ac0d){var _0x11925d=utils[_0xba38('0x1e')](_0x33ac0d);_0x11925d[_0xba38('0x1a')](function(_0x330594){_0x4ba60e['or'](_0xba38('0x1f'),'%,'+_0x330594+',%');});}return _0x4ba60e;}function parseSearchFilter(_0x4ee07f){var _0x7d9d60=squel['expr']();if(_0x4ee07f){var _0x487ebc=_0x4ee07f[_0xba38('0x20')]('\x5c','\x5c\x5c')[_0xba38('0x20')](/'/g,'\x27\x27');var _0x39d7c8=qs[_0xba38('0x21')](_0x487ebc);if(_0x487ebc['split']('\x20')[_0xba38('0x22')]>0x1){_0x7d9d60['or'](_0xba38('0x23'),qs[_0xba38('0x24')](_0x487ebc,!![]),null);}else{if(qs[_0xba38('0x25')](_0x487ebc)){_0x7d9d60['or'](_0xba38('0x26'),_0x39d7c8+'%');_0x7d9d60['or'](_0xba38('0x27'),_0x39d7c8+'%');_0x7d9d60['or'](_0xba38('0x28'),_0x39d7c8+'%');_0x7d9d60['or'](_0xba38('0x29'),_0x39d7c8+'%');}else if(qs[_0xba38('0x2a')](_0x487ebc)){_0x7d9d60['or'](_0xba38('0x2b'),_0x39d7c8+'%');}else{_0x7d9d60['or'](_0xba38('0x2c'),'%'+_0x39d7c8+'%');_0x7d9d60['or'](_0xba38('0x2d'),'%'+_0x39d7c8+'%');_0x7d9d60['or'](_0xba38('0x2b'),'%'+_0x39d7c8+'%');}}}return _0x7d9d60;}function parseAdvancedSearchFilter(_0x1ac719,_0x566013){var _0x220b2d=getSqlClauses();var _0x5120ee=as[_0xba38('0x2e')](_0x1ac719);var _0x510645=_0x5120ee[_0xba38('0x2f')];for(var _0x4d3819=0x0;_0x4d3819<_0x5120ee['conditions'][_0xba38('0x22')];_0x4d3819++){var _0x5756be=_0x5120ee[_0xba38('0x30')][_0x4d3819];var _0x8785c9='c';var _0xc53b95=_[_0xba38('0x31')](_0x566013,[_0xba38('0x32'),_0x5756be[_0xba38('0x1b')]]);if(_0xc53b95){if(_0x5756be[_0xba38('0x1b')]==='dateOfBirth'||_0xc53b95[_0xba38('0x33')]===_0xba38('0x34')){_0x5756be[_0xba38('0x35')]=_0xba38('0x36');}var _0x3c332c=as['buildExpression'](_0x8785c9,_0xc53b95[_0xba38('0x37')],_0x5756be);_0x220b2d[_0xba38('0x38')][_0x510645](_0x3c332c['text'],_0x3c332c[_0xba38('0x39')]['start'],_0x3c332c[_0xba38('0x39')][_0xba38('0x3a')]);}else{if(_0x5756be[_0xba38('0x1b')]===_0xba38('0x3b')){var _0x2323d1=_0x5756be[_0xba38('0x39')][_0xba38('0x3c')](',')['map'](function(_0x321b5b){return Number(_0x321b5b);});var _0x2b593b=parseTagParameter(_0x2323d1);_0x220b2d[_0xba38('0x3d')][_0xba38('0x3e')]['and'](_0x2b593b);_0x220b2d[_0xba38('0x3d')]['ids']=_0x2323d1;}else if(_0x5756be[_0xba38('0x1b')]==='User'){_0x220b2d['user'][_0xba38('0x3e')][_0xba38('0x3f')](_0xba38('0x40'),_0x5756be[_0xba38('0x39')]);_0x220b2d[_0xba38('0x41')][_0xba38('0x42')]=!![];}}}return _0x220b2d;}function parseModelFields(_0x479068,_0x4033de){var _0xa2de7b=squel[_0xba38('0x1d')]();var _0x95a31c=_(_0x479068)[_0xba38('0x43')]()[_0xba38('0x44')](function(_0x392458){return _[_0xba38('0x45')](_0x4033de,[_0xba38('0x32'),_0x392458])?_0x392458:undefined;})[_0xba38('0x46')]()['value']();if(_0x479068[_0xba38('0x47')]){_0x95a31c[_0xba38('0x19')](_0xba38('0x47'));}if(_0x479068['User']){_0x95a31c[_0xba38('0x19')]('User');}if(_0x95a31c[_0xba38('0x22')]>0x0){_0x95a31c['forEach'](function(_0x98f5c6){if(_0x98f5c6===_0xba38('0x48')){_0xa2de7b[_0xba38('0x3f')](_0xba38('0x49'),[][_0xba38('0x4a')](_0x479068[_0x98f5c6]));}else if(_0x98f5c6==='Contact'){var _0x56de1c='%'+_0x479068[_0x98f5c6]+'%';_0xa2de7b['and']('CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?',_0x56de1c);}else if(_0x98f5c6===_0xba38('0x4b')){_0xa2de7b[_0xba38('0x3f')](_0xba38('0x40'),_0x479068[_0x98f5c6]);}else{_0xa2de7b[_0xba38('0x3f')]('c.'+_0x98f5c6+_0xba38('0x4c'),_0x479068[_0x98f5c6]);}});}return _0xa2de7b;}function parseQueryParameters(_0x431123,_0x26ba5c){var _0x210d8b=getSqlClauses();return Promise[_0xba38('0x4d')]()[_0xba38('0x4e')](function(){return parseModelFields(_0x431123,_0x26ba5c);})[_0xba38('0x4e')](function(_0x1edb96){_0x210d8b[_0xba38('0x4f')]['and'](_0x1edb96);return parseTagParameter(_0x431123[_0xba38('0x50')]);})[_0xba38('0x4e')](function(_0x303059){_0x210d8b[_0xba38('0x3d')]['clause']['and'](_0x303059);return parseSearchFilter(_0x431123[_0xba38('0x51')]);})[_0xba38('0x4e')](function(_0x6b4bfb){_0x210d8b['filter']=_0x6b4bfb;return _0x210d8b;});}function checkListsRestrictions(_0x58d6aa,_0x5a5fa4,_0x1f29be){var _0x256716=squel[_0xba38('0x1d')]();return Promise[_0xba38('0x4d')]()[_0xba38('0x4e')](function(){if(_0x5a5fa4[_0xba38('0x4')]&&_0x58d6aa['role']===_0xba38('0x3')&&!_0x1f29be){return _0x58d6aa['getLists']({'attributes':['id'],'raw':!![]});}})['then'](function(_0x29b5bb){if(_0x29b5bb){if(_0x29b5bb[_0xba38('0x22')]===0x0){_0x256716['and']('c.ListId\x20IS\x20NULL');}else{_0x256716[_0xba38('0x3f')]('c.ListId\x20IN\x20?',_[_0xba38('0x44')](_0x29b5bb,'id'));}}})[_0xba38('0x4e')](function(){return _0x256716;});}function buildContactsQuery(_0x3fe3fd,_0x2d720f,_0x3e8875,_0x44c435,_0x4d4d9c,_0x700514){if(_0x2d720f){_0x2d720f=_0x3e8875[_0xba38('0x52')];}_0x3fe3fd=addFieldsToQuery(_0x3fe3fd,_0x2d720f,_0x44c435,_0x700514,!![]);var _0x30caa0=squel['select']();_0x30caa0=addFieldsToQuery(_0x30caa0,_0x2d720f,_0x44c435,_0x700514,![]);if(_0x44c435||_0x700514){_0x3fe3fd=applyJoinClauses(_0x3fe3fd,!![]);_0x3fe3fd[_0xba38('0x53')](_0xba38('0x54'));if(_0x3e8875[_0xba38('0x55')]){_0x30caa0[_0xba38('0x55')](_0x3e8875[_0xba38('0x55')]);}if(_0x3e8875['offset']){_0x30caa0['offset'](_0x3e8875['offset']);}}else{_0x30caa0=applyJoinClauses(_0x30caa0,![]);_0x30caa0[_0xba38('0x53')](_0xba38('0x56'));if(_0x3e8875[_0xba38('0x55')]){_0x3fe3fd['limit'](_0x3e8875[_0xba38('0x55')]);}if(_0x3e8875[_0xba38('0x57')]){_0x3fe3fd[_0xba38('0x57')](_0x3e8875[_0xba38('0x57')]);}}_0x30caa0[_0xba38('0x58')](_0x4d4d9c);if(_0x3e8875[_0xba38('0x59')]){_0x3e8875[_0xba38('0x59')][_0xba38('0x1a')](function(_0x3c2c3f){_0x3fe3fd['order']('c.'+_0x3c2c3f[0x0],_0x3c2c3f[0x1]==='DESC'?![]:!![]);_0x30caa0[_0xba38('0x59')](_0xba38('0x5a')+_0x3c2c3f[0x0],_0x3c2c3f[0x1]===_0xba38('0x5b')?![]:!![]);});}_0x30caa0['from'](_0x3fe3fd,_0xba38('0xf'));return _0x30caa0;}function getFilteredContacts(_0x4d28dd){var _0x48a341=[];return db[_0xba38('0x3b')][_0xba38('0x5c')]({'attributes':['id',_0xba38('0x32'),_0xba38('0x5d')],'raw':!![]})['then'](function(_0x34bf1d){_0x48a341=_[_0xba38('0x5e')](_0x34bf1d,'id');var _0x3573a6={'type':db['Sequelize'][_0xba38('0x5f')][_0xba38('0x60')],'model':db[_0xba38('0x61')],'mapToModel':!![],'nest':!![],'raw':!![]};return db[_0xba38('0x62')][_0xba38('0x63')](_0x4d28dd[_0xba38('0x64')](),_0x3573a6);})[_0xba38('0x4e')](function(_0x5a39bf){_0x5a39bf['forEach'](function(_0x1e6e9a){if(_0x1e6e9a['TagIds']){_0x1e6e9a[_0xba38('0x65')]=[];_0x1e6e9a['TagIds']['split'](',')[_0xba38('0x1a')](function(_0x5dcc4a){_0x1e6e9a[_0xba38('0x65')]['push'](_0x48a341[_0x5dcc4a]);});}delete _0x1e6e9a[_0xba38('0x17')];});return _0x5a39bf;});}function countFilteredContacts(_0x3ab067,_0x1884e1){var _0x5274ec=_0x3ab067[_0xba38('0x66')]();_0x5274ec[_0xba38('0x1b')](_0xba38('0x67'));_0x5274ec=applyJoinClauses(_0x5274ec,!![]);_0x3ab067[_0xba38('0x53')]('c.id');var _0x29e52e=utils['getSelectedTags'](_0x1884e1);if(!_[_0xba38('0x68')](_0x29e52e)){_0x5274ec[_0xba38('0x69')](_0xba38('0x6a'),_0x29e52e);}var _0xd450d9={'type':db[_0xba38('0x6b')][_0xba38('0x5f')]['SELECT'],'raw':!![]};return db['sequelize'][_0xba38('0x63')](_0x5274ec[_0xba38('0x64')](),_0xd450d9)[_0xba38('0x4e')](function(_0x397c92){return _0x397c92[0x0]['COUNT(*)'];});}module[_0xba38('0x6c')]={'buildContactsQuery':buildContactsQuery,'checkListsRestrictions':checkListsRestrictions,'countFilteredContacts':countFilteredContacts,'getContactsSubquery':getContactsSubquery,'getFilteredContacts':getFilteredContacts,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipContactsQuery':skipContactsQuery};
\ No newline at end of file
+var _0x49b1=['find','dateOfBirth','fieldType','datetime','DATE','type','value','start','end','Tag','tags','clause','and','ids','User','user','skip','map','name','compact','Contact','concat','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','uc.UserId\x20=\x20?','\x20=\x20?','resolve','then','fields','tag','filter','search','getLists','c.ListId\x20IN\x20?','attributes','group','c.id','limit','offset','subqry.id','having','order','DESC','from','findAll','color','keyBy','Sequelize','QueryTypes','SELECT','CmContact','toString','Tags','clone','COUNT(*)','where','t.id\x20IN\x20?','query','lodash','squel','../parsers/advancedSearch','../interaction/utils','../../mysqldb','role','agent','ListId','autocomplete','true','select','c.deletedAt\x20IS\x20NULL','subqry','cm_user_has_contacts','left_join','cm_contact_has_tags','ct.CmContactId\x20=\x20','.id','tools_tags','t.id\x20=\x20ct.TagId','firstName','lastName','phone','mobile','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','escapeLIKESpecialChars','split','length','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','isNumeric','c.id\x20LIKE\x20?','c.phone\x20LIKE\x20?','isEmail','c.email\x20LIKE\x20?','c.lastName\x20LIKE\x20?','sqlOperator','conditions'];(function(_0xae9a79,_0x4dc03c){var _0x44e692=function(_0x575fd5){while(--_0x575fd5){_0xae9a79['push'](_0xae9a79['shift']());}};_0x44e692(++_0x4dc03c);}(_0x49b1,0x1e9));var _0x149b=function(_0x1facfa,_0x1acf7d){_0x1facfa=_0x1facfa-0x0;var _0x9ec701=_0x49b1[_0x1facfa];return _0x9ec701;};'use strict';var _=require(_0x149b('0x0'));var squel=require(_0x149b('0x1'));var as=require(_0x149b('0x2'));var qs=require('../parsers/qs');var utils=require(_0x149b('0x3'));var db=require(_0x149b('0x4'))['db'];function skipContactsQuery(_0x24b196,_0x49bece){var _0x15d677=![];if(_0x24b196[_0x149b('0x5')]===_0x149b('0x6')&&!_0x49bece['search']&&!_0x49bece[_0x149b('0x7')]&&_0x49bece[_0x149b('0x8')]!==_0x149b('0x9')){_0x15d677=!![];}return _0x15d677;}function getContactsSubquery(){return squel[_0x149b('0xa')]()['from']('cm_contacts','c')['where'](_0x149b('0xb'));}function applyJoinClauses(_0x5e9bb4,_0x37725f){var _0x580dbe=_0x37725f?'c':_0x149b('0xc');_0x5e9bb4['left_join'](_0x149b('0xd'),'uc','uc.CmContactId\x20=\x20'+_0x580dbe+'.id')[_0x149b('0xe')](_0x149b('0xf'),'ct',_0x149b('0x10')+_0x580dbe+_0x149b('0x11'))['left_join'](_0x149b('0x12'),'t',_0x149b('0x13'));return _0x5e9bb4;}function addFieldsToQuery(_0x46ae9e,_0x1ae972,_0x31dbc3,_0x8c7b20,_0x4fe797){var _0x1afc87=_0x4fe797?'c':_0x149b('0xc');if(!_0x1ae972){_0x1ae972=['id',_0x149b('0x14'),_0x149b('0x15'),_0x149b('0x16'),_0x149b('0x17'),_0x149b('0x18'),'email','ListId',_0x149b('0x19'),_0x149b('0x1a'),_0x149b('0x1b'),_0x149b('0x1c'),_0x149b('0x1d')];}else if(!_0x1ae972['includes']('id')){_0x1ae972[_0x149b('0x1e')]('id');}var _0x202956=_0x31dbc3&&_0x4fe797||!_0x31dbc3&&!_0x4fe797;if(_0x8c7b20){_0x202956=_0x8c7b20&&_0x4fe797||!_0x8c7b20&&!_0x4fe797;}_0x1ae972[_0x149b('0x1f')](function(_0x2a55b3){if(_0x2a55b3==='TagIds'){if(_0x202956){_0x46ae9e[_0x149b('0x20')](_0x149b('0x21'),_0x2a55b3);}else if(_0x31dbc3||_0x8c7b20){_0x46ae9e[_0x149b('0x20')](_0x1afc87+'.'+_0x2a55b3);}}else{_0x46ae9e[_0x149b('0x20')](_0x1afc87+'.'+_0x2a55b3);}});return _0x46ae9e;}function getSqlClauses(){var _0x2bb44e={'default':squel[_0x149b('0x22')](),'fields':squel['expr'](),'filter':squel[_0x149b('0x22')](),'tags':{'clause':squel[_0x149b('0x22')](),'ids':null},'user':{'clause':squel['expr'](),'skip':![]}};return _0x2bb44e;}function parseTagParameter(_0x5ee696){var _0x525feb=squel[_0x149b('0x22')]();if(_0x5ee696){var _0x36a88e=utils[_0x149b('0x23')](_0x5ee696);_0x36a88e[_0x149b('0x1f')](function(_0x507753){_0x525feb['or'](_0x149b('0x24'),'%,'+_0x507753+',%');});}return _0x525feb;}function parseSearchFilter(_0x88c9c6){var _0x425762=squel[_0x149b('0x22')]();if(_0x88c9c6){var _0x852243=_0x88c9c6[_0x149b('0x25')]('\x5c','\x5c\x5c')[_0x149b('0x25')](/'/g,'\x27\x27');var _0x2611bf=qs[_0x149b('0x26')](_0x852243);if(_0x852243[_0x149b('0x27')]('\x20')[_0x149b('0x28')]>0x1){_0x425762['or'](_0x149b('0x29'),qs[_0x149b('0x2a')](_0x852243,!![]),null);}else{if(qs[_0x149b('0x2b')](_0x852243)){_0x425762['or'](_0x149b('0x2c'),_0x2611bf+'%');_0x425762['or'](_0x149b('0x2d'),_0x2611bf+'%');_0x425762['or']('c.mobile\x20LIKE\x20?',_0x2611bf+'%');_0x425762['or']('c.fax\x20LIKE\x20?',_0x2611bf+'%');}else if(qs[_0x149b('0x2e')](_0x852243)){_0x425762['or'](_0x149b('0x2f'),_0x2611bf+'%');}else{_0x425762['or']('c.firstName\x20LIKE\x20?','%'+_0x2611bf+'%');_0x425762['or'](_0x149b('0x30'),'%'+_0x2611bf+'%');_0x425762['or'](_0x149b('0x2f'),'%'+_0x2611bf+'%');}}}return _0x425762;}function parseAdvancedSearchFilter(_0x381b5d,_0xd23f04){var _0x151630=getSqlClauses();var _0x3556b7=as['parseSearch'](_0x381b5d);var _0x419ac2=_0x3556b7[_0x149b('0x31')];for(var _0x1d3038=0x0;_0x1d3038<_0x3556b7[_0x149b('0x32')][_0x149b('0x28')];_0x1d3038++){var _0x53b79e=_0x3556b7[_0x149b('0x32')][_0x1d3038];var _0x5d127='c';var _0x4bcf21=_[_0x149b('0x33')](_0xd23f04,['name',_0x53b79e[_0x149b('0x20')]]);if(_0x4bcf21){if(_0x53b79e['field']===_0x149b('0x34')||_0x4bcf21[_0x149b('0x35')]===_0x149b('0x36')){_0x53b79e['castTo']=_0x149b('0x37');}var _0x699e25=as['buildExpression'](_0x5d127,_0x4bcf21[_0x149b('0x38')],_0x53b79e);_0x151630['default'][_0x419ac2](_0x699e25['text'],_0x699e25[_0x149b('0x39')][_0x149b('0x3a')],_0x699e25[_0x149b('0x39')][_0x149b('0x3b')]);}else{if(_0x53b79e[_0x149b('0x20')]===_0x149b('0x3c')){var _0x35970b=_0x53b79e[_0x149b('0x39')][_0x149b('0x27')](',')['map'](function(_0x58a3d2){return Number(_0x58a3d2);});var _0x3efd19=parseTagParameter(_0x35970b);_0x151630[_0x149b('0x3d')][_0x149b('0x3e')][_0x149b('0x3f')](_0x3efd19);_0x151630[_0x149b('0x3d')][_0x149b('0x40')]=_0x35970b;}else if(_0x53b79e[_0x149b('0x20')]===_0x149b('0x41')){_0x151630['user']['clause'][_0x149b('0x3f')]('uc.UserId\x20=\x20?',_0x53b79e[_0x149b('0x39')]);_0x151630[_0x149b('0x42')][_0x149b('0x43')]=!![];}}}return _0x151630;}function parseModelFields(_0x46ce51,_0x585630){var _0x195468=squel[_0x149b('0x22')]();var _0x540dac=_(_0x46ce51)['keys']()[_0x149b('0x44')](function(_0x116f22){return _['some'](_0x585630,[_0x149b('0x45'),_0x116f22])?_0x116f22:undefined;})[_0x149b('0x46')]()[_0x149b('0x39')]();if(_0x46ce51[_0x149b('0x47')]){_0x540dac[_0x149b('0x1e')](_0x149b('0x47'));}if(_0x46ce51[_0x149b('0x41')]){_0x540dac['push']('User');}if(_0x540dac[_0x149b('0x28')]>0x0){_0x540dac[_0x149b('0x1f')](function(_0x22be09){if(_0x22be09===_0x149b('0x7')){_0x195468['and']('c.ListId\x20IN\x20?',[][_0x149b('0x48')](_0x46ce51[_0x22be09]));}else if(_0x22be09===_0x149b('0x47')){var _0xa41e='%'+_0x46ce51[_0x22be09]+'%';_0x195468[_0x149b('0x3f')](_0x149b('0x49'),_0xa41e);}else if(_0x22be09===_0x149b('0x41')){_0x195468[_0x149b('0x3f')](_0x149b('0x4a'),_0x46ce51[_0x22be09]);}else{_0x195468[_0x149b('0x3f')]('c.'+_0x22be09+_0x149b('0x4b'),_0x46ce51[_0x22be09]);}});}return _0x195468;}function parseQueryParameters(_0x4604b4,_0x5da486){var _0x5e06b9=getSqlClauses();return Promise[_0x149b('0x4c')]()[_0x149b('0x4d')](function(){return parseModelFields(_0x4604b4,_0x5da486);})[_0x149b('0x4d')](function(_0x4ec633){_0x5e06b9[_0x149b('0x4e')][_0x149b('0x3f')](_0x4ec633);return parseTagParameter(_0x4604b4[_0x149b('0x4f')]);})[_0x149b('0x4d')](function(_0x5d41b0){_0x5e06b9[_0x149b('0x3d')][_0x149b('0x3e')][_0x149b('0x3f')](_0x5d41b0);return parseSearchFilter(_0x4604b4[_0x149b('0x50')]);})['then'](function(_0x36be9d){_0x5e06b9[_0x149b('0x50')]=_0x36be9d;return _0x5e06b9;});}function checkListsRestrictions(_0x47c61e,_0x12c85a,_0x24da3a){var _0x34a869=squel[_0x149b('0x22')]();return Promise[_0x149b('0x4c')]()[_0x149b('0x4d')](function(){if(_0x12c85a[_0x149b('0x51')]&&_0x47c61e['role']===_0x149b('0x6')&&!_0x24da3a){return _0x47c61e[_0x149b('0x52')]({'attributes':['id'],'raw':!![]});}})['then'](function(_0x4ecfc9){if(_0x4ecfc9){if(_0x4ecfc9[_0x149b('0x28')]===0x0){_0x34a869[_0x149b('0x3f')]('c.ListId\x20IS\x20NULL');}else{_0x34a869[_0x149b('0x3f')](_0x149b('0x53'),_[_0x149b('0x44')](_0x4ecfc9,'id'));}}})[_0x149b('0x4d')](function(){return _0x34a869;});}function buildContactsQuery(_0x9cfbf7,_0x53c893,_0x2c2bce,_0x127f9b,_0x4363f6,_0x77dc58){if(_0x53c893){_0x53c893=_0x2c2bce[_0x149b('0x54')];}_0x9cfbf7=addFieldsToQuery(_0x9cfbf7,_0x53c893,_0x127f9b,_0x77dc58,!![]);var _0x28fc42=squel[_0x149b('0xa')]();_0x28fc42=addFieldsToQuery(_0x28fc42,_0x53c893,_0x127f9b,_0x77dc58,![]);if(_0x127f9b||_0x77dc58){_0x9cfbf7=applyJoinClauses(_0x9cfbf7,!![]);_0x9cfbf7[_0x149b('0x55')](_0x149b('0x56'));if(_0x2c2bce[_0x149b('0x57')]){_0x28fc42[_0x149b('0x57')](_0x2c2bce['limit']);}if(_0x2c2bce[_0x149b('0x58')]){_0x28fc42[_0x149b('0x58')](_0x2c2bce[_0x149b('0x58')]);}}else{_0x28fc42=applyJoinClauses(_0x28fc42,![]);_0x28fc42[_0x149b('0x55')](_0x149b('0x59'));if(_0x2c2bce['limit']){_0x9cfbf7[_0x149b('0x57')](_0x2c2bce[_0x149b('0x57')]);}if(_0x2c2bce['offset']){_0x9cfbf7[_0x149b('0x58')](_0x2c2bce[_0x149b('0x58')]);}}_0x28fc42[_0x149b('0x5a')](_0x4363f6);if(_0x2c2bce[_0x149b('0x5b')]){_0x2c2bce['order'][_0x149b('0x1f')](function(_0x4ddc59){_0x9cfbf7['order']('c.'+_0x4ddc59[0x0],_0x4ddc59[0x1]===_0x149b('0x5c')?![]:!![]);_0x28fc42['order']('subqry.'+_0x4ddc59[0x0],_0x4ddc59[0x1]==='DESC'?![]:!![]);});}_0x28fc42[_0x149b('0x5d')](_0x9cfbf7,'subqry');return _0x28fc42;}function getFilteredContacts(_0x2615c5){var _0x416183=[];return db[_0x149b('0x3c')][_0x149b('0x5e')]({'attributes':['id',_0x149b('0x45'),_0x149b('0x5f')],'raw':!![]})['then'](function(_0x4729d4){_0x416183=_[_0x149b('0x60')](_0x4729d4,'id');var _0x3fc402={'type':db[_0x149b('0x61')][_0x149b('0x62')][_0x149b('0x63')],'model':db[_0x149b('0x64')],'mapToModel':!![],'nest':!![],'raw':!![]};return db['sequelize']['query'](_0x2615c5[_0x149b('0x65')](),_0x3fc402);})[_0x149b('0x4d')](function(_0x1ef257){_0x1ef257[_0x149b('0x1f')](function(_0x2a5dc0){if(_0x2a5dc0[_0x149b('0x1d')]){_0x2a5dc0['Tags']=[];_0x2a5dc0[_0x149b('0x1d')][_0x149b('0x27')](',')[_0x149b('0x1f')](function(_0x32866f){_0x2a5dc0[_0x149b('0x66')]['push'](_0x416183[_0x32866f]);});}delete _0x2a5dc0[_0x149b('0x1d')];});return _0x1ef257;});}function countFilteredContacts(_0x2ae24e,_0x22e0bd){var _0x4b517e=_0x2ae24e[_0x149b('0x67')]();_0x4b517e[_0x149b('0x20')](_0x149b('0x68'));_0x4b517e=applyJoinClauses(_0x4b517e,!![]);_0x2ae24e['group']('c.id');var _0x4c67d0=utils[_0x149b('0x23')](_0x22e0bd);if(!_['isEmpty'](_0x4c67d0)){_0x4b517e[_0x149b('0x69')](_0x149b('0x6a'),_0x4c67d0);}var _0x3c0925={'type':db['Sequelize'][_0x149b('0x62')][_0x149b('0x63')],'raw':!![]};return db['sequelize'][_0x149b('0x6b')](_0x4b517e[_0x149b('0x65')](),_0x3c0925)['then'](function(_0xf4fd59){return _0xf4fd59[0x0]['COUNT(*)'];});}module['exports']={'buildContactsQuery':buildContactsQuery,'checkListsRestrictions':checkListsRestrictions,'countFilteredContacts':countFilteredContacts,'getContactsSubquery':getContactsSubquery,'getFilteredContacts':getFilteredContacts,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipContactsQuery':skipContactsQuery};
\ No newline at end of file