6ae13be79ec5db693ede660186b815a413a04424
[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 _0xe587=['skipContactsQuery','resolve','getContactsSubquery','search','parseAdvancedSearchFilter','parseQueryParameters','then','default','where','fields','user','clause','tags','ids','tag','countFilteredContacts','count','buildContactsQuery','getFilteredContacts','rows','catch','CmContact','describe','keys','filter','startsWith','cf_','CmCustomField','findOne','slice','fieldType','type','map','lodash','../../mysqldb','findAll'];(function(_0x55fc25,_0x5f93bc){var _0x5cc353=function(_0x2794cb){while(--_0x2794cb){_0x55fc25['push'](_0x55fc25['shift']());}};_0x5cc353(++_0x5f93bc);}(_0xe587,0x189));var _0x7e58=function(_0x51b23a,_0x5cca81){_0x51b23a=_0x51b23a-0x0;var _0xac0204=_0xe587[_0x51b23a];return _0xac0204;};'use strict';var _=require(_0x7e58('0x0'));var sqlUtils=require('./sql-utils');var db=require(_0x7e58('0x1'))['db'];exports[_0x7e58('0x2')]=function(_0x46ccc6,_0x38f2a2,_0x308200,_0x33a1ec){var _0x3fa042={'count':0x0,'rows':[]};var _0x2bca86=sqlUtils[_0x7e58('0x3')](_0x38f2a2,_0x46ccc6);if(_0x2bca86){return Promise[_0x7e58('0x4')](_0x3fa042);}var _0xd374f3=sqlUtils[_0x7e58('0x5')]();var _0x53a709={};var _0x12ab58=![];var _0x5316f7=![];return Promise[_0x7e58('0x4')]()['then'](function(){if(_0x46ccc6[_0x7e58('0x6')]){return sqlUtils[_0x7e58('0x7')](_0x46ccc6['search'],_0x33a1ec);}else{return sqlUtils[_0x7e58('0x8')](_0x46ccc6,_0x33a1ec);}})[_0x7e58('0x9')](function(_0x5bbc0a){_0xd374f3['where'](_0x5bbc0a[_0x7e58('0xa')]);_0xd374f3[_0x7e58('0xb')](_0x5bbc0a[_0x7e58('0xc')]);_0xd374f3[_0x7e58('0xb')](_0x5bbc0a['filter']);_0xd374f3['where'](_0x5bbc0a[_0x7e58('0xd')][_0x7e58('0xe')]);_0x53a709=_0x5bbc0a[_0x7e58('0xf')];_0x5316f7=_0x5bbc0a[_0x7e58('0xd')]['skip'];return sqlUtils['checkListsRestrictions'](_0x38f2a2,_0x46ccc6,_0x5316f7);})[_0x7e58('0x9')](function(_0x3705b5){_0xd374f3['where'](_0x3705b5);var _0x3e5778=_0x46ccc6['search']?_0x53a709[_0x7e58('0x10')]:_0x46ccc6[_0x7e58('0x11')];_0x12ab58=_0x3e5778?!![]:![];return sqlUtils[_0x7e58('0x12')](_0xd374f3,_0x3e5778);})[_0x7e58('0x9')](function(_0x4d2397){_0x3fa042[_0x7e58('0x13')]=_0x4d2397;if(_0x3fa042[_0x7e58('0x13')]===0x0){return;}if(_0x46ccc6['User']){_0x5316f7=!![];}return sqlUtils[_0x7e58('0x14')](_0xd374f3,_0x46ccc6[_0x7e58('0xc')],_0x308200,_0x12ab58,_0x53a709[_0x7e58('0xe')],_0x5316f7);})[_0x7e58('0x9')](function(_0x419db2){if(!_0x419db2){return[];}return sqlUtils[_0x7e58('0x15')](_0x419db2,_0x46ccc6,_0x308200);})[_0x7e58('0x9')](function(_0x36689b){_0x3fa042[_0x7e58('0x16')]=_0x36689b;return _0x3fa042;})[_0x7e58('0x17')](function(_0xa400cc){throw _0xa400cc;});};exports['describe']=function(){var _0x459140={};var _0x352af1=[];return db[_0x7e58('0x18')][_0x7e58('0x19')]()[_0x7e58('0x9')](function(_0x5cc9e5){_0x459140=_0x5cc9e5;var _0x30f8b9=Object[_0x7e58('0x1a')](_0x459140)[_0x7e58('0x1b')](function(_0x5241fe){return _[_0x7e58('0x1c')](_0x5241fe,_0x7e58('0x1d'))?_0x5241fe:undefined;});var _0x1d1124=_0x30f8b9['map'](function(_0x5ea8b9){return db[_0x7e58('0x1e')][_0x7e58('0x1f')]({'where':{'id':_0x5ea8b9[_0x7e58('0x20')](0x3)},'raw':!![]});});return Promise['all'](_0x1d1124);})['then'](function(_0x3316cc){for(var _0x1e462d=0x0;_0x1e462d<_0x3316cc['length'];_0x1e462d++){if(_0x3316cc[_0x1e462d]){var _0xdd35f=_0x7e58('0x1d')+_0x3316cc[_0x1e462d]['id'];_0x459140[_0xdd35f][_0x7e58('0x21')]=_0x3316cc[_0x1e462d][_0x7e58('0x22')];}}_0x352af1=_[_0x7e58('0x23')](Object[_0x7e58('0x1a')](_0x459140),function(_0x199015){return{'name':_0x199015,'type':_0x459140[_0x199015][_0x7e58('0x22')]};});return _0x352af1;})['catch'](function(_0xb8a9b8){throw _0xb8a9b8;});};