54911e284d0acfc1721bd06cef698e7625625f37
[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 _0xc7e3=['parseQueryParameters','where','default','fields','filter','user','tags','ids','countFilteredContacts','count','buildContactsQuery','clause','getFilteredContacts','catch','describe','CmContact','keys','startsWith','CmCustomField','findOne','slice','length','cf_','type','map','./sql-utils','../../mysqldb','skipContactsQuery','resolve','then','search'];(function(_0x281457,_0x5d9e3c){var _0x2dea1e=function(_0x42aca8){while(--_0x42aca8){_0x281457['push'](_0x281457['shift']());}};_0x2dea1e(++_0x5d9e3c);}(_0xc7e3,0x14f));var _0x3c7e=function(_0x512c83,_0x42a67a){_0x512c83=_0x512c83-0x0;var _0x1f7f25=_0xc7e3[_0x512c83];return _0x1f7f25;};'use strict';var _=require('lodash');var sqlUtils=require(_0x3c7e('0x0'));var db=require(_0x3c7e('0x1'))['db'];exports['findAll']=function(_0x50f16c,_0x102062,_0x1d7032,_0x3f077b){var _0x31b97c={'count':0x0,'rows':[]};var _0x1e77b2=sqlUtils[_0x3c7e('0x2')](_0x102062,_0x50f16c);if(_0x1e77b2){return Promise[_0x3c7e('0x3')](_0x31b97c);}var _0x4636bb=sqlUtils['getContactsSubquery']();var _0x3cefa3={};var _0x58ab7b=![];var _0x3cdf8d=![];return Promise['resolve']()[_0x3c7e('0x4')](function(){if(_0x50f16c[_0x3c7e('0x5')]){return sqlUtils['parseAdvancedSearchFilter'](_0x50f16c[_0x3c7e('0x5')],_0x3f077b);}else{return sqlUtils[_0x3c7e('0x6')](_0x50f16c,_0x3f077b);}})[_0x3c7e('0x4')](function(_0x3ba051){_0x4636bb[_0x3c7e('0x7')](_0x3ba051[_0x3c7e('0x8')]);_0x4636bb[_0x3c7e('0x7')](_0x3ba051[_0x3c7e('0x9')]);_0x4636bb[_0x3c7e('0x7')](_0x3ba051[_0x3c7e('0xa')]);_0x4636bb['where'](_0x3ba051[_0x3c7e('0xb')]['clause']);_0x3cefa3=_0x3ba051[_0x3c7e('0xc')];_0x3cdf8d=_0x3ba051['user']['skip'];return sqlUtils['checkListsRestrictions'](_0x102062,_0x50f16c,_0x3cdf8d);})['then'](function(_0x577d76){_0x4636bb[_0x3c7e('0x7')](_0x577d76);var _0xe1087=_0x50f16c['search']?_0x3cefa3[_0x3c7e('0xd')]:_0x50f16c['tag'];_0x58ab7b=_0xe1087?!![]:![];return sqlUtils[_0x3c7e('0xe')](_0x4636bb,_0xe1087);})['then'](function(_0x3b69bb){_0x31b97c['count']=_0x3b69bb;if(_0x31b97c[_0x3c7e('0xf')]===0x0){return;}if(_0x50f16c['User']){_0x3cdf8d=!![];}return sqlUtils[_0x3c7e('0x10')](_0x4636bb,_0x50f16c[_0x3c7e('0x9')],_0x1d7032,_0x58ab7b,_0x3cefa3[_0x3c7e('0x11')],_0x3cdf8d);})['then'](function(_0x2c3fa2){if(!_0x2c3fa2){return[];}return sqlUtils[_0x3c7e('0x12')](_0x2c3fa2,_0x50f16c,_0x1d7032);})[_0x3c7e('0x4')](function(_0x46c508){_0x31b97c['rows']=_0x46c508;return _0x31b97c;})[_0x3c7e('0x13')](function(_0x5563c2){throw _0x5563c2;});};exports[_0x3c7e('0x14')]=function(){var _0x3dc767={};var _0x16d6b3=[];return db[_0x3c7e('0x15')][_0x3c7e('0x14')]()[_0x3c7e('0x4')](function(_0x3117b7){_0x3dc767=_0x3117b7;var _0xb16615=Object[_0x3c7e('0x16')](_0x3dc767)['filter'](function(_0x28012a){return _[_0x3c7e('0x17')](_0x28012a,'cf_')?_0x28012a:undefined;});var _0x2f9f41=_0xb16615['map'](function(_0x29fd1c){return db[_0x3c7e('0x18')][_0x3c7e('0x19')]({'where':{'id':_0x29fd1c[_0x3c7e('0x1a')](0x3)},'raw':!![]});});return Promise['all'](_0x2f9f41);})[_0x3c7e('0x4')](function(_0x5980ba){for(var _0x36733a=0x0;_0x36733a<_0x5980ba[_0x3c7e('0x1b')];_0x36733a++){if(_0x5980ba[_0x36733a]){var _0x3943c5=_0x3c7e('0x1c')+_0x5980ba[_0x36733a]['id'];_0x3dc767[_0x3943c5]['fieldType']=_0x5980ba[_0x36733a][_0x3c7e('0x1d')];}}_0x16d6b3=_[_0x3c7e('0x1e')](Object['keys'](_0x3dc767),function(_0x27ca31){return{'name':_0x27ca31,'type':_0x3dc767[_0x27ca31]['type']};});return _0x16d6b3;})[_0x3c7e('0x13')](function(_0x1bf6e9){throw _0x1bf6e9;});};