be6b615e2fbf74f5e4763faad75d07263e1010e5
[motion2.git] / server / components / contacts / index.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
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.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x48f3=['catch','describe','CmContact','startsWith','cf_','CmCustomField','findOne','slice','all','type','lodash','./sql-utils','../../mysqldb','findAll','skipContactsQuery','resolve','getContactsSubquery','parseQueryParameters','then','where','default','fields','filter','user','skip','checkListsRestrictions','search','tag','countFilteredContacts','count','User','buildContactsQuery','getFilteredContacts','rows'];(function(_0x50e593,_0x3ae998){var _0x3821d0=function(_0x53c295){while(--_0x53c295){_0x50e593['push'](_0x50e593['shift']());}};_0x3821d0(++_0x3ae998);}(_0x48f3,0x180));var _0x348f=function(_0x16ec4a,_0x259794){_0x16ec4a=_0x16ec4a-0x0;var _0x197e0b=_0x48f3[_0x16ec4a];return _0x197e0b;};'use strict';var _=require(_0x348f('0x0'));var sqlUtils=require(_0x348f('0x1'));var db=require(_0x348f('0x2'))['db'];exports[_0x348f('0x3')]=function(_0x2cffba,_0x4f55e1,_0x4cbd02,_0x51b29d){var _0x3b4ddc={'count':0x0,'rows':[]};var _0x42fb45=sqlUtils[_0x348f('0x4')](_0x4f55e1,_0x2cffba);if(_0x42fb45){return Promise[_0x348f('0x5')](_0x3b4ddc);}var _0x14fcd6=sqlUtils[_0x348f('0x6')]();var _0x5bd483={};var _0xa761e2=![];var _0x249621=![];return Promise['resolve']()['then'](function(){if(_0x2cffba['search']){return sqlUtils['parseAdvancedSearchFilter'](_0x2cffba['search'],_0x51b29d);}else{return sqlUtils[_0x348f('0x7')](_0x2cffba,_0x51b29d);}})[_0x348f('0x8')](function(_0x15526c){_0x14fcd6[_0x348f('0x9')](_0x15526c[_0x348f('0xa')]);_0x14fcd6[_0x348f('0x9')](_0x15526c[_0x348f('0xb')]);_0x14fcd6['where'](_0x15526c[_0x348f('0xc')]);_0x14fcd6['where'](_0x15526c[_0x348f('0xd')]['clause']);_0x5bd483=_0x15526c['tags'];_0x249621=_0x15526c[_0x348f('0xd')][_0x348f('0xe')];return sqlUtils[_0x348f('0xf')](_0x4f55e1,_0x2cffba,_0x249621);})['then'](function(_0x2947d9){_0x14fcd6[_0x348f('0x9')](_0x2947d9);var _0x16eb81=_0x2cffba[_0x348f('0x10')]?_0x5bd483['ids']:_0x2cffba[_0x348f('0x11')];_0xa761e2=_0x16eb81?!![]:![];return sqlUtils[_0x348f('0x12')](_0x14fcd6,_0x16eb81);})[_0x348f('0x8')](function(_0x135932){_0x3b4ddc[_0x348f('0x13')]=_0x135932;if(_0x3b4ddc[_0x348f('0x13')]===0x0){return;}if(_0x2cffba[_0x348f('0x14')]){_0x249621=!![];}return sqlUtils[_0x348f('0x15')](_0x14fcd6,_0x2cffba[_0x348f('0xb')],_0x4cbd02,_0xa761e2,_0x5bd483['clause'],_0x249621);})[_0x348f('0x8')](function(_0x317433){if(!_0x317433){return[];}return sqlUtils[_0x348f('0x16')](_0x317433,_0x2cffba,_0x4cbd02);})['then'](function(_0x1f800e){_0x3b4ddc[_0x348f('0x17')]=_0x1f800e;return _0x3b4ddc;})[_0x348f('0x18')](function(_0xa95b4a){throw _0xa95b4a;});};exports[_0x348f('0x19')]=function(){var _0x2213e4={};var _0x5419fb=[];return db[_0x348f('0x1a')]['describe']()[_0x348f('0x8')](function(_0x24d1d1){_0x2213e4=_0x24d1d1;var _0x37f450=Object['keys'](_0x2213e4)[_0x348f('0xc')](function(_0x38026c){return _[_0x348f('0x1b')](_0x38026c,_0x348f('0x1c'))?_0x38026c:undefined;});var _0xda154c=_0x37f450['map'](function(_0x4604dc){return db[_0x348f('0x1d')][_0x348f('0x1e')]({'where':{'id':_0x4604dc[_0x348f('0x1f')](0x3)},'raw':!![]});});return Promise[_0x348f('0x20')](_0xda154c);})[_0x348f('0x8')](function(_0x49e423){for(var _0x55a1da=0x0;_0x55a1da<_0x49e423['length'];_0x55a1da++){if(_0x49e423[_0x55a1da]){var _0x21a429='cf_'+_0x49e423[_0x55a1da]['id'];_0x2213e4[_0x21a429]['fieldType']=_0x49e423[_0x55a1da][_0x348f('0x21')];}}_0x5419fb=_['map'](Object['keys'](_0x2213e4),function(_0x599d19){return{'name':_0x599d19,'type':_0x2213e4[_0x599d19][_0x348f('0x21')]};});return _0x5419fb;})[_0x348f('0x18')](function(_0x2b9152){throw _0x2b9152;});};