4ba29ce1780a849634665690c06d75470599ec39
[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 _0x054a=['keys','startsWith','map','CmCustomField','findOne','slice','all','length','cf_','fieldType','type','lodash','../../mysqldb','findAll','skipContactsQuery','resolve','getContactsSubquery','then','search','parseQueryParameters','where','default','fields','filter','tags','skip','ids','count','User','clause','getFilteredContacts','rows','catch','describe','CmContact'];(function(_0x98197,_0xea7356){var _0x5d9199=function(_0x135375){while(--_0x135375){_0x98197['push'](_0x98197['shift']());}};_0x5d9199(++_0xea7356);}(_0x054a,0x18c));var _0xa054=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x054a[_0x20a584];return _0x4b41a8;};'use strict';var _=require(_0xa054('0x0'));var sqlUtils=require('./sql-utils');var db=require(_0xa054('0x1'))['db'];exports[_0xa054('0x2')]=function(_0x59728b,_0x5861e2,_0x3b30bf,_0x79fcaa){var _0xa782b7={'count':0x0,'rows':[]};var _0x48f607=sqlUtils[_0xa054('0x3')](_0x5861e2,_0x59728b);if(_0x48f607){return Promise[_0xa054('0x4')](_0xa782b7);}var _0x4c4d1f=sqlUtils[_0xa054('0x5')]();var _0x2d3f3b={};var _0x185df0=![];var _0x485409=![];return Promise[_0xa054('0x4')]()[_0xa054('0x6')](function(){if(_0x59728b[_0xa054('0x7')]){return sqlUtils['parseAdvancedSearchFilter'](_0x59728b[_0xa054('0x7')],_0x79fcaa);}else{return sqlUtils[_0xa054('0x8')](_0x59728b,_0x79fcaa);}})[_0xa054('0x6')](function(_0x38f618){_0x4c4d1f[_0xa054('0x9')](_0x38f618[_0xa054('0xa')]);_0x4c4d1f[_0xa054('0x9')](_0x38f618[_0xa054('0xb')]);_0x4c4d1f[_0xa054('0x9')](_0x38f618[_0xa054('0xc')]);_0x4c4d1f[_0xa054('0x9')](_0x38f618['user']['clause']);_0x2d3f3b=_0x38f618[_0xa054('0xd')];_0x485409=_0x38f618['user'][_0xa054('0xe')];return sqlUtils['checkListsRestrictions'](_0x5861e2,_0x59728b,_0x485409);})[_0xa054('0x6')](function(_0x275a21){_0x4c4d1f[_0xa054('0x9')](_0x275a21);var _0x5235de=_0x59728b[_0xa054('0x7')]?_0x2d3f3b[_0xa054('0xf')]:_0x59728b['tag'];_0x185df0=_0x5235de?!![]:![];return sqlUtils['countFilteredContacts'](_0x4c4d1f,_0x5235de);})[_0xa054('0x6')](function(_0x7c8ff8){_0xa782b7['count']=_0x7c8ff8;if(_0xa782b7[_0xa054('0x10')]===0x0){return;}if(_0x59728b[_0xa054('0x11')]){_0x485409=!![];}return sqlUtils['buildContactsQuery'](_0x4c4d1f,_0x59728b[_0xa054('0xb')],_0x3b30bf,_0x185df0,_0x2d3f3b[_0xa054('0x12')],_0x485409);})[_0xa054('0x6')](function(_0x2c7be4){if(!_0x2c7be4){return[];}return sqlUtils[_0xa054('0x13')](_0x2c7be4,_0x59728b,_0x3b30bf);})[_0xa054('0x6')](function(_0x9fd1ad){_0xa782b7[_0xa054('0x14')]=_0x9fd1ad;return _0xa782b7;})[_0xa054('0x15')](function(_0x48526d){throw _0x48526d;});};exports[_0xa054('0x16')]=function(){var _0x45d43d={};var _0x1d3d35=[];return db[_0xa054('0x17')][_0xa054('0x16')]()[_0xa054('0x6')](function(_0x58bf1e){_0x45d43d=_0x58bf1e;var _0x4fb9fe=Object[_0xa054('0x18')](_0x45d43d)[_0xa054('0xc')](function(_0x16b748){return _[_0xa054('0x19')](_0x16b748,'cf_')?_0x16b748:undefined;});var _0x179722=_0x4fb9fe[_0xa054('0x1a')](function(_0x595de5){return db[_0xa054('0x1b')][_0xa054('0x1c')]({'where':{'id':_0x595de5[_0xa054('0x1d')](0x3)},'raw':!![]});});return Promise[_0xa054('0x1e')](_0x179722);})[_0xa054('0x6')](function(_0x1d32be){for(var _0x4898af=0x0;_0x4898af<_0x1d32be[_0xa054('0x1f')];_0x4898af++){if(_0x1d32be[_0x4898af]){var _0xf4fef4=_0xa054('0x20')+_0x1d32be[_0x4898af]['id'];_0x45d43d[_0xf4fef4][_0xa054('0x21')]=_0x1d32be[_0x4898af][_0xa054('0x22')];}}_0x1d3d35=_[_0xa054('0x1a')](Object[_0xa054('0x18')](_0x45d43d),function(_0x322c9e){return{'name':_0x322c9e,'type':_0x45d43d[_0x322c9e][_0xa054('0x22')]};});return _0x1d3d35;})[_0xa054('0x15')](function(_0x353263){throw _0x353263;});};