Built motion from commit b5996064.|2.6.21
[motion2.git] / server / components / contacts / sql-utils.js
index 809546d..5e50d94 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 _0x0b76=['c.lastName\x20LIKE\x20?','parseSearch','sqlOperator','conditions','find','dateOfBirth','fieldType','datetime','castTo','text','value','start','end','Tag','map','tags','User','user','and','skip','some','name','compact','Contact','push','c.ListId\x20IN\x20?','concat','CONCAT_WS(\x27\x20\x27,\x20c.firstName,\x20c.lastName,\x20c.email)\x20LIKE\x20?','uc.UserId\x20=\x20?','\x20=\x20?','fields','tag','then','clause','resolve','getLists','c.ListId\x20IS\x20NULL','attributes','c.id','limit','offset','group','having','order','DESC','findAll','color','keyBy','Sequelize','QueryTypes','CmContact','sequelize','query','toString','Tags','split','clone','isEmpty','t.id\x20IN\x20?','SELECT','exports','lodash','../parsers/advancedSearch','../parsers/qs','../../mysqldb','role','search','ListId','autocomplete','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','phone','mobile','fax','createdAt','updatedAt','deletedAt','TagIds','GROUP_CONCAT(DISTINCT\x20t.id)','field','expr','getSelectedTags','forEach','CONCAT(\x27,\x27,\x20subqry.TagIds,\x20\x27,\x27)\x20LIKE\x20?','replace','length','getFullTextValue','c.id\x20LIKE\x20?','c.phone\x20LIKE\x20?','c.mobile\x20LIKE\x20?','c.fax\x20LIKE\x20?','isEmail','c.email\x20LIKE\x20?'];(function(_0xfac19b,_0x51b4b6){var _0x59446a=function(_0x3949ff){while(--_0x3949ff){_0xfac19b['push'](_0xfac19b['shift']());}};_0x59446a(++_0x51b4b6);}(_0x0b76,0x1e5));var _0x60b7=function(_0x24dfbd,_0x23c14f){_0x24dfbd=_0x24dfbd-0x0;var _0x11ebb4=_0x0b76[_0x24dfbd];return _0x11ebb4;};'use strict';var _=require(_0x60b7('0x0'));var squel=require('squel');var as=require(_0x60b7('0x1'));var qs=require(_0x60b7('0x2'));var utils=require('../interaction/utils');var db=require(_0x60b7('0x3'))['db'];function skipContactsQuery(_0x226c45,_0x589538){var _0x574742=![];if(_0x226c45[_0x60b7('0x4')]==='agent'&&!_0x589538[_0x60b7('0x5')]&&!_0x589538[_0x60b7('0x6')]&&_0x589538[_0x60b7('0x7')]!==_0x60b7('0x8')){_0x574742=!![];}return _0x574742;}function getContactsSubquery(){return squel[_0x60b7('0x9')]()[_0x60b7('0xa')](_0x60b7('0xb'),'c')[_0x60b7('0xc')](_0x60b7('0xd'));}function applyJoinClauses(_0x49134f,_0x5b776d){var _0x25b4f8=_0x5b776d?'c':_0x60b7('0xe');_0x49134f[_0x60b7('0xf')](_0x60b7('0x10'),'uc',_0x60b7('0x11')+_0x25b4f8+_0x60b7('0x12'))['left_join'](_0x60b7('0x13'),'ct','ct.CmContactId\x20=\x20'+_0x25b4f8+_0x60b7('0x12'))['left_join'](_0x60b7('0x14'),'t',_0x60b7('0x15'));return _0x49134f;}function addFieldsToQuery(_0x31d204,_0x55e66b,_0x2358d9,_0x4b9dc4,_0x45543b){var _0x345a8e=_0x45543b?'c':_0x60b7('0xe');if(!_0x55e66b){_0x55e66b=['id',_0x60b7('0x16'),'lastName',_0x60b7('0x17'),_0x60b7('0x18'),_0x60b7('0x19'),'email',_0x60b7('0x6'),'CompanyId',_0x60b7('0x1a'),_0x60b7('0x1b'),_0x60b7('0x1c'),_0x60b7('0x1d')];}else if(!_0x55e66b['includes']('id')){_0x55e66b['push']('id');}var _0x233a2a=_0x2358d9&&_0x45543b||!_0x2358d9&&!_0x45543b;if(_0x4b9dc4){_0x233a2a=_0x4b9dc4&&_0x45543b||!_0x4b9dc4&&!_0x45543b;}_0x55e66b['forEach'](function(_0x46d3d3){if(_0x46d3d3===_0x60b7('0x1d')){if(_0x233a2a){_0x31d204['field'](_0x60b7('0x1e'),_0x46d3d3);}else if(_0x2358d9||_0x4b9dc4){_0x31d204['field'](_0x345a8e+'.'+_0x46d3d3);}}else{_0x31d204[_0x60b7('0x1f')](_0x345a8e+'.'+_0x46d3d3);}});return _0x31d204;}function getSqlClauses(){var _0x11ac5d={'default':squel[_0x60b7('0x20')](),'fields':squel[_0x60b7('0x20')](),'filter':squel[_0x60b7('0x20')](),'tags':{'clause':squel[_0x60b7('0x20')](),'ids':null},'user':{'clause':squel['expr'](),'skip':![]}};return _0x11ac5d;}function parseTagParameter(_0x26348a){var _0x386398=squel['expr']();if(_0x26348a){var _0x4e0d44=utils[_0x60b7('0x21')](_0x26348a);_0x4e0d44[_0x60b7('0x22')](function(_0x17ea90){_0x386398['or'](_0x60b7('0x23'),'%,'+_0x17ea90+',%');});}return _0x386398;}function parseSearchFilter(_0x4f6950){var _0x321583=squel[_0x60b7('0x20')]();if(_0x4f6950){var _0x82aa02=_0x4f6950[_0x60b7('0x24')]('\x5c','\x5c\x5c')[_0x60b7('0x24')](/'/g,'\x27\x27');if(_0x82aa02['split']('\x20')[_0x60b7('0x25')]>0x1){_0x321583['or']('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x60b7('0x26')](_0x82aa02,!![]),null);}else{if(qs['isNumeric'](_0x82aa02)){_0x321583['or'](_0x60b7('0x27'),_0x82aa02+'%');_0x321583['or'](_0x60b7('0x28'),_0x82aa02+'%');_0x321583['or'](_0x60b7('0x29'),_0x82aa02+'%');_0x321583['or'](_0x60b7('0x2a'),_0x82aa02+'%');}else if(qs[_0x60b7('0x2b')](_0x82aa02)){_0x321583['or'](_0x60b7('0x2c'),_0x82aa02+'%');}else{_0x321583['or']('c.firstName\x20LIKE\x20?','%'+_0x82aa02+'%');_0x321583['or'](_0x60b7('0x2d'),'%'+_0x82aa02+'%');_0x321583['or'](_0x60b7('0x2c'),'%'+_0x82aa02+'%');}}}return _0x321583;}function parseAdvancedSearchFilter(_0x51dbc3,_0x4b5108){var _0x5df4f4=getSqlClauses();var _0x2adc8e=as[_0x60b7('0x2e')](_0x51dbc3);var _0x563b8b=_0x2adc8e[_0x60b7('0x2f')];for(var _0x106d35=0x0;_0x106d35<_0x2adc8e[_0x60b7('0x30')]['length'];_0x106d35++){var _0x2aba27=_0x2adc8e[_0x60b7('0x30')][_0x106d35];var _0x9a77b0='c';var _0x4f59be=_[_0x60b7('0x31')](_0x4b5108,['name',_0x2aba27[_0x60b7('0x1f')]]);if(_0x4f59be){if(_0x2aba27[_0x60b7('0x1f')]===_0x60b7('0x32')||_0x4f59be[_0x60b7('0x33')]===_0x60b7('0x34')){_0x2aba27[_0x60b7('0x35')]='DATE';}var _0x27e91e=as['buildExpression'](_0x9a77b0,_0x4f59be['type'],_0x2aba27);_0x5df4f4['default'][_0x563b8b](_0x27e91e[_0x60b7('0x36')],_0x27e91e[_0x60b7('0x37')][_0x60b7('0x38')],_0x27e91e[_0x60b7('0x37')][_0x60b7('0x39')]);}else{if(_0x2aba27[_0x60b7('0x1f')]===_0x60b7('0x3a')){var _0x2956d4=_0x2aba27[_0x60b7('0x37')]['split'](',')[_0x60b7('0x3b')](function(_0x273b36){return Number(_0x273b36);});var _0x22f81=parseTagParameter(_0x2956d4);_0x5df4f4[_0x60b7('0x3c')]['clause']['and'](_0x22f81);_0x5df4f4[_0x60b7('0x3c')]['ids']=_0x2956d4;}else if(_0x2aba27[_0x60b7('0x1f')]===_0x60b7('0x3d')){_0x5df4f4[_0x60b7('0x3e')]['clause'][_0x60b7('0x3f')]('uc.UserId\x20=\x20?',_0x2aba27[_0x60b7('0x37')]);_0x5df4f4[_0x60b7('0x3e')][_0x60b7('0x40')]=!![];}}}return _0x5df4f4;}function parseModelFields(_0x336f83,_0x57d0cc){var _0x20f3f4=squel[_0x60b7('0x20')]();var _0x1eb97c=_(_0x336f83)['keys']()['map'](function(_0x46e837){return _[_0x60b7('0x41')](_0x57d0cc,[_0x60b7('0x42'),_0x46e837])?_0x46e837:undefined;})[_0x60b7('0x43')]()[_0x60b7('0x37')]();if(_0x336f83[_0x60b7('0x44')]){_0x1eb97c[_0x60b7('0x45')](_0x60b7('0x44'));}if(_0x336f83[_0x60b7('0x3d')]){_0x1eb97c[_0x60b7('0x45')]('User');}if(_0x1eb97c[_0x60b7('0x25')]>0x0){_0x1eb97c[_0x60b7('0x22')](function(_0x508bd9){if(_0x508bd9==='ListId'){_0x20f3f4[_0x60b7('0x3f')](_0x60b7('0x46'),[][_0x60b7('0x47')](_0x336f83[_0x508bd9]));}else if(_0x508bd9===_0x60b7('0x44')){var _0x19a854='%'+_0x336f83[_0x508bd9]+'%';_0x20f3f4[_0x60b7('0x3f')](_0x60b7('0x48'),_0x19a854);}else if(_0x508bd9===_0x60b7('0x3d')){_0x20f3f4['and'](_0x60b7('0x49'),_0x336f83[_0x508bd9]);}else{_0x20f3f4['and']('c.'+_0x508bd9+_0x60b7('0x4a'),_0x336f83[_0x508bd9]);}});}return _0x20f3f4;}function parseQueryParameters(_0x97bbb2,_0x550a5a){var _0x378098=getSqlClauses();return Promise['resolve']()['then'](function(){return parseModelFields(_0x97bbb2,_0x550a5a);})['then'](function(_0x1e0c39){_0x378098[_0x60b7('0x4b')][_0x60b7('0x3f')](_0x1e0c39);return parseTagParameter(_0x97bbb2[_0x60b7('0x4c')]);})[_0x60b7('0x4d')](function(_0x786adb){_0x378098[_0x60b7('0x3c')][_0x60b7('0x4e')][_0x60b7('0x3f')](_0x786adb);return parseSearchFilter(_0x97bbb2['filter']);})[_0x60b7('0x4d')](function(_0x2b85c3){_0x378098['filter']=_0x2b85c3;return _0x378098;});}function checkListsRestrictions(_0x3a2486,_0x477428,_0x949755){var _0x3f80cf=squel[_0x60b7('0x20')]();return Promise[_0x60b7('0x4f')]()[_0x60b7('0x4d')](function(){if(_0x477428[_0x60b7('0x5')]&&_0x3a2486[_0x60b7('0x4')]==='agent'&&!_0x949755){return _0x3a2486[_0x60b7('0x50')]({'attributes':['id'],'raw':!![]});}})[_0x60b7('0x4d')](function(_0x1652e8){if(_0x1652e8){if(_0x1652e8[_0x60b7('0x25')]===0x0){_0x3f80cf[_0x60b7('0x3f')](_0x60b7('0x51'));}else{_0x3f80cf[_0x60b7('0x3f')]('c.ListId\x20IN\x20?',_[_0x60b7('0x3b')](_0x1652e8,'id'));}}})[_0x60b7('0x4d')](function(){return _0x3f80cf;});}function buildContactsQuery(_0x32bf2b,_0x50e3e0,_0x6e0108,_0xc97311,_0x43a716,_0x1a86c8){if(_0x50e3e0){_0x50e3e0=_0x6e0108[_0x60b7('0x52')];}_0x32bf2b=addFieldsToQuery(_0x32bf2b,_0x50e3e0,_0xc97311,_0x1a86c8,!![]);var _0x2b5d52=squel[_0x60b7('0x9')]();_0x2b5d52=addFieldsToQuery(_0x2b5d52,_0x50e3e0,_0xc97311,_0x1a86c8,![]);if(_0xc97311||_0x1a86c8){_0x32bf2b=applyJoinClauses(_0x32bf2b,!![]);_0x32bf2b['group'](_0x60b7('0x53'));if(_0x6e0108[_0x60b7('0x54')]){_0x2b5d52[_0x60b7('0x54')](_0x6e0108[_0x60b7('0x54')]);}if(_0x6e0108[_0x60b7('0x55')]){_0x2b5d52[_0x60b7('0x55')](_0x6e0108[_0x60b7('0x55')]);}}else{_0x2b5d52=applyJoinClauses(_0x2b5d52,![]);_0x2b5d52[_0x60b7('0x56')]('subqry.id');if(_0x6e0108[_0x60b7('0x54')]){_0x32bf2b[_0x60b7('0x54')](_0x6e0108[_0x60b7('0x54')]);}if(_0x6e0108[_0x60b7('0x55')]){_0x32bf2b[_0x60b7('0x55')](_0x6e0108[_0x60b7('0x55')]);}}_0x2b5d52[_0x60b7('0x57')](_0x43a716);if(_0x6e0108[_0x60b7('0x58')]){_0x6e0108[_0x60b7('0x58')][_0x60b7('0x22')](function(_0x4e4d56){_0x32bf2b[_0x60b7('0x58')]('c.'+_0x4e4d56[0x0],_0x4e4d56[0x1]===_0x60b7('0x59')?![]:!![]);_0x2b5d52[_0x60b7('0x58')]('subqry.'+_0x4e4d56[0x0],_0x4e4d56[0x1]===_0x60b7('0x59')?![]:!![]);});}_0x2b5d52[_0x60b7('0xa')](_0x32bf2b,_0x60b7('0xe'));return _0x2b5d52;}function getFilteredContacts(_0xee1399){var _0x5efbdc=[];return db[_0x60b7('0x3a')][_0x60b7('0x5a')]({'attributes':['id',_0x60b7('0x42'),_0x60b7('0x5b')],'raw':!![]})[_0x60b7('0x4d')](function(_0x3d9aa0){_0x5efbdc=_[_0x60b7('0x5c')](_0x3d9aa0,'id');var _0x14b16e={'type':db[_0x60b7('0x5d')][_0x60b7('0x5e')]['SELECT'],'model':db[_0x60b7('0x5f')],'mapToModel':!![],'nest':!![],'raw':!![]};return db[_0x60b7('0x60')][_0x60b7('0x61')](_0xee1399[_0x60b7('0x62')](),_0x14b16e);})[_0x60b7('0x4d')](function(_0x2b3c3a){_0x2b3c3a['forEach'](function(_0x5d3802){if(_0x5d3802[_0x60b7('0x1d')]){_0x5d3802[_0x60b7('0x63')]=[];_0x5d3802[_0x60b7('0x1d')][_0x60b7('0x64')](',')['forEach'](function(_0x4200e7){_0x5d3802[_0x60b7('0x63')][_0x60b7('0x45')](_0x5efbdc[_0x4200e7]);});}delete _0x5d3802[_0x60b7('0x1d')];});return _0x2b3c3a;});}function countFilteredContacts(_0x313bda,_0x2221d9){var _0x57228f=_0x313bda[_0x60b7('0x65')]();_0x57228f['field']('COUNT(*)');_0x57228f=applyJoinClauses(_0x57228f,!![]);_0x313bda['group'](_0x60b7('0x53'));var _0x508259=utils[_0x60b7('0x21')](_0x2221d9);if(!_[_0x60b7('0x66')](_0x508259)){_0x57228f[_0x60b7('0xc')](_0x60b7('0x67'),_0x508259);}var _0xf213ab={'type':db[_0x60b7('0x5d')][_0x60b7('0x5e')][_0x60b7('0x68')],'raw':!![]};return db[_0x60b7('0x60')][_0x60b7('0x61')](_0x57228f[_0x60b7('0x62')](),_0xf213ab)[_0x60b7('0x4d')](function(_0x1d3660){return _0x1d3660[0x0]['COUNT(*)'];});}module[_0x60b7('0x69')]={'buildContactsQuery':buildContactsQuery,'checkListsRestrictions':checkListsRestrictions,'countFilteredContacts':countFilteredContacts,'getContactsSubquery':getContactsSubquery,'getFilteredContacts':getFilteredContacts,'parseAdvancedSearchFilter':parseAdvancedSearchFilter,'parseQueryParameters':parseQueryParameters,'skipContactsQuery':skipContactsQuery};
\ No newline at end of file