77d78aaee0b6263c500e2eb84cd0f6e1daaf3cc2
[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 _0x9e0b=['catch','lodash','./sql-utils','findAll','getContactsSubquery','resolve','then','search','parseQueryParameters','where','default','fields','filter','user','tags','skip','checkListsRestrictions','ids','tag','countFilteredContacts','count','buildContactsQuery','rows','describe','startsWith','CmCustomField','findOne','slice','cf_','fieldType','type','keys'];(function(_0x5d3733,_0x48cade){var _0x237bae=function(_0x3c9793){while(--_0x3c9793){_0x5d3733['push'](_0x5d3733['shift']());}};_0x237bae(++_0x48cade);}(_0x9e0b,0x1c1));var _0xb9e0=function(_0x4565bf,_0x5ad9d6){_0x4565bf=_0x4565bf-0x0;var _0x5610ba=_0x9e0b[_0x4565bf];return _0x5610ba;};'use strict';var _=require(_0xb9e0('0x0'));var sqlUtils=require(_0xb9e0('0x1'));var db=require('../../mysqldb')['db'];exports[_0xb9e0('0x2')]=function(_0x5e6e36,_0xd7dc80,_0x343777,_0x22138e){var _0x3aa10a={'count':0x0,'rows':[]};var _0x307e85=sqlUtils['skipContactsQuery'](_0xd7dc80,_0x5e6e36);if(_0x307e85){return Promise['resolve'](_0x3aa10a);}var _0x2c8a3b=sqlUtils[_0xb9e0('0x3')]();var _0x2b9eca={};var _0x327fec=![];var _0x4c866d=![];return Promise[_0xb9e0('0x4')]()[_0xb9e0('0x5')](function(){if(_0x5e6e36[_0xb9e0('0x6')]){return sqlUtils['parseAdvancedSearchFilter'](_0x5e6e36['search'],_0x22138e);}else{return sqlUtils[_0xb9e0('0x7')](_0x5e6e36,_0x22138e);}})[_0xb9e0('0x5')](function(_0x5f2989){_0x2c8a3b[_0xb9e0('0x8')](_0x5f2989[_0xb9e0('0x9')]);_0x2c8a3b[_0xb9e0('0x8')](_0x5f2989[_0xb9e0('0xa')]);_0x2c8a3b['where'](_0x5f2989[_0xb9e0('0xb')]);_0x2c8a3b[_0xb9e0('0x8')](_0x5f2989[_0xb9e0('0xc')]['clause']);_0x2b9eca=_0x5f2989[_0xb9e0('0xd')];_0x4c866d=_0x5f2989[_0xb9e0('0xc')][_0xb9e0('0xe')];return sqlUtils[_0xb9e0('0xf')](_0xd7dc80,_0x5e6e36,_0x4c866d);})[_0xb9e0('0x5')](function(_0x4aeb55){_0x2c8a3b['where'](_0x4aeb55);var _0x2f5fbd=_0x5e6e36[_0xb9e0('0x6')]?_0x2b9eca[_0xb9e0('0x10')]:_0x5e6e36[_0xb9e0('0x11')];_0x327fec=_0x2f5fbd?!![]:![];return sqlUtils[_0xb9e0('0x12')](_0x2c8a3b,_0x2f5fbd);})['then'](function(_0x1218cf){_0x3aa10a[_0xb9e0('0x13')]=_0x1218cf;if(_0x3aa10a[_0xb9e0('0x13')]===0x0){return;}if(_0x5e6e36['User']){_0x4c866d=!![];}return sqlUtils[_0xb9e0('0x14')](_0x2c8a3b,_0x5e6e36[_0xb9e0('0xa')],_0x343777,_0x327fec,_0x2b9eca['clause'],_0x4c866d);})[_0xb9e0('0x5')](function(_0xdffa){if(!_0xdffa){return[];}return sqlUtils['getFilteredContacts'](_0xdffa,_0x5e6e36,_0x343777);})[_0xb9e0('0x5')](function(_0x8a2718){_0x3aa10a[_0xb9e0('0x15')]=_0x8a2718;return _0x3aa10a;})['catch'](function(_0x3e1c53){throw _0x3e1c53;});};exports[_0xb9e0('0x16')]=function(){var _0x30a2b9={};var _0x32048f=[];return db['CmContact']['describe']()[_0xb9e0('0x5')](function(_0x3d83ca){_0x30a2b9=_0x3d83ca;var _0x5b251f=Object['keys'](_0x30a2b9)['filter'](function(_0x1d05b0){return _[_0xb9e0('0x17')](_0x1d05b0,'cf_')?_0x1d05b0:undefined;});var _0x2aa831=_0x5b251f['map'](function(_0x56195b){return db[_0xb9e0('0x18')][_0xb9e0('0x19')]({'where':{'id':_0x56195b[_0xb9e0('0x1a')](0x3)},'raw':!![]});});return Promise['all'](_0x2aa831);})[_0xb9e0('0x5')](function(_0x230404){for(var _0x4c6d7d=0x0;_0x4c6d7d<_0x230404['length'];_0x4c6d7d++){if(_0x230404[_0x4c6d7d]){var _0x54e4e1=_0xb9e0('0x1b')+_0x230404[_0x4c6d7d]['id'];_0x30a2b9[_0x54e4e1][_0xb9e0('0x1c')]=_0x230404[_0x4c6d7d][_0xb9e0('0x1d')];}}_0x32048f=_['map'](Object[_0xb9e0('0x1e')](_0x30a2b9),function(_0x4f8fca){return{'name':_0x4f8fca,'type':_0x30a2b9[_0x4f8fca][_0xb9e0('0x1d')]};});return _0x32048f;})[_0xb9e0('0x1f')](function(_0xef7aeb){throw _0xef7aeb;});};