eb1aeef251918baabd03440e5581635f3156dff4
[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 _0x39c8=['sort','where','pick','filter','VIRTUAL','merge','options','include','rows','catch','show','params','SugarcrmConfiguration','intersection','length','includeAll','find','create','body','getFields','findOne','SugarcrmField','rawAttributes','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','status','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','then','end','sendStatus','error','name','send','index','map','fieldName','type','key','model','keys','query','filters','attributes','fields','hasOwnProperty','nolimit','order'];(function(_0x329883,_0x1903ca){var _0x4520da=function(_0x518618){while(--_0x518618){_0x329883['push'](_0x329883['shift']());}};_0x4520da(++_0x1903ca);}(_0x39c8,0xbd));var _0x839c=function(_0x4b174a,_0x33a017){_0x4b174a=_0x4b174a-0x0;var _0x3cd7bf=_0x39c8[_0x4b174a];return _0x3cd7bf;};'use strict';var emlformat=require(_0x839c('0x0'));var rimraf=require(_0x839c('0x1'));var zipdir=require(_0x839c('0x2'));var jsonpatch=require(_0x839c('0x3'));var rp=require(_0x839c('0x4'));var moment=require('moment');var BPromise=require(_0x839c('0x5'));var Mustache=require(_0x839c('0x6'));var util=require(_0x839c('0x7'));var path=require(_0x839c('0x8'));var sox=require(_0x839c('0x9'));var csv=require(_0x839c('0xa'));var ejs=require(_0x839c('0xb'));var fs=require('fs');var fs_extra=require(_0x839c('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x839c('0xd'));var deskjs=require(_0x839c('0xe'));var toCsv=require(_0x839c('0xa'));var querystring=require(_0x839c('0xf'));var Papa=require(_0x839c('0x10'));var Redis=require(_0x839c('0x11'));var authService=require(_0x839c('0x12'));var qs=require(_0x839c('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x839c('0x14'));var logger=require(_0x839c('0x15'))(_0x839c('0x16'));var utils=require(_0x839c('0x17'));var config=require(_0x839c('0x18'));var licenseUtil=require(_0x839c('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1d137c,_0x1c6930){_0x1c6930=_0x1c6930||0xcc;return function(_0x816507){if(_0x816507){return _0x1d137c['sendStatus'](_0x1c6930);}return _0x1d137c['status'](_0x1c6930)['end']();};}function respondWithResult(_0x4d7980,_0x1fb873){_0x1fb873=_0x1fb873||0xc8;return function(_0x22ac42){if(_0x22ac42){return _0x4d7980[_0x839c('0x1a')](_0x1fb873)[_0x839c('0x1b')](_0x22ac42);}};}function respondWithFilteredResult(_0x2a63dd,_0x22956a){return function(_0x2c2033){if(_0x2c2033){var _0xe7a86d=typeof _0x22956a[_0x839c('0x1c')]===_0x839c('0x1d')&&typeof _0x22956a[_0x839c('0x1e')]===_0x839c('0x1d');var _0x356b09=_0x2c2033[_0x839c('0x1f')];var _0x409c20=_0xe7a86d?0x0:_0x22956a[_0x839c('0x1c')];var _0xd7cf65=_0xe7a86d?_0x2c2033[_0x839c('0x1f')]:_0x22956a[_0x839c('0x1c')]+_0x22956a['limit'];var _0x2123b6;if(_0xd7cf65>=_0x356b09){_0xd7cf65=_0x356b09;_0x2123b6=0xc8;}else{_0x2123b6=0xce;}_0x2a63dd['status'](_0x2123b6);return _0x2a63dd[_0x839c('0x20')](_0x839c('0x21'),_0x409c20+'-'+_0xd7cf65+'/'+_0x356b09)['json'](_0x2c2033);}return null;};}function patchUpdates(_0x4b7f42){return function(_0x241f42){try{jsonpatch[_0x839c('0x22')](_0x241f42,_0x4b7f42,!![]);}catch(_0x331dd2){return BPromise['reject'](_0x331dd2);}return _0x241f42[_0x839c('0x23')]();};}function saveUpdates(_0x4d69be,_0x217644){return function(_0x55074e){if(_0x55074e){return _0x55074e[_0x839c('0x24')](_0x4d69be)[_0x839c('0x25')](function(_0x97d01c){return _0x97d01c;});}return null;};}function removeEntity(_0x5a2c84,_0x106be4){return function(_0x53d52b){if(_0x53d52b){return _0x53d52b['destroy']()['then'](function(){_0x5a2c84['status'](0xcc)[_0x839c('0x26')]();});}};}function handleEntityNotFound(_0xf1c769,_0x2962ee){return function(_0x1a26e6){if(!_0x1a26e6){_0xf1c769[_0x839c('0x27')](0x194);}return _0x1a26e6;};}function handleError(_0x42a2ae,_0x4ae507){_0x4ae507=_0x4ae507||0x1f4;return function(_0x338934){logger[_0x839c('0x28')](_0x338934['stack']);if(_0x338934[_0x839c('0x29')]){delete _0x338934[_0x839c('0x29')];}_0x42a2ae['status'](_0x4ae507)[_0x839c('0x2a')](_0x338934);};}exports[_0x839c('0x2b')]=function(_0x12b22f,_0x43713b){var _0x4167c0={},_0xffb8fd={},_0x2e064b={'count':0x0,'rows':[]};var _0x33fc7c=_[_0x839c('0x2c')](db['SugarcrmConfiguration']['rawAttributes'],function(_0x50d4e9){return{'name':_0x50d4e9[_0x839c('0x2d')],'type':_0x50d4e9[_0x839c('0x2e')][_0x839c('0x2f')]};});_0xffb8fd[_0x839c('0x30')]=_[_0x839c('0x2c')](_0x33fc7c,'name');_0xffb8fd['query']=_[_0x839c('0x31')](_0x12b22f[_0x839c('0x32')]);_0xffb8fd[_0x839c('0x33')]=_['intersection'](_0xffb8fd[_0x839c('0x30')],_0xffb8fd[_0x839c('0x32')]);_0x4167c0[_0x839c('0x34')]=_['intersection'](_0xffb8fd['model'],qs[_0x839c('0x35')](_0x12b22f[_0x839c('0x32')][_0x839c('0x35')]));_0x4167c0[_0x839c('0x34')]=_0x4167c0[_0x839c('0x34')]['length']?_0x4167c0[_0x839c('0x34')]:_0xffb8fd[_0x839c('0x30')];if(!_0x12b22f[_0x839c('0x32')][_0x839c('0x36')](_0x839c('0x37'))){_0x4167c0[_0x839c('0x1e')]=qs[_0x839c('0x1e')](_0x12b22f['query'][_0x839c('0x1e')]);_0x4167c0[_0x839c('0x1c')]=qs[_0x839c('0x1c')](_0x12b22f[_0x839c('0x32')][_0x839c('0x1c')]);}_0x4167c0[_0x839c('0x38')]=qs[_0x839c('0x39')](_0x12b22f[_0x839c('0x32')][_0x839c('0x39')]);_0x4167c0[_0x839c('0x3a')]=qs[_0x839c('0x33')](_[_0x839c('0x3b')](_0x12b22f[_0x839c('0x32')],_0xffb8fd[_0x839c('0x33')]),_0x33fc7c);if(_0x12b22f[_0x839c('0x32')][_0x839c('0x3c')]){_0x4167c0['where']=_['merge'](_0x4167c0[_0x839c('0x3a')],{'$or':_[_0x839c('0x2c')](_0x33fc7c,function(_0x40cb6e){if(_0x40cb6e['type']!==_0x839c('0x3d')){var _0x45d627={};_0x45d627[_0x40cb6e[_0x839c('0x29')]]={'$like':'%'+_0x12b22f[_0x839c('0x32')][_0x839c('0x3c')]+'%'};return _0x45d627;}})});}_0x4167c0=_[_0x839c('0x3e')]({},_0x4167c0,_0x12b22f[_0x839c('0x3f')]);var _0x14080e={'where':_0x4167c0[_0x839c('0x3a')]};return db['SugarcrmConfiguration'][_0x839c('0x1f')](_0x14080e)['then'](function(_0x5a4c5f){_0x2e064b[_0x839c('0x1f')]=_0x5a4c5f;if(_0x12b22f[_0x839c('0x32')]['includeAll']){_0x4167c0[_0x839c('0x40')]=[{'all':!![]}];}return db['SugarcrmConfiguration']['findAll'](_0x4167c0);})[_0x839c('0x25')](function(_0x3da489){_0x2e064b[_0x839c('0x41')]=_0x3da489;return _0x2e064b;})[_0x839c('0x25')](respondWithFilteredResult(_0x43713b,_0x4167c0))[_0x839c('0x42')](handleError(_0x43713b,null));};exports[_0x839c('0x43')]=function(_0x55f51d,_0x5727e9){var _0x2c30ee={'raw':![],'where':{'id':_0x55f51d[_0x839c('0x44')]['id']}},_0x568237={};_0x568237['model']=_[_0x839c('0x31')](db[_0x839c('0x45')]['rawAttributes']);_0x568237['query']=_[_0x839c('0x31')](_0x55f51d[_0x839c('0x32')]);_0x568237[_0x839c('0x33')]=_[_0x839c('0x46')](_0x568237[_0x839c('0x30')],_0x568237[_0x839c('0x32')]);_0x2c30ee['attributes']=_[_0x839c('0x46')](_0x568237[_0x839c('0x30')],qs['fields'](_0x55f51d[_0x839c('0x32')][_0x839c('0x35')]));_0x2c30ee['attributes']=_0x2c30ee[_0x839c('0x34')][_0x839c('0x47')]?_0x2c30ee['attributes']:_0x568237['model'];if(_0x55f51d[_0x839c('0x32')][_0x839c('0x48')]){_0x2c30ee[_0x839c('0x40')]=[{'all':!![]}];}_0x2c30ee=_[_0x839c('0x3e')]({},_0x2c30ee,_0x55f51d['options']);return db[_0x839c('0x45')][_0x839c('0x49')](_0x2c30ee)['then'](handleEntityNotFound(_0x5727e9,null))[_0x839c('0x25')](respondWithResult(_0x5727e9,null))[_0x839c('0x42')](handleError(_0x5727e9,null));};exports[_0x839c('0x4a')]=function(_0x3f81d7,_0x5cc497){return db[_0x839c('0x45')][_0x839c('0x4a')](_0x3f81d7[_0x839c('0x4b')],{})[_0x839c('0x25')](respondWithResult(_0x5cc497,0xc9))[_0x839c('0x42')](handleError(_0x5cc497,null));};exports['update']=function(_0x293136,_0x5ec703){if(_0x293136[_0x839c('0x4b')]['id']){delete _0x293136['body']['id'];}return db[_0x839c('0x45')]['find']({'where':{'id':_0x293136[_0x839c('0x44')]['id']}})[_0x839c('0x25')](handleEntityNotFound(_0x5ec703,null))[_0x839c('0x25')](saveUpdates(_0x293136[_0x839c('0x4b')],null))[_0x839c('0x25')](respondWithResult(_0x5ec703,null))['catch'](handleError(_0x5ec703,null));};exports['destroy']=function(_0x6e032b,_0x4c84c7){return db[_0x839c('0x45')][_0x839c('0x49')]({'where':{'id':_0x6e032b[_0x839c('0x44')]['id']}})[_0x839c('0x25')](handleEntityNotFound(_0x4c84c7,null))[_0x839c('0x25')](removeEntity(_0x4c84c7,null))[_0x839c('0x42')](handleError(_0x4c84c7,null));};exports[_0x839c('0x4c')]=function(_0x1cb6f0,_0x1910f3,_0x2367b5){var _0x259423={};var _0x2fbc0f={};var _0x24e325;var _0x407811;return db['SugarcrmConfiguration']['findOne']({'where':{'id':_0x1cb6f0[_0x839c('0x44')]['id']}})[_0x839c('0x25')](handleEntityNotFound(_0x1910f3,null))['then'](function(_0xa4b281){if(_0xa4b281){_0x24e325=_0xa4b281;_0x2fbc0f[_0x839c('0x30')]=_['keys'](db['SugarcrmField']['rawAttributes']);_0x2fbc0f[_0x839c('0x32')]=_[_0x839c('0x31')](_0x1cb6f0[_0x839c('0x32')]);_0x2fbc0f[_0x839c('0x33')]=_['intersection'](_0x2fbc0f[_0x839c('0x30')],_0x2fbc0f['query']);_0x259423[_0x839c('0x34')]=_[_0x839c('0x46')](_0x2fbc0f['model'],qs[_0x839c('0x35')](_0x1cb6f0[_0x839c('0x32')][_0x839c('0x35')]));_0x259423['attributes']=_0x259423[_0x839c('0x34')]['length']?_0x259423['attributes']:_0x2fbc0f[_0x839c('0x30')];_0x259423[_0x839c('0x38')]=qs[_0x839c('0x39')](_0x1cb6f0[_0x839c('0x32')]['sort']);_0x259423['where']=qs[_0x839c('0x33')](_['pick'](_0x1cb6f0[_0x839c('0x32')],_0x2fbc0f[_0x839c('0x33')]));if(_0x1cb6f0['query'][_0x839c('0x3c')]){_0x259423[_0x839c('0x3a')]=_[_0x839c('0x3e')](_0x259423[_0x839c('0x3a')],{'$or':_[_0x839c('0x2c')](_0x259423[_0x839c('0x34')],function(_0x4c33e7){var _0x1f4f45={};_0x1f4f45[_0x4c33e7]={'$like':'%'+_0x1cb6f0['query'][_0x839c('0x3c')]+'%'};return _0x1f4f45;})});}_0x259423=_[_0x839c('0x3e')]({},_0x259423,_0x1cb6f0[_0x839c('0x3f')]);return _0x24e325[_0x839c('0x4c')](_0x259423);}})[_0x839c('0x25')](function(_0x1663ea){if(_0x1663ea){_0x407811=_0x1663ea['length'];if(!_0x1cb6f0[_0x839c('0x32')][_0x839c('0x36')](_0x839c('0x37'))){_0x259423[_0x839c('0x1e')]=qs[_0x839c('0x1e')](_0x1cb6f0['query'][_0x839c('0x1e')]);_0x259423[_0x839c('0x1c')]=qs[_0x839c('0x1c')](_0x1cb6f0['query']['offset']);}return _0x24e325[_0x839c('0x4c')](_0x259423);}})['then'](function(_0x4d9dd7){if(_0x4d9dd7){return _0x4d9dd7?{'count':_0x407811,'rows':_0x4d9dd7}:null;}})[_0x839c('0x25')](respondWithResult(_0x1910f3,null))[_0x839c('0x42')](handleError(_0x1910f3,null));};exports['getSubjects']=function(_0x46d679,_0x5a0578,_0x43b87f){var _0x4b2854={};var _0x11e5bd={};var _0x21fedd;var _0x1c4595;return db['SugarcrmConfiguration'][_0x839c('0x4d')]({'where':{'id':_0x46d679[_0x839c('0x44')]['id']}})[_0x839c('0x25')](handleEntityNotFound(_0x5a0578,null))[_0x839c('0x25')](function(_0x374955){if(_0x374955){_0x21fedd=_0x374955;_0x11e5bd[_0x839c('0x30')]=_[_0x839c('0x31')](db[_0x839c('0x4e')][_0x839c('0x4f')]);_0x11e5bd[_0x839c('0x32')]=_[_0x839c('0x31')](_0x46d679[_0x839c('0x32')]);_0x11e5bd[_0x839c('0x33')]=_[_0x839c('0x46')](_0x11e5bd[_0x839c('0x30')],_0x11e5bd[_0x839c('0x32')]);_0x4b2854[_0x839c('0x34')]=_[_0x839c('0x46')](_0x11e5bd[_0x839c('0x30')],qs[_0x839c('0x35')](_0x46d679[_0x839c('0x32')][_0x839c('0x35')]));_0x4b2854['attributes']=_0x4b2854[_0x839c('0x34')][_0x839c('0x47')]?_0x4b2854[_0x839c('0x34')]:_0x11e5bd[_0x839c('0x30')];_0x4b2854[_0x839c('0x38')]=qs[_0x839c('0x39')](_0x46d679[_0x839c('0x32')][_0x839c('0x39')]);_0x4b2854['where']=qs[_0x839c('0x33')](_[_0x839c('0x3b')](_0x46d679[_0x839c('0x32')],_0x11e5bd['filters']));if(_0x46d679['query'][_0x839c('0x3c')]){_0x4b2854[_0x839c('0x3a')]=_[_0x839c('0x3e')](_0x4b2854[_0x839c('0x3a')],{'$or':_[_0x839c('0x2c')](_0x4b2854['attributes'],function(_0x4b7653){var _0x194883={};_0x194883[_0x4b7653]={'$like':'%'+_0x46d679[_0x839c('0x32')][_0x839c('0x3c')]+'%'};return _0x194883;})});}_0x4b2854=_[_0x839c('0x3e')]({},_0x4b2854,_0x46d679['options']);return _0x21fedd[_0x839c('0x50')](_0x4b2854);}})[_0x839c('0x25')](function(_0x17f991){if(_0x17f991){_0x1c4595=_0x17f991[_0x839c('0x47')];if(!_0x46d679[_0x839c('0x32')][_0x839c('0x36')](_0x839c('0x37'))){_0x4b2854['limit']=qs[_0x839c('0x1e')](_0x46d679[_0x839c('0x32')][_0x839c('0x1e')]);_0x4b2854[_0x839c('0x1c')]=qs[_0x839c('0x1c')](_0x46d679[_0x839c('0x32')][_0x839c('0x1c')]);}return _0x21fedd['getSubjects'](_0x4b2854);}})[_0x839c('0x25')](function(_0x2eafea){if(_0x2eafea){return _0x2eafea?{'count':_0x1c4595,'rows':_0x2eafea}:null;}})['then'](respondWithResult(_0x5a0578,null))['catch'](handleError(_0x5a0578,null));};exports[_0x839c('0x51')]=function(_0x702601,_0x314001,_0x3bf5e3){var _0x35dc42={};var _0x25034b={};var _0x2e27be;var _0x9ef076;return db[_0x839c('0x45')][_0x839c('0x4d')]({'where':{'id':_0x702601['params']['id']}})['then'](handleEntityNotFound(_0x314001,null))[_0x839c('0x25')](function(_0x2a4d25){if(_0x2a4d25){_0x2e27be=_0x2a4d25;_0x25034b[_0x839c('0x30')]=_[_0x839c('0x31')](db['SugarcrmField'][_0x839c('0x4f')]);_0x25034b[_0x839c('0x32')]=_[_0x839c('0x31')](_0x702601[_0x839c('0x32')]);_0x25034b[_0x839c('0x33')]=_[_0x839c('0x46')](_0x25034b['model'],_0x25034b[_0x839c('0x32')]);_0x35dc42['attributes']=_[_0x839c('0x46')](_0x25034b[_0x839c('0x30')],qs[_0x839c('0x35')](_0x702601[_0x839c('0x32')][_0x839c('0x35')]));_0x35dc42[_0x839c('0x34')]=_0x35dc42[_0x839c('0x34')]['length']?_0x35dc42[_0x839c('0x34')]:_0x25034b[_0x839c('0x30')];_0x35dc42['order']=qs[_0x839c('0x39')](_0x702601[_0x839c('0x32')][_0x839c('0x39')]);_0x35dc42['where']=qs['filters'](_[_0x839c('0x3b')](_0x702601['query'],_0x25034b['filters']));if(_0x702601[_0x839c('0x32')][_0x839c('0x3c')]){_0x35dc42[_0x839c('0x3a')]=_['merge'](_0x35dc42[_0x839c('0x3a')],{'$or':_[_0x839c('0x2c')](_0x35dc42[_0x839c('0x34')],function(_0x3c0547){var _0x16c7eb={};_0x16c7eb[_0x3c0547]={'$like':'%'+_0x702601[_0x839c('0x32')][_0x839c('0x3c')]+'%'};return _0x16c7eb;})});}_0x35dc42=_[_0x839c('0x3e')]({},_0x35dc42,_0x702601[_0x839c('0x3f')]);return _0x2e27be['getDescriptions'](_0x35dc42);}})[_0x839c('0x25')](function(_0x3983f0){if(_0x3983f0){_0x9ef076=_0x3983f0[_0x839c('0x47')];if(!_0x702601['query']['hasOwnProperty'](_0x839c('0x37'))){_0x35dc42[_0x839c('0x1e')]=qs[_0x839c('0x1e')](_0x702601[_0x839c('0x32')][_0x839c('0x1e')]);_0x35dc42['offset']=qs[_0x839c('0x1c')](_0x702601[_0x839c('0x32')][_0x839c('0x1c')]);}return _0x2e27be[_0x839c('0x51')](_0x35dc42);}})[_0x839c('0x25')](function(_0x3d71a3){if(_0x3d71a3){return _0x3d71a3?{'count':_0x9ef076,'rows':_0x3d71a3}:null;}})[_0x839c('0x25')](respondWithResult(_0x314001,null))[_0x839c('0x42')](handleError(_0x314001,null));};