Built motion from commit e1760111.|2.6.18
[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 _0x3250=['clause','tags','user','skip','checkListsRestrictions','search','tag','countFilteredContacts','count','getFilteredContacts','rows','describe','CmContact','keys','map','CmCustomField','findOne','all','length','cf_','fieldType','type','lodash','../../mysqldb','findAll','resolve','getContactsSubquery','then','default','fields','where','filter'];(function(_0x4357c2,_0x529d24){var _0x34cfc7=function(_0x5dfc40){while(--_0x5dfc40){_0x4357c2['push'](_0x4357c2['shift']());}};_0x34cfc7(++_0x529d24);}(_0x3250,0x1d6));var _0x0325=function(_0x4b41e9,_0x547a83){_0x4b41e9=_0x4b41e9-0x0;var _0x36694e=_0x3250[_0x4b41e9];return _0x36694e;};'use strict';var _=require(_0x0325('0x0'));var sqlUtils=require('./sql-utils');var db=require(_0x0325('0x1'))['db'];exports[_0x0325('0x2')]=function(_0x36139a,_0x3ae788,_0x1dd205,_0x39e1de){var _0x4b5965={'count':0x0,'rows':[]};var _0xfbe516=sqlUtils['skipContactsQuery'](_0x3ae788,_0x36139a);if(_0xfbe516){return Promise[_0x0325('0x3')](_0x4b5965);}var _0x55edd8=sqlUtils[_0x0325('0x4')]();var _0x385c8c={};var _0x5abf24=![];var _0x2bf1ea=![];return Promise[_0x0325('0x3')]()[_0x0325('0x5')](function(){if(_0x36139a['search']){return sqlUtils['parseAdvancedSearchFilter'](_0x36139a['search'],_0x39e1de);}else{return sqlUtils['parseQueryParameters'](_0x36139a,_0x39e1de);}})['then'](function(_0x2859b0){_0x55edd8['where'](_0x2859b0[_0x0325('0x6')]);_0x55edd8['where'](_0x2859b0[_0x0325('0x7')]);_0x55edd8[_0x0325('0x8')](_0x2859b0[_0x0325('0x9')]);_0x55edd8['where'](_0x2859b0['user'][_0x0325('0xa')]);_0x385c8c=_0x2859b0[_0x0325('0xb')];_0x2bf1ea=_0x2859b0[_0x0325('0xc')][_0x0325('0xd')];return sqlUtils[_0x0325('0xe')](_0x3ae788,_0x36139a,_0x2bf1ea);})['then'](function(_0x2d6c88){_0x55edd8[_0x0325('0x8')](_0x2d6c88);var _0x4c5caa=_0x36139a[_0x0325('0xf')]?_0x385c8c['ids']:_0x36139a[_0x0325('0x10')];_0x5abf24=_0x4c5caa?!![]:![];return sqlUtils[_0x0325('0x11')](_0x55edd8,_0x4c5caa);})['then'](function(_0x56fb39){_0x4b5965[_0x0325('0x12')]=_0x56fb39;if(_0x4b5965[_0x0325('0x12')]===0x0){return;}if(_0x36139a['User']){_0x2bf1ea=!![];}return sqlUtils['buildContactsQuery'](_0x55edd8,_0x36139a[_0x0325('0x7')],_0x1dd205,_0x5abf24,_0x385c8c[_0x0325('0xa')],_0x2bf1ea);})['then'](function(_0xe22d5d){if(!_0xe22d5d){return[];}return sqlUtils[_0x0325('0x13')](_0xe22d5d,_0x36139a,_0x1dd205);})[_0x0325('0x5')](function(_0x58eeae){_0x4b5965[_0x0325('0x14')]=_0x58eeae;return _0x4b5965;})['catch'](function(_0x5885c8){throw _0x5885c8;});};exports[_0x0325('0x15')]=function(){var _0xb318={};var _0x33fd4c=[];return db[_0x0325('0x16')]['describe']()[_0x0325('0x5')](function(_0x1540e5){_0xb318=_0x1540e5;var _0x236081=Object[_0x0325('0x17')](_0xb318)[_0x0325('0x9')](function(_0x19a490){return _['startsWith'](_0x19a490,'cf_')?_0x19a490:undefined;});var _0xa9cad2=_0x236081[_0x0325('0x18')](function(_0x9021ee){return db[_0x0325('0x19')][_0x0325('0x1a')]({'where':{'id':_0x9021ee['slice'](0x3)},'raw':!![]});});return Promise[_0x0325('0x1b')](_0xa9cad2);})['then'](function(_0x25b3f2){for(var _0x29e6a0=0x0;_0x29e6a0<_0x25b3f2[_0x0325('0x1c')];_0x29e6a0++){if(_0x25b3f2[_0x29e6a0]){var _0x58f448=_0x0325('0x1d')+_0x25b3f2[_0x29e6a0]['id'];_0xb318[_0x58f448][_0x0325('0x1e')]=_0x25b3f2[_0x29e6a0]['type'];}}_0x33fd4c=_[_0x0325('0x18')](Object[_0x0325('0x17')](_0xb318),function(_0x3cec75){return{'name':_0x3cec75,'type':_0xb318[_0x3cec75][_0x0325('0x1f')]};});return _0x33fd4c;})['catch'](function(_0x424499){throw _0x424499;});};