1 // *************************************************************************
3 // * xCALLY Motion - The Omnichannel Contact Center *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved *
6 // *************************************************************************
8 // * Email: info@xcally.com *
9 // * Website: https://www.xcally.com *
11 // *************************************************************************
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. *
17 // *************************************************************************
18 var _0x841e=['rows','catch','describe','CmContact','keys','cf_','map','CmCustomField','findOne','slice','length','fieldType','type','lodash','./sql-utils','findAll','skipContactsQuery','resolve','then','search','parseAdvancedSearchFilter','parseQueryParameters','default','where','fields','user','skip','checkListsRestrictions','ids','tag','countFilteredContacts','count','buildContactsQuery','clause','getFilteredContacts'];(function(_0x5b9a96,_0x4b901d){var _0x4ef128=function(_0x1bb544){while(--_0x1bb544){_0x5b9a96['push'](_0x5b9a96['shift']());}};_0x4ef128(++_0x4b901d);}(_0x841e,0x125));var _0xe841=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0x841e[_0xa464c9];return _0x3d73c4;};'use strict';var _=require(_0xe841('0x0'));var sqlUtils=require(_0xe841('0x1'));var db=require('../../mysqldb')['db'];exports[_0xe841('0x2')]=function(_0x45d667,_0x9fac58,_0x5137a6,_0x2888b3){var _0x36ebc2={'count':0x0,'rows':[]};var _0x141f36=sqlUtils[_0xe841('0x3')](_0x9fac58,_0x45d667);if(_0x141f36){return Promise['resolve'](_0x36ebc2);}var _0x36777f=sqlUtils['getContactsSubquery']();var _0x51ca77={};var _0x4c76ea=![];var _0x300253=![];return Promise[_0xe841('0x4')]()[_0xe841('0x5')](function(){if(_0x45d667[_0xe841('0x6')]){return sqlUtils[_0xe841('0x7')](_0x45d667[_0xe841('0x6')],_0x2888b3);}else{return sqlUtils[_0xe841('0x8')](_0x45d667,_0x2888b3);}})[_0xe841('0x5')](function(_0x2e5621){_0x36777f['where'](_0x2e5621[_0xe841('0x9')]);_0x36777f[_0xe841('0xa')](_0x2e5621[_0xe841('0xb')]);_0x36777f[_0xe841('0xa')](_0x2e5621['filter']);_0x36777f[_0xe841('0xa')](_0x2e5621['user']['clause']);_0x51ca77=_0x2e5621['tags'];_0x300253=_0x2e5621[_0xe841('0xc')][_0xe841('0xd')];return sqlUtils[_0xe841('0xe')](_0x9fac58,_0x45d667,_0x300253);})[_0xe841('0x5')](function(_0x1fc15a){_0x36777f['where'](_0x1fc15a);var _0x2c9622=_0x45d667[_0xe841('0x6')]?_0x51ca77[_0xe841('0xf')]:_0x45d667[_0xe841('0x10')];_0x4c76ea=_0x2c9622?!![]:![];return sqlUtils[_0xe841('0x11')](_0x36777f,_0x2c9622);})['then'](function(_0x1405f1){_0x36ebc2[_0xe841('0x12')]=_0x1405f1;if(_0x36ebc2[_0xe841('0x12')]===0x0){return;}if(_0x45d667['User']){_0x300253=!![];}return sqlUtils[_0xe841('0x13')](_0x36777f,_0x45d667[_0xe841('0xb')],_0x5137a6,_0x4c76ea,_0x51ca77[_0xe841('0x14')],_0x300253);})[_0xe841('0x5')](function(_0x457ac2){if(!_0x457ac2){return[];}return sqlUtils[_0xe841('0x15')](_0x457ac2,_0x45d667,_0x5137a6);})[_0xe841('0x5')](function(_0x122fd6){_0x36ebc2[_0xe841('0x16')]=_0x122fd6;return _0x36ebc2;})[_0xe841('0x17')](function(_0x3bcc66){throw _0x3bcc66;});};exports[_0xe841('0x18')]=function(){var _0x5242a0={};var _0x4162bc=[];return db[_0xe841('0x19')][_0xe841('0x18')]()[_0xe841('0x5')](function(_0x308504){_0x5242a0=_0x308504;var _0x363d0f=Object[_0xe841('0x1a')](_0x5242a0)['filter'](function(_0x58fd7e){return _['startsWith'](_0x58fd7e,_0xe841('0x1b'))?_0x58fd7e:undefined;});var _0x18481b=_0x363d0f[_0xe841('0x1c')](function(_0xdbfcfc){return db[_0xe841('0x1d')][_0xe841('0x1e')]({'where':{'id':_0xdbfcfc[_0xe841('0x1f')](0x3)},'raw':!![]});});return Promise['all'](_0x18481b);})['then'](function(_0x537cdb){for(var _0x31ed7e=0x0;_0x31ed7e<_0x537cdb[_0xe841('0x20')];_0x31ed7e++){if(_0x537cdb[_0x31ed7e]){var _0x5dbfc7=_0xe841('0x1b')+_0x537cdb[_0x31ed7e]['id'];_0x5242a0[_0x5dbfc7][_0xe841('0x21')]=_0x537cdb[_0x31ed7e][_0xe841('0x22')];}}_0x4162bc=_['map'](Object[_0xe841('0x1a')](_0x5242a0),function(_0xe458ae){return{'name':_0xe458ae,'type':_0x5242a0[_0xe458ae][_0xe841('0x22')]};});return _0x4162bc;})[_0xe841('0x17')](function(_0x54feac){throw _0x54feac;});};