Built motion from commit 19a84241.|2.5.34
[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 _0x776d=['sort','pick','filters','where','merge','filter','includeAll','include','findAll','rows','catch','show','params','keys','find','create','body','getFields','findOne','SugarcrmField','options','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','apply','update','then','destroy','end','error','stack','name','SugarcrmConfiguration','rawAttributes','fieldName','type','key','model','map','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order'];(function(_0x167cc1,_0x56ef5a){var _0x10bc4b=function(_0xd6a255){while(--_0xd6a255){_0x167cc1['push'](_0x167cc1['shift']());}};_0x10bc4b(++_0x56ef5a);}(_0x776d,0x101));var _0xd776=function(_0x112aa6,_0x56e25e){_0x112aa6=_0x112aa6-0x0;var _0xdee9c=_0x776d[_0x112aa6];return _0xdee9c;};'use strict';var emlformat=require(_0xd776('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd776('0x1'));var jsonpatch=require(_0xd776('0x2'));var rp=require(_0xd776('0x3'));var moment=require(_0xd776('0x4'));var BPromise=require(_0xd776('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xd776('0x6'));var csv=require(_0xd776('0x7'));var ejs=require(_0xd776('0x8'));var fs=require('fs');var fs_extra=require(_0xd776('0x9'));var _=require(_0xd776('0xa'));var squel=require(_0xd776('0xb'));var crypto=require(_0xd776('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xd776('0xd'));var toCsv=require(_0xd776('0x7'));var querystring=require('querystring');var Papa=require(_0xd776('0xe'));var Redis=require(_0xd776('0xf'));var authService=require(_0xd776('0x10'));var qs=require(_0xd776('0x11'));var as=require(_0xd776('0x12'));var hardwareService=require(_0xd776('0x13'));var logger=require(_0xd776('0x14'))(_0xd776('0x15'));var utils=require('../../config/utils');var config=require(_0xd776('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xd776('0x17'))['db'];function respondWithStatusCode(_0x1cde59,_0x59ac46){_0x59ac46=_0x59ac46||0xcc;return function(_0xb2265e){if(_0xb2265e){return _0x1cde59[_0xd776('0x18')](_0x59ac46);}return _0x1cde59[_0xd776('0x19')](_0x59ac46)['end']();};}function respondWithResult(_0x39ca40,_0x425c8e){_0x425c8e=_0x425c8e||0xc8;return function(_0xb3b139){if(_0xb3b139){return _0x39ca40[_0xd776('0x19')](_0x425c8e)[_0xd776('0x1a')](_0xb3b139);}};}function respondWithFilteredResult(_0x533d60,_0x2aa8f8){return function(_0xeaac0a){if(_0xeaac0a){var _0x3f4491=typeof _0x2aa8f8[_0xd776('0x1b')]===_0xd776('0x1c')&&typeof _0x2aa8f8[_0xd776('0x1d')]===_0xd776('0x1c');var _0x50f1fd=_0xeaac0a[_0xd776('0x1e')];var _0x4236e2=_0x3f4491?0x0:_0x2aa8f8[_0xd776('0x1b')];var _0x3601a8=_0x3f4491?_0xeaac0a[_0xd776('0x1e')]:_0x2aa8f8[_0xd776('0x1b')]+_0x2aa8f8[_0xd776('0x1d')];var _0x104a2e;if(_0x3601a8>=_0x50f1fd){_0x3601a8=_0x50f1fd;_0x104a2e=0xc8;}else{_0x104a2e=0xce;}_0x533d60[_0xd776('0x19')](_0x104a2e);return _0x533d60[_0xd776('0x1f')]('Content-Range',_0x4236e2+'-'+_0x3601a8+'/'+_0x50f1fd)[_0xd776('0x1a')](_0xeaac0a);}return null;};}function patchUpdates(_0x5393c7){return function(_0x547473){try{jsonpatch[_0xd776('0x20')](_0x547473,_0x5393c7,!![]);}catch(_0x5cbaae){return BPromise['reject'](_0x5cbaae);}return _0x547473['save']();};}function saveUpdates(_0xc5153e,_0x2a2ce7){return function(_0x30cf0a){if(_0x30cf0a){return _0x30cf0a[_0xd776('0x21')](_0xc5153e)[_0xd776('0x22')](function(_0x2a05bf){return _0x2a05bf;});}return null;};}function removeEntity(_0x34e60b,_0x3aecb5){return function(_0x254c2b){if(_0x254c2b){return _0x254c2b[_0xd776('0x23')]()[_0xd776('0x22')](function(){_0x34e60b['status'](0xcc)[_0xd776('0x24')]();});}};}function handleEntityNotFound(_0x164970,_0x5743c4){return function(_0x5c491e){if(!_0x5c491e){_0x164970['sendStatus'](0x194);}return _0x5c491e;};}function handleError(_0x4eda32,_0xde9dde){_0xde9dde=_0xde9dde||0x1f4;return function(_0x473ae2){logger[_0xd776('0x25')](_0x473ae2[_0xd776('0x26')]);if(_0x473ae2[_0xd776('0x27')]){delete _0x473ae2[_0xd776('0x27')];}_0x4eda32[_0xd776('0x19')](_0xde9dde)['send'](_0x473ae2);};}exports['index']=function(_0x4aae64,_0x4b1eaf){var _0x194cce={},_0x87e6b1={},_0x51977d={'count':0x0,'rows':[]};var _0x2b0f1f=_['map'](db[_0xd776('0x28')][_0xd776('0x29')],function(_0x1cc4fb){return{'name':_0x1cc4fb[_0xd776('0x2a')],'type':_0x1cc4fb[_0xd776('0x2b')][_0xd776('0x2c')]};});_0x87e6b1[_0xd776('0x2d')]=_[_0xd776('0x2e')](_0x2b0f1f,_0xd776('0x27'));_0x87e6b1[_0xd776('0x2f')]=_['keys'](_0x4aae64[_0xd776('0x2f')]);_0x87e6b1['filters']=_['intersection'](_0x87e6b1['model'],_0x87e6b1[_0xd776('0x2f')]);_0x194cce[_0xd776('0x30')]=_[_0xd776('0x31')](_0x87e6b1[_0xd776('0x2d')],qs['fields'](_0x4aae64[_0xd776('0x2f')][_0xd776('0x32')]));_0x194cce[_0xd776('0x30')]=_0x194cce[_0xd776('0x30')][_0xd776('0x33')]?_0x194cce['attributes']:_0x87e6b1[_0xd776('0x2d')];if(!_0x4aae64['query'][_0xd776('0x34')](_0xd776('0x35'))){_0x194cce[_0xd776('0x1d')]=qs[_0xd776('0x1d')](_0x4aae64[_0xd776('0x2f')][_0xd776('0x1d')]);_0x194cce['offset']=qs[_0xd776('0x1b')](_0x4aae64[_0xd776('0x2f')][_0xd776('0x1b')]);}_0x194cce[_0xd776('0x36')]=qs['sort'](_0x4aae64[_0xd776('0x2f')][_0xd776('0x37')]);_0x194cce['where']=qs['filters'](_[_0xd776('0x38')](_0x4aae64[_0xd776('0x2f')],_0x87e6b1[_0xd776('0x39')]),_0x2b0f1f);if(_0x4aae64[_0xd776('0x2f')]['filter']){_0x194cce[_0xd776('0x3a')]=_[_0xd776('0x3b')](_0x194cce[_0xd776('0x3a')],{'$or':_[_0xd776('0x2e')](_0x2b0f1f,function(_0x5e3e1b){if(_0x5e3e1b[_0xd776('0x2b')]!=='VIRTUAL'){var _0x47127c={};_0x47127c[_0x5e3e1b[_0xd776('0x27')]]={'$like':'%'+_0x4aae64[_0xd776('0x2f')][_0xd776('0x3c')]+'%'};return _0x47127c;}})});}_0x194cce=_[_0xd776('0x3b')]({},_0x194cce,_0x4aae64['options']);var _0x4e27eb={'where':_0x194cce[_0xd776('0x3a')]};return db[_0xd776('0x28')][_0xd776('0x1e')](_0x4e27eb)[_0xd776('0x22')](function(_0x5da589){_0x51977d[_0xd776('0x1e')]=_0x5da589;if(_0x4aae64['query'][_0xd776('0x3d')]){_0x194cce[_0xd776('0x3e')]=[{'all':!![]}];}return db[_0xd776('0x28')][_0xd776('0x3f')](_0x194cce);})[_0xd776('0x22')](function(_0x2f10e6){_0x51977d[_0xd776('0x40')]=_0x2f10e6;return _0x51977d;})[_0xd776('0x22')](respondWithFilteredResult(_0x4b1eaf,_0x194cce))[_0xd776('0x41')](handleError(_0x4b1eaf,null));};exports[_0xd776('0x42')]=function(_0x4c1417,_0x304c6f){var _0x2e6354={'raw':![],'where':{'id':_0x4c1417[_0xd776('0x43')]['id']}},_0x2a3edd={};_0x2a3edd['model']=_['keys'](db[_0xd776('0x28')][_0xd776('0x29')]);_0x2a3edd[_0xd776('0x2f')]=_[_0xd776('0x44')](_0x4c1417[_0xd776('0x2f')]);_0x2a3edd[_0xd776('0x39')]=_[_0xd776('0x31')](_0x2a3edd[_0xd776('0x2d')],_0x2a3edd['query']);_0x2e6354[_0xd776('0x30')]=_[_0xd776('0x31')](_0x2a3edd[_0xd776('0x2d')],qs[_0xd776('0x32')](_0x4c1417['query'][_0xd776('0x32')]));_0x2e6354['attributes']=_0x2e6354[_0xd776('0x30')]['length']?_0x2e6354['attributes']:_0x2a3edd[_0xd776('0x2d')];if(_0x4c1417[_0xd776('0x2f')]['includeAll']){_0x2e6354['include']=[{'all':!![]}];}_0x2e6354=_[_0xd776('0x3b')]({},_0x2e6354,_0x4c1417['options']);return db[_0xd776('0x28')][_0xd776('0x45')](_0x2e6354)[_0xd776('0x22')](handleEntityNotFound(_0x304c6f,null))[_0xd776('0x22')](respondWithResult(_0x304c6f,null))[_0xd776('0x41')](handleError(_0x304c6f,null));};exports[_0xd776('0x46')]=function(_0x1adaf4,_0x55dc9a){return db['SugarcrmConfiguration'][_0xd776('0x46')](_0x1adaf4['body'],{})[_0xd776('0x22')](respondWithResult(_0x55dc9a,0xc9))[_0xd776('0x41')](handleError(_0x55dc9a,null));};exports[_0xd776('0x21')]=function(_0x3ae872,_0x546a88){if(_0x3ae872[_0xd776('0x47')]['id']){delete _0x3ae872[_0xd776('0x47')]['id'];}return db['SugarcrmConfiguration'][_0xd776('0x45')]({'where':{'id':_0x3ae872[_0xd776('0x43')]['id']}})[_0xd776('0x22')](handleEntityNotFound(_0x546a88,null))['then'](saveUpdates(_0x3ae872[_0xd776('0x47')],null))[_0xd776('0x22')](respondWithResult(_0x546a88,null))[_0xd776('0x41')](handleError(_0x546a88,null));};exports[_0xd776('0x23')]=function(_0x56d22e,_0x10b482){return db[_0xd776('0x28')]['find']({'where':{'id':_0x56d22e[_0xd776('0x43')]['id']}})[_0xd776('0x22')](handleEntityNotFound(_0x10b482,null))[_0xd776('0x22')](removeEntity(_0x10b482,null))[_0xd776('0x41')](handleError(_0x10b482,null));};exports[_0xd776('0x48')]=function(_0x3a4f7c,_0xdceb17,_0x347e08){var _0x386d35={};var _0x14f1fe={};var _0x3dc27d;var _0x2e1cd1;return db[_0xd776('0x28')][_0xd776('0x49')]({'where':{'id':_0x3a4f7c[_0xd776('0x43')]['id']}})[_0xd776('0x22')](handleEntityNotFound(_0xdceb17,null))[_0xd776('0x22')](function(_0x4a2300){if(_0x4a2300){_0x3dc27d=_0x4a2300;_0x14f1fe[_0xd776('0x2d')]=_[_0xd776('0x44')](db[_0xd776('0x4a')][_0xd776('0x29')]);_0x14f1fe[_0xd776('0x2f')]=_[_0xd776('0x44')](_0x3a4f7c['query']);_0x14f1fe[_0xd776('0x39')]=_[_0xd776('0x31')](_0x14f1fe[_0xd776('0x2d')],_0x14f1fe[_0xd776('0x2f')]);_0x386d35[_0xd776('0x30')]=_[_0xd776('0x31')](_0x14f1fe[_0xd776('0x2d')],qs[_0xd776('0x32')](_0x3a4f7c[_0xd776('0x2f')][_0xd776('0x32')]));_0x386d35['attributes']=_0x386d35[_0xd776('0x30')]['length']?_0x386d35['attributes']:_0x14f1fe[_0xd776('0x2d')];_0x386d35[_0xd776('0x36')]=qs[_0xd776('0x37')](_0x3a4f7c['query'][_0xd776('0x37')]);_0x386d35['where']=qs[_0xd776('0x39')](_['pick'](_0x3a4f7c[_0xd776('0x2f')],_0x14f1fe['filters']));if(_0x3a4f7c[_0xd776('0x2f')]['filter']){_0x386d35[_0xd776('0x3a')]=_[_0xd776('0x3b')](_0x386d35[_0xd776('0x3a')],{'$or':_[_0xd776('0x2e')](_0x386d35['attributes'],function(_0x31d2a2){var _0x502ad3={};_0x502ad3[_0x31d2a2]={'$like':'%'+_0x3a4f7c[_0xd776('0x2f')]['filter']+'%'};return _0x502ad3;})});}_0x386d35=_[_0xd776('0x3b')]({},_0x386d35,_0x3a4f7c[_0xd776('0x4b')]);return _0x3dc27d['getFields'](_0x386d35);}})[_0xd776('0x22')](function(_0x44173c){if(_0x44173c){_0x2e1cd1=_0x44173c[_0xd776('0x33')];if(!_0x3a4f7c[_0xd776('0x2f')][_0xd776('0x34')](_0xd776('0x35'))){_0x386d35['limit']=qs[_0xd776('0x1d')](_0x3a4f7c['query']['limit']);_0x386d35['offset']=qs[_0xd776('0x1b')](_0x3a4f7c[_0xd776('0x2f')][_0xd776('0x1b')]);}return _0x3dc27d[_0xd776('0x48')](_0x386d35);}})['then'](function(_0x67eb78){if(_0x67eb78){return _0x67eb78?{'count':_0x2e1cd1,'rows':_0x67eb78}:null;}})[_0xd776('0x22')](respondWithResult(_0xdceb17,null))[_0xd776('0x41')](handleError(_0xdceb17,null));};exports[_0xd776('0x4c')]=function(_0x1c3080,_0x33750e,_0x44884f){var _0x2d3c10={};var _0x19ca9b={};var _0x247431;var _0x2bd748;return db[_0xd776('0x28')][_0xd776('0x49')]({'where':{'id':_0x1c3080[_0xd776('0x43')]['id']}})[_0xd776('0x22')](handleEntityNotFound(_0x33750e,null))['then'](function(_0x2970ba){if(_0x2970ba){_0x247431=_0x2970ba;_0x19ca9b['model']=_[_0xd776('0x44')](db[_0xd776('0x4a')][_0xd776('0x29')]);_0x19ca9b[_0xd776('0x2f')]=_[_0xd776('0x44')](_0x1c3080[_0xd776('0x2f')]);_0x19ca9b[_0xd776('0x39')]=_['intersection'](_0x19ca9b['model'],_0x19ca9b[_0xd776('0x2f')]);_0x2d3c10[_0xd776('0x30')]=_[_0xd776('0x31')](_0x19ca9b[_0xd776('0x2d')],qs[_0xd776('0x32')](_0x1c3080['query'][_0xd776('0x32')]));_0x2d3c10[_0xd776('0x30')]=_0x2d3c10[_0xd776('0x30')]['length']?_0x2d3c10['attributes']:_0x19ca9b[_0xd776('0x2d')];_0x2d3c10['order']=qs['sort'](_0x1c3080[_0xd776('0x2f')][_0xd776('0x37')]);_0x2d3c10[_0xd776('0x3a')]=qs['filters'](_[_0xd776('0x38')](_0x1c3080[_0xd776('0x2f')],_0x19ca9b[_0xd776('0x39')]));if(_0x1c3080[_0xd776('0x2f')][_0xd776('0x3c')]){_0x2d3c10[_0xd776('0x3a')]=_['merge'](_0x2d3c10['where'],{'$or':_[_0xd776('0x2e')](_0x2d3c10[_0xd776('0x30')],function(_0xfd6114){var _0x47b37e={};_0x47b37e[_0xfd6114]={'$like':'%'+_0x1c3080[_0xd776('0x2f')][_0xd776('0x3c')]+'%'};return _0x47b37e;})});}_0x2d3c10=_[_0xd776('0x3b')]({},_0x2d3c10,_0x1c3080[_0xd776('0x4b')]);return _0x247431[_0xd776('0x4c')](_0x2d3c10);}})['then'](function(_0x56b204){if(_0x56b204){_0x2bd748=_0x56b204[_0xd776('0x33')];if(!_0x1c3080[_0xd776('0x2f')]['hasOwnProperty'](_0xd776('0x35'))){_0x2d3c10[_0xd776('0x1d')]=qs[_0xd776('0x1d')](_0x1c3080['query']['limit']);_0x2d3c10[_0xd776('0x1b')]=qs[_0xd776('0x1b')](_0x1c3080[_0xd776('0x2f')]['offset']);}return _0x247431[_0xd776('0x4c')](_0x2d3c10);}})[_0xd776('0x22')](function(_0x7c0cbf){if(_0x7c0cbf){return _0x7c0cbf?{'count':_0x2bd748,'rows':_0x7c0cbf}:null;}})[_0xd776('0x22')](respondWithResult(_0x33750e,null))['catch'](handleError(_0x33750e,null));};exports[_0xd776('0x4d')]=function(_0x320273,_0x602896,_0xb741a9){var _0x3f8182={};var _0x40c802={};var _0x52a6e0;var _0x2ff732;return db['SugarcrmConfiguration'][_0xd776('0x49')]({'where':{'id':_0x320273[_0xd776('0x43')]['id']}})[_0xd776('0x22')](handleEntityNotFound(_0x602896,null))[_0xd776('0x22')](function(_0x41a3d8){if(_0x41a3d8){_0x52a6e0=_0x41a3d8;_0x40c802[_0xd776('0x2d')]=_[_0xd776('0x44')](db[_0xd776('0x4a')][_0xd776('0x29')]);_0x40c802[_0xd776('0x2f')]=_['keys'](_0x320273['query']);_0x40c802[_0xd776('0x39')]=_[_0xd776('0x31')](_0x40c802[_0xd776('0x2d')],_0x40c802[_0xd776('0x2f')]);_0x3f8182['attributes']=_[_0xd776('0x31')](_0x40c802['model'],qs['fields'](_0x320273[_0xd776('0x2f')][_0xd776('0x32')]));_0x3f8182[_0xd776('0x30')]=_0x3f8182[_0xd776('0x30')][_0xd776('0x33')]?_0x3f8182['attributes']:_0x40c802[_0xd776('0x2d')];_0x3f8182['order']=qs['sort'](_0x320273[_0xd776('0x2f')][_0xd776('0x37')]);_0x3f8182[_0xd776('0x3a')]=qs[_0xd776('0x39')](_[_0xd776('0x38')](_0x320273[_0xd776('0x2f')],_0x40c802[_0xd776('0x39')]));if(_0x320273[_0xd776('0x2f')]['filter']){_0x3f8182[_0xd776('0x3a')]=_[_0xd776('0x3b')](_0x3f8182[_0xd776('0x3a')],{'$or':_['map'](_0x3f8182['attributes'],function(_0x3833d1){var _0xbfef26={};_0xbfef26[_0x3833d1]={'$like':'%'+_0x320273['query'][_0xd776('0x3c')]+'%'};return _0xbfef26;})});}_0x3f8182=_[_0xd776('0x3b')]({},_0x3f8182,_0x320273[_0xd776('0x4b')]);return _0x52a6e0[_0xd776('0x4d')](_0x3f8182);}})['then'](function(_0x568b3e){if(_0x568b3e){_0x2ff732=_0x568b3e[_0xd776('0x33')];if(!_0x320273[_0xd776('0x2f')][_0xd776('0x34')](_0xd776('0x35'))){_0x3f8182['limit']=qs[_0xd776('0x1d')](_0x320273[_0xd776('0x2f')]['limit']);_0x3f8182[_0xd776('0x1b')]=qs[_0xd776('0x1b')](_0x320273[_0xd776('0x2f')][_0xd776('0x1b')]);}return _0x52a6e0[_0xd776('0x4d')](_0x3f8182);}})[_0xd776('0x22')](function(_0x295dfc){if(_0x295dfc){return _0x295dfc?{'count':_0x2ff732,'rows':_0x295dfc}:null;}})['then'](respondWithResult(_0x602896,null))[_0xd776('0x41')](handleError(_0x602896,null));};