7566040b1c1545c9331a52b0a79a41d71cfc9cbd
[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 _0x0fd5=['cf_','map','CmCustomField','slice','length','type','lodash','./sql-utils','../../mysqldb','findAll','skipContactsQuery','resolve','getContactsSubquery','search','parseAdvancedSearchFilter','parseQueryParameters','then','default','where','fields','filter','tags','user','checkListsRestrictions','ids','tag','countFilteredContacts','count','User','buildContactsQuery','clause','rows','catch','describe','keys','startsWith'];(function(_0x556bb1,_0x34830d){var _0x45455f=function(_0x13c6ba){while(--_0x13c6ba){_0x556bb1['push'](_0x556bb1['shift']());}};_0x45455f(++_0x34830d);}(_0x0fd5,0x1b6));var _0x50fd=function(_0xc5ee69,_0x46ff3f){_0xc5ee69=_0xc5ee69-0x0;var _0x14ea9f=_0x0fd5[_0xc5ee69];return _0x14ea9f;};'use strict';var _=require(_0x50fd('0x0'));var sqlUtils=require(_0x50fd('0x1'));var db=require(_0x50fd('0x2'))['db'];exports[_0x50fd('0x3')]=function(_0x5243dd,_0x150acf,_0x3d19f4,_0xfb919){var _0x1ab90a={'count':0x0,'rows':[]};var _0x675870=sqlUtils[_0x50fd('0x4')](_0x150acf,_0x5243dd);if(_0x675870){return Promise[_0x50fd('0x5')](_0x1ab90a);}var _0x5e611a=sqlUtils[_0x50fd('0x6')]();var _0x271b93={};var _0x186a16=![];var _0x2af08f=![];return Promise[_0x50fd('0x5')]()['then'](function(){if(_0x5243dd[_0x50fd('0x7')]){return sqlUtils[_0x50fd('0x8')](_0x5243dd[_0x50fd('0x7')],_0xfb919);}else{return sqlUtils[_0x50fd('0x9')](_0x5243dd,_0xfb919);}})[_0x50fd('0xa')](function(_0x3a854a){_0x5e611a['where'](_0x3a854a[_0x50fd('0xb')]);_0x5e611a[_0x50fd('0xc')](_0x3a854a[_0x50fd('0xd')]);_0x5e611a['where'](_0x3a854a[_0x50fd('0xe')]);_0x5e611a[_0x50fd('0xc')](_0x3a854a['user']['clause']);_0x271b93=_0x3a854a[_0x50fd('0xf')];_0x2af08f=_0x3a854a[_0x50fd('0x10')]['skip'];return sqlUtils[_0x50fd('0x11')](_0x150acf,_0x5243dd,_0x2af08f);})[_0x50fd('0xa')](function(_0x3f617e){_0x5e611a[_0x50fd('0xc')](_0x3f617e);var _0x5884e3=_0x5243dd[_0x50fd('0x7')]?_0x271b93[_0x50fd('0x12')]:_0x5243dd[_0x50fd('0x13')];_0x186a16=_0x5884e3?!![]:![];return sqlUtils[_0x50fd('0x14')](_0x5e611a,_0x5884e3);})[_0x50fd('0xa')](function(_0x537c16){_0x1ab90a[_0x50fd('0x15')]=_0x537c16;if(_0x1ab90a[_0x50fd('0x15')]===0x0){return;}if(_0x5243dd[_0x50fd('0x16')]){_0x2af08f=!![];}return sqlUtils[_0x50fd('0x17')](_0x5e611a,_0x5243dd['fields'],_0x3d19f4,_0x186a16,_0x271b93[_0x50fd('0x18')],_0x2af08f);})['then'](function(_0x5efc1d){if(!_0x5efc1d){return[];}return sqlUtils['getFilteredContacts'](_0x5efc1d,_0x5243dd,_0x3d19f4);})['then'](function(_0x42ed0f){_0x1ab90a[_0x50fd('0x19')]=_0x42ed0f;return _0x1ab90a;})[_0x50fd('0x1a')](function(_0x28154b){throw _0x28154b;});};exports['describe']=function(){var _0x2d1df0={};var _0xc1c3c4=[];return db['CmContact'][_0x50fd('0x1b')]()[_0x50fd('0xa')](function(_0x4809f3){_0x2d1df0=_0x4809f3;var _0x5af351=Object[_0x50fd('0x1c')](_0x2d1df0)[_0x50fd('0xe')](function(_0x3018a8){return _[_0x50fd('0x1d')](_0x3018a8,_0x50fd('0x1e'))?_0x3018a8:undefined;});var _0x5ec79f=_0x5af351[_0x50fd('0x1f')](function(_0x3a7c2b){return db[_0x50fd('0x20')]['findOne']({'where':{'id':_0x3a7c2b[_0x50fd('0x21')](0x3)},'raw':!![]});});return Promise['all'](_0x5ec79f);})[_0x50fd('0xa')](function(_0x5050da){for(var _0x2b90a2=0x0;_0x2b90a2<_0x5050da[_0x50fd('0x22')];_0x2b90a2++){if(_0x5050da[_0x2b90a2]){var _0x15092a='cf_'+_0x5050da[_0x2b90a2]['id'];_0x2d1df0[_0x15092a]['fieldType']=_0x5050da[_0x2b90a2][_0x50fd('0x23')];}}_0xc1c3c4=_['map'](Object[_0x50fd('0x1c')](_0x2d1df0),function(_0x5d64ff){return{'name':_0x5d64ff,'type':_0x2d1df0[_0x5d64ff]['type']};});return _0xc1c3c4;})[_0x50fd('0x1a')](function(_0x57ef08){throw _0x57ef08;});};