ad12b5c5810d36bcb39f061c1ade8785731cda4d
[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 _0x939e=['parseQueryParameters','where','default','fields','user','skip','tag','countFilteredContacts','count','User','buildContactsQuery','clause','rows','catch','describe','CmContact','keys','filter','cf_','map','CmCustomField','all','length','type','lodash','../../mysqldb','findAll','resolve','getContactsSubquery','then','search','parseAdvancedSearchFilter'];(function(_0x19583e,_0x17ba74){var _0x496ebb=function(_0x3739d2){while(--_0x3739d2){_0x19583e['push'](_0x19583e['shift']());}};_0x496ebb(++_0x17ba74);}(_0x939e,0x158));var _0xe939=function(_0x4014e5,_0x125e6a){_0x4014e5=_0x4014e5-0x0;var _0x4ee8b7=_0x939e[_0x4014e5];return _0x4ee8b7;};'use strict';var _=require(_0xe939('0x0'));var sqlUtils=require('./sql-utils');var db=require(_0xe939('0x1'))['db'];exports[_0xe939('0x2')]=function(_0x519576,_0x1b79dc,_0xd1eaec,_0x37f990){var _0x309db0={'count':0x0,'rows':[]};var _0xcb9ccb=sqlUtils['skipContactsQuery'](_0x1b79dc,_0x519576);if(_0xcb9ccb){return Promise[_0xe939('0x3')](_0x309db0);}var _0x2a255a=sqlUtils[_0xe939('0x4')]();var _0x672164={};var _0x248d69=![];var _0x128abf=![];return Promise['resolve']()[_0xe939('0x5')](function(){if(_0x519576[_0xe939('0x6')]){return sqlUtils[_0xe939('0x7')](_0x519576[_0xe939('0x6')],_0x37f990);}else{return sqlUtils[_0xe939('0x8')](_0x519576,_0x37f990);}})[_0xe939('0x5')](function(_0x2dfa06){_0x2a255a[_0xe939('0x9')](_0x2dfa06[_0xe939('0xa')]);_0x2a255a[_0xe939('0x9')](_0x2dfa06[_0xe939('0xb')]);_0x2a255a['where'](_0x2dfa06['filter']);_0x2a255a['where'](_0x2dfa06[_0xe939('0xc')]['clause']);_0x672164=_0x2dfa06['tags'];_0x128abf=_0x2dfa06[_0xe939('0xc')][_0xe939('0xd')];return sqlUtils['checkListsRestrictions'](_0x1b79dc,_0x519576,_0x128abf);})[_0xe939('0x5')](function(_0x1d4ffa){_0x2a255a[_0xe939('0x9')](_0x1d4ffa);var _0x753ed6=_0x519576['search']?_0x672164['ids']:_0x519576[_0xe939('0xe')];_0x248d69=_0x753ed6?!![]:![];return sqlUtils[_0xe939('0xf')](_0x2a255a,_0x753ed6);})[_0xe939('0x5')](function(_0x55a6b8){_0x309db0[_0xe939('0x10')]=_0x55a6b8;if(_0x309db0[_0xe939('0x10')]===0x0){return;}if(_0x519576[_0xe939('0x11')]){_0x128abf=!![];}return sqlUtils[_0xe939('0x12')](_0x2a255a,_0x519576['fields'],_0xd1eaec,_0x248d69,_0x672164[_0xe939('0x13')],_0x128abf);})[_0xe939('0x5')](function(_0x27e5ea){if(!_0x27e5ea){return[];}return sqlUtils['getFilteredContacts'](_0x27e5ea,_0x519576,_0xd1eaec);})[_0xe939('0x5')](function(_0x537ca8){_0x309db0[_0xe939('0x14')]=_0x537ca8;return _0x309db0;})[_0xe939('0x15')](function(_0x4933e9){throw _0x4933e9;});};exports[_0xe939('0x16')]=function(){var _0x3f06ab={};var _0xbf6d30=[];return db[_0xe939('0x17')][_0xe939('0x16')]()[_0xe939('0x5')](function(_0xdc29c3){_0x3f06ab=_0xdc29c3;var _0x388aca=Object[_0xe939('0x18')](_0x3f06ab)[_0xe939('0x19')](function(_0x168310){return _['startsWith'](_0x168310,_0xe939('0x1a'))?_0x168310:undefined;});var _0x21b78f=_0x388aca[_0xe939('0x1b')](function(_0x209ca1){return db[_0xe939('0x1c')]['findOne']({'where':{'id':_0x209ca1['slice'](0x3)},'raw':!![]});});return Promise[_0xe939('0x1d')](_0x21b78f);})[_0xe939('0x5')](function(_0x5375b5){for(var _0x25a6dd=0x0;_0x25a6dd<_0x5375b5[_0xe939('0x1e')];_0x25a6dd++){if(_0x5375b5[_0x25a6dd]){var _0x4d6c97=_0xe939('0x1a')+_0x5375b5[_0x25a6dd]['id'];_0x3f06ab[_0x4d6c97]['fieldType']=_0x5375b5[_0x25a6dd][_0xe939('0x1f')];}}_0xbf6d30=_['map'](Object[_0xe939('0x18')](_0x3f06ab),function(_0x32b23f){return{'name':_0x32b23f,'type':_0x3f06ab[_0x32b23f][_0xe939('0x1f')]};});return _0xbf6d30;})[_0xe939('0x15')](function(_0xa3838c){throw _0xa3838c;});};