b77c484a965d46c37e9f78d07378c32dfb1175e5
[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 _0x008c=['CmCustomField','findOne','slice','length','fieldType','type','keys','catch','lodash','../../mysqldb','findAll','skipContactsQuery','resolve','then','parseAdvancedSearchFilter','search','parseQueryParameters','where','default','fields','filter','user','clause','tags','checkListsRestrictions','ids','tag','countFilteredContacts','count','User','buildContactsQuery','getFilteredContacts','rows','CmContact','startsWith','cf_','map'];(function(_0x5e4a4c,_0x1b8d7e){var _0x1afefb=function(_0x2f4eb0){while(--_0x2f4eb0){_0x5e4a4c['push'](_0x5e4a4c['shift']());}};_0x1afefb(++_0x1b8d7e);}(_0x008c,0x9c));var _0xc008=function(_0x4e25eb,_0x350892){_0x4e25eb=_0x4e25eb-0x0;var _0x4d34ca=_0x008c[_0x4e25eb];return _0x4d34ca;};'use strict';var _=require(_0xc008('0x0'));var sqlUtils=require('./sql-utils');var db=require(_0xc008('0x1'))['db'];exports[_0xc008('0x2')]=function(_0x2c42fc,_0x38b3d8,_0x25d20b,_0xedc491){var _0x5aa539={'count':0x0,'rows':[]};var _0x2b57ba=sqlUtils[_0xc008('0x3')](_0x38b3d8,_0x2c42fc);if(_0x2b57ba){return Promise[_0xc008('0x4')](_0x5aa539);}var _0x4166ee=sqlUtils['getContactsSubquery']();var _0x40c4a8={};var _0x4961ad=![];var _0x13c756=![];return Promise['resolve']()[_0xc008('0x5')](function(){if(_0x2c42fc['search']){return sqlUtils[_0xc008('0x6')](_0x2c42fc[_0xc008('0x7')],_0xedc491);}else{return sqlUtils[_0xc008('0x8')](_0x2c42fc,_0xedc491);}})['then'](function(_0x439861){_0x4166ee[_0xc008('0x9')](_0x439861[_0xc008('0xa')]);_0x4166ee[_0xc008('0x9')](_0x439861[_0xc008('0xb')]);_0x4166ee[_0xc008('0x9')](_0x439861[_0xc008('0xc')]);_0x4166ee['where'](_0x439861[_0xc008('0xd')][_0xc008('0xe')]);_0x40c4a8=_0x439861[_0xc008('0xf')];_0x13c756=_0x439861['user']['skip'];return sqlUtils[_0xc008('0x10')](_0x38b3d8,_0x2c42fc,_0x13c756);})[_0xc008('0x5')](function(_0x1cd308){_0x4166ee['where'](_0x1cd308);var _0x57d036=_0x2c42fc[_0xc008('0x7')]?_0x40c4a8[_0xc008('0x11')]:_0x2c42fc[_0xc008('0x12')];_0x4961ad=_0x57d036?!![]:![];return sqlUtils[_0xc008('0x13')](_0x4166ee,_0x57d036);})['then'](function(_0x15f952){_0x5aa539['count']=_0x15f952;if(_0x5aa539[_0xc008('0x14')]===0x0){return;}if(_0x2c42fc[_0xc008('0x15')]){_0x13c756=!![];}return sqlUtils[_0xc008('0x16')](_0x4166ee,_0x2c42fc[_0xc008('0xb')],_0x25d20b,_0x4961ad,_0x40c4a8['clause'],_0x13c756);})[_0xc008('0x5')](function(_0x10f01e){if(!_0x10f01e){return[];}return sqlUtils[_0xc008('0x17')](_0x10f01e,_0x2c42fc,_0x25d20b);})[_0xc008('0x5')](function(_0x22a0cf){_0x5aa539[_0xc008('0x18')]=_0x22a0cf;return _0x5aa539;})['catch'](function(_0x422363){throw _0x422363;});};exports['describe']=function(){var _0x44943a={};var _0x2d8391=[];return db[_0xc008('0x19')]['describe']()[_0xc008('0x5')](function(_0x4027ea){_0x44943a=_0x4027ea;var _0x8f166a=Object['keys'](_0x44943a)[_0xc008('0xc')](function(_0x2fa7b4){return _[_0xc008('0x1a')](_0x2fa7b4,_0xc008('0x1b'))?_0x2fa7b4:undefined;});var _0x581229=_0x8f166a[_0xc008('0x1c')](function(_0x3824ba){return db[_0xc008('0x1d')][_0xc008('0x1e')]({'where':{'id':_0x3824ba[_0xc008('0x1f')](0x3)},'raw':!![]});});return Promise['all'](_0x581229);})[_0xc008('0x5')](function(_0x4f9959){for(var _0x1058c9=0x0;_0x1058c9<_0x4f9959[_0xc008('0x20')];_0x1058c9++){if(_0x4f9959[_0x1058c9]){var _0xa2ea1e='cf_'+_0x4f9959[_0x1058c9]['id'];_0x44943a[_0xa2ea1e][_0xc008('0x21')]=_0x4f9959[_0x1058c9][_0xc008('0x22')];}}_0x2d8391=_[_0xc008('0x1c')](Object[_0xc008('0x23')](_0x44943a),function(_0x146e2d){return{'name':_0x146e2d,'type':_0x44943a[_0x146e2d]['type']};});return _0x2d8391;})[_0xc008('0x24')](function(_0x4b32ab){throw _0x4b32ab;});};