a6a2bbcb49687494692499aea31bdb0a4960be78
[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 _0x284f=['buildContactsQuery','getFilteredContacts','rows','catch','describe','keys','cf_','CmCustomField','findOne','slice','all','type','map','./sql-utils','findAll','getContactsSubquery','resolve','then','search','parseAdvancedSearchFilter','parseQueryParameters','where','default','fields','filter','user','clause','tags','skip','checkListsRestrictions','ids','countFilteredContacts','count','User'];(function(_0x4fa0ea,_0x2cd534){var _0x51d027=function(_0xe67342){while(--_0xe67342){_0x4fa0ea['push'](_0x4fa0ea['shift']());}};_0x51d027(++_0x2cd534);}(_0x284f,0x161));var _0xf284=function(_0x2642cb,_0x4b917f){_0x2642cb=_0x2642cb-0x0;var _0xe6e41=_0x284f[_0x2642cb];return _0xe6e41;};'use strict';var _=require('lodash');var sqlUtils=require(_0xf284('0x0'));var db=require('../../mysqldb')['db'];exports[_0xf284('0x1')]=function(_0x4d3720,_0x434c9a,_0x159448,_0x170901){var _0x54626e={'count':0x0,'rows':[]};var _0x2c0b1e=sqlUtils['skipContactsQuery'](_0x434c9a,_0x4d3720);if(_0x2c0b1e){return Promise['resolve'](_0x54626e);}var _0x4867d0=sqlUtils[_0xf284('0x2')]();var _0x4666ed={};var _0x58557d=![];var _0x45868b=![];return Promise[_0xf284('0x3')]()[_0xf284('0x4')](function(){if(_0x4d3720[_0xf284('0x5')]){return sqlUtils[_0xf284('0x6')](_0x4d3720[_0xf284('0x5')],_0x170901);}else{return sqlUtils[_0xf284('0x7')](_0x4d3720,_0x170901);}})[_0xf284('0x4')](function(_0x16c183){_0x4867d0[_0xf284('0x8')](_0x16c183[_0xf284('0x9')]);_0x4867d0[_0xf284('0x8')](_0x16c183[_0xf284('0xa')]);_0x4867d0[_0xf284('0x8')](_0x16c183[_0xf284('0xb')]);_0x4867d0[_0xf284('0x8')](_0x16c183[_0xf284('0xc')][_0xf284('0xd')]);_0x4666ed=_0x16c183[_0xf284('0xe')];_0x45868b=_0x16c183['user'][_0xf284('0xf')];return sqlUtils[_0xf284('0x10')](_0x434c9a,_0x4d3720,_0x45868b);})[_0xf284('0x4')](function(_0x3d9eab){_0x4867d0[_0xf284('0x8')](_0x3d9eab);var _0x1183fe=_0x4d3720[_0xf284('0x5')]?_0x4666ed[_0xf284('0x11')]:_0x4d3720['tag'];_0x58557d=_0x1183fe?!![]:![];return sqlUtils[_0xf284('0x12')](_0x4867d0,_0x1183fe);})[_0xf284('0x4')](function(_0x52b759){_0x54626e[_0xf284('0x13')]=_0x52b759;if(_0x54626e[_0xf284('0x13')]===0x0){return;}if(_0x4d3720[_0xf284('0x14')]){_0x45868b=!![];}return sqlUtils[_0xf284('0x15')](_0x4867d0,_0x4d3720[_0xf284('0xa')],_0x159448,_0x58557d,_0x4666ed[_0xf284('0xd')],_0x45868b);})[_0xf284('0x4')](function(_0x5a5341){if(!_0x5a5341){return[];}return sqlUtils[_0xf284('0x16')](_0x5a5341,_0x4d3720,_0x159448);})['then'](function(_0x2d1cec){_0x54626e[_0xf284('0x17')]=_0x2d1cec;return _0x54626e;})[_0xf284('0x18')](function(_0x359322){throw _0x359322;});};exports[_0xf284('0x19')]=function(){var _0x49a181={};var _0xb126=[];return db['CmContact']['describe']()['then'](function(_0x334caa){_0x49a181=_0x334caa;var _0x43914d=Object[_0xf284('0x1a')](_0x49a181)[_0xf284('0xb')](function(_0x41bef1){return _['startsWith'](_0x41bef1,_0xf284('0x1b'))?_0x41bef1:undefined;});var _0x34a731=_0x43914d['map'](function(_0x1270ce){return db[_0xf284('0x1c')][_0xf284('0x1d')]({'where':{'id':_0x1270ce[_0xf284('0x1e')](0x3)},'raw':!![]});});return Promise[_0xf284('0x1f')](_0x34a731);})[_0xf284('0x4')](function(_0x2b2e83){for(var _0xf73f2f=0x0;_0xf73f2f<_0x2b2e83['length'];_0xf73f2f++){if(_0x2b2e83[_0xf73f2f]){var _0x5cd64c=_0xf284('0x1b')+_0x2b2e83[_0xf73f2f]['id'];_0x49a181[_0x5cd64c]['fieldType']=_0x2b2e83[_0xf73f2f][_0xf284('0x20')];}}_0xb126=_[_0xf284('0x21')](Object[_0xf284('0x1a')](_0x49a181),function(_0x69344c){return{'name':_0x69344c,'type':_0x49a181[_0x69344c][_0xf284('0x20')]};});return _0xb126;})['catch'](function(_0x458db9){throw _0x458db9;});};