f498a0c10c856af7d2201cce1ebe3b02e805e887
[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 _0x4c26=['catch','create','body','update','find','params','getFields','SugarcrmField','getSubjects','findOne','getDescriptions','pick','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','save','then','destroy','sendStatus','name','send','index','map','SugarcrmConfiguration','rawAttributes','fieldName','query','keys','attributes','intersection','model','fields','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','type','VIRTUAL','options','include','findAll','show','length'];(function(_0x307086,_0x3bfe4e){var _0x699043=function(_0x1a7677){while(--_0x1a7677){_0x307086['push'](_0x307086['shift']());}};_0x699043(++_0x3bfe4e);}(_0x4c26,0x1a1));var _0x64c2=function(_0x528570,_0x133134){_0x528570=_0x528570-0x0;var _0x2280fe=_0x4c26[_0x528570];return _0x2280fe;};'use strict';var emlformat=require(_0x64c2('0x0'));var rimraf=require(_0x64c2('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x64c2('0x2'));var rp=require(_0x64c2('0x3'));var moment=require(_0x64c2('0x4'));var BPromise=require(_0x64c2('0x5'));var Mustache=require(_0x64c2('0x6'));var util=require(_0x64c2('0x7'));var path=require(_0x64c2('0x8'));var sox=require(_0x64c2('0x9'));var csv=require(_0x64c2('0xa'));var ejs=require(_0x64c2('0xb'));var fs=require('fs');var fs_extra=require(_0x64c2('0xc'));var _=require(_0x64c2('0xd'));var squel=require('squel');var crypto=require(_0x64c2('0xe'));var jsforce=require(_0x64c2('0xf'));var deskjs=require(_0x64c2('0x10'));var toCsv=require(_0x64c2('0xa'));var querystring=require(_0x64c2('0x11'));var Papa=require(_0x64c2('0x12'));var Redis=require('ioredis');var authService=require(_0x64c2('0x13'));var qs=require(_0x64c2('0x14'));var as=require(_0x64c2('0x15'));var hardwareService=require(_0x64c2('0x16'));var logger=require(_0x64c2('0x17'))(_0x64c2('0x18'));var utils=require(_0x64c2('0x19'));var config=require(_0x64c2('0x1a'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5edc0d,_0x209654){_0x209654=_0x209654||0xcc;return function(_0x3346be){if(_0x3346be){return _0x5edc0d['sendStatus'](_0x209654);}return _0x5edc0d['status'](_0x209654)[_0x64c2('0x1b')]();};}function respondWithResult(_0x477070,_0x21c31e){_0x21c31e=_0x21c31e||0xc8;return function(_0x45f3f2){if(_0x45f3f2){return _0x477070[_0x64c2('0x1c')](_0x21c31e)[_0x64c2('0x1d')](_0x45f3f2);}};}function respondWithFilteredResult(_0x127790,_0x325d9e){return function(_0x54195b){if(_0x54195b){var _0x4f0fbc=typeof _0x325d9e[_0x64c2('0x1e')]===_0x64c2('0x1f')&&typeof _0x325d9e[_0x64c2('0x20')]===_0x64c2('0x1f');var _0x332582=_0x54195b[_0x64c2('0x21')];var _0x1fe812=_0x4f0fbc?0x0:_0x325d9e[_0x64c2('0x1e')];var _0x299b92=_0x4f0fbc?_0x54195b[_0x64c2('0x21')]:_0x325d9e[_0x64c2('0x1e')]+_0x325d9e[_0x64c2('0x20')];var _0x9feb38;if(_0x299b92>=_0x332582){_0x299b92=_0x332582;_0x9feb38=0xc8;}else{_0x9feb38=0xce;}_0x127790[_0x64c2('0x1c')](_0x9feb38);return _0x127790[_0x64c2('0x22')](_0x64c2('0x23'),_0x1fe812+'-'+_0x299b92+'/'+_0x332582)[_0x64c2('0x1d')](_0x54195b);}return null;};}function patchUpdates(_0xc5af24){return function(_0x343e1e){try{jsonpatch[_0x64c2('0x24')](_0x343e1e,_0xc5af24,!![]);}catch(_0x4031c2){return BPromise['reject'](_0x4031c2);}return _0x343e1e[_0x64c2('0x25')]();};}function saveUpdates(_0x346985,_0x3956c1){return function(_0x58f71d){if(_0x58f71d){return _0x58f71d['update'](_0x346985)[_0x64c2('0x26')](function(_0x2da89f){return _0x2da89f;});}return null;};}function removeEntity(_0x43f624,_0xab6659){return function(_0x16cd5c){if(_0x16cd5c){return _0x16cd5c[_0x64c2('0x27')]()['then'](function(){_0x43f624[_0x64c2('0x1c')](0xcc)[_0x64c2('0x1b')]();});}};}function handleEntityNotFound(_0x24897d,_0x329145){return function(_0x16d736){if(!_0x16d736){_0x24897d[_0x64c2('0x28')](0x194);}return _0x16d736;};}function handleError(_0x215237,_0xf52d88){_0xf52d88=_0xf52d88||0x1f4;return function(_0x20c593){logger['error'](_0x20c593['stack']);if(_0x20c593[_0x64c2('0x29')]){delete _0x20c593[_0x64c2('0x29')];}_0x215237[_0x64c2('0x1c')](_0xf52d88)[_0x64c2('0x2a')](_0x20c593);};}exports[_0x64c2('0x2b')]=function(_0x36701f,_0x560931){var _0x3c9d84={},_0x46ffd5={},_0x2564c3={'count':0x0,'rows':[]};var _0x365f8b=_[_0x64c2('0x2c')](db[_0x64c2('0x2d')][_0x64c2('0x2e')],function(_0x298be7){return{'name':_0x298be7[_0x64c2('0x2f')],'type':_0x298be7['type']['key']};});_0x46ffd5['model']=_[_0x64c2('0x2c')](_0x365f8b,_0x64c2('0x29'));_0x46ffd5[_0x64c2('0x30')]=_[_0x64c2('0x31')](_0x36701f[_0x64c2('0x30')]);_0x46ffd5['filters']=_['intersection'](_0x46ffd5['model'],_0x46ffd5[_0x64c2('0x30')]);_0x3c9d84[_0x64c2('0x32')]=_[_0x64c2('0x33')](_0x46ffd5[_0x64c2('0x34')],qs[_0x64c2('0x35')](_0x36701f[_0x64c2('0x30')][_0x64c2('0x35')]));_0x3c9d84[_0x64c2('0x32')]=_0x3c9d84['attributes']['length']?_0x3c9d84[_0x64c2('0x32')]:_0x46ffd5[_0x64c2('0x34')];if(!_0x36701f[_0x64c2('0x30')][_0x64c2('0x36')](_0x64c2('0x37'))){_0x3c9d84[_0x64c2('0x20')]=qs[_0x64c2('0x20')](_0x36701f['query'][_0x64c2('0x20')]);_0x3c9d84[_0x64c2('0x1e')]=qs[_0x64c2('0x1e')](_0x36701f[_0x64c2('0x30')][_0x64c2('0x1e')]);}_0x3c9d84[_0x64c2('0x38')]=qs[_0x64c2('0x39')](_0x36701f[_0x64c2('0x30')][_0x64c2('0x39')]);_0x3c9d84[_0x64c2('0x3a')]=qs[_0x64c2('0x3b')](_['pick'](_0x36701f[_0x64c2('0x30')],_0x46ffd5[_0x64c2('0x3b')]),_0x365f8b);if(_0x36701f[_0x64c2('0x30')][_0x64c2('0x3c')]){_0x3c9d84[_0x64c2('0x3a')]=_[_0x64c2('0x3d')](_0x3c9d84[_0x64c2('0x3a')],{'$or':_[_0x64c2('0x2c')](_0x365f8b,function(_0x469737){if(_0x469737[_0x64c2('0x3e')]!==_0x64c2('0x3f')){var _0x2c8316={};_0x2c8316[_0x469737[_0x64c2('0x29')]]={'$like':'%'+_0x36701f[_0x64c2('0x30')][_0x64c2('0x3c')]+'%'};return _0x2c8316;}})});}_0x3c9d84=_['merge']({},_0x3c9d84,_0x36701f[_0x64c2('0x40')]);var _0x3d2351={'where':_0x3c9d84[_0x64c2('0x3a')]};return db[_0x64c2('0x2d')]['count'](_0x3d2351)[_0x64c2('0x26')](function(_0x1a295c){_0x2564c3[_0x64c2('0x21')]=_0x1a295c;if(_0x36701f[_0x64c2('0x30')]['includeAll']){_0x3c9d84[_0x64c2('0x41')]=[{'all':!![]}];}return db[_0x64c2('0x2d')][_0x64c2('0x42')](_0x3c9d84);})['then'](function(_0x19380c){_0x2564c3['rows']=_0x19380c;return _0x2564c3;})['then'](respondWithFilteredResult(_0x560931,_0x3c9d84))['catch'](handleError(_0x560931,null));};exports[_0x64c2('0x43')]=function(_0x474d8b,_0x32c1b2){var _0x3abae7={'raw':![],'where':{'id':_0x474d8b['params']['id']}},_0x25aef2={};_0x25aef2[_0x64c2('0x34')]=_[_0x64c2('0x31')](db[_0x64c2('0x2d')][_0x64c2('0x2e')]);_0x25aef2['query']=_[_0x64c2('0x31')](_0x474d8b[_0x64c2('0x30')]);_0x25aef2[_0x64c2('0x3b')]=_[_0x64c2('0x33')](_0x25aef2[_0x64c2('0x34')],_0x25aef2[_0x64c2('0x30')]);_0x3abae7[_0x64c2('0x32')]=_[_0x64c2('0x33')](_0x25aef2['model'],qs[_0x64c2('0x35')](_0x474d8b[_0x64c2('0x30')]['fields']));_0x3abae7[_0x64c2('0x32')]=_0x3abae7['attributes'][_0x64c2('0x44')]?_0x3abae7[_0x64c2('0x32')]:_0x25aef2[_0x64c2('0x34')];if(_0x474d8b[_0x64c2('0x30')]['includeAll']){_0x3abae7[_0x64c2('0x41')]=[{'all':!![]}];}_0x3abae7=_['merge']({},_0x3abae7,_0x474d8b[_0x64c2('0x40')]);return db[_0x64c2('0x2d')]['find'](_0x3abae7)['then'](handleEntityNotFound(_0x32c1b2,null))[_0x64c2('0x26')](respondWithResult(_0x32c1b2,null))[_0x64c2('0x45')](handleError(_0x32c1b2,null));};exports[_0x64c2('0x46')]=function(_0x2b12ae,_0x1633e8){return db[_0x64c2('0x2d')][_0x64c2('0x46')](_0x2b12ae[_0x64c2('0x47')],{})[_0x64c2('0x26')](respondWithResult(_0x1633e8,0xc9))[_0x64c2('0x45')](handleError(_0x1633e8,null));};exports[_0x64c2('0x48')]=function(_0x230e2e,_0x1bbb7e){if(_0x230e2e[_0x64c2('0x47')]['id']){delete _0x230e2e[_0x64c2('0x47')]['id'];}return db[_0x64c2('0x2d')][_0x64c2('0x49')]({'where':{'id':_0x230e2e[_0x64c2('0x4a')]['id']}})[_0x64c2('0x26')](handleEntityNotFound(_0x1bbb7e,null))[_0x64c2('0x26')](saveUpdates(_0x230e2e[_0x64c2('0x47')],null))[_0x64c2('0x26')](respondWithResult(_0x1bbb7e,null))['catch'](handleError(_0x1bbb7e,null));};exports[_0x64c2('0x27')]=function(_0x331a0d,_0xff50b4){return db[_0x64c2('0x2d')][_0x64c2('0x49')]({'where':{'id':_0x331a0d['params']['id']}})[_0x64c2('0x26')](handleEntityNotFound(_0xff50b4,null))[_0x64c2('0x26')](removeEntity(_0xff50b4,null))['catch'](handleError(_0xff50b4,null));};exports[_0x64c2('0x4b')]=function(_0x120ed5,_0x484662,_0x51916c){var _0x37a6f4={};var _0x11b31b={};var _0x331760;var _0x599d55;return db[_0x64c2('0x2d')]['findOne']({'where':{'id':_0x120ed5['params']['id']}})['then'](handleEntityNotFound(_0x484662,null))[_0x64c2('0x26')](function(_0x51f694){if(_0x51f694){_0x331760=_0x51f694;_0x11b31b['model']=_['keys'](db[_0x64c2('0x4c')][_0x64c2('0x2e')]);_0x11b31b[_0x64c2('0x30')]=_[_0x64c2('0x31')](_0x120ed5[_0x64c2('0x30')]);_0x11b31b[_0x64c2('0x3b')]=_['intersection'](_0x11b31b['model'],_0x11b31b['query']);_0x37a6f4[_0x64c2('0x32')]=_[_0x64c2('0x33')](_0x11b31b[_0x64c2('0x34')],qs[_0x64c2('0x35')](_0x120ed5[_0x64c2('0x30')][_0x64c2('0x35')]));_0x37a6f4[_0x64c2('0x32')]=_0x37a6f4[_0x64c2('0x32')][_0x64c2('0x44')]?_0x37a6f4['attributes']:_0x11b31b[_0x64c2('0x34')];_0x37a6f4[_0x64c2('0x38')]=qs[_0x64c2('0x39')](_0x120ed5[_0x64c2('0x30')]['sort']);_0x37a6f4[_0x64c2('0x3a')]=qs[_0x64c2('0x3b')](_['pick'](_0x120ed5['query'],_0x11b31b['filters']));if(_0x120ed5[_0x64c2('0x30')]['filter']){_0x37a6f4[_0x64c2('0x3a')]=_['merge'](_0x37a6f4['where'],{'$or':_[_0x64c2('0x2c')](_0x37a6f4[_0x64c2('0x32')],function(_0x342b2b){var _0x4d5ef4={};_0x4d5ef4[_0x342b2b]={'$like':'%'+_0x120ed5['query'][_0x64c2('0x3c')]+'%'};return _0x4d5ef4;})});}_0x37a6f4=_['merge']({},_0x37a6f4,_0x120ed5[_0x64c2('0x40')]);return _0x331760[_0x64c2('0x4b')](_0x37a6f4);}})[_0x64c2('0x26')](function(_0x1ea233){if(_0x1ea233){_0x599d55=_0x1ea233[_0x64c2('0x44')];if(!_0x120ed5[_0x64c2('0x30')]['hasOwnProperty'](_0x64c2('0x37'))){_0x37a6f4['limit']=qs[_0x64c2('0x20')](_0x120ed5[_0x64c2('0x30')][_0x64c2('0x20')]);_0x37a6f4[_0x64c2('0x1e')]=qs[_0x64c2('0x1e')](_0x120ed5[_0x64c2('0x30')][_0x64c2('0x1e')]);}return _0x331760[_0x64c2('0x4b')](_0x37a6f4);}})[_0x64c2('0x26')](function(_0x35df57){if(_0x35df57){return _0x35df57?{'count':_0x599d55,'rows':_0x35df57}:null;}})[_0x64c2('0x26')](respondWithResult(_0x484662,null))['catch'](handleError(_0x484662,null));};exports[_0x64c2('0x4d')]=function(_0x3de804,_0x300342,_0x36820b){var _0x378a77={};var _0x284dea={};var _0x206771;var _0x12ffe4;return db['SugarcrmConfiguration'][_0x64c2('0x4e')]({'where':{'id':_0x3de804[_0x64c2('0x4a')]['id']}})['then'](handleEntityNotFound(_0x300342,null))[_0x64c2('0x26')](function(_0x16e451){if(_0x16e451){_0x206771=_0x16e451;_0x284dea['model']=_[_0x64c2('0x31')](db[_0x64c2('0x4c')][_0x64c2('0x2e')]);_0x284dea[_0x64c2('0x30')]=_[_0x64c2('0x31')](_0x3de804[_0x64c2('0x30')]);_0x284dea[_0x64c2('0x3b')]=_[_0x64c2('0x33')](_0x284dea['model'],_0x284dea['query']);_0x378a77['attributes']=_['intersection'](_0x284dea['model'],qs[_0x64c2('0x35')](_0x3de804['query']['fields']));_0x378a77[_0x64c2('0x32')]=_0x378a77[_0x64c2('0x32')][_0x64c2('0x44')]?_0x378a77[_0x64c2('0x32')]:_0x284dea['model'];_0x378a77[_0x64c2('0x38')]=qs[_0x64c2('0x39')](_0x3de804['query'][_0x64c2('0x39')]);_0x378a77['where']=qs[_0x64c2('0x3b')](_['pick'](_0x3de804[_0x64c2('0x30')],_0x284dea[_0x64c2('0x3b')]));if(_0x3de804[_0x64c2('0x30')]['filter']){_0x378a77[_0x64c2('0x3a')]=_[_0x64c2('0x3d')](_0x378a77['where'],{'$or':_[_0x64c2('0x2c')](_0x378a77[_0x64c2('0x32')],function(_0x18c7a7){var _0x21aeba={};_0x21aeba[_0x18c7a7]={'$like':'%'+_0x3de804[_0x64c2('0x30')][_0x64c2('0x3c')]+'%'};return _0x21aeba;})});}_0x378a77=_[_0x64c2('0x3d')]({},_0x378a77,_0x3de804['options']);return _0x206771[_0x64c2('0x4d')](_0x378a77);}})[_0x64c2('0x26')](function(_0x14da3d){if(_0x14da3d){_0x12ffe4=_0x14da3d['length'];if(!_0x3de804[_0x64c2('0x30')][_0x64c2('0x36')](_0x64c2('0x37'))){_0x378a77[_0x64c2('0x20')]=qs['limit'](_0x3de804[_0x64c2('0x30')][_0x64c2('0x20')]);_0x378a77['offset']=qs['offset'](_0x3de804['query'][_0x64c2('0x1e')]);}return _0x206771[_0x64c2('0x4d')](_0x378a77);}})[_0x64c2('0x26')](function(_0x4a12ff){if(_0x4a12ff){return _0x4a12ff?{'count':_0x12ffe4,'rows':_0x4a12ff}:null;}})[_0x64c2('0x26')](respondWithResult(_0x300342,null))[_0x64c2('0x45')](handleError(_0x300342,null));};exports[_0x64c2('0x4f')]=function(_0x1a15b5,_0x67780,_0x1cbfa8){var _0x41be7d={};var _0x86a55f={};var _0x1d4f58;var _0x57195d;return db[_0x64c2('0x2d')][_0x64c2('0x4e')]({'where':{'id':_0x1a15b5['params']['id']}})[_0x64c2('0x26')](handleEntityNotFound(_0x67780,null))[_0x64c2('0x26')](function(_0x13b8eb){if(_0x13b8eb){_0x1d4f58=_0x13b8eb;_0x86a55f[_0x64c2('0x34')]=_[_0x64c2('0x31')](db[_0x64c2('0x4c')][_0x64c2('0x2e')]);_0x86a55f['query']=_[_0x64c2('0x31')](_0x1a15b5['query']);_0x86a55f[_0x64c2('0x3b')]=_['intersection'](_0x86a55f[_0x64c2('0x34')],_0x86a55f['query']);_0x41be7d[_0x64c2('0x32')]=_[_0x64c2('0x33')](_0x86a55f[_0x64c2('0x34')],qs[_0x64c2('0x35')](_0x1a15b5[_0x64c2('0x30')]['fields']));_0x41be7d[_0x64c2('0x32')]=_0x41be7d[_0x64c2('0x32')]['length']?_0x41be7d[_0x64c2('0x32')]:_0x86a55f[_0x64c2('0x34')];_0x41be7d[_0x64c2('0x38')]=qs[_0x64c2('0x39')](_0x1a15b5['query'][_0x64c2('0x39')]);_0x41be7d['where']=qs[_0x64c2('0x3b')](_[_0x64c2('0x50')](_0x1a15b5['query'],_0x86a55f[_0x64c2('0x3b')]));if(_0x1a15b5[_0x64c2('0x30')][_0x64c2('0x3c')]){_0x41be7d[_0x64c2('0x3a')]=_['merge'](_0x41be7d['where'],{'$or':_[_0x64c2('0x2c')](_0x41be7d[_0x64c2('0x32')],function(_0x17b641){var _0x54c466={};_0x54c466[_0x17b641]={'$like':'%'+_0x1a15b5[_0x64c2('0x30')][_0x64c2('0x3c')]+'%'};return _0x54c466;})});}_0x41be7d=_[_0x64c2('0x3d')]({},_0x41be7d,_0x1a15b5['options']);return _0x1d4f58[_0x64c2('0x4f')](_0x41be7d);}})[_0x64c2('0x26')](function(_0x299322){if(_0x299322){_0x57195d=_0x299322[_0x64c2('0x44')];if(!_0x1a15b5[_0x64c2('0x30')][_0x64c2('0x36')](_0x64c2('0x37'))){_0x41be7d[_0x64c2('0x20')]=qs[_0x64c2('0x20')](_0x1a15b5[_0x64c2('0x30')][_0x64c2('0x20')]);_0x41be7d[_0x64c2('0x1e')]=qs[_0x64c2('0x1e')](_0x1a15b5[_0x64c2('0x30')][_0x64c2('0x1e')]);}return _0x1d4f58[_0x64c2('0x4f')](_0x41be7d);}})[_0x64c2('0x26')](function(_0x1067d8){if(_0x1067d8){return _0x1067d8?{'count':_0x57195d,'rows':_0x1067d8}:null;}})[_0x64c2('0x26')](respondWithResult(_0x67780,null))[_0x64c2('0x45')](handleError(_0x67780,null));};