d6f420ddf40243299226d1c0f43294984b2bd383
[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 _0x60e8=['../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','apply','reject','save','update','then','destroy','end','stack','name','index','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','SugarcrmConfiguration','includeAll','include','findAll','rows','catch','show','params','find','create','body','getFields','map','getSubjects','findOne','SugarcrmField','getDescriptions','eml-format','rimraf','zip-dir','request-promise','moment','mustache','path','sox','ejs','fs-extra','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs'];(function(_0x1cae51,_0x1747d6){var _0x2c2e81=function(_0x58888f){while(--_0x58888f){_0x1cae51['push'](_0x1cae51['shift']());}};_0x2c2e81(++_0x1747d6);}(_0x60e8,0x12b));var _0x860e=function(_0x3574f8,_0x3e7196){_0x3574f8=_0x3574f8-0x0;var _0x4e7d29=_0x60e8[_0x3574f8];return _0x4e7d29;};'use strict';var emlformat=require(_0x860e('0x0'));var rimraf=require(_0x860e('0x1'));var zipdir=require(_0x860e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x860e('0x3'));var moment=require(_0x860e('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x860e('0x5'));var util=require('util');var path=require(_0x860e('0x6'));var sox=require(_0x860e('0x7'));var csv=require('to-csv');var ejs=require(_0x860e('0x8'));var fs=require('fs');var fs_extra=require(_0x860e('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x860e('0xa'));var jsforce=require(_0x860e('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x860e('0xc'));var querystring=require(_0x860e('0xd'));var Papa=require(_0x860e('0xe'));var Redis=require(_0x860e('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x860e('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x860e('0x11'));var logger=require(_0x860e('0x12'))(_0x860e('0x13'));var utils=require('../../config/utils');var config=require(_0x860e('0x14'));var licenseUtil=require(_0x860e('0x15'));var db=require(_0x860e('0x16'))['db'];function respondWithStatusCode(_0x3ce956,_0x1525ae){_0x1525ae=_0x1525ae||0xcc;return function(_0x56b8e3){if(_0x56b8e3){return _0x3ce956[_0x860e('0x17')](_0x1525ae);}return _0x3ce956['status'](_0x1525ae)['end']();};}function respondWithResult(_0x402307,_0x4d30c9){_0x4d30c9=_0x4d30c9||0xc8;return function(_0x55bf3c){if(_0x55bf3c){return _0x402307[_0x860e('0x18')](_0x4d30c9)[_0x860e('0x19')](_0x55bf3c);}};}function respondWithFilteredResult(_0x5800e4,_0x10620e){return function(_0x3490ae){if(_0x3490ae){var _0xb00bc6=typeof _0x10620e[_0x860e('0x1a')]===_0x860e('0x1b')&&typeof _0x10620e[_0x860e('0x1c')]===_0x860e('0x1b');var _0x1b8378=_0x3490ae[_0x860e('0x1d')];var _0x33e457=_0xb00bc6?0x0:_0x10620e['offset'];var _0x58b80f=_0xb00bc6?_0x3490ae[_0x860e('0x1d')]:_0x10620e['offset']+_0x10620e[_0x860e('0x1c')];var _0x261409;if(_0x58b80f>=_0x1b8378){_0x58b80f=_0x1b8378;_0x261409=0xc8;}else{_0x261409=0xce;}_0x5800e4['status'](_0x261409);return _0x5800e4['set']('Content-Range',_0x33e457+'-'+_0x58b80f+'/'+_0x1b8378)[_0x860e('0x19')](_0x3490ae);}return null;};}function patchUpdates(_0x4ca978){return function(_0x76392d){try{jsonpatch[_0x860e('0x1e')](_0x76392d,_0x4ca978,!![]);}catch(_0xd7ed72){return BPromise[_0x860e('0x1f')](_0xd7ed72);}return _0x76392d[_0x860e('0x20')]();};}function saveUpdates(_0x354db5,_0x42a381){return function(_0xfc7569){if(_0xfc7569){return _0xfc7569[_0x860e('0x21')](_0x354db5)[_0x860e('0x22')](function(_0x2eda76){return _0x2eda76;});}return null;};}function removeEntity(_0x2b8bc7,_0x1c2ac3){return function(_0x469369){if(_0x469369){return _0x469369[_0x860e('0x23')]()['then'](function(){_0x2b8bc7[_0x860e('0x18')](0xcc)[_0x860e('0x24')]();});}};}function handleEntityNotFound(_0x20ce47,_0x57464c){return function(_0xec27c7){if(!_0xec27c7){_0x20ce47[_0x860e('0x17')](0x194);}return _0xec27c7;};}function handleError(_0x386fee,_0x223e07){_0x223e07=_0x223e07||0x1f4;return function(_0x235f64){logger['error'](_0x235f64[_0x860e('0x25')]);if(_0x235f64[_0x860e('0x26')]){delete _0x235f64[_0x860e('0x26')];}_0x386fee[_0x860e('0x18')](_0x223e07)['send'](_0x235f64);};}exports[_0x860e('0x27')]=function(_0x1e7d66,_0x119d9c){var _0x192d5a={},_0x15f098={},_0x14631f={'count':0x0,'rows':[]};var _0x55ccff=_['map'](db['SugarcrmConfiguration'][_0x860e('0x28')],function(_0x254087){return{'name':_0x254087[_0x860e('0x29')],'type':_0x254087[_0x860e('0x2a')][_0x860e('0x2b')]};});_0x15f098[_0x860e('0x2c')]=_['map'](_0x55ccff,_0x860e('0x26'));_0x15f098[_0x860e('0x2d')]=_[_0x860e('0x2e')](_0x1e7d66[_0x860e('0x2d')]);_0x15f098[_0x860e('0x2f')]=_[_0x860e('0x30')](_0x15f098[_0x860e('0x2c')],_0x15f098['query']);_0x192d5a['attributes']=_[_0x860e('0x30')](_0x15f098[_0x860e('0x2c')],qs[_0x860e('0x31')](_0x1e7d66['query']['fields']));_0x192d5a[_0x860e('0x32')]=_0x192d5a[_0x860e('0x32')][_0x860e('0x33')]?_0x192d5a[_0x860e('0x32')]:_0x15f098['model'];if(!_0x1e7d66['query'][_0x860e('0x34')](_0x860e('0x35'))){_0x192d5a[_0x860e('0x1c')]=qs['limit'](_0x1e7d66[_0x860e('0x2d')][_0x860e('0x1c')]);_0x192d5a['offset']=qs[_0x860e('0x1a')](_0x1e7d66[_0x860e('0x2d')][_0x860e('0x1a')]);}_0x192d5a[_0x860e('0x36')]=qs[_0x860e('0x37')](_0x1e7d66['query'][_0x860e('0x37')]);_0x192d5a[_0x860e('0x38')]=qs['filters'](_[_0x860e('0x39')](_0x1e7d66[_0x860e('0x2d')],_0x15f098[_0x860e('0x2f')]),_0x55ccff);if(_0x1e7d66[_0x860e('0x2d')][_0x860e('0x3a')]){_0x192d5a[_0x860e('0x38')]=_[_0x860e('0x3b')](_0x192d5a['where'],{'$or':_['map'](_0x55ccff,function(_0x9389b3){if(_0x9389b3[_0x860e('0x2a')]!==_0x860e('0x3c')){var _0x103369={};_0x103369[_0x9389b3[_0x860e('0x26')]]={'$like':'%'+_0x1e7d66[_0x860e('0x2d')][_0x860e('0x3a')]+'%'};return _0x103369;}})});}_0x192d5a=_['merge']({},_0x192d5a,_0x1e7d66[_0x860e('0x3d')]);var _0x32a794={'where':_0x192d5a['where']};return db[_0x860e('0x3e')][_0x860e('0x1d')](_0x32a794)[_0x860e('0x22')](function(_0x2bf5f4){_0x14631f[_0x860e('0x1d')]=_0x2bf5f4;if(_0x1e7d66[_0x860e('0x2d')][_0x860e('0x3f')]){_0x192d5a[_0x860e('0x40')]=[{'all':!![]}];}return db[_0x860e('0x3e')][_0x860e('0x41')](_0x192d5a);})[_0x860e('0x22')](function(_0x3e1372){_0x14631f[_0x860e('0x42')]=_0x3e1372;return _0x14631f;})[_0x860e('0x22')](respondWithFilteredResult(_0x119d9c,_0x192d5a))[_0x860e('0x43')](handleError(_0x119d9c,null));};exports[_0x860e('0x44')]=function(_0x5b68fa,_0x1c46c1){var _0x43ccb4={'raw':![],'where':{'id':_0x5b68fa[_0x860e('0x45')]['id']}},_0x2b0407={};_0x2b0407[_0x860e('0x2c')]=_['keys'](db[_0x860e('0x3e')][_0x860e('0x28')]);_0x2b0407[_0x860e('0x2d')]=_['keys'](_0x5b68fa[_0x860e('0x2d')]);_0x2b0407['filters']=_[_0x860e('0x30')](_0x2b0407['model'],_0x2b0407[_0x860e('0x2d')]);_0x43ccb4[_0x860e('0x32')]=_[_0x860e('0x30')](_0x2b0407[_0x860e('0x2c')],qs[_0x860e('0x31')](_0x5b68fa[_0x860e('0x2d')]['fields']));_0x43ccb4[_0x860e('0x32')]=_0x43ccb4[_0x860e('0x32')][_0x860e('0x33')]?_0x43ccb4[_0x860e('0x32')]:_0x2b0407['model'];if(_0x5b68fa[_0x860e('0x2d')]['includeAll']){_0x43ccb4[_0x860e('0x40')]=[{'all':!![]}];}_0x43ccb4=_[_0x860e('0x3b')]({},_0x43ccb4,_0x5b68fa[_0x860e('0x3d')]);return db[_0x860e('0x3e')][_0x860e('0x46')](_0x43ccb4)[_0x860e('0x22')](handleEntityNotFound(_0x1c46c1,null))[_0x860e('0x22')](respondWithResult(_0x1c46c1,null))['catch'](handleError(_0x1c46c1,null));};exports[_0x860e('0x47')]=function(_0x2328d3,_0x50779d){return db['SugarcrmConfiguration'][_0x860e('0x47')](_0x2328d3['body'],{})[_0x860e('0x22')](respondWithResult(_0x50779d,0xc9))[_0x860e('0x43')](handleError(_0x50779d,null));};exports['update']=function(_0x411c91,_0x157c34){if(_0x411c91[_0x860e('0x48')]['id']){delete _0x411c91[_0x860e('0x48')]['id'];}return db[_0x860e('0x3e')][_0x860e('0x46')]({'where':{'id':_0x411c91[_0x860e('0x45')]['id']}})[_0x860e('0x22')](handleEntityNotFound(_0x157c34,null))['then'](saveUpdates(_0x411c91[_0x860e('0x48')],null))[_0x860e('0x22')](respondWithResult(_0x157c34,null))[_0x860e('0x43')](handleError(_0x157c34,null));};exports[_0x860e('0x23')]=function(_0x20ed9f,_0x28c358){return db[_0x860e('0x3e')]['find']({'where':{'id':_0x20ed9f[_0x860e('0x45')]['id']}})[_0x860e('0x22')](handleEntityNotFound(_0x28c358,null))[_0x860e('0x22')](removeEntity(_0x28c358,null))[_0x860e('0x43')](handleError(_0x28c358,null));};exports[_0x860e('0x49')]=function(_0x526f79,_0x570f05,_0x5b00df){var _0x5934b0={};var _0x588b4d={};var _0xd4849f;var _0x4bb4bf;return db[_0x860e('0x3e')]['findOne']({'where':{'id':_0x526f79[_0x860e('0x45')]['id']}})[_0x860e('0x22')](handleEntityNotFound(_0x570f05,null))['then'](function(_0x163c2c){if(_0x163c2c){_0xd4849f=_0x163c2c;_0x588b4d[_0x860e('0x2c')]=_['keys'](db['SugarcrmField'][_0x860e('0x28')]);_0x588b4d[_0x860e('0x2d')]=_['keys'](_0x526f79[_0x860e('0x2d')]);_0x588b4d[_0x860e('0x2f')]=_[_0x860e('0x30')](_0x588b4d[_0x860e('0x2c')],_0x588b4d['query']);_0x5934b0[_0x860e('0x32')]=_['intersection'](_0x588b4d[_0x860e('0x2c')],qs[_0x860e('0x31')](_0x526f79['query'][_0x860e('0x31')]));_0x5934b0[_0x860e('0x32')]=_0x5934b0[_0x860e('0x32')][_0x860e('0x33')]?_0x5934b0[_0x860e('0x32')]:_0x588b4d['model'];_0x5934b0[_0x860e('0x36')]=qs[_0x860e('0x37')](_0x526f79[_0x860e('0x2d')][_0x860e('0x37')]);_0x5934b0['where']=qs[_0x860e('0x2f')](_['pick'](_0x526f79[_0x860e('0x2d')],_0x588b4d['filters']));if(_0x526f79[_0x860e('0x2d')][_0x860e('0x3a')]){_0x5934b0['where']=_[_0x860e('0x3b')](_0x5934b0[_0x860e('0x38')],{'$or':_[_0x860e('0x4a')](_0x5934b0['attributes'],function(_0x19a879){var _0x45fa16={};_0x45fa16[_0x19a879]={'$like':'%'+_0x526f79[_0x860e('0x2d')][_0x860e('0x3a')]+'%'};return _0x45fa16;})});}_0x5934b0=_[_0x860e('0x3b')]({},_0x5934b0,_0x526f79[_0x860e('0x3d')]);return _0xd4849f[_0x860e('0x49')](_0x5934b0);}})[_0x860e('0x22')](function(_0x58647c){if(_0x58647c){_0x4bb4bf=_0x58647c[_0x860e('0x33')];if(!_0x526f79[_0x860e('0x2d')][_0x860e('0x34')](_0x860e('0x35'))){_0x5934b0[_0x860e('0x1c')]=qs[_0x860e('0x1c')](_0x526f79[_0x860e('0x2d')][_0x860e('0x1c')]);_0x5934b0['offset']=qs[_0x860e('0x1a')](_0x526f79[_0x860e('0x2d')]['offset']);}return _0xd4849f[_0x860e('0x49')](_0x5934b0);}})[_0x860e('0x22')](function(_0x2c0a71){if(_0x2c0a71){return _0x2c0a71?{'count':_0x4bb4bf,'rows':_0x2c0a71}:null;}})[_0x860e('0x22')](respondWithResult(_0x570f05,null))[_0x860e('0x43')](handleError(_0x570f05,null));};exports[_0x860e('0x4b')]=function(_0x1705df,_0x29a007,_0x547654){var _0x1187e0={};var _0x3e35af={};var _0x32dcef;var _0x3ca91c;return db[_0x860e('0x3e')][_0x860e('0x4c')]({'where':{'id':_0x1705df[_0x860e('0x45')]['id']}})[_0x860e('0x22')](handleEntityNotFound(_0x29a007,null))[_0x860e('0x22')](function(_0x38ddf3){if(_0x38ddf3){_0x32dcef=_0x38ddf3;_0x3e35af[_0x860e('0x2c')]=_['keys'](db[_0x860e('0x4d')]['rawAttributes']);_0x3e35af['query']=_['keys'](_0x1705df[_0x860e('0x2d')]);_0x3e35af['filters']=_[_0x860e('0x30')](_0x3e35af[_0x860e('0x2c')],_0x3e35af[_0x860e('0x2d')]);_0x1187e0[_0x860e('0x32')]=_[_0x860e('0x30')](_0x3e35af[_0x860e('0x2c')],qs[_0x860e('0x31')](_0x1705df['query'][_0x860e('0x31')]));_0x1187e0[_0x860e('0x32')]=_0x1187e0[_0x860e('0x32')][_0x860e('0x33')]?_0x1187e0[_0x860e('0x32')]:_0x3e35af[_0x860e('0x2c')];_0x1187e0[_0x860e('0x36')]=qs[_0x860e('0x37')](_0x1705df[_0x860e('0x2d')][_0x860e('0x37')]);_0x1187e0[_0x860e('0x38')]=qs['filters'](_['pick'](_0x1705df['query'],_0x3e35af[_0x860e('0x2f')]));if(_0x1705df[_0x860e('0x2d')][_0x860e('0x3a')]){_0x1187e0[_0x860e('0x38')]=_[_0x860e('0x3b')](_0x1187e0['where'],{'$or':_[_0x860e('0x4a')](_0x1187e0[_0x860e('0x32')],function(_0x3aad7a){var _0x2f0bcf={};_0x2f0bcf[_0x3aad7a]={'$like':'%'+_0x1705df[_0x860e('0x2d')][_0x860e('0x3a')]+'%'};return _0x2f0bcf;})});}_0x1187e0=_[_0x860e('0x3b')]({},_0x1187e0,_0x1705df[_0x860e('0x3d')]);return _0x32dcef[_0x860e('0x4b')](_0x1187e0);}})[_0x860e('0x22')](function(_0x4dba92){if(_0x4dba92){_0x3ca91c=_0x4dba92[_0x860e('0x33')];if(!_0x1705df[_0x860e('0x2d')][_0x860e('0x34')](_0x860e('0x35'))){_0x1187e0['limit']=qs[_0x860e('0x1c')](_0x1705df[_0x860e('0x2d')]['limit']);_0x1187e0[_0x860e('0x1a')]=qs[_0x860e('0x1a')](_0x1705df[_0x860e('0x2d')]['offset']);}return _0x32dcef[_0x860e('0x4b')](_0x1187e0);}})['then'](function(_0x2b6f71){if(_0x2b6f71){return _0x2b6f71?{'count':_0x3ca91c,'rows':_0x2b6f71}:null;}})[_0x860e('0x22')](respondWithResult(_0x29a007,null))[_0x860e('0x43')](handleError(_0x29a007,null));};exports[_0x860e('0x4e')]=function(_0x15ded8,_0xff7c2e,_0x81a9aa){var _0x18432b={};var _0x14740e={};var _0xc65e4e;var _0x5d184a;return db[_0x860e('0x3e')][_0x860e('0x4c')]({'where':{'id':_0x15ded8['params']['id']}})['then'](handleEntityNotFound(_0xff7c2e,null))['then'](function(_0x42469f){if(_0x42469f){_0xc65e4e=_0x42469f;_0x14740e[_0x860e('0x2c')]=_['keys'](db[_0x860e('0x4d')][_0x860e('0x28')]);_0x14740e[_0x860e('0x2d')]=_['keys'](_0x15ded8[_0x860e('0x2d')]);_0x14740e[_0x860e('0x2f')]=_[_0x860e('0x30')](_0x14740e[_0x860e('0x2c')],_0x14740e[_0x860e('0x2d')]);_0x18432b[_0x860e('0x32')]=_[_0x860e('0x30')](_0x14740e[_0x860e('0x2c')],qs[_0x860e('0x31')](_0x15ded8[_0x860e('0x2d')][_0x860e('0x31')]));_0x18432b[_0x860e('0x32')]=_0x18432b[_0x860e('0x32')][_0x860e('0x33')]?_0x18432b[_0x860e('0x32')]:_0x14740e[_0x860e('0x2c')];_0x18432b[_0x860e('0x36')]=qs[_0x860e('0x37')](_0x15ded8[_0x860e('0x2d')][_0x860e('0x37')]);_0x18432b[_0x860e('0x38')]=qs[_0x860e('0x2f')](_[_0x860e('0x39')](_0x15ded8[_0x860e('0x2d')],_0x14740e['filters']));if(_0x15ded8[_0x860e('0x2d')]['filter']){_0x18432b[_0x860e('0x38')]=_[_0x860e('0x3b')](_0x18432b[_0x860e('0x38')],{'$or':_[_0x860e('0x4a')](_0x18432b[_0x860e('0x32')],function(_0x20dd82){var _0x4d13f1={};_0x4d13f1[_0x20dd82]={'$like':'%'+_0x15ded8[_0x860e('0x2d')][_0x860e('0x3a')]+'%'};return _0x4d13f1;})});}_0x18432b=_['merge']({},_0x18432b,_0x15ded8[_0x860e('0x3d')]);return _0xc65e4e[_0x860e('0x4e')](_0x18432b);}})['then'](function(_0x32a303){if(_0x32a303){_0x5d184a=_0x32a303[_0x860e('0x33')];if(!_0x15ded8['query'][_0x860e('0x34')](_0x860e('0x35'))){_0x18432b[_0x860e('0x1c')]=qs[_0x860e('0x1c')](_0x15ded8[_0x860e('0x2d')][_0x860e('0x1c')]);_0x18432b[_0x860e('0x1a')]=qs['offset'](_0x15ded8['query'][_0x860e('0x1a')]);}return _0xc65e4e['getDescriptions'](_0x18432b);}})[_0x860e('0x22')](function(_0x30d244){if(_0x30d244){return _0x30d244?{'count':_0x5d184a,'rows':_0x30d244}:null;}})['then'](respondWithResult(_0xff7c2e,null))[_0x860e('0x43')](handleError(_0xff7c2e,null));};