f2d065c1b3412b114748b0c1e2b057fd7bfdd8cd
[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 _0xd727=['getFields','findOne','SugarcrmField','pick','hasOwnProperty','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','end','json','offset','undefined','limit','count','set','apply','reject','update','destroy','then','status','error','stack','name','send','map','fieldName','key','query','filters','model','attributes','intersection','fields','length','nolimit','order','sort','where','filter','merge','type','VIRTUAL','options','SugarcrmConfiguration','findAll','rows','catch','show','params','rawAttributes','keys','includeAll','find','create','body'];(function(_0x22b68a,_0x2bffc3){var _0x1ac67a=function(_0x25f9d5){while(--_0x25f9d5){_0x22b68a['push'](_0x22b68a['shift']());}};_0x1ac67a(++_0x2bffc3);}(_0xd727,0x19c));var _0x7d72=function(_0x57b54c,_0x54ce0d){_0x57b54c=_0x57b54c-0x0;var _0x59cc19=_0xd727[_0x57b54c];return _0x59cc19;};'use strict';var emlformat=require(_0x7d72('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x7d72('0x1'));var jsonpatch=require(_0x7d72('0x2'));var rp=require('request-promise');var moment=require(_0x7d72('0x3'));var BPromise=require(_0x7d72('0x4'));var Mustache=require(_0x7d72('0x5'));var util=require(_0x7d72('0x6'));var path=require('path');var sox=require(_0x7d72('0x7'));var csv=require(_0x7d72('0x8'));var ejs=require(_0x7d72('0x9'));var fs=require('fs');var fs_extra=require(_0x7d72('0xa'));var _=require('lodash');var squel=require(_0x7d72('0xb'));var crypto=require(_0x7d72('0xc'));var jsforce=require(_0x7d72('0xd'));var deskjs=require(_0x7d72('0xe'));var toCsv=require(_0x7d72('0x8'));var querystring=require(_0x7d72('0xf'));var Papa=require(_0x7d72('0x10'));var Redis=require(_0x7d72('0x11'));var authService=require(_0x7d72('0x12'));var qs=require(_0x7d72('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7d72('0x14'));var logger=require(_0x7d72('0x15'))(_0x7d72('0x16'));var utils=require('../../config/utils');var config=require(_0x7d72('0x17'));var licenseUtil=require(_0x7d72('0x18'));var db=require(_0x7d72('0x19'))['db'];function respondWithStatusCode(_0x532489,_0x59674a){_0x59674a=_0x59674a||0xcc;return function(_0x56369d){if(_0x56369d){return _0x532489['sendStatus'](_0x59674a);}return _0x532489['status'](_0x59674a)[_0x7d72('0x1a')]();};}function respondWithResult(_0x3bd0ce,_0x5e6b2b){_0x5e6b2b=_0x5e6b2b||0xc8;return function(_0x442660){if(_0x442660){return _0x3bd0ce['status'](_0x5e6b2b)[_0x7d72('0x1b')](_0x442660);}};}function respondWithFilteredResult(_0x1cbd58,_0x4f62ab){return function(_0x22a1c0){if(_0x22a1c0){var _0x1594c5=typeof _0x4f62ab[_0x7d72('0x1c')]===_0x7d72('0x1d')&&typeof _0x4f62ab[_0x7d72('0x1e')]===_0x7d72('0x1d');var _0x1cd35c=_0x22a1c0[_0x7d72('0x1f')];var _0x4aa5db=_0x1594c5?0x0:_0x4f62ab[_0x7d72('0x1c')];var _0xee79f0=_0x1594c5?_0x22a1c0[_0x7d72('0x1f')]:_0x4f62ab['offset']+_0x4f62ab['limit'];var _0x395f99;if(_0xee79f0>=_0x1cd35c){_0xee79f0=_0x1cd35c;_0x395f99=0xc8;}else{_0x395f99=0xce;}_0x1cbd58['status'](_0x395f99);return _0x1cbd58[_0x7d72('0x20')]('Content-Range',_0x4aa5db+'-'+_0xee79f0+'/'+_0x1cd35c)[_0x7d72('0x1b')](_0x22a1c0);}return null;};}function patchUpdates(_0x1ac757){return function(_0x4245c5){try{jsonpatch[_0x7d72('0x21')](_0x4245c5,_0x1ac757,!![]);}catch(_0x3fe471){return BPromise[_0x7d72('0x22')](_0x3fe471);}return _0x4245c5['save']();};}function saveUpdates(_0x3b2c7c,_0x5c9072){return function(_0x3b729b){if(_0x3b729b){return _0x3b729b[_0x7d72('0x23')](_0x3b2c7c)['then'](function(_0x91141e){return _0x91141e;});}return null;};}function removeEntity(_0x501662,_0x49d6fa){return function(_0x21ad6e){if(_0x21ad6e){return _0x21ad6e[_0x7d72('0x24')]()[_0x7d72('0x25')](function(){_0x501662[_0x7d72('0x26')](0xcc)[_0x7d72('0x1a')]();});}};}function handleEntityNotFound(_0xbd6b83,_0x412080){return function(_0x5c90d2){if(!_0x5c90d2){_0xbd6b83['sendStatus'](0x194);}return _0x5c90d2;};}function handleError(_0x4836c4,_0x309207){_0x309207=_0x309207||0x1f4;return function(_0x25016d){logger[_0x7d72('0x27')](_0x25016d[_0x7d72('0x28')]);if(_0x25016d[_0x7d72('0x29')]){delete _0x25016d[_0x7d72('0x29')];}_0x4836c4['status'](_0x309207)[_0x7d72('0x2a')](_0x25016d);};}exports['index']=function(_0x2f1c82,_0xfa8b4c){var _0x1262f4={},_0x3ee4fe={},_0x1df094={'count':0x0,'rows':[]};var _0x43ed04=_[_0x7d72('0x2b')](db['SugarcrmConfiguration']['rawAttributes'],function(_0x302d69){return{'name':_0x302d69[_0x7d72('0x2c')],'type':_0x302d69['type'][_0x7d72('0x2d')]};});_0x3ee4fe['model']=_[_0x7d72('0x2b')](_0x43ed04,_0x7d72('0x29'));_0x3ee4fe[_0x7d72('0x2e')]=_['keys'](_0x2f1c82['query']);_0x3ee4fe[_0x7d72('0x2f')]=_['intersection'](_0x3ee4fe[_0x7d72('0x30')],_0x3ee4fe[_0x7d72('0x2e')]);_0x1262f4[_0x7d72('0x31')]=_[_0x7d72('0x32')](_0x3ee4fe[_0x7d72('0x30')],qs[_0x7d72('0x33')](_0x2f1c82['query'][_0x7d72('0x33')]));_0x1262f4['attributes']=_0x1262f4[_0x7d72('0x31')][_0x7d72('0x34')]?_0x1262f4[_0x7d72('0x31')]:_0x3ee4fe[_0x7d72('0x30')];if(!_0x2f1c82[_0x7d72('0x2e')]['hasOwnProperty'](_0x7d72('0x35'))){_0x1262f4[_0x7d72('0x1e')]=qs['limit'](_0x2f1c82['query'][_0x7d72('0x1e')]);_0x1262f4[_0x7d72('0x1c')]=qs[_0x7d72('0x1c')](_0x2f1c82[_0x7d72('0x2e')][_0x7d72('0x1c')]);}_0x1262f4[_0x7d72('0x36')]=qs['sort'](_0x2f1c82['query'][_0x7d72('0x37')]);_0x1262f4[_0x7d72('0x38')]=qs['filters'](_['pick'](_0x2f1c82[_0x7d72('0x2e')],_0x3ee4fe[_0x7d72('0x2f')]),_0x43ed04);if(_0x2f1c82[_0x7d72('0x2e')][_0x7d72('0x39')]){_0x1262f4[_0x7d72('0x38')]=_[_0x7d72('0x3a')](_0x1262f4[_0x7d72('0x38')],{'$or':_['map'](_0x43ed04,function(_0x51b4d7){if(_0x51b4d7[_0x7d72('0x3b')]!==_0x7d72('0x3c')){var _0x51db94={};_0x51db94[_0x51b4d7[_0x7d72('0x29')]]={'$like':'%'+_0x2f1c82['query'][_0x7d72('0x39')]+'%'};return _0x51db94;}})});}_0x1262f4=_[_0x7d72('0x3a')]({},_0x1262f4,_0x2f1c82[_0x7d72('0x3d')]);var _0x5b2e12={'where':_0x1262f4[_0x7d72('0x38')]};return db[_0x7d72('0x3e')]['count'](_0x5b2e12)[_0x7d72('0x25')](function(_0x5070ea){_0x1df094[_0x7d72('0x1f')]=_0x5070ea;if(_0x2f1c82[_0x7d72('0x2e')]['includeAll']){_0x1262f4['include']=[{'all':!![]}];}return db[_0x7d72('0x3e')][_0x7d72('0x3f')](_0x1262f4);})['then'](function(_0x54480c){_0x1df094[_0x7d72('0x40')]=_0x54480c;return _0x1df094;})['then'](respondWithFilteredResult(_0xfa8b4c,_0x1262f4))[_0x7d72('0x41')](handleError(_0xfa8b4c,null));};exports[_0x7d72('0x42')]=function(_0x4ea9f4,_0xcfc92d){var _0x475439={'raw':![],'where':{'id':_0x4ea9f4[_0x7d72('0x43')]['id']}},_0x12af0d={};_0x12af0d[_0x7d72('0x30')]=_['keys'](db['SugarcrmConfiguration'][_0x7d72('0x44')]);_0x12af0d[_0x7d72('0x2e')]=_[_0x7d72('0x45')](_0x4ea9f4[_0x7d72('0x2e')]);_0x12af0d['filters']=_[_0x7d72('0x32')](_0x12af0d['model'],_0x12af0d[_0x7d72('0x2e')]);_0x475439[_0x7d72('0x31')]=_[_0x7d72('0x32')](_0x12af0d[_0x7d72('0x30')],qs[_0x7d72('0x33')](_0x4ea9f4[_0x7d72('0x2e')][_0x7d72('0x33')]));_0x475439[_0x7d72('0x31')]=_0x475439[_0x7d72('0x31')][_0x7d72('0x34')]?_0x475439['attributes']:_0x12af0d[_0x7d72('0x30')];if(_0x4ea9f4[_0x7d72('0x2e')][_0x7d72('0x46')]){_0x475439['include']=[{'all':!![]}];}_0x475439=_[_0x7d72('0x3a')]({},_0x475439,_0x4ea9f4[_0x7d72('0x3d')]);return db[_0x7d72('0x3e')][_0x7d72('0x47')](_0x475439)[_0x7d72('0x25')](handleEntityNotFound(_0xcfc92d,null))[_0x7d72('0x25')](respondWithResult(_0xcfc92d,null))[_0x7d72('0x41')](handleError(_0xcfc92d,null));};exports[_0x7d72('0x48')]=function(_0x511503,_0x5ecb98){return db[_0x7d72('0x3e')][_0x7d72('0x48')](_0x511503[_0x7d72('0x49')],{})[_0x7d72('0x25')](respondWithResult(_0x5ecb98,0xc9))[_0x7d72('0x41')](handleError(_0x5ecb98,null));};exports[_0x7d72('0x23')]=function(_0x5dc42b,_0xde1efe){if(_0x5dc42b['body']['id']){delete _0x5dc42b['body']['id'];}return db['SugarcrmConfiguration'][_0x7d72('0x47')]({'where':{'id':_0x5dc42b[_0x7d72('0x43')]['id']}})[_0x7d72('0x25')](handleEntityNotFound(_0xde1efe,null))[_0x7d72('0x25')](saveUpdates(_0x5dc42b[_0x7d72('0x49')],null))['then'](respondWithResult(_0xde1efe,null))['catch'](handleError(_0xde1efe,null));};exports['destroy']=function(_0x2d7ea5,_0x1e72b2){return db[_0x7d72('0x3e')][_0x7d72('0x47')]({'where':{'id':_0x2d7ea5['params']['id']}})[_0x7d72('0x25')](handleEntityNotFound(_0x1e72b2,null))[_0x7d72('0x25')](removeEntity(_0x1e72b2,null))[_0x7d72('0x41')](handleError(_0x1e72b2,null));};exports[_0x7d72('0x4a')]=function(_0x2a80d9,_0xac93b8,_0x15b438){var _0x3f4492={};var _0x2ee9a0={};var _0x2d6868;var _0x40c57b;return db['SugarcrmConfiguration'][_0x7d72('0x4b')]({'where':{'id':_0x2a80d9[_0x7d72('0x43')]['id']}})[_0x7d72('0x25')](handleEntityNotFound(_0xac93b8,null))['then'](function(_0x44f545){if(_0x44f545){_0x2d6868=_0x44f545;_0x2ee9a0[_0x7d72('0x30')]=_['keys'](db[_0x7d72('0x4c')]['rawAttributes']);_0x2ee9a0[_0x7d72('0x2e')]=_[_0x7d72('0x45')](_0x2a80d9['query']);_0x2ee9a0['filters']=_[_0x7d72('0x32')](_0x2ee9a0[_0x7d72('0x30')],_0x2ee9a0[_0x7d72('0x2e')]);_0x3f4492['attributes']=_[_0x7d72('0x32')](_0x2ee9a0[_0x7d72('0x30')],qs[_0x7d72('0x33')](_0x2a80d9[_0x7d72('0x2e')]['fields']));_0x3f4492['attributes']=_0x3f4492['attributes'][_0x7d72('0x34')]?_0x3f4492[_0x7d72('0x31')]:_0x2ee9a0['model'];_0x3f4492[_0x7d72('0x36')]=qs[_0x7d72('0x37')](_0x2a80d9[_0x7d72('0x2e')][_0x7d72('0x37')]);_0x3f4492[_0x7d72('0x38')]=qs[_0x7d72('0x2f')](_[_0x7d72('0x4d')](_0x2a80d9[_0x7d72('0x2e')],_0x2ee9a0[_0x7d72('0x2f')]));if(_0x2a80d9[_0x7d72('0x2e')][_0x7d72('0x39')]){_0x3f4492[_0x7d72('0x38')]=_[_0x7d72('0x3a')](_0x3f4492['where'],{'$or':_[_0x7d72('0x2b')](_0x3f4492[_0x7d72('0x31')],function(_0x255b0b){var _0xe990a1={};_0xe990a1[_0x255b0b]={'$like':'%'+_0x2a80d9['query'][_0x7d72('0x39')]+'%'};return _0xe990a1;})});}_0x3f4492=_['merge']({},_0x3f4492,_0x2a80d9[_0x7d72('0x3d')]);return _0x2d6868[_0x7d72('0x4a')](_0x3f4492);}})[_0x7d72('0x25')](function(_0x466d86){if(_0x466d86){_0x40c57b=_0x466d86[_0x7d72('0x34')];if(!_0x2a80d9[_0x7d72('0x2e')][_0x7d72('0x4e')](_0x7d72('0x35'))){_0x3f4492[_0x7d72('0x1e')]=qs[_0x7d72('0x1e')](_0x2a80d9['query']['limit']);_0x3f4492[_0x7d72('0x1c')]=qs['offset'](_0x2a80d9[_0x7d72('0x2e')][_0x7d72('0x1c')]);}return _0x2d6868[_0x7d72('0x4a')](_0x3f4492);}})[_0x7d72('0x25')](function(_0x3629aa){if(_0x3629aa){return _0x3629aa?{'count':_0x40c57b,'rows':_0x3629aa}:null;}})[_0x7d72('0x25')](respondWithResult(_0xac93b8,null))[_0x7d72('0x41')](handleError(_0xac93b8,null));};exports[_0x7d72('0x4f')]=function(_0x1622cd,_0x51c8e5,_0x557471){var _0x3ee4cb={};var _0x5e6552={};var _0x8c4aa5;var _0x58ec0d;return db['SugarcrmConfiguration'][_0x7d72('0x4b')]({'where':{'id':_0x1622cd[_0x7d72('0x43')]['id']}})['then'](handleEntityNotFound(_0x51c8e5,null))[_0x7d72('0x25')](function(_0x497b39){if(_0x497b39){_0x8c4aa5=_0x497b39;_0x5e6552[_0x7d72('0x30')]=_[_0x7d72('0x45')](db['SugarcrmField'][_0x7d72('0x44')]);_0x5e6552[_0x7d72('0x2e')]=_[_0x7d72('0x45')](_0x1622cd[_0x7d72('0x2e')]);_0x5e6552[_0x7d72('0x2f')]=_[_0x7d72('0x32')](_0x5e6552[_0x7d72('0x30')],_0x5e6552[_0x7d72('0x2e')]);_0x3ee4cb[_0x7d72('0x31')]=_['intersection'](_0x5e6552[_0x7d72('0x30')],qs[_0x7d72('0x33')](_0x1622cd[_0x7d72('0x2e')][_0x7d72('0x33')]));_0x3ee4cb['attributes']=_0x3ee4cb[_0x7d72('0x31')][_0x7d72('0x34')]?_0x3ee4cb['attributes']:_0x5e6552[_0x7d72('0x30')];_0x3ee4cb[_0x7d72('0x36')]=qs[_0x7d72('0x37')](_0x1622cd[_0x7d72('0x2e')][_0x7d72('0x37')]);_0x3ee4cb[_0x7d72('0x38')]=qs[_0x7d72('0x2f')](_[_0x7d72('0x4d')](_0x1622cd[_0x7d72('0x2e')],_0x5e6552[_0x7d72('0x2f')]));if(_0x1622cd[_0x7d72('0x2e')]['filter']){_0x3ee4cb[_0x7d72('0x38')]=_[_0x7d72('0x3a')](_0x3ee4cb[_0x7d72('0x38')],{'$or':_[_0x7d72('0x2b')](_0x3ee4cb[_0x7d72('0x31')],function(_0x37182f){var _0x4c807f={};_0x4c807f[_0x37182f]={'$like':'%'+_0x1622cd[_0x7d72('0x2e')]['filter']+'%'};return _0x4c807f;})});}_0x3ee4cb=_['merge']({},_0x3ee4cb,_0x1622cd[_0x7d72('0x3d')]);return _0x8c4aa5[_0x7d72('0x4f')](_0x3ee4cb);}})[_0x7d72('0x25')](function(_0x43c544){if(_0x43c544){_0x58ec0d=_0x43c544['length'];if(!_0x1622cd[_0x7d72('0x2e')]['hasOwnProperty'](_0x7d72('0x35'))){_0x3ee4cb[_0x7d72('0x1e')]=qs[_0x7d72('0x1e')](_0x1622cd[_0x7d72('0x2e')][_0x7d72('0x1e')]);_0x3ee4cb[_0x7d72('0x1c')]=qs[_0x7d72('0x1c')](_0x1622cd['query'][_0x7d72('0x1c')]);}return _0x8c4aa5[_0x7d72('0x4f')](_0x3ee4cb);}})['then'](function(_0x16fbf4){if(_0x16fbf4){return _0x16fbf4?{'count':_0x58ec0d,'rows':_0x16fbf4}:null;}})[_0x7d72('0x25')](respondWithResult(_0x51c8e5,null))[_0x7d72('0x41')](handleError(_0x51c8e5,null));};exports['getDescriptions']=function(_0x1684e1,_0x2afe66,_0x321fc1){var _0x5cdc93={};var _0x4604e2={};var _0x188fbb;var _0x41db27;return db[_0x7d72('0x3e')]['findOne']({'where':{'id':_0x1684e1[_0x7d72('0x43')]['id']}})[_0x7d72('0x25')](handleEntityNotFound(_0x2afe66,null))['then'](function(_0x36bf5){if(_0x36bf5){_0x188fbb=_0x36bf5;_0x4604e2[_0x7d72('0x30')]=_[_0x7d72('0x45')](db[_0x7d72('0x4c')][_0x7d72('0x44')]);_0x4604e2[_0x7d72('0x2e')]=_[_0x7d72('0x45')](_0x1684e1[_0x7d72('0x2e')]);_0x4604e2[_0x7d72('0x2f')]=_[_0x7d72('0x32')](_0x4604e2['model'],_0x4604e2[_0x7d72('0x2e')]);_0x5cdc93['attributes']=_['intersection'](_0x4604e2[_0x7d72('0x30')],qs[_0x7d72('0x33')](_0x1684e1[_0x7d72('0x2e')][_0x7d72('0x33')]));_0x5cdc93[_0x7d72('0x31')]=_0x5cdc93[_0x7d72('0x31')][_0x7d72('0x34')]?_0x5cdc93['attributes']:_0x4604e2[_0x7d72('0x30')];_0x5cdc93[_0x7d72('0x36')]=qs['sort'](_0x1684e1['query'][_0x7d72('0x37')]);_0x5cdc93[_0x7d72('0x38')]=qs[_0x7d72('0x2f')](_['pick'](_0x1684e1['query'],_0x4604e2[_0x7d72('0x2f')]));if(_0x1684e1[_0x7d72('0x2e')][_0x7d72('0x39')]){_0x5cdc93['where']=_['merge'](_0x5cdc93[_0x7d72('0x38')],{'$or':_[_0x7d72('0x2b')](_0x5cdc93[_0x7d72('0x31')],function(_0x237be2){var _0x46fe10={};_0x46fe10[_0x237be2]={'$like':'%'+_0x1684e1[_0x7d72('0x2e')][_0x7d72('0x39')]+'%'};return _0x46fe10;})});}_0x5cdc93=_[_0x7d72('0x3a')]({},_0x5cdc93,_0x1684e1[_0x7d72('0x3d')]);return _0x188fbb[_0x7d72('0x50')](_0x5cdc93);}})[_0x7d72('0x25')](function(_0x464d5b){if(_0x464d5b){_0x41db27=_0x464d5b[_0x7d72('0x34')];if(!_0x1684e1[_0x7d72('0x2e')]['hasOwnProperty'](_0x7d72('0x35'))){_0x5cdc93['limit']=qs[_0x7d72('0x1e')](_0x1684e1[_0x7d72('0x2e')][_0x7d72('0x1e')]);_0x5cdc93['offset']=qs[_0x7d72('0x1c')](_0x1684e1[_0x7d72('0x2e')][_0x7d72('0x1c')]);}return _0x188fbb[_0x7d72('0x50')](_0x5cdc93);}})['then'](function(_0xae44d9){if(_0xae44d9){return _0xae44d9?{'count':_0x41db27,'rows':_0xae44d9}:null;}})[_0x7d72('0x25')](respondWithResult(_0x2afe66,null))[_0x7d72('0x41')](handleError(_0x2afe66,null));};