Built motion from commit f8768ebe.|2.6.15
[motion2.git] / server / api / intFreshsalesConfiguration / intFreshsalesConfiguration.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 _0x851c=['findAll','catch','show','options','create','body','find','params','getSubjects','FreshsalesField','hasOwnProperty','getDescriptions','getFields','findOne','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','index','map','rawAttributes','fieldName','key','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','pick','filter','where','merge','type','VIRTUAL','FreshsalesConfiguration','include'];(function(_0x391bef,_0x34c329){var _0x4d179e=function(_0x5cc5ec){while(--_0x5cc5ec){_0x391bef['push'](_0x391bef['shift']());}};_0x4d179e(++_0x34c329);}(_0x851c,0xb4));var _0xc851=function(_0x167cc1,_0x56ef5a){_0x167cc1=_0x167cc1-0x0;var _0x10bc4b=_0x851c[_0x167cc1];return _0x10bc4b;};'use strict';var emlformat=require(_0xc851('0x0'));var rimraf=require(_0xc851('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc851('0x2'));var rp=require(_0xc851('0x3'));var moment=require(_0xc851('0x4'));var BPromise=require(_0xc851('0x5'));var Mustache=require(_0xc851('0x6'));var util=require(_0xc851('0x7'));var path=require(_0xc851('0x8'));var sox=require(_0xc851('0x9'));var csv=require(_0xc851('0xa'));var ejs=require(_0xc851('0xb'));var fs=require('fs');var fs_extra=require(_0xc851('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xc851('0xd'));var jsforce=require(_0xc851('0xe'));var deskjs=require(_0xc851('0xf'));var toCsv=require('to-csv');var querystring=require(_0xc851('0x10'));var Papa=require(_0xc851('0x11'));var Redis=require(_0xc851('0x12'));var authService=require(_0xc851('0x13'));var qs=require(_0xc851('0x14'));var as=require(_0xc851('0x15'));var hardwareService=require(_0xc851('0x16'));var logger=require(_0xc851('0x17'))('api');var utils=require(_0xc851('0x18'));var config=require(_0xc851('0x19'));var licenseUtil=require(_0xc851('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x20adba,_0x27f051){_0x27f051=_0x27f051||0xcc;return function(_0x407529){if(_0x407529){return _0x20adba[_0xc851('0x1b')](_0x27f051);}return _0x20adba['status'](_0x27f051)['end']();};}function respondWithResult(_0x5acfd1,_0x28382a){_0x28382a=_0x28382a||0xc8;return function(_0x609895){if(_0x609895){return _0x5acfd1['status'](_0x28382a)[_0xc851('0x1c')](_0x609895);}};}function respondWithFilteredResult(_0x2c3d58,_0x2f2834){return function(_0x3045d8){if(_0x3045d8){var _0x10a35d=typeof _0x2f2834[_0xc851('0x1d')]===_0xc851('0x1e')&&typeof _0x2f2834[_0xc851('0x1f')]===_0xc851('0x1e');var _0x2c0985=_0x3045d8['count'];var _0x413c3c=_0x10a35d?0x0:_0x2f2834['offset'];var _0x30d6e6=_0x10a35d?_0x3045d8[_0xc851('0x20')]:_0x2f2834['offset']+_0x2f2834[_0xc851('0x1f')];var _0x47658a;if(_0x30d6e6>=_0x2c0985){_0x30d6e6=_0x2c0985;_0x47658a=0xc8;}else{_0x47658a=0xce;}_0x2c3d58['status'](_0x47658a);return _0x2c3d58[_0xc851('0x21')](_0xc851('0x22'),_0x413c3c+'-'+_0x30d6e6+'/'+_0x2c0985)[_0xc851('0x1c')](_0x3045d8);}return null;};}function patchUpdates(_0x2d8b19){return function(_0x56fa83){try{jsonpatch[_0xc851('0x23')](_0x56fa83,_0x2d8b19,!![]);}catch(_0x1f0d83){return BPromise[_0xc851('0x24')](_0x1f0d83);}return _0x56fa83[_0xc851('0x25')]();};}function saveUpdates(_0x111109,_0x280624){return function(_0x2ae6c7){if(_0x2ae6c7){return _0x2ae6c7[_0xc851('0x26')](_0x111109)[_0xc851('0x27')](function(_0x13939a){return _0x13939a;});}return null;};}function removeEntity(_0x23ef55,_0x81359f){return function(_0x47c431){if(_0x47c431){return _0x47c431[_0xc851('0x28')]()[_0xc851('0x27')](function(){_0x23ef55['status'](0xcc)[_0xc851('0x29')]();});}};}function handleEntityNotFound(_0x154334,_0xb44358){return function(_0x27367b){if(!_0x27367b){_0x154334[_0xc851('0x1b')](0x194);}return _0x27367b;};}function handleError(_0x202ec2,_0xd556b4){_0xd556b4=_0xd556b4||0x1f4;return function(_0x502a5e){logger[_0xc851('0x2a')](_0x502a5e[_0xc851('0x2b')]);if(_0x502a5e[_0xc851('0x2c')]){delete _0x502a5e[_0xc851('0x2c')];}_0x202ec2['status'](_0xd556b4)['send'](_0x502a5e);};}exports[_0xc851('0x2d')]=function(_0x2b9327,_0x2779d7){var _0xcf115d={},_0x3b3824={},_0xee99f8={'count':0x0,'rows':[]};var _0x285002=_[_0xc851('0x2e')](db['FreshsalesConfiguration'][_0xc851('0x2f')],function(_0x43fd15){return{'name':_0x43fd15[_0xc851('0x30')],'type':_0x43fd15['type'][_0xc851('0x31')]};});_0x3b3824['model']=_['map'](_0x285002,'name');_0x3b3824[_0xc851('0x32')]=_[_0xc851('0x33')](_0x2b9327['query']);_0x3b3824[_0xc851('0x34')]=_[_0xc851('0x35')](_0x3b3824[_0xc851('0x36')],_0x3b3824[_0xc851('0x32')]);_0xcf115d[_0xc851('0x37')]=_[_0xc851('0x35')](_0x3b3824[_0xc851('0x36')],qs[_0xc851('0x38')](_0x2b9327[_0xc851('0x32')][_0xc851('0x38')]));_0xcf115d[_0xc851('0x37')]=_0xcf115d['attributes'][_0xc851('0x39')]?_0xcf115d['attributes']:_0x3b3824[_0xc851('0x36')];if(!_0x2b9327[_0xc851('0x32')]['hasOwnProperty'](_0xc851('0x3a'))){_0xcf115d['limit']=qs['limit'](_0x2b9327['query'][_0xc851('0x1f')]);_0xcf115d[_0xc851('0x1d')]=qs[_0xc851('0x1d')](_0x2b9327['query'][_0xc851('0x1d')]);}_0xcf115d[_0xc851('0x3b')]=qs[_0xc851('0x3c')](_0x2b9327[_0xc851('0x32')][_0xc851('0x3c')]);_0xcf115d['where']=qs[_0xc851('0x34')](_[_0xc851('0x3d')](_0x2b9327[_0xc851('0x32')],_0x3b3824[_0xc851('0x34')]),_0x285002);if(_0x2b9327[_0xc851('0x32')][_0xc851('0x3e')]){_0xcf115d[_0xc851('0x3f')]=_[_0xc851('0x40')](_0xcf115d['where'],{'$or':_[_0xc851('0x2e')](_0x285002,function(_0xd99266){if(_0xd99266[_0xc851('0x41')]!==_0xc851('0x42')){var _0x1dc574={};_0x1dc574[_0xd99266['name']]={'$like':'%'+_0x2b9327[_0xc851('0x32')][_0xc851('0x3e')]+'%'};return _0x1dc574;}})});}_0xcf115d=_[_0xc851('0x40')]({},_0xcf115d,_0x2b9327['options']);var _0x5e1ff0={'where':_0xcf115d[_0xc851('0x3f')]};return db[_0xc851('0x43')][_0xc851('0x20')](_0x5e1ff0)[_0xc851('0x27')](function(_0xf6fb6){_0xee99f8[_0xc851('0x20')]=_0xf6fb6;if(_0x2b9327[_0xc851('0x32')]['includeAll']){_0xcf115d[_0xc851('0x44')]=[{'all':!![]}];}return db['FreshsalesConfiguration'][_0xc851('0x45')](_0xcf115d);})[_0xc851('0x27')](function(_0x405f45){_0xee99f8['rows']=_0x405f45;return _0xee99f8;})[_0xc851('0x27')](respondWithFilteredResult(_0x2779d7,_0xcf115d))[_0xc851('0x46')](handleError(_0x2779d7,null));};exports[_0xc851('0x47')]=function(_0x5cec6f,_0x31b073){var _0x717332={'raw':![],'where':{'id':_0x5cec6f['params']['id']}},_0x4c93e8={};_0x4c93e8[_0xc851('0x36')]=_[_0xc851('0x33')](db['FreshsalesConfiguration']['rawAttributes']);_0x4c93e8[_0xc851('0x32')]=_[_0xc851('0x33')](_0x5cec6f[_0xc851('0x32')]);_0x4c93e8[_0xc851('0x34')]=_[_0xc851('0x35')](_0x4c93e8[_0xc851('0x36')],_0x4c93e8[_0xc851('0x32')]);_0x717332['attributes']=_[_0xc851('0x35')](_0x4c93e8[_0xc851('0x36')],qs[_0xc851('0x38')](_0x5cec6f['query']['fields']));_0x717332[_0xc851('0x37')]=_0x717332[_0xc851('0x37')]['length']?_0x717332['attributes']:_0x4c93e8[_0xc851('0x36')];if(_0x5cec6f[_0xc851('0x32')]['includeAll']){_0x717332[_0xc851('0x44')]=[{'all':!![]}];}_0x717332=_[_0xc851('0x40')]({},_0x717332,_0x5cec6f[_0xc851('0x48')]);return db[_0xc851('0x43')]['find'](_0x717332)[_0xc851('0x27')](handleEntityNotFound(_0x31b073,null))[_0xc851('0x27')](respondWithResult(_0x31b073,null))['catch'](handleError(_0x31b073,null));};exports[_0xc851('0x49')]=function(_0x456865,_0x449b8a){return db[_0xc851('0x43')][_0xc851('0x49')](_0x456865[_0xc851('0x4a')],{})['then'](respondWithResult(_0x449b8a,0xc9))[_0xc851('0x46')](handleError(_0x449b8a,null));};exports[_0xc851('0x26')]=function(_0x50a537,_0x5a07f0){if(_0x50a537[_0xc851('0x4a')]['id']){delete _0x50a537[_0xc851('0x4a')]['id'];}return db['FreshsalesConfiguration'][_0xc851('0x4b')]({'where':{'id':_0x50a537['params']['id']}})[_0xc851('0x27')](handleEntityNotFound(_0x5a07f0,null))[_0xc851('0x27')](saveUpdates(_0x50a537[_0xc851('0x4a')],null))[_0xc851('0x27')](respondWithResult(_0x5a07f0,null))[_0xc851('0x46')](handleError(_0x5a07f0,null));};exports['destroy']=function(_0x2a65a4,_0xbabf72){return db[_0xc851('0x43')][_0xc851('0x4b')]({'where':{'id':_0x2a65a4[_0xc851('0x4c')]['id']}})[_0xc851('0x27')](handleEntityNotFound(_0xbabf72,null))['then'](removeEntity(_0xbabf72,null))[_0xc851('0x46')](handleError(_0xbabf72,null));};exports[_0xc851('0x4d')]=function(_0x49c230,_0x4e30c7,_0x518f22){var _0x322984={};var _0x3b5955={};var _0x2bc997;var _0x13f1fd;return db[_0xc851('0x43')]['findOne']({'where':{'id':_0x49c230['params']['id']}})[_0xc851('0x27')](handleEntityNotFound(_0x4e30c7,null))[_0xc851('0x27')](function(_0x40bf42){if(_0x40bf42){_0x2bc997=_0x40bf42;_0x3b5955[_0xc851('0x36')]=_[_0xc851('0x33')](db[_0xc851('0x4e')][_0xc851('0x2f')]);_0x3b5955[_0xc851('0x32')]=_[_0xc851('0x33')](_0x49c230[_0xc851('0x32')]);_0x3b5955['filters']=_['intersection'](_0x3b5955[_0xc851('0x36')],_0x3b5955[_0xc851('0x32')]);_0x322984[_0xc851('0x37')]=_[_0xc851('0x35')](_0x3b5955[_0xc851('0x36')],qs[_0xc851('0x38')](_0x49c230['query'][_0xc851('0x38')]));_0x322984[_0xc851('0x37')]=_0x322984[_0xc851('0x37')][_0xc851('0x39')]?_0x322984[_0xc851('0x37')]:_0x3b5955['model'];_0x322984[_0xc851('0x3b')]=qs[_0xc851('0x3c')](_0x49c230[_0xc851('0x32')][_0xc851('0x3c')]);_0x322984['where']=qs[_0xc851('0x34')](_[_0xc851('0x3d')](_0x49c230[_0xc851('0x32')],_0x3b5955[_0xc851('0x34')]));if(_0x49c230[_0xc851('0x32')]['filter']){_0x322984[_0xc851('0x3f')]=_[_0xc851('0x40')](_0x322984[_0xc851('0x3f')],{'$or':_['map'](_0x322984[_0xc851('0x37')],function(_0x35696a){var _0x5384d5={};_0x5384d5[_0x35696a]={'$like':'%'+_0x49c230['query'][_0xc851('0x3e')]+'%'};return _0x5384d5;})});}_0x322984=_['merge']({},_0x322984,_0x49c230[_0xc851('0x48')]);return _0x2bc997[_0xc851('0x4d')](_0x322984);}})['then'](function(_0x214a25){if(_0x214a25){_0x13f1fd=_0x214a25[_0xc851('0x39')];if(!_0x49c230[_0xc851('0x32')][_0xc851('0x4f')](_0xc851('0x3a'))){_0x322984[_0xc851('0x1f')]=qs['limit'](_0x49c230[_0xc851('0x32')][_0xc851('0x1f')]);_0x322984[_0xc851('0x1d')]=qs[_0xc851('0x1d')](_0x49c230['query']['offset']);}return _0x2bc997[_0xc851('0x4d')](_0x322984);}})['then'](function(_0x1cf2c9){if(_0x1cf2c9){return _0x1cf2c9?{'count':_0x13f1fd,'rows':_0x1cf2c9}:null;}})[_0xc851('0x27')](respondWithResult(_0x4e30c7,null))[_0xc851('0x46')](handleError(_0x4e30c7,null));};exports[_0xc851('0x50')]=function(_0x420c36,_0x3c55bb,_0x498a6f){var _0x3730b5={};var _0x5acafc={};var _0x86bd34;var _0x245715;return db['FreshsalesConfiguration']['findOne']({'where':{'id':_0x420c36['params']['id']}})[_0xc851('0x27')](handleEntityNotFound(_0x3c55bb,null))[_0xc851('0x27')](function(_0x4c6459){if(_0x4c6459){_0x86bd34=_0x4c6459;_0x5acafc[_0xc851('0x36')]=_[_0xc851('0x33')](db[_0xc851('0x4e')][_0xc851('0x2f')]);_0x5acafc[_0xc851('0x32')]=_[_0xc851('0x33')](_0x420c36[_0xc851('0x32')]);_0x5acafc[_0xc851('0x34')]=_['intersection'](_0x5acafc['model'],_0x5acafc['query']);_0x3730b5[_0xc851('0x37')]=_[_0xc851('0x35')](_0x5acafc[_0xc851('0x36')],qs['fields'](_0x420c36[_0xc851('0x32')]['fields']));_0x3730b5['attributes']=_0x3730b5['attributes'][_0xc851('0x39')]?_0x3730b5['attributes']:_0x5acafc[_0xc851('0x36')];_0x3730b5['order']=qs[_0xc851('0x3c')](_0x420c36['query']['sort']);_0x3730b5[_0xc851('0x3f')]=qs[_0xc851('0x34')](_[_0xc851('0x3d')](_0x420c36[_0xc851('0x32')],_0x5acafc[_0xc851('0x34')]));if(_0x420c36[_0xc851('0x32')][_0xc851('0x3e')]){_0x3730b5[_0xc851('0x3f')]=_[_0xc851('0x40')](_0x3730b5[_0xc851('0x3f')],{'$or':_[_0xc851('0x2e')](_0x3730b5['attributes'],function(_0x5998d9){var _0x4a7d04={};_0x4a7d04[_0x5998d9]={'$like':'%'+_0x420c36[_0xc851('0x32')][_0xc851('0x3e')]+'%'};return _0x4a7d04;})});}_0x3730b5=_[_0xc851('0x40')]({},_0x3730b5,_0x420c36[_0xc851('0x48')]);return _0x86bd34[_0xc851('0x50')](_0x3730b5);}})[_0xc851('0x27')](function(_0x4ac9c1){if(_0x4ac9c1){_0x245715=_0x4ac9c1[_0xc851('0x39')];if(!_0x420c36[_0xc851('0x32')][_0xc851('0x4f')](_0xc851('0x3a'))){_0x3730b5[_0xc851('0x1f')]=qs[_0xc851('0x1f')](_0x420c36['query'][_0xc851('0x1f')]);_0x3730b5[_0xc851('0x1d')]=qs[_0xc851('0x1d')](_0x420c36['query']['offset']);}return _0x86bd34[_0xc851('0x50')](_0x3730b5);}})[_0xc851('0x27')](function(_0x4ed096){if(_0x4ed096){return _0x4ed096?{'count':_0x245715,'rows':_0x4ed096}:null;}})[_0xc851('0x27')](respondWithResult(_0x3c55bb,null))[_0xc851('0x46')](handleError(_0x3c55bb,null));};exports[_0xc851('0x51')]=function(_0x16177c,_0x9fc3bb,_0x5d060d){var _0x24d016={};var _0x13207a={};var _0x38a84a;var _0x3df700;return db[_0xc851('0x43')][_0xc851('0x52')]({'where':{'id':_0x16177c[_0xc851('0x4c')]['id']}})['then'](handleEntityNotFound(_0x9fc3bb,null))[_0xc851('0x27')](function(_0x5174fb){if(_0x5174fb){_0x38a84a=_0x5174fb;_0x13207a[_0xc851('0x36')]=_['keys'](db['FreshsalesField']['rawAttributes']);_0x13207a[_0xc851('0x32')]=_[_0xc851('0x33')](_0x16177c[_0xc851('0x32')]);_0x13207a[_0xc851('0x34')]=_[_0xc851('0x35')](_0x13207a[_0xc851('0x36')],_0x13207a[_0xc851('0x32')]);_0x24d016['attributes']=_[_0xc851('0x35')](_0x13207a['model'],qs[_0xc851('0x38')](_0x16177c[_0xc851('0x32')]['fields']));_0x24d016[_0xc851('0x37')]=_0x24d016[_0xc851('0x37')][_0xc851('0x39')]?_0x24d016['attributes']:_0x13207a['model'];_0x24d016['order']=qs[_0xc851('0x3c')](_0x16177c[_0xc851('0x32')][_0xc851('0x3c')]);_0x24d016[_0xc851('0x3f')]=qs[_0xc851('0x34')](_['pick'](_0x16177c[_0xc851('0x32')],_0x13207a[_0xc851('0x34')]));if(_0x16177c['query']['filter']){_0x24d016[_0xc851('0x3f')]=_[_0xc851('0x40')](_0x24d016[_0xc851('0x3f')],{'$or':_['map'](_0x24d016[_0xc851('0x37')],function(_0x2f1b6a){var _0xf9c4f1={};_0xf9c4f1[_0x2f1b6a]={'$like':'%'+_0x16177c[_0xc851('0x32')][_0xc851('0x3e')]+'%'};return _0xf9c4f1;})});}_0x24d016=_[_0xc851('0x40')]({},_0x24d016,_0x16177c['options']);return _0x38a84a['getFields'](_0x24d016);}})[_0xc851('0x27')](function(_0x554e8d){if(_0x554e8d){_0x3df700=_0x554e8d[_0xc851('0x39')];if(!_0x16177c['query']['hasOwnProperty'](_0xc851('0x3a'))){_0x24d016[_0xc851('0x1f')]=qs['limit'](_0x16177c[_0xc851('0x32')][_0xc851('0x1f')]);_0x24d016['offset']=qs[_0xc851('0x1d')](_0x16177c[_0xc851('0x32')][_0xc851('0x1d')]);}return _0x38a84a[_0xc851('0x51')](_0x24d016);}})['then'](function(_0x8ac24c){if(_0x8ac24c){return _0x8ac24c?{'count':_0x3df700,'rows':_0x8ac24c}:null;}})[_0xc851('0x27')](respondWithResult(_0x9fc3bb,null))['catch'](handleError(_0x9fc3bb,null));};