Built motion from commit d5e4af8c.|2.6.23
[motion2.git] / server / components / contacts / sql-utils.js
index 0fa1fc5..44cd819 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x5287=['sqlOperator','conditions','length','find','dateOfBirth','fieldType','datetime','castTo','buildExpression','type','default','text','value','end','Tag','map','tags','clause','and','ids','User','user','uc.UserId\x20=\x20?','skip','some','name','compact','Contact','c.ListId\x20IN\x20?','\x20=\x20?','then','fields','filter','resolve','getLists','c.ListId\x20IS\x20NULL','attributes','c.id','limit','offset','group','having','order','DESC','color','keyBy','Sequelize','QueryTypes','SELECT','CmContact','query','toString','Tags','clone','COUNT(*)','getSelectedTags','t.id\x20IN\x20?','sequelize','squel','../parsers/advancedSearch','../../mysqldb','role','agent','search','ListId','autocomplete','true','select','from','cm_contacts','where','c.deletedAt\x20IS\x20NULL','subqry','cm_user_has_contacts','uc.CmContactId\x20=\x20','.id','cm_contact_has_tags','left_join','firstName','lastName','fax','CompanyId','createdAt','updatedAt','deletedAt','TagIds','includes','push','forEach','GROUP_CONCAT(DISTINCT\x20t.id)','field','expr','CONCAT(\x27,\x27,\x20subqry.TagIds,\x20\x27,\x27)\x20LIKE\x20?','replace','split','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.mobile\x20LIKE\x20?','c.fax\x20LIKE\x20?','c.email\x20LIKE\x20?','c.firstName\x20LIKE\x20?','c.lastName\x20LIKE\x20?','parseSearch'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x5287,0x10c));var _0x7528=function(_0x2654d2,_0x431293){_0x2654d2=_0x2654d2-0x0;var _0x3057df=_0x5287[_0x2654d2];return _0x3057df;};'use strict';var _=require('lodash');var squel=require(_0x7528('0x0'));var as=require(_0x7528('0x1'));var qs=require('../parsers/qs');var utils=require('../interaction/utils');var db=require(_0x7528('0x2'))['db'];function skipContactsQuery(_0x324830,_0x6ac564){var _0x13071b=![];if(_0x324830[_0x7528('0x3')]===_0x7528('0x4')&&!_0x6ac564[_0x7528('0x5')]&&!_0x6ac564[_0x7528('0x6')]&&_0x6ac564[_0x7528('0x7')]!==_0x7528('0x8')){_0x13071b=!![];}return _0x13071b;}function getContactsSubquery(){return squel[_0x7528('0x9')]()[_0x7528('0xa')](_0x7528('0xb'),'c')[_0x7528('0xc')](_0x7528('0xd'));}function applyJoinClauses(_0x431d2f,_0x581304){var _0x51538c=_0x581304?'c':_0x7528('0xe');_0x431d2f['left_join'](_0x7528('0xf'),'uc',_0x7528('0x10')+_0x51538c+_0x7528('0x11'))['left_join'](_0x7528('0x12'),'ct','ct.CmContactId\x20=\x20'+_0x51538c+_0x7528('0x11'))[_0x7528('0x13')]('tools_tags','t','t.id\x20=\x20ct.TagId');return _0x431d2f;}function addFieldsToQuery(_0xbf712d,_0x5cd329,_0x53da59,_0x26fc5e,_0x2bd5b6){var _0x42e9c1=_0x2bd5b6?'c':_0x7528('0xe');if(!_0x5cd329){_0x5cd329=['id',_0x7528('0x14'),_0x7528('0x15'),'phone','mobile',_0x7528('0x16'),'email',_0x7528('0x6'),_0x7528('0x17'),_0x7528('0x18'),_0x7528('0x19'),_0x7528('0x1a'),_0x7528('0x1b')];}else if(!_0x5cd329[_0x7528('0x1c')]('id')){_0x5cd329[_0x7528('0x1d')]('id');}var _0x161451=_0x53da59&&_0x2bd5b6||!_0x53da59&&!_0x2bd5b6;if(_0x26fc5e){_0x161451=_0x26fc5e&&_0x2bd5b6||!_0x26fc5e&&!_0x2bd5b6;}_0x5cd329[_0x7528('0x1e')](function(_0x256e1e){if(_0x256e1e==='TagIds'){if(_0x161451){_0xbf712d['field'](_0x7528('0x1f'),_0x256e1e);}else if(_0x53da59||_0x26fc5e){_0xbf712d['field'](_0x42e9c1+'.'+_0x256e1e);}}else{_0xbf712d[_0x7528('0x20')](_0x42e9c1+'.'+_0x256e1e);}});return _0xbf712d;}function getSqlClauses(){var _0xec5a12={'default':squel['expr'](),'fields':squel[_0x7528('0x21')](),'filter':squel[_0x7528('0x21')](),'tags':{'clause':squel[_0x7528('0x21')](),'ids':null},'user':{'clause':squel[_0x7528('0x21')](),'skip':![]}};return _0xec5a12;}function parseTagParameter(_0x2036b9){var _0x57024f=squel[_0x7528('0x21')]();if(_0x2036b9){var _0x3fd3ef=utils['getSelectedTags'](_0x2036b9);_0x3fd3ef[_0x7528('0x1e')](function(_0x334f2f){_0x57024f['or'](_0x7528('0x22'),'%,'+_0x334f2f+',%');});}return _0x57024f;}function parseSearchFilter(_0xb3fc4c){var _0x2f2ffa=squel[_0x7528('0x21')]();if(_0xb3fc4c){var _0x1866bf=_0xb3fc4c[_0x7528('0x23')]('\x5c','\x5c\x5c')[_0x7528('0x23')](/'/g,'\x27\x27');if(_0x1866bf[_0x7528('0x24')]('\x20')['length']>0x1){_0x2f2ffa['or'](_0x7528('0x25'),qs[_0x7528('0x26')](_0x1866bf),null);}else{if(qs[_0x7528('0x27')](_0x1866bf)){_0x2f2ffa['or']('c.id\x20LIKE\x20?',_0x1866bf+'%');_0x2f2ffa['or'](_0x7528('0x28'),_0x1866bf+'%');_0x2f2ffa['or'](_0x7528('0x29'),_0x1866bf+'%');_0x2f2ffa['or'](_0x7528('0x2a'),_0x1866bf+'%');}else if(qs['isEmail'](_0x1866bf)){_0x2f2ffa['or'](_0x7528('0x2b'),_0x1866bf+'%');}else{_0x2f2ffa['or'](_0x7528('0x2c'),'%'+_0x1866bf+'%');_0x2f2ffa['or'](_0x7528('0x2d'),'%'+_0x1866bf+'%');_0x2f2ffa['or'](_0x7528('0x2b'),'%'+_0x1866bf+'%');}}}return _0x2f2ffa;}function parseAdvancedSearchFilter(_0x19e19c,_0x30978f){var _0x3b8630=getSqlClauses();var _0x1c97d1=as[_0x7528('0x2e')](_0x19e19c);var _0x182e3c=_0x1c97d1[_0x7528('0x2f')];for(var _0x3f5765=0x0;_0x3f5765<_0x1c97d1[_0x7528('0x30')][_0x7528('0x31')];_0x3f5765++){var _0x371b48=_0x1c97d1[_0x7528('0x30')][_0x3f5765];var _0x3660fa='c';var _0x56e406=_[_0x7528('0x32')](_0x30978f,['name',_0x371b48[_0x7528('0x20')]]);if(_0x56e406){if(_0x371b48[_0x7528('0x20')]===_0x7528('0x33')||_0x56e406[_0x7528('0x34')]===_0x7528('0x35')){_0x371b48[_0x7528('0x36')]='DATE';}var _0x17db78=as[_0x7528('0x37')](_0x3660fa,_0x56e406[_0x7528('0x38')],_0x371b48);_0x3b8630[_0x7528('0x39')][_0x182e3c](_0x17db78[_0x7528('0x3a')],_0x17db78[_0x7528('0x3b')]['start'],_0x17db78[_0x7528('0x3b')][_0x7528('0x3c')]);}else{if(_0x371b48[_0x7528('0x20')]===_0x7528('0x3d')){var _0x3dadb5=_0x371b48[_0x7528('0x3b')][_0x7528('0x24')](',')[_0x7528('0x3e')](function(_0x427cd6){return Number(_0x427cd6);});var _0x1dfb21=parseTagParameter(_0x3dadb5);_0x3b8630[_0x7528('0x3f')][_0x7528('0x40')][_0x7528('0x41')](_0x1dfb21);_0x3b8630[_0x7528('0x3f')][_0x7528('0x42')]=_0x3dadb5;}else if(_0x371b48[_0x7528('0x20')]===_0x7528('0x43')){_0x3b8630[_0x7528('0x44')]['clause'][_0x7528('0x41')](_0x7528('0x45'),_0x371b48[_0x7528('0x3b')]);_0x3b8630[_0x7528('0x44')][_0x7528('0x46')]=!![];}}}return _0x3b8630;}function parseModelFields(_0x538a38,_0x43b404){var _0x2593e9=squel[_0x7528('0x21')]();var _0x421833=_(_0x538a38)['keys']()[_0x7528('0x3e')](function(_0x55858e){return _[_0x7528('0x47')](_0x43b404,[_0x7528('0x48'),_0x55858e])?_0x55858e:undefined;})[_0x7528('0x49')]()[_0x7528('0x3b')]();if(_0x538a38[_0x7528('0x4a')]){_0x421833[_0x7528('0x1d')](_0x7528('0x4a'));}if(_0x421833[_0x7528('0x31')]>0x0){_0x421833[_0x7528('0x1e')](function(_0x1b02c9){if(_0x1b02c9===_0x7528('0x6')){_0x2593e9[_0x7528('0x41')](_0x7528('0x4b'),[]['concat'](_0x538a38[_0x1b02c9]));}else if(_0x1b02c9===_0x7528('0x4a')){var _0x461680='%'+_0x538a38[_0x1b02c9]+'%';_0x2593e9[_0x7528('0x41')]('CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?',_0x461680);}else{_0x2593e9['and']('c.'+_0x1b02c9+_0x7528('0x4c'),_0x538a38[_0x1b02c9]);}});}return _0x2593e9;}function parseQueryParameters(_0x30c27d,_0x55d562){var _0xe33ce4=getSqlClauses();return Promise['resolve']()[_0x7528('0x4d')](function(){return parseModelFields(_0x30c27d,_0x55d562);})[_0x7528('0x4d')](function(_0x18ac01){_0xe33ce4[_0x7528('0x4e')][_0x7528('0x41')](_0x18ac01);return parseTagParameter(_0x30c27d['tag']);})[_0x7528('0x4d')](function(_0x2372d2){_0xe33ce4[_0x7528('0x3f')][_0x7528('0x40')][_0x7528('0x41')](_0x2372d2);return parseSearchFilter(_0x30c27d['filter']);})[_0x7528('0x4d')](function(_0x1b87b3){_0xe33ce4[_0x7528('0x4f')]=_0x1b87b3;return _0xe33ce4;});}function checkListsRestrictions(_0x53c960,_0x3d473b,_0x3b0065){var _0xefb15b=squel['expr']();return Promise[_0x7528('0x50')]()[_0x7528('0x4d')](function(){if(_0x3d473b[_0x7528('0x5')]&&_0x53c960[_0x7528('0x3')]===_0x7528('0x4')&&!_0x3b0065){return _0x53c960[_0x7528('0x51')]({'attributes':['id'],'raw':!![]});}})[_0x7528('0x4d')](function(_0x46ffc7){if(_0x46ffc7){if(_0x46ffc7[_0x7528('0x31')]===0x0){_0xefb15b['and'](_0x7528('0x52'));}else{_0xefb15b[_0x7528('0x41')](_0x7528('0x4b'),_[_0x7528('0x3e')](_0x46ffc7,'id'));}}})[_0x7528('0x4d')](function(){return _0xefb15b;});}function buildContactsQuery(_0x4579df,_0x126c4a,_0x1e23b3,_0x3d9aeb,_0x21559b,_0x58fe12){if(_0x126c4a){_0x126c4a=_0x1e23b3[_0x7528('0x53')];}_0x4579df=addFieldsToQuery(_0x4579df,_0x126c4a,_0x3d9aeb,_0x58fe12,!![]);var _0x2667d6=squel[_0x7528('0x9')]();_0x2667d6=addFieldsToQuery(_0x2667d6,_0x126c4a,_0x3d9aeb,_0x58fe12,![]);if(_0x3d9aeb||_0x58fe12){_0x4579df=applyJoinClauses(_0x4579df,!![]);_0x4579df['group'](_0x7528('0x54'));if(_0x1e23b3['limit']){_0x2667d6[_0x7528('0x55')](_0x1e23b3[_0x7528('0x55')]);}if(_0x1e23b3[_0x7528('0x56')]){_0x2667d6[_0x7528('0x56')](_0x1e23b3[_0x7528('0x56')]);}}else{_0x2667d6=applyJoinClauses(_0x2667d6,![]);_0x2667d6[_0x7528('0x57')]('subqry.id');if(_0x1e23b3[_0x7528('0x55')]){_0x4579df[_0x7528('0x55')](_0x1e23b3[_0x7528('0x55')]);}if(_0x1e23b3['offset']){_0x4579df[_0x7528('0x56')](_0x1e23b3[_0x7528('0x56')]);}}_0x2667d6[_0x7528('0x58')](_0x21559b);if(_0x1e23b3['order']){_0x1e23b3['order'][_0x7528('0x1e')](function(_0x11eeb1){_0x4579df[_0x7528('0x59')]('c.'+_0x11eeb1[0x0],_0x11eeb1[0x1]===_0x7528('0x5a')?![]:!![]);_0x2667d6[_0x7528('0x59')]('subqry.'+_0x11eeb1[0x0],_0x11eeb1[0x1]===_0x7528('0x5a')?![]:!![]);});}_0x2667d6[_0x7528('0xa')](_0x4579df,_0x7528('0xe'));return _0x2667d6;}function getFilteredContacts(_0x1f14e7){var _0x56b250=[];return db['Tag']['findAll']({'attributes':['id',_0x7528('0x48'),_0x7528('0x5b')],'raw':!![]})['then'](function(_0x3528f1){_0x56b250=_[_0x7528('0x5c')](_0x3528f1,'id');var _0x2e3479={'type':db[_0x7528('0x5d')][_0x7528('0x5e')][_0x7528('0x5f')],'model':db[_0x7528('0x60')],'mapToModel':!![],'nest':!![],'raw':!![]};return db['sequelize'][_0x7528('0x61')](_0x1f14e7[_0x7528('0x62')](),_0x2e3479);})[_0x7528('0x4d')](function(_0x49233b){_0x49233b[_0x7528('0x1e')](function(_0x45d0d0){if(_0x45d0d0[_0x7528('0x1b')]){_0x45d0d0[_0x7528('0x63')]=[];_0x45d0d0[_0x7528('0x1b')][_0x7528('0x24')](',')[_0x7528('0x1e')](function(_0x303c1c){_0x45d0d0[_0x7528('0x63')][_0x7528('0x1d')](_0x56b250[_0x303c1c]);});}delete _0x45d0d0[_0x7528('0x1b')];});return _0x49233b;});}function countFilteredContacts(_0x53003a,_0x168533){var _0x1617be=_0x53003a[_0x7528('0x64')]();_0x1617be[_0x7528('0x20')](_0x7528('0x65'));_0x1617be=applyJoinClauses(_0x1617be,!![]);_0x53003a[_0x7528('0x57')](_0x7528('0x54'));var _0x1d041b=utils[_0x7528('0x66')](_0x168533);if(!_['isEmpty'](_0x1d041b)){_0x1617be['where'](_0x7528('0x67'),_0x1d041b);}var _0x298389={'type':db['Sequelize']['QueryTypes'][_0x7528('0x5f')],'raw':!![]};return db[_0x7528('0x68')]['query'](_0x1617be[_0x7528('0x62')](),_0x298389)[_0x7528('0x4d')](function(_0x28cdc9){return _0x28cdc9[0x0][_0x7528('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
+var _0x4797=['SELECT','CmContact','query','toString','Tags','COUNT(*)','isEmpty','t.id\x20IN\x20?','QueryTypes','exports','lodash','../parsers/advancedSearch','../parsers/qs','../interaction/utils','role','agent','search','autocomplete','true','select','from','cm_contacts','where','left_join','cm_user_has_contacts','cm_contact_has_tags','ct.CmContactId\x20=\x20','.id','tools_tags','t.id\x20=\x20ct.TagId','subqry','firstName','lastName','phone','fax','email','CompanyId','createdAt','updatedAt','deletedAt','TagIds','includes','push','forEach','field','GROUP_CONCAT(DISTINCT\x20t.id)','expr','getSelectedTags','CONCAT(\x27,\x27,\x20subqry.TagIds,\x20\x27,\x27)\x20LIKE\x20?','replace','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.fax\x20LIKE\x20?','isEmail','c.firstName\x20LIKE\x20?','c.lastName\x20LIKE\x20?','c.email\x20LIKE\x20?','sqlOperator','conditions','find','name','fieldType','datetime','castTo','DATE','buildExpression','type','default','text','value','start','Tag','split','clause','and','tags','user','uc.UserId\x20=\x20?','keys','map','some','compact','User','ListId','concat','Contact','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','resolve','fields','tag','filter','then','getLists','c.ListId\x20IN\x20?','c.id','limit','offset','group','subqry.id','having','order','subqry.','DESC','findAll','color','keyBy','Sequelize'];(function(_0x3731ce,_0x1c97c1){var _0x4b120c=function(_0x2c7df1){while(--_0x2c7df1){_0x3731ce['push'](_0x3731ce['shift']());}};_0x4b120c(++_0x1c97c1);}(_0x4797,0x157));var _0x7479=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x4797[_0x20a584];return _0x4b41a8;};'use strict';var _=require(_0x7479('0x0'));var squel=require('squel');var as=require(_0x7479('0x1'));var qs=require(_0x7479('0x2'));var utils=require(_0x7479('0x3'));var db=require('../../mysqldb')['db'];function skipContactsQuery(_0x23bd92,_0x131709){var _0x1cf9d0=![];if(_0x23bd92[_0x7479('0x4')]===_0x7479('0x5')&&!_0x131709[_0x7479('0x6')]&&!_0x131709['ListId']&&_0x131709[_0x7479('0x7')]!==_0x7479('0x8')){_0x1cf9d0=!![];}return _0x1cf9d0;}function getContactsSubquery(){return squel[_0x7479('0x9')]()[_0x7479('0xa')](_0x7479('0xb'),'c')[_0x7479('0xc')]('c.deletedAt\x20IS\x20NULL');}function applyJoinClauses(_0x1dc29a,_0x5ab66e){var _0x646ee9=_0x5ab66e?'c':'subqry';_0x1dc29a[_0x7479('0xd')](_0x7479('0xe'),'uc','uc.CmContactId\x20=\x20'+_0x646ee9+'.id')[_0x7479('0xd')](_0x7479('0xf'),'ct',_0x7479('0x10')+_0x646ee9+_0x7479('0x11'))['left_join'](_0x7479('0x12'),'t',_0x7479('0x13'));return _0x1dc29a;}function addFieldsToQuery(_0x345565,_0x5e3c21,_0x5aefdb,_0x14afc3,_0xa8bbc7){var _0x2194cc=_0xa8bbc7?'c':_0x7479('0x14');if(!_0x5e3c21){_0x5e3c21=['id',_0x7479('0x15'),_0x7479('0x16'),_0x7479('0x17'),'mobile',_0x7479('0x18'),_0x7479('0x19'),'ListId',_0x7479('0x1a'),_0x7479('0x1b'),_0x7479('0x1c'),_0x7479('0x1d'),_0x7479('0x1e')];}else if(!_0x5e3c21[_0x7479('0x1f')]('id')){_0x5e3c21[_0x7479('0x20')]('id');}var _0x2b27d3=_0x5aefdb&&_0xa8bbc7||!_0x5aefdb&&!_0xa8bbc7;if(_0x14afc3){_0x2b27d3=_0x14afc3&&_0xa8bbc7||!_0x14afc3&&!_0xa8bbc7;}_0x5e3c21[_0x7479('0x21')](function(_0x50c4df){if(_0x50c4df===_0x7479('0x1e')){if(_0x2b27d3){_0x345565[_0x7479('0x22')](_0x7479('0x23'),_0x50c4df);}else if(_0x5aefdb||_0x14afc3){_0x345565[_0x7479('0x22')](_0x2194cc+'.'+_0x50c4df);}}else{_0x345565[_0x7479('0x22')](_0x2194cc+'.'+_0x50c4df);}});return _0x345565;}function getSqlClauses(){var _0xc1b5ac={'default':squel[_0x7479('0x24')](),'fields':squel[_0x7479('0x24')](),'filter':squel[_0x7479('0x24')](),'tags':{'clause':squel[_0x7479('0x24')](),'ids':null},'user':{'clause':squel['expr'](),'skip':![]}};return _0xc1b5ac;}function parseTagParameter(_0x5d31a9){var _0x12ff5e=squel[_0x7479('0x24')]();if(_0x5d31a9){var _0x5b2fa2=utils[_0x7479('0x25')](_0x5d31a9);_0x5b2fa2[_0x7479('0x21')](function(_0x2d33d9){_0x12ff5e['or'](_0x7479('0x26'),'%,'+_0x2d33d9+',%');});}return _0x12ff5e;}function parseSearchFilter(_0x35d83e){var _0x540081=squel[_0x7479('0x24')]();if(_0x35d83e){var _0x450359=_0x35d83e[_0x7479('0x27')]('\x5c','\x5c\x5c')[_0x7479('0x27')](/'/g,'\x27\x27');if(_0x450359['split']('\x20')[_0x7479('0x28')]>0x1){_0x540081['or'](_0x7479('0x29'),qs[_0x7479('0x2a')](_0x450359,!![]),null);}else{if(qs[_0x7479('0x2b')](_0x450359)){_0x540081['or'](_0x7479('0x2c'),_0x450359+'%');_0x540081['or'](_0x7479('0x2d'),_0x450359+'%');_0x540081['or']('c.mobile\x20LIKE\x20?',_0x450359+'%');_0x540081['or'](_0x7479('0x2e'),_0x450359+'%');}else if(qs[_0x7479('0x2f')](_0x450359)){_0x540081['or']('c.email\x20LIKE\x20?',_0x450359+'%');}else{_0x540081['or'](_0x7479('0x30'),'%'+_0x450359+'%');_0x540081['or'](_0x7479('0x31'),'%'+_0x450359+'%');_0x540081['or'](_0x7479('0x32'),'%'+_0x450359+'%');}}}return _0x540081;}function parseAdvancedSearchFilter(_0x134f90,_0x247015){var _0xafe0f2=getSqlClauses();var _0x12c0de=as['parseSearch'](_0x134f90);var _0x5ccedc=_0x12c0de[_0x7479('0x33')];for(var _0x56a43f=0x0;_0x56a43f<_0x12c0de[_0x7479('0x34')][_0x7479('0x28')];_0x56a43f++){var _0x502589=_0x12c0de[_0x7479('0x34')][_0x56a43f];var _0x1c0723='c';var _0x42125e=_[_0x7479('0x35')](_0x247015,[_0x7479('0x36'),_0x502589[_0x7479('0x22')]]);if(_0x42125e){if(_0x502589['field']==='dateOfBirth'||_0x42125e[_0x7479('0x37')]===_0x7479('0x38')){_0x502589[_0x7479('0x39')]=_0x7479('0x3a');}var _0x19a9d3=as[_0x7479('0x3b')](_0x1c0723,_0x42125e[_0x7479('0x3c')],_0x502589);_0xafe0f2[_0x7479('0x3d')][_0x5ccedc](_0x19a9d3[_0x7479('0x3e')],_0x19a9d3[_0x7479('0x3f')][_0x7479('0x40')],_0x19a9d3[_0x7479('0x3f')]['end']);}else{if(_0x502589['field']===_0x7479('0x41')){var _0x34dcab=_0x502589['value'][_0x7479('0x42')](',')['map'](function(_0x7a2fa7){return Number(_0x7a2fa7);});var _0x3cb9dc=parseTagParameter(_0x34dcab);_0xafe0f2['tags'][_0x7479('0x43')][_0x7479('0x44')](_0x3cb9dc);_0xafe0f2[_0x7479('0x45')]['ids']=_0x34dcab;}else if(_0x502589[_0x7479('0x22')]==='User'){_0xafe0f2[_0x7479('0x46')][_0x7479('0x43')][_0x7479('0x44')](_0x7479('0x47'),_0x502589['value']);_0xafe0f2[_0x7479('0x46')]['skip']=!![];}}}return _0xafe0f2;}function parseModelFields(_0x531706,_0x2db0b4){var _0x399936=squel[_0x7479('0x24')]();var _0x559f07=_(_0x531706)[_0x7479('0x48')]()[_0x7479('0x49')](function(_0x5d076e){return _[_0x7479('0x4a')](_0x2db0b4,['name',_0x5d076e])?_0x5d076e:undefined;})[_0x7479('0x4b')]()[_0x7479('0x3f')]();if(_0x531706['Contact']){_0x559f07['push']('Contact');}if(_0x531706[_0x7479('0x4c')]){_0x559f07['push']('User');}if(_0x559f07[_0x7479('0x28')]>0x0){_0x559f07['forEach'](function(_0x2d06a4){if(_0x2d06a4===_0x7479('0x4d')){_0x399936['and']('c.ListId\x20IN\x20?',[][_0x7479('0x4e')](_0x531706[_0x2d06a4]));}else if(_0x2d06a4===_0x7479('0x4f')){var _0x3da812='%'+_0x531706[_0x2d06a4]+'%';_0x399936[_0x7479('0x44')](_0x7479('0x50'),_0x3da812);}else if(_0x2d06a4==='User'){_0x399936['and']('uc.UserId\x20=\x20?',_0x531706[_0x2d06a4]);}else{_0x399936[_0x7479('0x44')]('c.'+_0x2d06a4+'\x20=\x20?',_0x531706[_0x2d06a4]);}});}return _0x399936;}function parseQueryParameters(_0x43f99a,_0x27e81a){var _0x10f6bb=getSqlClauses();return Promise[_0x7479('0x51')]()['then'](function(){return parseModelFields(_0x43f99a,_0x27e81a);})['then'](function(_0x56b0c8){_0x10f6bb[_0x7479('0x52')][_0x7479('0x44')](_0x56b0c8);return parseTagParameter(_0x43f99a[_0x7479('0x53')]);})['then'](function(_0x1d02a1){_0x10f6bb[_0x7479('0x45')]['clause'][_0x7479('0x44')](_0x1d02a1);return parseSearchFilter(_0x43f99a[_0x7479('0x54')]);})[_0x7479('0x55')](function(_0x61afa3){_0x10f6bb['filter']=_0x61afa3;return _0x10f6bb;});}function checkListsRestrictions(_0x5acc3b,_0x4e5f7e,_0x61673a){var _0x406754=squel[_0x7479('0x24')]();return Promise[_0x7479('0x51')]()[_0x7479('0x55')](function(){if(_0x4e5f7e['search']&&_0x5acc3b[_0x7479('0x4')]==='agent'&&!_0x61673a){return _0x5acc3b[_0x7479('0x56')]({'attributes':['id'],'raw':!![]});}})[_0x7479('0x55')](function(_0x2121cf){if(_0x2121cf){if(_0x2121cf[_0x7479('0x28')]===0x0){_0x406754['and']('c.ListId\x20IS\x20NULL');}else{_0x406754[_0x7479('0x44')](_0x7479('0x57'),_[_0x7479('0x49')](_0x2121cf,'id'));}}})[_0x7479('0x55')](function(){return _0x406754;});}function buildContactsQuery(_0x1615bc,_0x52cd6,_0x54efa6,_0x1519ae,_0x5bd234,_0x10c13a){if(_0x52cd6){_0x52cd6=_0x54efa6['attributes'];}_0x1615bc=addFieldsToQuery(_0x1615bc,_0x52cd6,_0x1519ae,_0x10c13a,!![]);var _0x21e1c5=squel[_0x7479('0x9')]();_0x21e1c5=addFieldsToQuery(_0x21e1c5,_0x52cd6,_0x1519ae,_0x10c13a,![]);if(_0x1519ae||_0x10c13a){_0x1615bc=applyJoinClauses(_0x1615bc,!![]);_0x1615bc['group'](_0x7479('0x58'));if(_0x54efa6[_0x7479('0x59')]){_0x21e1c5[_0x7479('0x59')](_0x54efa6[_0x7479('0x59')]);}if(_0x54efa6['offset']){_0x21e1c5[_0x7479('0x5a')](_0x54efa6[_0x7479('0x5a')]);}}else{_0x21e1c5=applyJoinClauses(_0x21e1c5,![]);_0x21e1c5[_0x7479('0x5b')](_0x7479('0x5c'));if(_0x54efa6['limit']){_0x1615bc[_0x7479('0x59')](_0x54efa6['limit']);}if(_0x54efa6['offset']){_0x1615bc['offset'](_0x54efa6['offset']);}}_0x21e1c5[_0x7479('0x5d')](_0x5bd234);if(_0x54efa6[_0x7479('0x5e')]){_0x54efa6[_0x7479('0x5e')]['forEach'](function(_0x3ebfbc){_0x1615bc['order']('c.'+_0x3ebfbc[0x0],_0x3ebfbc[0x1]==='DESC'?![]:!![]);_0x21e1c5['order'](_0x7479('0x5f')+_0x3ebfbc[0x0],_0x3ebfbc[0x1]===_0x7479('0x60')?![]:!![]);});}_0x21e1c5[_0x7479('0xa')](_0x1615bc,'subqry');return _0x21e1c5;}function getFilteredContacts(_0x4f7c8f){var _0x26bdb5=[];return db[_0x7479('0x41')][_0x7479('0x61')]({'attributes':['id',_0x7479('0x36'),_0x7479('0x62')],'raw':!![]})[_0x7479('0x55')](function(_0x45bda6){_0x26bdb5=_[_0x7479('0x63')](_0x45bda6,'id');var _0x57ddad={'type':db[_0x7479('0x64')]['QueryTypes'][_0x7479('0x65')],'model':db[_0x7479('0x66')],'mapToModel':!![],'nest':!![],'raw':!![]};return db['sequelize'][_0x7479('0x67')](_0x4f7c8f[_0x7479('0x68')](),_0x57ddad);})['then'](function(_0x5a29dc){_0x5a29dc[_0x7479('0x21')](function(_0x19e71d){if(_0x19e71d[_0x7479('0x1e')]){_0x19e71d[_0x7479('0x69')]=[];_0x19e71d[_0x7479('0x1e')]['split'](',')['forEach'](function(_0x200b03){_0x19e71d['Tags'][_0x7479('0x20')](_0x26bdb5[_0x200b03]);});}delete _0x19e71d[_0x7479('0x1e')];});return _0x5a29dc;});}function countFilteredContacts(_0x1389a4,_0x2c3be2){var _0x50a632=_0x1389a4['clone']();_0x50a632[_0x7479('0x22')](_0x7479('0x6a'));_0x50a632=applyJoinClauses(_0x50a632,!![]);_0x1389a4[_0x7479('0x5b')](_0x7479('0x58'));var _0x56e5a1=utils[_0x7479('0x25')](_0x2c3be2);if(!_[_0x7479('0x6b')](_0x56e5a1)){_0x50a632[_0x7479('0xc')](_0x7479('0x6c'),_0x56e5a1);}var _0x318b37={'type':db['Sequelize'][_0x7479('0x6d')][_0x7479('0x65')],'raw':!![]};return db['sequelize'][_0x7479('0x67')](_0x50a632['toString'](),_0x318b37)[_0x7479('0x55')](function(_0x44533d){return _0x44533d[0x0][_0x7479('0x6a')];});}module[_0x7479('0x6e')]={'buildContactsQuery':buildContactsQuery,'checkListsRestrictions':checkListsRestrictions,'countFilteredContacts':countFilteredContacts,'getContactsSubquery':getContactsSubquery,'getFilteredContacts':getFilteredContacts,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipContactsQuery':skipContactsQuery};
\ No newline at end of file