7420fa17b587a391548f48a28ebf7a1136edc78f
[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 _0x3ede=['send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','SugarcrmConfiguration','includeAll','include','findAll','show','params','options','find','catch','create','body','getFields','findOne','SugarcrmField','length','order','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','status','end','offset','undefined','limit','count','set','apply','save','update','then','destroy','sendStatus','error','name'];(function(_0x1be7af,_0x58b01c){var _0x2ad8bf=function(_0x47a61f){while(--_0x47a61f){_0x1be7af['push'](_0x1be7af['shift']());}};_0x2ad8bf(++_0x58b01c);}(_0x3ede,0x77));var _0xe3ed=function(_0x28be72,_0x2b83af){_0x28be72=_0x28be72-0x0;var _0x46c5da=_0x3ede[_0x28be72];return _0x46c5da;};'use strict';var emlformat=require(_0xe3ed('0x0'));var rimraf=require(_0xe3ed('0x1'));var zipdir=require(_0xe3ed('0x2'));var jsonpatch=require(_0xe3ed('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xe3ed('0x4'));var Mustache=require(_0xe3ed('0x5'));var util=require(_0xe3ed('0x6'));var path=require(_0xe3ed('0x7'));var sox=require(_0xe3ed('0x8'));var csv=require(_0xe3ed('0x9'));var ejs=require(_0xe3ed('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xe3ed('0xb'));var crypto=require(_0xe3ed('0xc'));var jsforce=require(_0xe3ed('0xd'));var deskjs=require(_0xe3ed('0xe'));var toCsv=require(_0xe3ed('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xe3ed('0xf'));var authService=require(_0xe3ed('0x10'));var qs=require(_0xe3ed('0x11'));var as=require(_0xe3ed('0x12'));var hardwareService=require(_0xe3ed('0x13'));var logger=require(_0xe3ed('0x14'))('api');var utils=require('../../config/utils');var config=require(_0xe3ed('0x15'));var licenseUtil=require(_0xe3ed('0x16'));var db=require(_0xe3ed('0x17'))['db'];function respondWithStatusCode(_0xc4ab2,_0x1f9372){_0x1f9372=_0x1f9372||0xcc;return function(_0x311c96){if(_0x311c96){return _0xc4ab2['sendStatus'](_0x1f9372);}return _0xc4ab2[_0xe3ed('0x18')](_0x1f9372)[_0xe3ed('0x19')]();};}function respondWithResult(_0x5b9c12,_0x51cd41){_0x51cd41=_0x51cd41||0xc8;return function(_0x55864d){if(_0x55864d){return _0x5b9c12[_0xe3ed('0x18')](_0x51cd41)['json'](_0x55864d);}};}function respondWithFilteredResult(_0x57de57,_0x46c806){return function(_0x2984ef){if(_0x2984ef){var _0x5651fe=typeof _0x46c806[_0xe3ed('0x1a')]===_0xe3ed('0x1b')&&typeof _0x46c806[_0xe3ed('0x1c')]===_0xe3ed('0x1b');var _0x4a3fc5=_0x2984ef[_0xe3ed('0x1d')];var _0x5bb14a=_0x5651fe?0x0:_0x46c806['offset'];var _0x27f666=_0x5651fe?_0x2984ef[_0xe3ed('0x1d')]:_0x46c806['offset']+_0x46c806[_0xe3ed('0x1c')];var _0x47cf94;if(_0x27f666>=_0x4a3fc5){_0x27f666=_0x4a3fc5;_0x47cf94=0xc8;}else{_0x47cf94=0xce;}_0x57de57[_0xe3ed('0x18')](_0x47cf94);return _0x57de57[_0xe3ed('0x1e')]('Content-Range',_0x5bb14a+'-'+_0x27f666+'/'+_0x4a3fc5)['json'](_0x2984ef);}return null;};}function patchUpdates(_0x3b3687){return function(_0x436c3d){try{jsonpatch[_0xe3ed('0x1f')](_0x436c3d,_0x3b3687,!![]);}catch(_0x521148){return BPromise['reject'](_0x521148);}return _0x436c3d[_0xe3ed('0x20')]();};}function saveUpdates(_0x6fc5ec,_0x67b938){return function(_0x1aec83){if(_0x1aec83){return _0x1aec83[_0xe3ed('0x21')](_0x6fc5ec)[_0xe3ed('0x22')](function(_0x46c92a){return _0x46c92a;});}return null;};}function removeEntity(_0x5db686,_0x158bea){return function(_0x208aa4){if(_0x208aa4){return _0x208aa4[_0xe3ed('0x23')]()[_0xe3ed('0x22')](function(){_0x5db686[_0xe3ed('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x388a49,_0x395e22){return function(_0x48542d){if(!_0x48542d){_0x388a49[_0xe3ed('0x24')](0x194);}return _0x48542d;};}function handleError(_0x1c057a,_0x363ed4){_0x363ed4=_0x363ed4||0x1f4;return function(_0x2b9160){logger[_0xe3ed('0x25')](_0x2b9160['stack']);if(_0x2b9160[_0xe3ed('0x26')]){delete _0x2b9160[_0xe3ed('0x26')];}_0x1c057a[_0xe3ed('0x18')](_0x363ed4)[_0xe3ed('0x27')](_0x2b9160);};}exports[_0xe3ed('0x28')]=function(_0x43fb6f,_0x37463d){var _0x203969={},_0xe65389={},_0x4c73d4={'count':0x0,'rows':[]};var _0x354b4b=_[_0xe3ed('0x29')](db['SugarcrmConfiguration'][_0xe3ed('0x2a')],function(_0x3742ea){return{'name':_0x3742ea[_0xe3ed('0x2b')],'type':_0x3742ea[_0xe3ed('0x2c')][_0xe3ed('0x2d')]};});_0xe65389[_0xe3ed('0x2e')]=_[_0xe3ed('0x29')](_0x354b4b,_0xe3ed('0x26'));_0xe65389[_0xe3ed('0x2f')]=_[_0xe3ed('0x30')](_0x43fb6f[_0xe3ed('0x2f')]);_0xe65389[_0xe3ed('0x31')]=_[_0xe3ed('0x32')](_0xe65389['model'],_0xe65389[_0xe3ed('0x2f')]);_0x203969['attributes']=_[_0xe3ed('0x32')](_0xe65389[_0xe3ed('0x2e')],qs[_0xe3ed('0x33')](_0x43fb6f[_0xe3ed('0x2f')][_0xe3ed('0x33')]));_0x203969[_0xe3ed('0x34')]=_0x203969['attributes']['length']?_0x203969[_0xe3ed('0x34')]:_0xe65389[_0xe3ed('0x2e')];if(!_0x43fb6f['query'][_0xe3ed('0x35')](_0xe3ed('0x36'))){_0x203969[_0xe3ed('0x1c')]=qs[_0xe3ed('0x1c')](_0x43fb6f['query'][_0xe3ed('0x1c')]);_0x203969['offset']=qs[_0xe3ed('0x1a')](_0x43fb6f[_0xe3ed('0x2f')][_0xe3ed('0x1a')]);}_0x203969['order']=qs[_0xe3ed('0x37')](_0x43fb6f[_0xe3ed('0x2f')][_0xe3ed('0x37')]);_0x203969[_0xe3ed('0x38')]=qs[_0xe3ed('0x31')](_[_0xe3ed('0x39')](_0x43fb6f[_0xe3ed('0x2f')],_0xe65389[_0xe3ed('0x31')]),_0x354b4b);if(_0x43fb6f[_0xe3ed('0x2f')][_0xe3ed('0x3a')]){_0x203969[_0xe3ed('0x38')]=_['merge'](_0x203969['where'],{'$or':_[_0xe3ed('0x29')](_0x354b4b,function(_0x58191b){if(_0x58191b[_0xe3ed('0x2c')]!==_0xe3ed('0x3b')){var _0x555598={};_0x555598[_0x58191b[_0xe3ed('0x26')]]={'$like':'%'+_0x43fb6f['query'][_0xe3ed('0x3a')]+'%'};return _0x555598;}})});}_0x203969=_[_0xe3ed('0x3c')]({},_0x203969,_0x43fb6f['options']);var _0x3447cd={'where':_0x203969[_0xe3ed('0x38')]};return db[_0xe3ed('0x3d')]['count'](_0x3447cd)[_0xe3ed('0x22')](function(_0x13951c){_0x4c73d4[_0xe3ed('0x1d')]=_0x13951c;if(_0x43fb6f[_0xe3ed('0x2f')][_0xe3ed('0x3e')]){_0x203969[_0xe3ed('0x3f')]=[{'all':!![]}];}return db[_0xe3ed('0x3d')][_0xe3ed('0x40')](_0x203969);})[_0xe3ed('0x22')](function(_0x48d4a4){_0x4c73d4['rows']=_0x48d4a4;return _0x4c73d4;})[_0xe3ed('0x22')](respondWithFilteredResult(_0x37463d,_0x203969))['catch'](handleError(_0x37463d,null));};exports[_0xe3ed('0x41')]=function(_0x3fb2d2,_0x20c4fc){var _0x1519f6={'raw':![],'where':{'id':_0x3fb2d2[_0xe3ed('0x42')]['id']}},_0x3c9440={};_0x3c9440[_0xe3ed('0x2e')]=_[_0xe3ed('0x30')](db[_0xe3ed('0x3d')][_0xe3ed('0x2a')]);_0x3c9440[_0xe3ed('0x2f')]=_[_0xe3ed('0x30')](_0x3fb2d2[_0xe3ed('0x2f')]);_0x3c9440[_0xe3ed('0x31')]=_[_0xe3ed('0x32')](_0x3c9440['model'],_0x3c9440['query']);_0x1519f6[_0xe3ed('0x34')]=_[_0xe3ed('0x32')](_0x3c9440[_0xe3ed('0x2e')],qs['fields'](_0x3fb2d2[_0xe3ed('0x2f')][_0xe3ed('0x33')]));_0x1519f6[_0xe3ed('0x34')]=_0x1519f6['attributes']['length']?_0x1519f6[_0xe3ed('0x34')]:_0x3c9440[_0xe3ed('0x2e')];if(_0x3fb2d2[_0xe3ed('0x2f')]['includeAll']){_0x1519f6['include']=[{'all':!![]}];}_0x1519f6=_[_0xe3ed('0x3c')]({},_0x1519f6,_0x3fb2d2[_0xe3ed('0x43')]);return db[_0xe3ed('0x3d')][_0xe3ed('0x44')](_0x1519f6)['then'](handleEntityNotFound(_0x20c4fc,null))['then'](respondWithResult(_0x20c4fc,null))[_0xe3ed('0x45')](handleError(_0x20c4fc,null));};exports[_0xe3ed('0x46')]=function(_0x29672d,_0x258469){return db[_0xe3ed('0x3d')]['create'](_0x29672d[_0xe3ed('0x47')],{})[_0xe3ed('0x22')](respondWithResult(_0x258469,0xc9))[_0xe3ed('0x45')](handleError(_0x258469,null));};exports[_0xe3ed('0x21')]=function(_0x1418df,_0x2989f8){if(_0x1418df[_0xe3ed('0x47')]['id']){delete _0x1418df[_0xe3ed('0x47')]['id'];}return db[_0xe3ed('0x3d')][_0xe3ed('0x44')]({'where':{'id':_0x1418df['params']['id']}})[_0xe3ed('0x22')](handleEntityNotFound(_0x2989f8,null))['then'](saveUpdates(_0x1418df[_0xe3ed('0x47')],null))[_0xe3ed('0x22')](respondWithResult(_0x2989f8,null))[_0xe3ed('0x45')](handleError(_0x2989f8,null));};exports[_0xe3ed('0x23')]=function(_0x419b18,_0x5a0216){return db[_0xe3ed('0x3d')][_0xe3ed('0x44')]({'where':{'id':_0x419b18['params']['id']}})[_0xe3ed('0x22')](handleEntityNotFound(_0x5a0216,null))[_0xe3ed('0x22')](removeEntity(_0x5a0216,null))[_0xe3ed('0x45')](handleError(_0x5a0216,null));};exports[_0xe3ed('0x48')]=function(_0x101da7,_0x4dedf3,_0x4b1d7d){var _0x3e1a33={};var _0x51d509={};var _0x51d92d;var _0x5973b7;return db[_0xe3ed('0x3d')][_0xe3ed('0x49')]({'where':{'id':_0x101da7[_0xe3ed('0x42')]['id']}})[_0xe3ed('0x22')](handleEntityNotFound(_0x4dedf3,null))['then'](function(_0x2ad48c){if(_0x2ad48c){_0x51d92d=_0x2ad48c;_0x51d509[_0xe3ed('0x2e')]=_[_0xe3ed('0x30')](db[_0xe3ed('0x4a')]['rawAttributes']);_0x51d509[_0xe3ed('0x2f')]=_[_0xe3ed('0x30')](_0x101da7[_0xe3ed('0x2f')]);_0x51d509[_0xe3ed('0x31')]=_[_0xe3ed('0x32')](_0x51d509['model'],_0x51d509[_0xe3ed('0x2f')]);_0x3e1a33[_0xe3ed('0x34')]=_['intersection'](_0x51d509[_0xe3ed('0x2e')],qs[_0xe3ed('0x33')](_0x101da7[_0xe3ed('0x2f')][_0xe3ed('0x33')]));_0x3e1a33[_0xe3ed('0x34')]=_0x3e1a33[_0xe3ed('0x34')][_0xe3ed('0x4b')]?_0x3e1a33[_0xe3ed('0x34')]:_0x51d509[_0xe3ed('0x2e')];_0x3e1a33[_0xe3ed('0x4c')]=qs[_0xe3ed('0x37')](_0x101da7['query']['sort']);_0x3e1a33['where']=qs[_0xe3ed('0x31')](_[_0xe3ed('0x39')](_0x101da7['query'],_0x51d509['filters']));if(_0x101da7[_0xe3ed('0x2f')][_0xe3ed('0x3a')]){_0x3e1a33['where']=_['merge'](_0x3e1a33['where'],{'$or':_[_0xe3ed('0x29')](_0x3e1a33['attributes'],function(_0x40cd8){var _0x35f126={};_0x35f126[_0x40cd8]={'$like':'%'+_0x101da7[_0xe3ed('0x2f')]['filter']+'%'};return _0x35f126;})});}_0x3e1a33=_[_0xe3ed('0x3c')]({},_0x3e1a33,_0x101da7[_0xe3ed('0x43')]);return _0x51d92d[_0xe3ed('0x48')](_0x3e1a33);}})['then'](function(_0x207a34){if(_0x207a34){_0x5973b7=_0x207a34[_0xe3ed('0x4b')];if(!_0x101da7[_0xe3ed('0x2f')][_0xe3ed('0x35')](_0xe3ed('0x36'))){_0x3e1a33[_0xe3ed('0x1c')]=qs['limit'](_0x101da7[_0xe3ed('0x2f')][_0xe3ed('0x1c')]);_0x3e1a33[_0xe3ed('0x1a')]=qs[_0xe3ed('0x1a')](_0x101da7['query'][_0xe3ed('0x1a')]);}return _0x51d92d['getFields'](_0x3e1a33);}})['then'](function(_0x50cd03){if(_0x50cd03){return _0x50cd03?{'count':_0x5973b7,'rows':_0x50cd03}:null;}})[_0xe3ed('0x22')](respondWithResult(_0x4dedf3,null))['catch'](handleError(_0x4dedf3,null));};exports[_0xe3ed('0x4d')]=function(_0x3494a8,_0x5a045a,_0x4213df){var _0x658326={};var _0x24bfce={};var _0x107eda;var _0x106137;return db[_0xe3ed('0x3d')][_0xe3ed('0x49')]({'where':{'id':_0x3494a8[_0xe3ed('0x42')]['id']}})[_0xe3ed('0x22')](handleEntityNotFound(_0x5a045a,null))['then'](function(_0x50c0a5){if(_0x50c0a5){_0x107eda=_0x50c0a5;_0x24bfce['model']=_[_0xe3ed('0x30')](db[_0xe3ed('0x4a')]['rawAttributes']);_0x24bfce[_0xe3ed('0x2f')]=_[_0xe3ed('0x30')](_0x3494a8[_0xe3ed('0x2f')]);_0x24bfce[_0xe3ed('0x31')]=_[_0xe3ed('0x32')](_0x24bfce[_0xe3ed('0x2e')],_0x24bfce[_0xe3ed('0x2f')]);_0x658326[_0xe3ed('0x34')]=_['intersection'](_0x24bfce[_0xe3ed('0x2e')],qs[_0xe3ed('0x33')](_0x3494a8[_0xe3ed('0x2f')][_0xe3ed('0x33')]));_0x658326[_0xe3ed('0x34')]=_0x658326[_0xe3ed('0x34')]['length']?_0x658326['attributes']:_0x24bfce[_0xe3ed('0x2e')];_0x658326[_0xe3ed('0x4c')]=qs['sort'](_0x3494a8['query']['sort']);_0x658326[_0xe3ed('0x38')]=qs['filters'](_[_0xe3ed('0x39')](_0x3494a8[_0xe3ed('0x2f')],_0x24bfce[_0xe3ed('0x31')]));if(_0x3494a8[_0xe3ed('0x2f')]['filter']){_0x658326[_0xe3ed('0x38')]=_[_0xe3ed('0x3c')](_0x658326[_0xe3ed('0x38')],{'$or':_[_0xe3ed('0x29')](_0x658326[_0xe3ed('0x34')],function(_0x2a1f27){var _0x5898a9={};_0x5898a9[_0x2a1f27]={'$like':'%'+_0x3494a8[_0xe3ed('0x2f')][_0xe3ed('0x3a')]+'%'};return _0x5898a9;})});}_0x658326=_[_0xe3ed('0x3c')]({},_0x658326,_0x3494a8[_0xe3ed('0x43')]);return _0x107eda['getSubjects'](_0x658326);}})[_0xe3ed('0x22')](function(_0x27f4ac){if(_0x27f4ac){_0x106137=_0x27f4ac[_0xe3ed('0x4b')];if(!_0x3494a8[_0xe3ed('0x2f')][_0xe3ed('0x35')](_0xe3ed('0x36'))){_0x658326[_0xe3ed('0x1c')]=qs['limit'](_0x3494a8[_0xe3ed('0x2f')][_0xe3ed('0x1c')]);_0x658326[_0xe3ed('0x1a')]=qs['offset'](_0x3494a8['query'][_0xe3ed('0x1a')]);}return _0x107eda['getSubjects'](_0x658326);}})['then'](function(_0x5c566b){if(_0x5c566b){return _0x5c566b?{'count':_0x106137,'rows':_0x5c566b}:null;}})['then'](respondWithResult(_0x5a045a,null))[_0xe3ed('0x45')](handleError(_0x5a045a,null));};exports[_0xe3ed('0x4e')]=function(_0x1b74ff,_0x629b8f,_0x51db28){var _0x3f2460={};var _0x2365c4={};var _0x3baa7d;var _0x32dd27;return db['SugarcrmConfiguration'][_0xe3ed('0x49')]({'where':{'id':_0x1b74ff[_0xe3ed('0x42')]['id']}})[_0xe3ed('0x22')](handleEntityNotFound(_0x629b8f,null))['then'](function(_0xddbb2){if(_0xddbb2){_0x3baa7d=_0xddbb2;_0x2365c4[_0xe3ed('0x2e')]=_[_0xe3ed('0x30')](db[_0xe3ed('0x4a')][_0xe3ed('0x2a')]);_0x2365c4[_0xe3ed('0x2f')]=_['keys'](_0x1b74ff[_0xe3ed('0x2f')]);_0x2365c4[_0xe3ed('0x31')]=_['intersection'](_0x2365c4[_0xe3ed('0x2e')],_0x2365c4['query']);_0x3f2460['attributes']=_['intersection'](_0x2365c4[_0xe3ed('0x2e')],qs[_0xe3ed('0x33')](_0x1b74ff['query'][_0xe3ed('0x33')]));_0x3f2460[_0xe3ed('0x34')]=_0x3f2460[_0xe3ed('0x34')][_0xe3ed('0x4b')]?_0x3f2460[_0xe3ed('0x34')]:_0x2365c4[_0xe3ed('0x2e')];_0x3f2460['order']=qs[_0xe3ed('0x37')](_0x1b74ff[_0xe3ed('0x2f')]['sort']);_0x3f2460[_0xe3ed('0x38')]=qs['filters'](_['pick'](_0x1b74ff[_0xe3ed('0x2f')],_0x2365c4[_0xe3ed('0x31')]));if(_0x1b74ff[_0xe3ed('0x2f')]['filter']){_0x3f2460[_0xe3ed('0x38')]=_[_0xe3ed('0x3c')](_0x3f2460[_0xe3ed('0x38')],{'$or':_['map'](_0x3f2460[_0xe3ed('0x34')],function(_0x43f945){var _0x3e844a={};_0x3e844a[_0x43f945]={'$like':'%'+_0x1b74ff[_0xe3ed('0x2f')][_0xe3ed('0x3a')]+'%'};return _0x3e844a;})});}_0x3f2460=_[_0xe3ed('0x3c')]({},_0x3f2460,_0x1b74ff['options']);return _0x3baa7d['getDescriptions'](_0x3f2460);}})['then'](function(_0x346ad2){if(_0x346ad2){_0x32dd27=_0x346ad2[_0xe3ed('0x4b')];if(!_0x1b74ff[_0xe3ed('0x2f')][_0xe3ed('0x35')](_0xe3ed('0x36'))){_0x3f2460[_0xe3ed('0x1c')]=qs['limit'](_0x1b74ff['query']['limit']);_0x3f2460[_0xe3ed('0x1a')]=qs[_0xe3ed('0x1a')](_0x1b74ff[_0xe3ed('0x2f')][_0xe3ed('0x1a')]);}return _0x3baa7d[_0xe3ed('0x4e')](_0x3f2460);}})['then'](function(_0x981b28){if(_0x981b28){return _0x981b28?{'count':_0x32dd27,'rows':_0x981b28}:null;}})[_0xe3ed('0x22')](respondWithResult(_0x629b8f,null))[_0xe3ed('0x45')](handleError(_0x629b8f,null));};