Built motion from commit 9b156c94.|2.6.22
[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 _0xcb56=['offset','undefined','limit','count','set','Content-Range','reject','update','then','destroy','error','stack','name','send','index','SugarcrmConfiguration','fieldName','type','key','map','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','merge','where','VIRTUAL','includeAll','include','findAll','show','params','keys','options','catch','create','body','find','getFields','findOne','SugarcrmField','rawAttributes','nolimit','getSubjects','getDescriptions','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json'];(function(_0xdad196,_0x82ecac){var _0x594247=function(_0x158bbc){while(--_0x158bbc){_0xdad196['push'](_0xdad196['shift']());}};_0x594247(++_0x82ecac);}(_0xcb56,0x1ca));var _0x6cb5=function(_0x53d709,_0x1906f6){_0x53d709=_0x53d709-0x0;var _0xc1f741=_0xcb56[_0x53d709];return _0xc1f741;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6cb5('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6cb5('0x1'));var rp=require(_0x6cb5('0x2'));var moment=require('moment');var BPromise=require(_0x6cb5('0x3'));var Mustache=require(_0x6cb5('0x4'));var util=require(_0x6cb5('0x5'));var path=require(_0x6cb5('0x6'));var sox=require(_0x6cb5('0x7'));var csv=require(_0x6cb5('0x8'));var ejs=require(_0x6cb5('0x9'));var fs=require('fs');var fs_extra=require(_0x6cb5('0xa'));var _=require(_0x6cb5('0xb'));var squel=require(_0x6cb5('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x6cb5('0xd'));var toCsv=require(_0x6cb5('0x8'));var querystring=require(_0x6cb5('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x6cb5('0xf'));var qs=require(_0x6cb5('0x10'));var as=require(_0x6cb5('0x11'));var hardwareService=require(_0x6cb5('0x12'));var logger=require(_0x6cb5('0x13'))(_0x6cb5('0x14'));var utils=require(_0x6cb5('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x6cb5('0x16'));var db=require(_0x6cb5('0x17'))['db'];function respondWithStatusCode(_0x2ca221,_0xba2647){_0xba2647=_0xba2647||0xcc;return function(_0xb18aa0){if(_0xb18aa0){return _0x2ca221[_0x6cb5('0x18')](_0xba2647);}return _0x2ca221[_0x6cb5('0x19')](_0xba2647)[_0x6cb5('0x1a')]();};}function respondWithResult(_0x52215f,_0x3faf57){_0x3faf57=_0x3faf57||0xc8;return function(_0x5d1efc){if(_0x5d1efc){return _0x52215f[_0x6cb5('0x19')](_0x3faf57)[_0x6cb5('0x1b')](_0x5d1efc);}};}function respondWithFilteredResult(_0x1ed1f8,_0x48e6ff){return function(_0x1ed466){if(_0x1ed466){var _0x90ec12=typeof _0x48e6ff[_0x6cb5('0x1c')]===_0x6cb5('0x1d')&&typeof _0x48e6ff[_0x6cb5('0x1e')]===_0x6cb5('0x1d');var _0x3fae1f=_0x1ed466[_0x6cb5('0x1f')];var _0x596e3e=_0x90ec12?0x0:_0x48e6ff[_0x6cb5('0x1c')];var _0x26166b=_0x90ec12?_0x1ed466[_0x6cb5('0x1f')]:_0x48e6ff[_0x6cb5('0x1c')]+_0x48e6ff[_0x6cb5('0x1e')];var _0x5dd619;if(_0x26166b>=_0x3fae1f){_0x26166b=_0x3fae1f;_0x5dd619=0xc8;}else{_0x5dd619=0xce;}_0x1ed1f8[_0x6cb5('0x19')](_0x5dd619);return _0x1ed1f8[_0x6cb5('0x20')](_0x6cb5('0x21'),_0x596e3e+'-'+_0x26166b+'/'+_0x3fae1f)[_0x6cb5('0x1b')](_0x1ed466);}return null;};}function patchUpdates(_0x4a8c03){return function(_0x32532b){try{jsonpatch['apply'](_0x32532b,_0x4a8c03,!![]);}catch(_0x50c586){return BPromise[_0x6cb5('0x22')](_0x50c586);}return _0x32532b['save']();};}function saveUpdates(_0x5738ea,_0x35cbf7){return function(_0x5ab31b){if(_0x5ab31b){return _0x5ab31b[_0x6cb5('0x23')](_0x5738ea)[_0x6cb5('0x24')](function(_0x31f078){return _0x31f078;});}return null;};}function removeEntity(_0x16d107,_0x17fabb){return function(_0x574453){if(_0x574453){return _0x574453[_0x6cb5('0x25')]()[_0x6cb5('0x24')](function(){_0x16d107['status'](0xcc)[_0x6cb5('0x1a')]();});}};}function handleEntityNotFound(_0x42e617,_0x3ebdee){return function(_0x5450dd){if(!_0x5450dd){_0x42e617[_0x6cb5('0x18')](0x194);}return _0x5450dd;};}function handleError(_0x3f1518,_0x3e4a35){_0x3e4a35=_0x3e4a35||0x1f4;return function(_0x54aab1){logger[_0x6cb5('0x26')](_0x54aab1[_0x6cb5('0x27')]);if(_0x54aab1[_0x6cb5('0x28')]){delete _0x54aab1[_0x6cb5('0x28')];}_0x3f1518[_0x6cb5('0x19')](_0x3e4a35)[_0x6cb5('0x29')](_0x54aab1);};}exports[_0x6cb5('0x2a')]=function(_0xae6565,_0x33877e){var _0x5d9ea4={},_0x2f8948={},_0xe54d9d={'count':0x0,'rows':[]};var _0x5aa126=_['map'](db[_0x6cb5('0x2b')]['rawAttributes'],function(_0x55f980){return{'name':_0x55f980[_0x6cb5('0x2c')],'type':_0x55f980[_0x6cb5('0x2d')][_0x6cb5('0x2e')]};});_0x2f8948['model']=_[_0x6cb5('0x2f')](_0x5aa126,_0x6cb5('0x28'));_0x2f8948['query']=_['keys'](_0xae6565[_0x6cb5('0x30')]);_0x2f8948[_0x6cb5('0x31')]=_[_0x6cb5('0x32')](_0x2f8948[_0x6cb5('0x33')],_0x2f8948['query']);_0x5d9ea4[_0x6cb5('0x34')]=_[_0x6cb5('0x32')](_0x2f8948[_0x6cb5('0x33')],qs[_0x6cb5('0x35')](_0xae6565[_0x6cb5('0x30')][_0x6cb5('0x35')]));_0x5d9ea4['attributes']=_0x5d9ea4[_0x6cb5('0x34')][_0x6cb5('0x36')]?_0x5d9ea4[_0x6cb5('0x34')]:_0x2f8948[_0x6cb5('0x33')];if(!_0xae6565[_0x6cb5('0x30')][_0x6cb5('0x37')]('nolimit')){_0x5d9ea4[_0x6cb5('0x1e')]=qs['limit'](_0xae6565[_0x6cb5('0x30')][_0x6cb5('0x1e')]);_0x5d9ea4['offset']=qs['offset'](_0xae6565[_0x6cb5('0x30')]['offset']);}_0x5d9ea4[_0x6cb5('0x38')]=qs['sort'](_0xae6565[_0x6cb5('0x30')][_0x6cb5('0x39')]);_0x5d9ea4['where']=qs[_0x6cb5('0x31')](_[_0x6cb5('0x3a')](_0xae6565[_0x6cb5('0x30')],_0x2f8948[_0x6cb5('0x31')]),_0x5aa126);if(_0xae6565['query'][_0x6cb5('0x3b')]){_0x5d9ea4['where']=_[_0x6cb5('0x3c')](_0x5d9ea4[_0x6cb5('0x3d')],{'$or':_[_0x6cb5('0x2f')](_0x5aa126,function(_0x3cefcc){if(_0x3cefcc[_0x6cb5('0x2d')]!==_0x6cb5('0x3e')){var _0x9a6cb9={};_0x9a6cb9[_0x3cefcc['name']]={'$like':'%'+_0xae6565[_0x6cb5('0x30')][_0x6cb5('0x3b')]+'%'};return _0x9a6cb9;}})});}_0x5d9ea4=_[_0x6cb5('0x3c')]({},_0x5d9ea4,_0xae6565['options']);var _0x2e3780={'where':_0x5d9ea4['where']};return db[_0x6cb5('0x2b')][_0x6cb5('0x1f')](_0x2e3780)[_0x6cb5('0x24')](function(_0x463497){_0xe54d9d['count']=_0x463497;if(_0xae6565['query'][_0x6cb5('0x3f')]){_0x5d9ea4[_0x6cb5('0x40')]=[{'all':!![]}];}return db['SugarcrmConfiguration'][_0x6cb5('0x41')](_0x5d9ea4);})[_0x6cb5('0x24')](function(_0x57878a){_0xe54d9d['rows']=_0x57878a;return _0xe54d9d;})[_0x6cb5('0x24')](respondWithFilteredResult(_0x33877e,_0x5d9ea4))['catch'](handleError(_0x33877e,null));};exports[_0x6cb5('0x42')]=function(_0x18360a,_0x190bad){var _0x21ab7a={'raw':![],'where':{'id':_0x18360a[_0x6cb5('0x43')]['id']}},_0x4f86d7={};_0x4f86d7['model']=_[_0x6cb5('0x44')](db[_0x6cb5('0x2b')]['rawAttributes']);_0x4f86d7[_0x6cb5('0x30')]=_[_0x6cb5('0x44')](_0x18360a[_0x6cb5('0x30')]);_0x4f86d7[_0x6cb5('0x31')]=_[_0x6cb5('0x32')](_0x4f86d7[_0x6cb5('0x33')],_0x4f86d7[_0x6cb5('0x30')]);_0x21ab7a[_0x6cb5('0x34')]=_['intersection'](_0x4f86d7[_0x6cb5('0x33')],qs[_0x6cb5('0x35')](_0x18360a[_0x6cb5('0x30')]['fields']));_0x21ab7a[_0x6cb5('0x34')]=_0x21ab7a['attributes']['length']?_0x21ab7a[_0x6cb5('0x34')]:_0x4f86d7['model'];if(_0x18360a[_0x6cb5('0x30')][_0x6cb5('0x3f')]){_0x21ab7a['include']=[{'all':!![]}];}_0x21ab7a=_[_0x6cb5('0x3c')]({},_0x21ab7a,_0x18360a[_0x6cb5('0x45')]);return db['SugarcrmConfiguration']['find'](_0x21ab7a)['then'](handleEntityNotFound(_0x190bad,null))[_0x6cb5('0x24')](respondWithResult(_0x190bad,null))[_0x6cb5('0x46')](handleError(_0x190bad,null));};exports[_0x6cb5('0x47')]=function(_0x5e7f33,_0x352c0b){return db[_0x6cb5('0x2b')][_0x6cb5('0x47')](_0x5e7f33['body'],{})[_0x6cb5('0x24')](respondWithResult(_0x352c0b,0xc9))['catch'](handleError(_0x352c0b,null));};exports[_0x6cb5('0x23')]=function(_0x552ee3,_0x28cbc9){if(_0x552ee3[_0x6cb5('0x48')]['id']){delete _0x552ee3[_0x6cb5('0x48')]['id'];}return db[_0x6cb5('0x2b')][_0x6cb5('0x49')]({'where':{'id':_0x552ee3[_0x6cb5('0x43')]['id']}})[_0x6cb5('0x24')](handleEntityNotFound(_0x28cbc9,null))[_0x6cb5('0x24')](saveUpdates(_0x552ee3['body'],null))[_0x6cb5('0x24')](respondWithResult(_0x28cbc9,null))[_0x6cb5('0x46')](handleError(_0x28cbc9,null));};exports[_0x6cb5('0x25')]=function(_0x304610,_0x22116e){return db[_0x6cb5('0x2b')][_0x6cb5('0x49')]({'where':{'id':_0x304610['params']['id']}})[_0x6cb5('0x24')](handleEntityNotFound(_0x22116e,null))[_0x6cb5('0x24')](removeEntity(_0x22116e,null))['catch'](handleError(_0x22116e,null));};exports[_0x6cb5('0x4a')]=function(_0x2fb212,_0x28f9d8,_0x26753b){var _0x4c4ca2={};var _0x4de7c5={};var _0x287dfa;var _0x5bb545;return db[_0x6cb5('0x2b')][_0x6cb5('0x4b')]({'where':{'id':_0x2fb212[_0x6cb5('0x43')]['id']}})[_0x6cb5('0x24')](handleEntityNotFound(_0x28f9d8,null))[_0x6cb5('0x24')](function(_0x2ebd54){if(_0x2ebd54){_0x287dfa=_0x2ebd54;_0x4de7c5['model']=_[_0x6cb5('0x44')](db[_0x6cb5('0x4c')][_0x6cb5('0x4d')]);_0x4de7c5[_0x6cb5('0x30')]=_[_0x6cb5('0x44')](_0x2fb212[_0x6cb5('0x30')]);_0x4de7c5['filters']=_['intersection'](_0x4de7c5[_0x6cb5('0x33')],_0x4de7c5[_0x6cb5('0x30')]);_0x4c4ca2['attributes']=_[_0x6cb5('0x32')](_0x4de7c5[_0x6cb5('0x33')],qs[_0x6cb5('0x35')](_0x2fb212['query'][_0x6cb5('0x35')]));_0x4c4ca2[_0x6cb5('0x34')]=_0x4c4ca2['attributes'][_0x6cb5('0x36')]?_0x4c4ca2['attributes']:_0x4de7c5['model'];_0x4c4ca2['order']=qs[_0x6cb5('0x39')](_0x2fb212[_0x6cb5('0x30')][_0x6cb5('0x39')]);_0x4c4ca2[_0x6cb5('0x3d')]=qs[_0x6cb5('0x31')](_[_0x6cb5('0x3a')](_0x2fb212[_0x6cb5('0x30')],_0x4de7c5['filters']));if(_0x2fb212['query'][_0x6cb5('0x3b')]){_0x4c4ca2[_0x6cb5('0x3d')]=_[_0x6cb5('0x3c')](_0x4c4ca2[_0x6cb5('0x3d')],{'$or':_[_0x6cb5('0x2f')](_0x4c4ca2[_0x6cb5('0x34')],function(_0x2318d6){var _0x4bce98={};_0x4bce98[_0x2318d6]={'$like':'%'+_0x2fb212[_0x6cb5('0x30')][_0x6cb5('0x3b')]+'%'};return _0x4bce98;})});}_0x4c4ca2=_[_0x6cb5('0x3c')]({},_0x4c4ca2,_0x2fb212[_0x6cb5('0x45')]);return _0x287dfa[_0x6cb5('0x4a')](_0x4c4ca2);}})[_0x6cb5('0x24')](function(_0x56f677){if(_0x56f677){_0x5bb545=_0x56f677[_0x6cb5('0x36')];if(!_0x2fb212[_0x6cb5('0x30')][_0x6cb5('0x37')](_0x6cb5('0x4e'))){_0x4c4ca2['limit']=qs[_0x6cb5('0x1e')](_0x2fb212[_0x6cb5('0x30')][_0x6cb5('0x1e')]);_0x4c4ca2[_0x6cb5('0x1c')]=qs['offset'](_0x2fb212['query'][_0x6cb5('0x1c')]);}return _0x287dfa['getFields'](_0x4c4ca2);}})[_0x6cb5('0x24')](function(_0x932d99){if(_0x932d99){return _0x932d99?{'count':_0x5bb545,'rows':_0x932d99}:null;}})[_0x6cb5('0x24')](respondWithResult(_0x28f9d8,null))[_0x6cb5('0x46')](handleError(_0x28f9d8,null));};exports[_0x6cb5('0x4f')]=function(_0x35add4,_0x5cf2c7,_0x41168f){var _0xe75a0c={};var _0x568ebb={};var _0x414437;var _0x51f7d5;return db[_0x6cb5('0x2b')]['findOne']({'where':{'id':_0x35add4[_0x6cb5('0x43')]['id']}})['then'](handleEntityNotFound(_0x5cf2c7,null))[_0x6cb5('0x24')](function(_0x4abc97){if(_0x4abc97){_0x414437=_0x4abc97;_0x568ebb[_0x6cb5('0x33')]=_[_0x6cb5('0x44')](db[_0x6cb5('0x4c')][_0x6cb5('0x4d')]);_0x568ebb[_0x6cb5('0x30')]=_[_0x6cb5('0x44')](_0x35add4['query']);_0x568ebb[_0x6cb5('0x31')]=_[_0x6cb5('0x32')](_0x568ebb['model'],_0x568ebb[_0x6cb5('0x30')]);_0xe75a0c[_0x6cb5('0x34')]=_['intersection'](_0x568ebb[_0x6cb5('0x33')],qs['fields'](_0x35add4['query']['fields']));_0xe75a0c['attributes']=_0xe75a0c[_0x6cb5('0x34')][_0x6cb5('0x36')]?_0xe75a0c['attributes']:_0x568ebb[_0x6cb5('0x33')];_0xe75a0c[_0x6cb5('0x38')]=qs[_0x6cb5('0x39')](_0x35add4[_0x6cb5('0x30')][_0x6cb5('0x39')]);_0xe75a0c[_0x6cb5('0x3d')]=qs[_0x6cb5('0x31')](_['pick'](_0x35add4[_0x6cb5('0x30')],_0x568ebb[_0x6cb5('0x31')]));if(_0x35add4[_0x6cb5('0x30')][_0x6cb5('0x3b')]){_0xe75a0c['where']=_[_0x6cb5('0x3c')](_0xe75a0c[_0x6cb5('0x3d')],{'$or':_[_0x6cb5('0x2f')](_0xe75a0c[_0x6cb5('0x34')],function(_0x51090d){var _0x1a692c={};_0x1a692c[_0x51090d]={'$like':'%'+_0x35add4['query']['filter']+'%'};return _0x1a692c;})});}_0xe75a0c=_[_0x6cb5('0x3c')]({},_0xe75a0c,_0x35add4[_0x6cb5('0x45')]);return _0x414437[_0x6cb5('0x4f')](_0xe75a0c);}})[_0x6cb5('0x24')](function(_0x1eb021){if(_0x1eb021){_0x51f7d5=_0x1eb021[_0x6cb5('0x36')];if(!_0x35add4['query'][_0x6cb5('0x37')](_0x6cb5('0x4e'))){_0xe75a0c[_0x6cb5('0x1e')]=qs[_0x6cb5('0x1e')](_0x35add4['query']['limit']);_0xe75a0c['offset']=qs[_0x6cb5('0x1c')](_0x35add4[_0x6cb5('0x30')][_0x6cb5('0x1c')]);}return _0x414437[_0x6cb5('0x4f')](_0xe75a0c);}})[_0x6cb5('0x24')](function(_0x267c81){if(_0x267c81){return _0x267c81?{'count':_0x51f7d5,'rows':_0x267c81}:null;}})[_0x6cb5('0x24')](respondWithResult(_0x5cf2c7,null))['catch'](handleError(_0x5cf2c7,null));};exports['getDescriptions']=function(_0x297877,_0x18bdfc,_0x309359){var _0x3944c9={};var _0x114efc={};var _0x579744;var _0x5cc529;return db[_0x6cb5('0x2b')]['findOne']({'where':{'id':_0x297877[_0x6cb5('0x43')]['id']}})[_0x6cb5('0x24')](handleEntityNotFound(_0x18bdfc,null))['then'](function(_0x376b3f){if(_0x376b3f){_0x579744=_0x376b3f;_0x114efc[_0x6cb5('0x33')]=_['keys'](db[_0x6cb5('0x4c')][_0x6cb5('0x4d')]);_0x114efc['query']=_[_0x6cb5('0x44')](_0x297877[_0x6cb5('0x30')]);_0x114efc[_0x6cb5('0x31')]=_[_0x6cb5('0x32')](_0x114efc[_0x6cb5('0x33')],_0x114efc['query']);_0x3944c9['attributes']=_[_0x6cb5('0x32')](_0x114efc[_0x6cb5('0x33')],qs[_0x6cb5('0x35')](_0x297877['query'][_0x6cb5('0x35')]));_0x3944c9[_0x6cb5('0x34')]=_0x3944c9['attributes'][_0x6cb5('0x36')]?_0x3944c9[_0x6cb5('0x34')]:_0x114efc['model'];_0x3944c9['order']=qs['sort'](_0x297877[_0x6cb5('0x30')][_0x6cb5('0x39')]);_0x3944c9[_0x6cb5('0x3d')]=qs[_0x6cb5('0x31')](_[_0x6cb5('0x3a')](_0x297877[_0x6cb5('0x30')],_0x114efc[_0x6cb5('0x31')]));if(_0x297877[_0x6cb5('0x30')]['filter']){_0x3944c9[_0x6cb5('0x3d')]=_[_0x6cb5('0x3c')](_0x3944c9[_0x6cb5('0x3d')],{'$or':_[_0x6cb5('0x2f')](_0x3944c9[_0x6cb5('0x34')],function(_0x39ee89){var _0x5e26cb={};_0x5e26cb[_0x39ee89]={'$like':'%'+_0x297877[_0x6cb5('0x30')][_0x6cb5('0x3b')]+'%'};return _0x5e26cb;})});}_0x3944c9=_[_0x6cb5('0x3c')]({},_0x3944c9,_0x297877[_0x6cb5('0x45')]);return _0x579744[_0x6cb5('0x50')](_0x3944c9);}})[_0x6cb5('0x24')](function(_0x5435e2){if(_0x5435e2){_0x5cc529=_0x5435e2[_0x6cb5('0x36')];if(!_0x297877[_0x6cb5('0x30')][_0x6cb5('0x37')]('nolimit')){_0x3944c9[_0x6cb5('0x1e')]=qs['limit'](_0x297877[_0x6cb5('0x30')][_0x6cb5('0x1e')]);_0x3944c9[_0x6cb5('0x1c')]=qs['offset'](_0x297877[_0x6cb5('0x30')][_0x6cb5('0x1c')]);}return _0x579744[_0x6cb5('0x50')](_0x3944c9);}})['then'](function(_0x1f37f7){if(_0x1f37f7){return _0x1f37f7?{'count':_0x5cc529,'rows':_0x1f37f7}:null;}})[_0x6cb5('0x24')](respondWithResult(_0x18bdfc,null))['catch'](handleError(_0x18bdfc,null));};