fc2eeb4ef6201467e81cfe0962293a23abb43a06
[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 _0xaba3=['rawAttributes','fieldName','type','key','model','filters','intersection','attributes','fields','query','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','then','includeAll','findAll','catch','show','params','keys','find','create','body','getFields','findOne','getSubjects','SugarcrmField','getDescriptions','eml-format','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','apply','save','update','destroy','sendStatus','error','stack','name','index','map','SugarcrmConfiguration'];(function(_0x43605a,_0x3f3f4c){var _0x5a6b8b=function(_0x1f1948){while(--_0x1f1948){_0x43605a['push'](_0x43605a['shift']());}};_0x5a6b8b(++_0x3f3f4c);}(_0xaba3,0x72));var _0x3aba=function(_0xef4cf0,_0x16c9c3){_0xef4cf0=_0xef4cf0-0x0;var _0x497ad2=_0xaba3[_0xef4cf0];return _0x497ad2;};'use strict';var emlformat=require(_0x3aba('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x3aba('0x1'));var rp=require(_0x3aba('0x2'));var moment=require('moment');var BPromise=require(_0x3aba('0x3'));var Mustache=require(_0x3aba('0x4'));var util=require(_0x3aba('0x5'));var path=require('path');var sox=require(_0x3aba('0x6'));var csv=require(_0x3aba('0x7'));var ejs=require(_0x3aba('0x8'));var fs=require('fs');var fs_extra=require(_0x3aba('0x9'));var _=require('lodash');var squel=require(_0x3aba('0xa'));var crypto=require(_0x3aba('0xb'));var jsforce=require(_0x3aba('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x3aba('0xd'));var authService=require(_0x3aba('0xe'));var qs=require(_0x3aba('0xf'));var as=require(_0x3aba('0x10'));var hardwareService=require(_0x3aba('0x11'));var logger=require('../../config/logger')(_0x3aba('0x12'));var utils=require(_0x3aba('0x13'));var config=require(_0x3aba('0x14'));var licenseUtil=require(_0x3aba('0x15'));var db=require(_0x3aba('0x16'))['db'];function respondWithStatusCode(_0x1b2d8c,_0x5c3081){_0x5c3081=_0x5c3081||0xcc;return function(_0x4fea21){if(_0x4fea21){return _0x1b2d8c['sendStatus'](_0x5c3081);}return _0x1b2d8c[_0x3aba('0x17')](_0x5c3081)[_0x3aba('0x18')]();};}function respondWithResult(_0xa80c11,_0x283ebd){_0x283ebd=_0x283ebd||0xc8;return function(_0x1a5c17){if(_0x1a5c17){return _0xa80c11[_0x3aba('0x17')](_0x283ebd)[_0x3aba('0x19')](_0x1a5c17);}};}function respondWithFilteredResult(_0xc2ffc2,_0xc245f9){return function(_0x7945e5){if(_0x7945e5){var _0x6f1e93=typeof _0xc245f9[_0x3aba('0x1a')]===_0x3aba('0x1b')&&typeof _0xc245f9[_0x3aba('0x1c')]===_0x3aba('0x1b');var _0x5f49e4=_0x7945e5['count'];var _0x212f4c=_0x6f1e93?0x0:_0xc245f9['offset'];var _0x3dd722=_0x6f1e93?_0x7945e5[_0x3aba('0x1d')]:_0xc245f9[_0x3aba('0x1a')]+_0xc245f9['limit'];var _0x1293ec;if(_0x3dd722>=_0x5f49e4){_0x3dd722=_0x5f49e4;_0x1293ec=0xc8;}else{_0x1293ec=0xce;}_0xc2ffc2['status'](_0x1293ec);return _0xc2ffc2['set'](_0x3aba('0x1e'),_0x212f4c+'-'+_0x3dd722+'/'+_0x5f49e4)[_0x3aba('0x19')](_0x7945e5);}return null;};}function patchUpdates(_0x3f9b78){return function(_0x28a99d){try{jsonpatch[_0x3aba('0x1f')](_0x28a99d,_0x3f9b78,!![]);}catch(_0xf0efaa){return BPromise['reject'](_0xf0efaa);}return _0x28a99d[_0x3aba('0x20')]();};}function saveUpdates(_0x1e513f,_0x44512c){return function(_0x552f11){if(_0x552f11){return _0x552f11[_0x3aba('0x21')](_0x1e513f)['then'](function(_0x38d66c){return _0x38d66c;});}return null;};}function removeEntity(_0x2a9944,_0x1435e2){return function(_0x52c3f1){if(_0x52c3f1){return _0x52c3f1[_0x3aba('0x22')]()['then'](function(){_0x2a9944[_0x3aba('0x17')](0xcc)[_0x3aba('0x18')]();});}};}function handleEntityNotFound(_0x29a4a6,_0x41033f){return function(_0x13c9ef){if(!_0x13c9ef){_0x29a4a6[_0x3aba('0x23')](0x194);}return _0x13c9ef;};}function handleError(_0x5e6c62,_0x1f409a){_0x1f409a=_0x1f409a||0x1f4;return function(_0x176537){logger[_0x3aba('0x24')](_0x176537[_0x3aba('0x25')]);if(_0x176537['name']){delete _0x176537[_0x3aba('0x26')];}_0x5e6c62[_0x3aba('0x17')](_0x1f409a)['send'](_0x176537);};}exports[_0x3aba('0x27')]=function(_0x3a0725,_0x1f5416){var _0x26db2c={},_0x50a695={},_0x475eac={'count':0x0,'rows':[]};var _0x280653=_[_0x3aba('0x28')](db[_0x3aba('0x29')][_0x3aba('0x2a')],function(_0x43d6c5){return{'name':_0x43d6c5[_0x3aba('0x2b')],'type':_0x43d6c5[_0x3aba('0x2c')][_0x3aba('0x2d')]};});_0x50a695[_0x3aba('0x2e')]=_[_0x3aba('0x28')](_0x280653,'name');_0x50a695['query']=_['keys'](_0x3a0725['query']);_0x50a695[_0x3aba('0x2f')]=_[_0x3aba('0x30')](_0x50a695[_0x3aba('0x2e')],_0x50a695['query']);_0x26db2c[_0x3aba('0x31')]=_[_0x3aba('0x30')](_0x50a695[_0x3aba('0x2e')],qs[_0x3aba('0x32')](_0x3a0725[_0x3aba('0x33')][_0x3aba('0x32')]));_0x26db2c[_0x3aba('0x31')]=_0x26db2c[_0x3aba('0x31')][_0x3aba('0x34')]?_0x26db2c[_0x3aba('0x31')]:_0x50a695[_0x3aba('0x2e')];if(!_0x3a0725[_0x3aba('0x33')][_0x3aba('0x35')](_0x3aba('0x36'))){_0x26db2c[_0x3aba('0x1c')]=qs[_0x3aba('0x1c')](_0x3a0725['query'][_0x3aba('0x1c')]);_0x26db2c[_0x3aba('0x1a')]=qs[_0x3aba('0x1a')](_0x3a0725['query'][_0x3aba('0x1a')]);}_0x26db2c[_0x3aba('0x37')]=qs[_0x3aba('0x38')](_0x3a0725[_0x3aba('0x33')][_0x3aba('0x38')]);_0x26db2c[_0x3aba('0x39')]=qs[_0x3aba('0x2f')](_[_0x3aba('0x3a')](_0x3a0725['query'],_0x50a695[_0x3aba('0x2f')]),_0x280653);if(_0x3a0725[_0x3aba('0x33')][_0x3aba('0x3b')]){_0x26db2c[_0x3aba('0x39')]=_[_0x3aba('0x3c')](_0x26db2c[_0x3aba('0x39')],{'$or':_[_0x3aba('0x28')](_0x280653,function(_0x214c1b){if(_0x214c1b[_0x3aba('0x2c')]!==_0x3aba('0x3d')){var _0x33c877={};_0x33c877[_0x214c1b['name']]={'$like':'%'+_0x3a0725[_0x3aba('0x33')][_0x3aba('0x3b')]+'%'};return _0x33c877;}})});}_0x26db2c=_[_0x3aba('0x3c')]({},_0x26db2c,_0x3a0725[_0x3aba('0x3e')]);var _0x17a785={'where':_0x26db2c[_0x3aba('0x39')]};return db[_0x3aba('0x29')]['count'](_0x17a785)[_0x3aba('0x3f')](function(_0x24a6dd){_0x475eac['count']=_0x24a6dd;if(_0x3a0725['query'][_0x3aba('0x40')]){_0x26db2c['include']=[{'all':!![]}];}return db[_0x3aba('0x29')][_0x3aba('0x41')](_0x26db2c);})['then'](function(_0x3486d6){_0x475eac['rows']=_0x3486d6;return _0x475eac;})[_0x3aba('0x3f')](respondWithFilteredResult(_0x1f5416,_0x26db2c))[_0x3aba('0x42')](handleError(_0x1f5416,null));};exports[_0x3aba('0x43')]=function(_0xff788c,_0x5b6b38){var _0xd91efa={'raw':![],'where':{'id':_0xff788c[_0x3aba('0x44')]['id']}},_0x58155e={};_0x58155e[_0x3aba('0x2e')]=_[_0x3aba('0x45')](db[_0x3aba('0x29')][_0x3aba('0x2a')]);_0x58155e[_0x3aba('0x33')]=_['keys'](_0xff788c[_0x3aba('0x33')]);_0x58155e[_0x3aba('0x2f')]=_[_0x3aba('0x30')](_0x58155e[_0x3aba('0x2e')],_0x58155e[_0x3aba('0x33')]);_0xd91efa[_0x3aba('0x31')]=_[_0x3aba('0x30')](_0x58155e[_0x3aba('0x2e')],qs[_0x3aba('0x32')](_0xff788c['query'][_0x3aba('0x32')]));_0xd91efa[_0x3aba('0x31')]=_0xd91efa[_0x3aba('0x31')]['length']?_0xd91efa[_0x3aba('0x31')]:_0x58155e['model'];if(_0xff788c['query']['includeAll']){_0xd91efa['include']=[{'all':!![]}];}_0xd91efa=_[_0x3aba('0x3c')]({},_0xd91efa,_0xff788c[_0x3aba('0x3e')]);return db[_0x3aba('0x29')][_0x3aba('0x46')](_0xd91efa)[_0x3aba('0x3f')](handleEntityNotFound(_0x5b6b38,null))['then'](respondWithResult(_0x5b6b38,null))['catch'](handleError(_0x5b6b38,null));};exports[_0x3aba('0x47')]=function(_0x5055aa,_0x564e4d){return db[_0x3aba('0x29')][_0x3aba('0x47')](_0x5055aa['body'],{})[_0x3aba('0x3f')](respondWithResult(_0x564e4d,0xc9))[_0x3aba('0x42')](handleError(_0x564e4d,null));};exports[_0x3aba('0x21')]=function(_0x49b47a,_0x7db98c){if(_0x49b47a['body']['id']){delete _0x49b47a[_0x3aba('0x48')]['id'];}return db[_0x3aba('0x29')][_0x3aba('0x46')]({'where':{'id':_0x49b47a[_0x3aba('0x44')]['id']}})['then'](handleEntityNotFound(_0x7db98c,null))[_0x3aba('0x3f')](saveUpdates(_0x49b47a['body'],null))[_0x3aba('0x3f')](respondWithResult(_0x7db98c,null))[_0x3aba('0x42')](handleError(_0x7db98c,null));};exports[_0x3aba('0x22')]=function(_0x38e32b,_0x3f8827){return db['SugarcrmConfiguration']['find']({'where':{'id':_0x38e32b[_0x3aba('0x44')]['id']}})[_0x3aba('0x3f')](handleEntityNotFound(_0x3f8827,null))[_0x3aba('0x3f')](removeEntity(_0x3f8827,null))[_0x3aba('0x42')](handleError(_0x3f8827,null));};exports[_0x3aba('0x49')]=function(_0x4ccc27,_0xa7064b,_0x3d9207){var _0xe5b2d6={};var _0x173ca5={};var _0x5f2372;var _0x2623a6;return db['SugarcrmConfiguration'][_0x3aba('0x4a')]({'where':{'id':_0x4ccc27[_0x3aba('0x44')]['id']}})[_0x3aba('0x3f')](handleEntityNotFound(_0xa7064b,null))[_0x3aba('0x3f')](function(_0x40263b){if(_0x40263b){_0x5f2372=_0x40263b;_0x173ca5[_0x3aba('0x2e')]=_[_0x3aba('0x45')](db['SugarcrmField'][_0x3aba('0x2a')]);_0x173ca5[_0x3aba('0x33')]=_[_0x3aba('0x45')](_0x4ccc27[_0x3aba('0x33')]);_0x173ca5[_0x3aba('0x2f')]=_[_0x3aba('0x30')](_0x173ca5[_0x3aba('0x2e')],_0x173ca5[_0x3aba('0x33')]);_0xe5b2d6[_0x3aba('0x31')]=_[_0x3aba('0x30')](_0x173ca5[_0x3aba('0x2e')],qs['fields'](_0x4ccc27[_0x3aba('0x33')]['fields']));_0xe5b2d6['attributes']=_0xe5b2d6['attributes']['length']?_0xe5b2d6['attributes']:_0x173ca5[_0x3aba('0x2e')];_0xe5b2d6[_0x3aba('0x37')]=qs[_0x3aba('0x38')](_0x4ccc27[_0x3aba('0x33')][_0x3aba('0x38')]);_0xe5b2d6['where']=qs[_0x3aba('0x2f')](_[_0x3aba('0x3a')](_0x4ccc27[_0x3aba('0x33')],_0x173ca5['filters']));if(_0x4ccc27['query'][_0x3aba('0x3b')]){_0xe5b2d6[_0x3aba('0x39')]=_[_0x3aba('0x3c')](_0xe5b2d6[_0x3aba('0x39')],{'$or':_[_0x3aba('0x28')](_0xe5b2d6[_0x3aba('0x31')],function(_0x27800d){var _0x23d546={};_0x23d546[_0x27800d]={'$like':'%'+_0x4ccc27[_0x3aba('0x33')][_0x3aba('0x3b')]+'%'};return _0x23d546;})});}_0xe5b2d6=_['merge']({},_0xe5b2d6,_0x4ccc27[_0x3aba('0x3e')]);return _0x5f2372[_0x3aba('0x49')](_0xe5b2d6);}})[_0x3aba('0x3f')](function(_0x56d93d){if(_0x56d93d){_0x2623a6=_0x56d93d[_0x3aba('0x34')];if(!_0x4ccc27['query'][_0x3aba('0x35')](_0x3aba('0x36'))){_0xe5b2d6[_0x3aba('0x1c')]=qs['limit'](_0x4ccc27['query']['limit']);_0xe5b2d6['offset']=qs[_0x3aba('0x1a')](_0x4ccc27[_0x3aba('0x33')][_0x3aba('0x1a')]);}return _0x5f2372[_0x3aba('0x49')](_0xe5b2d6);}})[_0x3aba('0x3f')](function(_0x105b30){if(_0x105b30){return _0x105b30?{'count':_0x2623a6,'rows':_0x105b30}:null;}})[_0x3aba('0x3f')](respondWithResult(_0xa7064b,null))[_0x3aba('0x42')](handleError(_0xa7064b,null));};exports[_0x3aba('0x4b')]=function(_0x445606,_0x75b3fd,_0x3113b6){var _0x293ed8={};var _0x4ab4df={};var _0x1838df;var _0xb88b0a;return db[_0x3aba('0x29')][_0x3aba('0x4a')]({'where':{'id':_0x445606[_0x3aba('0x44')]['id']}})[_0x3aba('0x3f')](handleEntityNotFound(_0x75b3fd,null))['then'](function(_0x46fdba){if(_0x46fdba){_0x1838df=_0x46fdba;_0x4ab4df['model']=_[_0x3aba('0x45')](db[_0x3aba('0x4c')][_0x3aba('0x2a')]);_0x4ab4df[_0x3aba('0x33')]=_[_0x3aba('0x45')](_0x445606[_0x3aba('0x33')]);_0x4ab4df[_0x3aba('0x2f')]=_[_0x3aba('0x30')](_0x4ab4df[_0x3aba('0x2e')],_0x4ab4df[_0x3aba('0x33')]);_0x293ed8['attributes']=_['intersection'](_0x4ab4df[_0x3aba('0x2e')],qs[_0x3aba('0x32')](_0x445606[_0x3aba('0x33')]['fields']));_0x293ed8['attributes']=_0x293ed8[_0x3aba('0x31')]['length']?_0x293ed8[_0x3aba('0x31')]:_0x4ab4df[_0x3aba('0x2e')];_0x293ed8['order']=qs[_0x3aba('0x38')](_0x445606[_0x3aba('0x33')]['sort']);_0x293ed8['where']=qs['filters'](_['pick'](_0x445606[_0x3aba('0x33')],_0x4ab4df[_0x3aba('0x2f')]));if(_0x445606['query'][_0x3aba('0x3b')]){_0x293ed8[_0x3aba('0x39')]=_['merge'](_0x293ed8[_0x3aba('0x39')],{'$or':_[_0x3aba('0x28')](_0x293ed8[_0x3aba('0x31')],function(_0x1ef369){var _0x15d088={};_0x15d088[_0x1ef369]={'$like':'%'+_0x445606['query'][_0x3aba('0x3b')]+'%'};return _0x15d088;})});}_0x293ed8=_['merge']({},_0x293ed8,_0x445606[_0x3aba('0x3e')]);return _0x1838df[_0x3aba('0x4b')](_0x293ed8);}})[_0x3aba('0x3f')](function(_0x240589){if(_0x240589){_0xb88b0a=_0x240589[_0x3aba('0x34')];if(!_0x445606[_0x3aba('0x33')][_0x3aba('0x35')](_0x3aba('0x36'))){_0x293ed8[_0x3aba('0x1c')]=qs[_0x3aba('0x1c')](_0x445606['query'][_0x3aba('0x1c')]);_0x293ed8['offset']=qs['offset'](_0x445606['query'][_0x3aba('0x1a')]);}return _0x1838df[_0x3aba('0x4b')](_0x293ed8);}})[_0x3aba('0x3f')](function(_0x3e2c5f){if(_0x3e2c5f){return _0x3e2c5f?{'count':_0xb88b0a,'rows':_0x3e2c5f}:null;}})[_0x3aba('0x3f')](respondWithResult(_0x75b3fd,null))['catch'](handleError(_0x75b3fd,null));};exports[_0x3aba('0x4d')]=function(_0x570cf5,_0x586619,_0x303107){var _0x369572={};var _0x20802d={};var _0x589ee1;var _0x59320e;return db[_0x3aba('0x29')][_0x3aba('0x4a')]({'where':{'id':_0x570cf5[_0x3aba('0x44')]['id']}})[_0x3aba('0x3f')](handleEntityNotFound(_0x586619,null))[_0x3aba('0x3f')](function(_0x3f7f9a){if(_0x3f7f9a){_0x589ee1=_0x3f7f9a;_0x20802d[_0x3aba('0x2e')]=_[_0x3aba('0x45')](db['SugarcrmField'][_0x3aba('0x2a')]);_0x20802d[_0x3aba('0x33')]=_['keys'](_0x570cf5[_0x3aba('0x33')]);_0x20802d['filters']=_[_0x3aba('0x30')](_0x20802d[_0x3aba('0x2e')],_0x20802d['query']);_0x369572[_0x3aba('0x31')]=_[_0x3aba('0x30')](_0x20802d['model'],qs[_0x3aba('0x32')](_0x570cf5[_0x3aba('0x33')][_0x3aba('0x32')]));_0x369572[_0x3aba('0x31')]=_0x369572['attributes'][_0x3aba('0x34')]?_0x369572[_0x3aba('0x31')]:_0x20802d[_0x3aba('0x2e')];_0x369572[_0x3aba('0x37')]=qs[_0x3aba('0x38')](_0x570cf5[_0x3aba('0x33')]['sort']);_0x369572[_0x3aba('0x39')]=qs[_0x3aba('0x2f')](_[_0x3aba('0x3a')](_0x570cf5['query'],_0x20802d['filters']));if(_0x570cf5[_0x3aba('0x33')][_0x3aba('0x3b')]){_0x369572[_0x3aba('0x39')]=_[_0x3aba('0x3c')](_0x369572[_0x3aba('0x39')],{'$or':_[_0x3aba('0x28')](_0x369572['attributes'],function(_0x1b0335){var _0x1b4268={};_0x1b4268[_0x1b0335]={'$like':'%'+_0x570cf5['query'][_0x3aba('0x3b')]+'%'};return _0x1b4268;})});}_0x369572=_['merge']({},_0x369572,_0x570cf5['options']);return _0x589ee1[_0x3aba('0x4d')](_0x369572);}})['then'](function(_0x4038cc){if(_0x4038cc){_0x59320e=_0x4038cc['length'];if(!_0x570cf5[_0x3aba('0x33')]['hasOwnProperty'](_0x3aba('0x36'))){_0x369572['limit']=qs[_0x3aba('0x1c')](_0x570cf5[_0x3aba('0x33')][_0x3aba('0x1c')]);_0x369572[_0x3aba('0x1a')]=qs[_0x3aba('0x1a')](_0x570cf5[_0x3aba('0x33')][_0x3aba('0x1a')]);}return _0x589ee1['getDescriptions'](_0x369572);}})[_0x3aba('0x3f')](function(_0x3128cd){if(_0x3128cd){return _0x3128cd?{'count':_0x59320e,'rows':_0x3128cd}:null;}})[_0x3aba('0x3f')](respondWithResult(_0x586619,null))[_0x3aba('0x42')](handleError(_0x586619,null));};