Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / api / intSugarcrmConfiguration / intSugarcrmConfiguration.controller.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 _0x3cc9=['merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','find','create','body','update','findOne','SugarcrmField','order','sort','filter','options','getFields','nolimit','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/license/util','sendStatus','end','status','json','offset','undefined','limit','count','set','apply','save','then','destroy','error','stack','name','index','map','SugarcrmConfiguration','rawAttributes','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','where','pick'];(function(_0x4c3feb,_0x28166b){var _0x53ea2c=function(_0x5f2c08){while(--_0x5f2c08){_0x4c3feb['push'](_0x4c3feb['shift']());}};_0x53ea2c(++_0x28166b);}(_0x3cc9,0xb1));var _0x93cc=function(_0x3ea2ca,_0x1eb0d5){_0x3ea2ca=_0x3ea2ca-0x0;var _0x1efe01=_0x3cc9[_0x3ea2ca];return _0x1efe01;};'use strict';var emlformat=require(_0x93cc('0x0'));var rimraf=require(_0x93cc('0x1'));var zipdir=require(_0x93cc('0x2'));var jsonpatch=require(_0x93cc('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x93cc('0x4'));var Mustache=require(_0x93cc('0x5'));var util=require(_0x93cc('0x6'));var path=require(_0x93cc('0x7'));var sox=require(_0x93cc('0x8'));var csv=require(_0x93cc('0x9'));var ejs=require(_0x93cc('0xa'));var fs=require('fs');var fs_extra=require(_0x93cc('0xb'));var _=require(_0x93cc('0xc'));var squel=require('squel');var crypto=require(_0x93cc('0xd'));var jsforce=require(_0x93cc('0xe'));var deskjs=require(_0x93cc('0xf'));var toCsv=require(_0x93cc('0x9'));var querystring=require(_0x93cc('0x10'));var Papa=require('papaparse');var Redis=require(_0x93cc('0x11'));var authService=require(_0x93cc('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x93cc('0x13'));var logger=require(_0x93cc('0x14'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x93cc('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x55abac,_0x5301e6){_0x5301e6=_0x5301e6||0xcc;return function(_0x1463d5){if(_0x1463d5){return _0x55abac[_0x93cc('0x16')](_0x5301e6);}return _0x55abac['status'](_0x5301e6)[_0x93cc('0x17')]();};}function respondWithResult(_0x3f2d0a,_0x24c149){_0x24c149=_0x24c149||0xc8;return function(_0x39e95a){if(_0x39e95a){return _0x3f2d0a[_0x93cc('0x18')](_0x24c149)[_0x93cc('0x19')](_0x39e95a);}};}function respondWithFilteredResult(_0x16203a,_0x435ead){return function(_0x37e151){if(_0x37e151){var _0x213ffd=typeof _0x435ead[_0x93cc('0x1a')]===_0x93cc('0x1b')&&typeof _0x435ead[_0x93cc('0x1c')]==='undefined';var _0x4c590f=_0x37e151[_0x93cc('0x1d')];var _0x1f4ce7=_0x213ffd?0x0:_0x435ead['offset'];var _0x41eac7=_0x213ffd?_0x37e151[_0x93cc('0x1d')]:_0x435ead[_0x93cc('0x1a')]+_0x435ead[_0x93cc('0x1c')];var _0x4673ac;if(_0x41eac7>=_0x4c590f){_0x41eac7=_0x4c590f;_0x4673ac=0xc8;}else{_0x4673ac=0xce;}_0x16203a[_0x93cc('0x18')](_0x4673ac);return _0x16203a[_0x93cc('0x1e')]('Content-Range',_0x1f4ce7+'-'+_0x41eac7+'/'+_0x4c590f)[_0x93cc('0x19')](_0x37e151);}return null;};}function patchUpdates(_0x50cacd){return function(_0x2e8e80){try{jsonpatch[_0x93cc('0x1f')](_0x2e8e80,_0x50cacd,!![]);}catch(_0x3722f5){return BPromise['reject'](_0x3722f5);}return _0x2e8e80[_0x93cc('0x20')]();};}function saveUpdates(_0x2ec29b,_0x46cb68){return function(_0x48b121){if(_0x48b121){return _0x48b121['update'](_0x2ec29b)[_0x93cc('0x21')](function(_0x3b496c){return _0x3b496c;});}return null;};}function removeEntity(_0x5430d8,_0x2220f3){return function(_0x2a40bc){if(_0x2a40bc){return _0x2a40bc[_0x93cc('0x22')]()[_0x93cc('0x21')](function(){_0x5430d8[_0x93cc('0x18')](0xcc)[_0x93cc('0x17')]();});}};}function handleEntityNotFound(_0x5d8ede,_0x26649d){return function(_0x1fe4ca){if(!_0x1fe4ca){_0x5d8ede[_0x93cc('0x16')](0x194);}return _0x1fe4ca;};}function handleError(_0x3cdf02,_0x3be944){_0x3be944=_0x3be944||0x1f4;return function(_0x151d27){logger[_0x93cc('0x23')](_0x151d27[_0x93cc('0x24')]);if(_0x151d27[_0x93cc('0x25')]){delete _0x151d27[_0x93cc('0x25')];}_0x3cdf02[_0x93cc('0x18')](_0x3be944)['send'](_0x151d27);};}exports[_0x93cc('0x26')]=function(_0x1a55c9,_0x29ad3d){var _0x3a99d1={},_0x2e773c={},_0x30f865={'count':0x0,'rows':[]};var _0x3d5c4c=_[_0x93cc('0x27')](db[_0x93cc('0x28')][_0x93cc('0x29')],function(_0x12da6a){return{'name':_0x12da6a['fieldName'],'type':_0x12da6a['type'][_0x93cc('0x2a')]};});_0x2e773c[_0x93cc('0x2b')]=_['map'](_0x3d5c4c,'name');_0x2e773c[_0x93cc('0x2c')]=_[_0x93cc('0x2d')](_0x1a55c9['query']);_0x2e773c[_0x93cc('0x2e')]=_[_0x93cc('0x2f')](_0x2e773c[_0x93cc('0x2b')],_0x2e773c[_0x93cc('0x2c')]);_0x3a99d1['attributes']=_[_0x93cc('0x2f')](_0x2e773c[_0x93cc('0x2b')],qs['fields'](_0x1a55c9['query'][_0x93cc('0x30')]));_0x3a99d1[_0x93cc('0x31')]=_0x3a99d1['attributes'][_0x93cc('0x32')]?_0x3a99d1[_0x93cc('0x31')]:_0x2e773c[_0x93cc('0x2b')];if(!_0x1a55c9[_0x93cc('0x2c')][_0x93cc('0x33')]('nolimit')){_0x3a99d1[_0x93cc('0x1c')]=qs['limit'](_0x1a55c9[_0x93cc('0x2c')][_0x93cc('0x1c')]);_0x3a99d1[_0x93cc('0x1a')]=qs['offset'](_0x1a55c9['query'][_0x93cc('0x1a')]);}_0x3a99d1['order']=qs['sort'](_0x1a55c9[_0x93cc('0x2c')]['sort']);_0x3a99d1[_0x93cc('0x34')]=qs['filters'](_[_0x93cc('0x35')](_0x1a55c9[_0x93cc('0x2c')],_0x2e773c['filters']),_0x3d5c4c);if(_0x1a55c9[_0x93cc('0x2c')]['filter']){_0x3a99d1['where']=_[_0x93cc('0x36')](_0x3a99d1['where'],{'$or':_[_0x93cc('0x27')](_0x3d5c4c,function(_0x26513b){if(_0x26513b['type']!==_0x93cc('0x37')){var _0xd976b3={};_0xd976b3[_0x26513b[_0x93cc('0x25')]]={'$like':'%'+_0x1a55c9[_0x93cc('0x2c')]['filter']+'%'};return _0xd976b3;}})});}_0x3a99d1=_['merge']({},_0x3a99d1,_0x1a55c9['options']);var _0x3c3358={'where':_0x3a99d1[_0x93cc('0x34')]};return db[_0x93cc('0x28')]['count'](_0x3c3358)['then'](function(_0x350a4f){_0x30f865[_0x93cc('0x1d')]=_0x350a4f;if(_0x1a55c9[_0x93cc('0x2c')][_0x93cc('0x38')]){_0x3a99d1[_0x93cc('0x39')]=[{'all':!![]}];}return db[_0x93cc('0x28')][_0x93cc('0x3a')](_0x3a99d1);})[_0x93cc('0x21')](function(_0x10c20c){_0x30f865[_0x93cc('0x3b')]=_0x10c20c;return _0x30f865;})[_0x93cc('0x21')](respondWithFilteredResult(_0x29ad3d,_0x3a99d1))[_0x93cc('0x3c')](handleError(_0x29ad3d,null));};exports[_0x93cc('0x3d')]=function(_0x204b23,_0x5b4f0e){var _0x1b4127={'raw':![],'where':{'id':_0x204b23[_0x93cc('0x3e')]['id']}},_0x204c62={};_0x204c62[_0x93cc('0x2b')]=_[_0x93cc('0x2d')](db['SugarcrmConfiguration'][_0x93cc('0x29')]);_0x204c62[_0x93cc('0x2c')]=_[_0x93cc('0x2d')](_0x204b23[_0x93cc('0x2c')]);_0x204c62[_0x93cc('0x2e')]=_[_0x93cc('0x2f')](_0x204c62[_0x93cc('0x2b')],_0x204c62[_0x93cc('0x2c')]);_0x1b4127[_0x93cc('0x31')]=_['intersection'](_0x204c62[_0x93cc('0x2b')],qs['fields'](_0x204b23['query'][_0x93cc('0x30')]));_0x1b4127['attributes']=_0x1b4127[_0x93cc('0x31')][_0x93cc('0x32')]?_0x1b4127[_0x93cc('0x31')]:_0x204c62[_0x93cc('0x2b')];if(_0x204b23[_0x93cc('0x2c')]['includeAll']){_0x1b4127[_0x93cc('0x39')]=[{'all':!![]}];}_0x1b4127=_[_0x93cc('0x36')]({},_0x1b4127,_0x204b23['options']);return db[_0x93cc('0x28')][_0x93cc('0x3f')](_0x1b4127)[_0x93cc('0x21')](handleEntityNotFound(_0x5b4f0e,null))[_0x93cc('0x21')](respondWithResult(_0x5b4f0e,null))['catch'](handleError(_0x5b4f0e,null));};exports[_0x93cc('0x40')]=function(_0x4121a4,_0x1775e1){return db[_0x93cc('0x28')][_0x93cc('0x40')](_0x4121a4[_0x93cc('0x41')],{})[_0x93cc('0x21')](respondWithResult(_0x1775e1,0xc9))[_0x93cc('0x3c')](handleError(_0x1775e1,null));};exports[_0x93cc('0x42')]=function(_0x237bb7,_0xcd9c08){if(_0x237bb7[_0x93cc('0x41')]['id']){delete _0x237bb7[_0x93cc('0x41')]['id'];}return db['SugarcrmConfiguration']['find']({'where':{'id':_0x237bb7['params']['id']}})['then'](handleEntityNotFound(_0xcd9c08,null))[_0x93cc('0x21')](saveUpdates(_0x237bb7[_0x93cc('0x41')],null))[_0x93cc('0x21')](respondWithResult(_0xcd9c08,null))[_0x93cc('0x3c')](handleError(_0xcd9c08,null));};exports[_0x93cc('0x22')]=function(_0x1f7cd9,_0x1a8d2d){return db[_0x93cc('0x28')][_0x93cc('0x3f')]({'where':{'id':_0x1f7cd9[_0x93cc('0x3e')]['id']}})[_0x93cc('0x21')](handleEntityNotFound(_0x1a8d2d,null))[_0x93cc('0x21')](removeEntity(_0x1a8d2d,null))[_0x93cc('0x3c')](handleError(_0x1a8d2d,null));};exports['getFields']=function(_0x2c43ee,_0x4d558d,_0x39dcde){var _0xb9288b={};var _0x14a07a={};var _0x1881c8;var _0x16f5d5;return db['SugarcrmConfiguration'][_0x93cc('0x43')]({'where':{'id':_0x2c43ee['params']['id']}})[_0x93cc('0x21')](handleEntityNotFound(_0x4d558d,null))[_0x93cc('0x21')](function(_0x506ae2){if(_0x506ae2){_0x1881c8=_0x506ae2;_0x14a07a[_0x93cc('0x2b')]=_[_0x93cc('0x2d')](db[_0x93cc('0x44')][_0x93cc('0x29')]);_0x14a07a[_0x93cc('0x2c')]=_[_0x93cc('0x2d')](_0x2c43ee[_0x93cc('0x2c')]);_0x14a07a[_0x93cc('0x2e')]=_[_0x93cc('0x2f')](_0x14a07a[_0x93cc('0x2b')],_0x14a07a['query']);_0xb9288b[_0x93cc('0x31')]=_[_0x93cc('0x2f')](_0x14a07a[_0x93cc('0x2b')],qs[_0x93cc('0x30')](_0x2c43ee[_0x93cc('0x2c')][_0x93cc('0x30')]));_0xb9288b[_0x93cc('0x31')]=_0xb9288b[_0x93cc('0x31')][_0x93cc('0x32')]?_0xb9288b[_0x93cc('0x31')]:_0x14a07a[_0x93cc('0x2b')];_0xb9288b[_0x93cc('0x45')]=qs[_0x93cc('0x46')](_0x2c43ee[_0x93cc('0x2c')][_0x93cc('0x46')]);_0xb9288b[_0x93cc('0x34')]=qs[_0x93cc('0x2e')](_[_0x93cc('0x35')](_0x2c43ee[_0x93cc('0x2c')],_0x14a07a[_0x93cc('0x2e')]));if(_0x2c43ee[_0x93cc('0x2c')][_0x93cc('0x47')]){_0xb9288b[_0x93cc('0x34')]=_[_0x93cc('0x36')](_0xb9288b[_0x93cc('0x34')],{'$or':_[_0x93cc('0x27')](_0xb9288b[_0x93cc('0x31')],function(_0x2f8890){var _0x1cb470={};_0x1cb470[_0x2f8890]={'$like':'%'+_0x2c43ee[_0x93cc('0x2c')][_0x93cc('0x47')]+'%'};return _0x1cb470;})});}_0xb9288b=_[_0x93cc('0x36')]({},_0xb9288b,_0x2c43ee[_0x93cc('0x48')]);return _0x1881c8[_0x93cc('0x49')](_0xb9288b);}})[_0x93cc('0x21')](function(_0x30c7d7){if(_0x30c7d7){_0x16f5d5=_0x30c7d7['length'];if(!_0x2c43ee[_0x93cc('0x2c')][_0x93cc('0x33')](_0x93cc('0x4a'))){_0xb9288b['limit']=qs[_0x93cc('0x1c')](_0x2c43ee[_0x93cc('0x2c')][_0x93cc('0x1c')]);_0xb9288b['offset']=qs['offset'](_0x2c43ee[_0x93cc('0x2c')]['offset']);}return _0x1881c8['getFields'](_0xb9288b);}})[_0x93cc('0x21')](function(_0x2a459e){if(_0x2a459e){return _0x2a459e?{'count':_0x16f5d5,'rows':_0x2a459e}:null;}})[_0x93cc('0x21')](respondWithResult(_0x4d558d,null))[_0x93cc('0x3c')](handleError(_0x4d558d,null));};exports[_0x93cc('0x4b')]=function(_0x482ce1,_0x4cc0f7,_0x3572fa){var _0x23d7bd={};var _0x5175f4={};var _0x27d6;var _0x129d0a;return db['SugarcrmConfiguration'][_0x93cc('0x43')]({'where':{'id':_0x482ce1[_0x93cc('0x3e')]['id']}})['then'](handleEntityNotFound(_0x4cc0f7,null))[_0x93cc('0x21')](function(_0xb1e546){if(_0xb1e546){_0x27d6=_0xb1e546;_0x5175f4[_0x93cc('0x2b')]=_[_0x93cc('0x2d')](db[_0x93cc('0x44')][_0x93cc('0x29')]);_0x5175f4[_0x93cc('0x2c')]=_[_0x93cc('0x2d')](_0x482ce1[_0x93cc('0x2c')]);_0x5175f4['filters']=_[_0x93cc('0x2f')](_0x5175f4[_0x93cc('0x2b')],_0x5175f4[_0x93cc('0x2c')]);_0x23d7bd[_0x93cc('0x31')]=_['intersection'](_0x5175f4[_0x93cc('0x2b')],qs[_0x93cc('0x30')](_0x482ce1[_0x93cc('0x2c')][_0x93cc('0x30')]));_0x23d7bd[_0x93cc('0x31')]=_0x23d7bd['attributes'][_0x93cc('0x32')]?_0x23d7bd[_0x93cc('0x31')]:_0x5175f4['model'];_0x23d7bd[_0x93cc('0x45')]=qs[_0x93cc('0x46')](_0x482ce1[_0x93cc('0x2c')][_0x93cc('0x46')]);_0x23d7bd[_0x93cc('0x34')]=qs['filters'](_['pick'](_0x482ce1[_0x93cc('0x2c')],_0x5175f4[_0x93cc('0x2e')]));if(_0x482ce1[_0x93cc('0x2c')][_0x93cc('0x47')]){_0x23d7bd[_0x93cc('0x34')]=_[_0x93cc('0x36')](_0x23d7bd['where'],{'$or':_[_0x93cc('0x27')](_0x23d7bd[_0x93cc('0x31')],function(_0x1dd23b){var _0x3e4d0b={};_0x3e4d0b[_0x1dd23b]={'$like':'%'+_0x482ce1[_0x93cc('0x2c')][_0x93cc('0x47')]+'%'};return _0x3e4d0b;})});}_0x23d7bd=_[_0x93cc('0x36')]({},_0x23d7bd,_0x482ce1[_0x93cc('0x48')]);return _0x27d6['getSubjects'](_0x23d7bd);}})[_0x93cc('0x21')](function(_0x4c2c7){if(_0x4c2c7){_0x129d0a=_0x4c2c7['length'];if(!_0x482ce1[_0x93cc('0x2c')]['hasOwnProperty'](_0x93cc('0x4a'))){_0x23d7bd[_0x93cc('0x1c')]=qs[_0x93cc('0x1c')](_0x482ce1[_0x93cc('0x2c')][_0x93cc('0x1c')]);_0x23d7bd[_0x93cc('0x1a')]=qs[_0x93cc('0x1a')](_0x482ce1[_0x93cc('0x2c')][_0x93cc('0x1a')]);}return _0x27d6['getSubjects'](_0x23d7bd);}})[_0x93cc('0x21')](function(_0xc0385b){if(_0xc0385b){return _0xc0385b?{'count':_0x129d0a,'rows':_0xc0385b}:null;}})[_0x93cc('0x21')](respondWithResult(_0x4cc0f7,null))[_0x93cc('0x3c')](handleError(_0x4cc0f7,null));};exports['getDescriptions']=function(_0x36c3f4,_0x21fda1,_0x3acf9b){var _0x3f903a={};var _0x119b15={};var _0x3a3024;var _0x15455a;return db[_0x93cc('0x28')][_0x93cc('0x43')]({'where':{'id':_0x36c3f4['params']['id']}})[_0x93cc('0x21')](handleEntityNotFound(_0x21fda1,null))[_0x93cc('0x21')](function(_0x1319d3){if(_0x1319d3){_0x3a3024=_0x1319d3;_0x119b15[_0x93cc('0x2b')]=_['keys'](db[_0x93cc('0x44')][_0x93cc('0x29')]);_0x119b15[_0x93cc('0x2c')]=_['keys'](_0x36c3f4[_0x93cc('0x2c')]);_0x119b15[_0x93cc('0x2e')]=_[_0x93cc('0x2f')](_0x119b15['model'],_0x119b15['query']);_0x3f903a[_0x93cc('0x31')]=_['intersection'](_0x119b15['model'],qs['fields'](_0x36c3f4[_0x93cc('0x2c')][_0x93cc('0x30')]));_0x3f903a[_0x93cc('0x31')]=_0x3f903a[_0x93cc('0x31')][_0x93cc('0x32')]?_0x3f903a[_0x93cc('0x31')]:_0x119b15[_0x93cc('0x2b')];_0x3f903a[_0x93cc('0x45')]=qs[_0x93cc('0x46')](_0x36c3f4[_0x93cc('0x2c')]['sort']);_0x3f903a[_0x93cc('0x34')]=qs[_0x93cc('0x2e')](_[_0x93cc('0x35')](_0x36c3f4[_0x93cc('0x2c')],_0x119b15[_0x93cc('0x2e')]));if(_0x36c3f4[_0x93cc('0x2c')][_0x93cc('0x47')]){_0x3f903a[_0x93cc('0x34')]=_['merge'](_0x3f903a['where'],{'$or':_[_0x93cc('0x27')](_0x3f903a[_0x93cc('0x31')],function(_0x3fe647){var _0x34a8b6={};_0x34a8b6[_0x3fe647]={'$like':'%'+_0x36c3f4[_0x93cc('0x2c')][_0x93cc('0x47')]+'%'};return _0x34a8b6;})});}_0x3f903a=_[_0x93cc('0x36')]({},_0x3f903a,_0x36c3f4[_0x93cc('0x48')]);return _0x3a3024[_0x93cc('0x4c')](_0x3f903a);}})['then'](function(_0xf1569){if(_0xf1569){_0x15455a=_0xf1569[_0x93cc('0x32')];if(!_0x36c3f4[_0x93cc('0x2c')][_0x93cc('0x33')](_0x93cc('0x4a'))){_0x3f903a[_0x93cc('0x1c')]=qs[_0x93cc('0x1c')](_0x36c3f4[_0x93cc('0x2c')][_0x93cc('0x1c')]);_0x3f903a['offset']=qs[_0x93cc('0x1a')](_0x36c3f4['query'][_0x93cc('0x1a')]);}return _0x3a3024[_0x93cc('0x4c')](_0x3f903a);}})[_0x93cc('0x21')](function(_0x4d55ef){if(_0x4d55ef){return _0x4d55ef?{'count':_0x15455a,'rows':_0x4d55ef}:null;}})[_0x93cc('0x21')](respondWithResult(_0x21fda1,null))[_0x93cc('0x3c')](handleError(_0x21fda1,null));};