Built motion from commit c738b9ac.|2.6.25
[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 _0x6220=['find','getSubjects','findOne','FreshsalesField','getDescriptions','order','getFields','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','to-csv','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','count','set','json','apply','reject','save','update','then','destroy','error','name','send','index','map','FreshsalesConfiguration','rawAttributes','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','pick','filter','where','merge','VIRTUAL','options','include','findAll','rows','show','params','includeAll','catch','create','body'];(function(_0x5e272b,_0x5adf6e){var _0x32aee1=function(_0xc86cd5){while(--_0xc86cd5){_0x5e272b['push'](_0x5e272b['shift']());}};_0x32aee1(++_0x5adf6e);}(_0x6220,0xee));var _0x0622=function(_0xfae23b,_0x2be4ba){_0xfae23b=_0xfae23b-0x0;var _0x200640=_0x6220[_0xfae23b];return _0x200640;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0622('0x0'));var zipdir=require(_0x0622('0x1'));var jsonpatch=require(_0x0622('0x2'));var rp=require(_0x0622('0x3'));var moment=require(_0x0622('0x4'));var BPromise=require(_0x0622('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x0622('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0622('0x7'));var squel=require('squel');var crypto=require(_0x0622('0x8'));var jsforce=require(_0x0622('0x9'));var deskjs=require(_0x0622('0xa'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x0622('0xb'));var Redis=require(_0x0622('0xc'));var authService=require(_0x0622('0xd'));var qs=require('../../components/parsers/qs');var as=require(_0x0622('0xe'));var hardwareService=require(_0x0622('0xf'));var logger=require(_0x0622('0x10'))(_0x0622('0x11'));var utils=require(_0x0622('0x12'));var config=require(_0x0622('0x13'));var licenseUtil=require(_0x0622('0x14'));var db=require(_0x0622('0x15'))['db'];function respondWithStatusCode(_0x3429b9,_0x173974){_0x173974=_0x173974||0xcc;return function(_0x11dabe){if(_0x11dabe){return _0x3429b9[_0x0622('0x16')](_0x173974);}return _0x3429b9[_0x0622('0x17')](_0x173974)[_0x0622('0x18')]();};}function respondWithResult(_0x45d175,_0x37e6ad){_0x37e6ad=_0x37e6ad||0xc8;return function(_0x286559){if(_0x286559){return _0x45d175['status'](_0x37e6ad)['json'](_0x286559);}};}function respondWithFilteredResult(_0x3fddff,_0x577141){return function(_0x1e80c1){if(_0x1e80c1){var _0x2aeef2=typeof _0x577141[_0x0622('0x19')]==='undefined'&&typeof _0x577141[_0x0622('0x1a')]==='undefined';var _0x3c691c=_0x1e80c1[_0x0622('0x1b')];var _0xa09adb=_0x2aeef2?0x0:_0x577141[_0x0622('0x19')];var _0x3b148b=_0x2aeef2?_0x1e80c1['count']:_0x577141['offset']+_0x577141[_0x0622('0x1a')];var _0x246fd3;if(_0x3b148b>=_0x3c691c){_0x3b148b=_0x3c691c;_0x246fd3=0xc8;}else{_0x246fd3=0xce;}_0x3fddff['status'](_0x246fd3);return _0x3fddff[_0x0622('0x1c')]('Content-Range',_0xa09adb+'-'+_0x3b148b+'/'+_0x3c691c)[_0x0622('0x1d')](_0x1e80c1);}return null;};}function patchUpdates(_0x2dfc15){return function(_0x44b772){try{jsonpatch[_0x0622('0x1e')](_0x44b772,_0x2dfc15,!![]);}catch(_0x3b8b13){return BPromise[_0x0622('0x1f')](_0x3b8b13);}return _0x44b772[_0x0622('0x20')]();};}function saveUpdates(_0x75551a,_0x5ea455){return function(_0x4f6d51){if(_0x4f6d51){return _0x4f6d51[_0x0622('0x21')](_0x75551a)[_0x0622('0x22')](function(_0x104ce3){return _0x104ce3;});}return null;};}function removeEntity(_0x3f9449,_0x2dd67c){return function(_0xe343cd){if(_0xe343cd){return _0xe343cd[_0x0622('0x23')]()[_0x0622('0x22')](function(){_0x3f9449[_0x0622('0x17')](0xcc)[_0x0622('0x18')]();});}};}function handleEntityNotFound(_0x18aa2a,_0x2002da){return function(_0x451dd6){if(!_0x451dd6){_0x18aa2a['sendStatus'](0x194);}return _0x451dd6;};}function handleError(_0x3c9ec9,_0x42a11b){_0x42a11b=_0x42a11b||0x1f4;return function(_0x71fe03){logger[_0x0622('0x24')](_0x71fe03['stack']);if(_0x71fe03[_0x0622('0x25')]){delete _0x71fe03[_0x0622('0x25')];}_0x3c9ec9['status'](_0x42a11b)[_0x0622('0x26')](_0x71fe03);};}exports[_0x0622('0x27')]=function(_0x464550,_0x787089){var _0x386bd9={},_0x538451={},_0x5c0b6e={'count':0x0,'rows':[]};var _0xbdb127=_[_0x0622('0x28')](db[_0x0622('0x29')][_0x0622('0x2a')],function(_0x1dc76c){return{'name':_0x1dc76c['fieldName'],'type':_0x1dc76c['type'][_0x0622('0x2b')]};});_0x538451[_0x0622('0x2c')]=_['map'](_0xbdb127,_0x0622('0x25'));_0x538451['query']=_[_0x0622('0x2d')](_0x464550[_0x0622('0x2e')]);_0x538451[_0x0622('0x2f')]=_[_0x0622('0x30')](_0x538451[_0x0622('0x2c')],_0x538451[_0x0622('0x2e')]);_0x386bd9['attributes']=_['intersection'](_0x538451[_0x0622('0x2c')],qs['fields'](_0x464550['query'][_0x0622('0x31')]));_0x386bd9['attributes']=_0x386bd9[_0x0622('0x32')][_0x0622('0x33')]?_0x386bd9['attributes']:_0x538451[_0x0622('0x2c')];if(!_0x464550[_0x0622('0x2e')][_0x0622('0x34')](_0x0622('0x35'))){_0x386bd9[_0x0622('0x1a')]=qs[_0x0622('0x1a')](_0x464550[_0x0622('0x2e')][_0x0622('0x1a')]);_0x386bd9['offset']=qs[_0x0622('0x19')](_0x464550[_0x0622('0x2e')]['offset']);}_0x386bd9['order']=qs[_0x0622('0x36')](_0x464550['query'][_0x0622('0x36')]);_0x386bd9['where']=qs['filters'](_[_0x0622('0x37')](_0x464550[_0x0622('0x2e')],_0x538451[_0x0622('0x2f')]),_0xbdb127);if(_0x464550[_0x0622('0x2e')][_0x0622('0x38')]){_0x386bd9[_0x0622('0x39')]=_[_0x0622('0x3a')](_0x386bd9[_0x0622('0x39')],{'$or':_[_0x0622('0x28')](_0xbdb127,function(_0x1891eb){if(_0x1891eb['type']!==_0x0622('0x3b')){var _0x356b21={};_0x356b21[_0x1891eb[_0x0622('0x25')]]={'$like':'%'+_0x464550[_0x0622('0x2e')][_0x0622('0x38')]+'%'};return _0x356b21;}})});}_0x386bd9=_[_0x0622('0x3a')]({},_0x386bd9,_0x464550[_0x0622('0x3c')]);var _0x470a46={'where':_0x386bd9['where']};return db[_0x0622('0x29')]['count'](_0x470a46)[_0x0622('0x22')](function(_0x44366a){_0x5c0b6e[_0x0622('0x1b')]=_0x44366a;if(_0x464550[_0x0622('0x2e')]['includeAll']){_0x386bd9[_0x0622('0x3d')]=[{'all':!![]}];}return db[_0x0622('0x29')][_0x0622('0x3e')](_0x386bd9);})['then'](function(_0x131349){_0x5c0b6e[_0x0622('0x3f')]=_0x131349;return _0x5c0b6e;})[_0x0622('0x22')](respondWithFilteredResult(_0x787089,_0x386bd9))['catch'](handleError(_0x787089,null));};exports[_0x0622('0x40')]=function(_0x28668b,_0x5af067){var _0x1bb6d1={'raw':![],'where':{'id':_0x28668b[_0x0622('0x41')]['id']}},_0x563155={};_0x563155[_0x0622('0x2c')]=_[_0x0622('0x2d')](db[_0x0622('0x29')]['rawAttributes']);_0x563155[_0x0622('0x2e')]=_['keys'](_0x28668b[_0x0622('0x2e')]);_0x563155[_0x0622('0x2f')]=_[_0x0622('0x30')](_0x563155[_0x0622('0x2c')],_0x563155['query']);_0x1bb6d1[_0x0622('0x32')]=_[_0x0622('0x30')](_0x563155['model'],qs[_0x0622('0x31')](_0x28668b['query'][_0x0622('0x31')]));_0x1bb6d1[_0x0622('0x32')]=_0x1bb6d1[_0x0622('0x32')][_0x0622('0x33')]?_0x1bb6d1[_0x0622('0x32')]:_0x563155['model'];if(_0x28668b['query'][_0x0622('0x42')]){_0x1bb6d1[_0x0622('0x3d')]=[{'all':!![]}];}_0x1bb6d1=_['merge']({},_0x1bb6d1,_0x28668b[_0x0622('0x3c')]);return db[_0x0622('0x29')]['find'](_0x1bb6d1)['then'](handleEntityNotFound(_0x5af067,null))[_0x0622('0x22')](respondWithResult(_0x5af067,null))[_0x0622('0x43')](handleError(_0x5af067,null));};exports[_0x0622('0x44')]=function(_0x546143,_0x3c2994){return db[_0x0622('0x29')][_0x0622('0x44')](_0x546143[_0x0622('0x45')],{})[_0x0622('0x22')](respondWithResult(_0x3c2994,0xc9))[_0x0622('0x43')](handleError(_0x3c2994,null));};exports['update']=function(_0x38c6ba,_0x3420a7){if(_0x38c6ba[_0x0622('0x45')]['id']){delete _0x38c6ba[_0x0622('0x45')]['id'];}return db[_0x0622('0x29')][_0x0622('0x46')]({'where':{'id':_0x38c6ba['params']['id']}})[_0x0622('0x22')](handleEntityNotFound(_0x3420a7,null))[_0x0622('0x22')](saveUpdates(_0x38c6ba[_0x0622('0x45')],null))[_0x0622('0x22')](respondWithResult(_0x3420a7,null))['catch'](handleError(_0x3420a7,null));};exports['destroy']=function(_0x2f4b64,_0xdcdf1f){return db[_0x0622('0x29')][_0x0622('0x46')]({'where':{'id':_0x2f4b64[_0x0622('0x41')]['id']}})[_0x0622('0x22')](handleEntityNotFound(_0xdcdf1f,null))[_0x0622('0x22')](removeEntity(_0xdcdf1f,null))['catch'](handleError(_0xdcdf1f,null));};exports[_0x0622('0x47')]=function(_0x5de87b,_0x3ecd71,_0x2fd80){var _0x1b6e2e={};var _0x53f400={};var _0x2966c4;var _0xe83155;return db[_0x0622('0x29')][_0x0622('0x48')]({'where':{'id':_0x5de87b[_0x0622('0x41')]['id']}})['then'](handleEntityNotFound(_0x3ecd71,null))[_0x0622('0x22')](function(_0x4ac251){if(_0x4ac251){_0x2966c4=_0x4ac251;_0x53f400['model']=_[_0x0622('0x2d')](db[_0x0622('0x49')][_0x0622('0x2a')]);_0x53f400[_0x0622('0x2e')]=_[_0x0622('0x2d')](_0x5de87b[_0x0622('0x2e')]);_0x53f400[_0x0622('0x2f')]=_[_0x0622('0x30')](_0x53f400[_0x0622('0x2c')],_0x53f400['query']);_0x1b6e2e['attributes']=_[_0x0622('0x30')](_0x53f400[_0x0622('0x2c')],qs[_0x0622('0x31')](_0x5de87b['query'][_0x0622('0x31')]));_0x1b6e2e['attributes']=_0x1b6e2e[_0x0622('0x32')][_0x0622('0x33')]?_0x1b6e2e['attributes']:_0x53f400[_0x0622('0x2c')];_0x1b6e2e['order']=qs['sort'](_0x5de87b[_0x0622('0x2e')][_0x0622('0x36')]);_0x1b6e2e['where']=qs[_0x0622('0x2f')](_[_0x0622('0x37')](_0x5de87b[_0x0622('0x2e')],_0x53f400[_0x0622('0x2f')]));if(_0x5de87b[_0x0622('0x2e')][_0x0622('0x38')]){_0x1b6e2e[_0x0622('0x39')]=_[_0x0622('0x3a')](_0x1b6e2e[_0x0622('0x39')],{'$or':_[_0x0622('0x28')](_0x1b6e2e[_0x0622('0x32')],function(_0x5fe35d){var _0x8d5a42={};_0x8d5a42[_0x5fe35d]={'$like':'%'+_0x5de87b[_0x0622('0x2e')][_0x0622('0x38')]+'%'};return _0x8d5a42;})});}_0x1b6e2e=_[_0x0622('0x3a')]({},_0x1b6e2e,_0x5de87b['options']);return _0x2966c4['getSubjects'](_0x1b6e2e);}})[_0x0622('0x22')](function(_0x53d019){if(_0x53d019){_0xe83155=_0x53d019[_0x0622('0x33')];if(!_0x5de87b[_0x0622('0x2e')]['hasOwnProperty'](_0x0622('0x35'))){_0x1b6e2e[_0x0622('0x1a')]=qs[_0x0622('0x1a')](_0x5de87b[_0x0622('0x2e')][_0x0622('0x1a')]);_0x1b6e2e[_0x0622('0x19')]=qs[_0x0622('0x19')](_0x5de87b[_0x0622('0x2e')][_0x0622('0x19')]);}return _0x2966c4[_0x0622('0x47')](_0x1b6e2e);}})['then'](function(_0x42a61c){if(_0x42a61c){return _0x42a61c?{'count':_0xe83155,'rows':_0x42a61c}:null;}})[_0x0622('0x22')](respondWithResult(_0x3ecd71,null))[_0x0622('0x43')](handleError(_0x3ecd71,null));};exports[_0x0622('0x4a')]=function(_0x5437df,_0x27869f,_0x1b2e0d){var _0x3c3fd8={};var _0x4c64e8={};var _0x4392f8;var _0x1e13c5;return db[_0x0622('0x29')][_0x0622('0x48')]({'where':{'id':_0x5437df[_0x0622('0x41')]['id']}})[_0x0622('0x22')](handleEntityNotFound(_0x27869f,null))[_0x0622('0x22')](function(_0x2134d3){if(_0x2134d3){_0x4392f8=_0x2134d3;_0x4c64e8[_0x0622('0x2c')]=_['keys'](db[_0x0622('0x49')][_0x0622('0x2a')]);_0x4c64e8[_0x0622('0x2e')]=_[_0x0622('0x2d')](_0x5437df[_0x0622('0x2e')]);_0x4c64e8[_0x0622('0x2f')]=_[_0x0622('0x30')](_0x4c64e8['model'],_0x4c64e8[_0x0622('0x2e')]);_0x3c3fd8['attributes']=_['intersection'](_0x4c64e8[_0x0622('0x2c')],qs[_0x0622('0x31')](_0x5437df[_0x0622('0x2e')][_0x0622('0x31')]));_0x3c3fd8[_0x0622('0x32')]=_0x3c3fd8[_0x0622('0x32')][_0x0622('0x33')]?_0x3c3fd8[_0x0622('0x32')]:_0x4c64e8['model'];_0x3c3fd8[_0x0622('0x4b')]=qs[_0x0622('0x36')](_0x5437df[_0x0622('0x2e')][_0x0622('0x36')]);_0x3c3fd8[_0x0622('0x39')]=qs[_0x0622('0x2f')](_[_0x0622('0x37')](_0x5437df['query'],_0x4c64e8[_0x0622('0x2f')]));if(_0x5437df['query'][_0x0622('0x38')]){_0x3c3fd8['where']=_[_0x0622('0x3a')](_0x3c3fd8[_0x0622('0x39')],{'$or':_[_0x0622('0x28')](_0x3c3fd8['attributes'],function(_0x1b885a){var _0x18ba51={};_0x18ba51[_0x1b885a]={'$like':'%'+_0x5437df[_0x0622('0x2e')]['filter']+'%'};return _0x18ba51;})});}_0x3c3fd8=_[_0x0622('0x3a')]({},_0x3c3fd8,_0x5437df['options']);return _0x4392f8[_0x0622('0x4a')](_0x3c3fd8);}})['then'](function(_0x87c577){if(_0x87c577){_0x1e13c5=_0x87c577[_0x0622('0x33')];if(!_0x5437df[_0x0622('0x2e')][_0x0622('0x34')]('nolimit')){_0x3c3fd8[_0x0622('0x1a')]=qs[_0x0622('0x1a')](_0x5437df[_0x0622('0x2e')][_0x0622('0x1a')]);_0x3c3fd8[_0x0622('0x19')]=qs[_0x0622('0x19')](_0x5437df[_0x0622('0x2e')][_0x0622('0x19')]);}return _0x4392f8[_0x0622('0x4a')](_0x3c3fd8);}})[_0x0622('0x22')](function(_0xb5d2ce){if(_0xb5d2ce){return _0xb5d2ce?{'count':_0x1e13c5,'rows':_0xb5d2ce}:null;}})[_0x0622('0x22')](respondWithResult(_0x27869f,null))['catch'](handleError(_0x27869f,null));};exports[_0x0622('0x4c')]=function(_0x162ff5,_0x393f65,_0x1e1212){var _0x518b17={};var _0x2a946e={};var _0x4ccd21;var _0x54b255;return db['FreshsalesConfiguration'][_0x0622('0x48')]({'where':{'id':_0x162ff5[_0x0622('0x41')]['id']}})[_0x0622('0x22')](handleEntityNotFound(_0x393f65,null))['then'](function(_0xf21209){if(_0xf21209){_0x4ccd21=_0xf21209;_0x2a946e[_0x0622('0x2c')]=_[_0x0622('0x2d')](db[_0x0622('0x49')]['rawAttributes']);_0x2a946e[_0x0622('0x2e')]=_['keys'](_0x162ff5['query']);_0x2a946e[_0x0622('0x2f')]=_[_0x0622('0x30')](_0x2a946e['model'],_0x2a946e[_0x0622('0x2e')]);_0x518b17[_0x0622('0x32')]=_[_0x0622('0x30')](_0x2a946e['model'],qs[_0x0622('0x31')](_0x162ff5['query'][_0x0622('0x31')]));_0x518b17['attributes']=_0x518b17[_0x0622('0x32')][_0x0622('0x33')]?_0x518b17[_0x0622('0x32')]:_0x2a946e[_0x0622('0x2c')];_0x518b17[_0x0622('0x4b')]=qs[_0x0622('0x36')](_0x162ff5['query'][_0x0622('0x36')]);_0x518b17[_0x0622('0x39')]=qs[_0x0622('0x2f')](_[_0x0622('0x37')](_0x162ff5[_0x0622('0x2e')],_0x2a946e[_0x0622('0x2f')]));if(_0x162ff5['query']['filter']){_0x518b17[_0x0622('0x39')]=_[_0x0622('0x3a')](_0x518b17['where'],{'$or':_['map'](_0x518b17[_0x0622('0x32')],function(_0x3282a7){var _0x562a61={};_0x562a61[_0x3282a7]={'$like':'%'+_0x162ff5[_0x0622('0x2e')]['filter']+'%'};return _0x562a61;})});}_0x518b17=_[_0x0622('0x3a')]({},_0x518b17,_0x162ff5[_0x0622('0x3c')]);return _0x4ccd21[_0x0622('0x4c')](_0x518b17);}})[_0x0622('0x22')](function(_0xabe532){if(_0xabe532){_0x54b255=_0xabe532[_0x0622('0x33')];if(!_0x162ff5[_0x0622('0x2e')][_0x0622('0x34')](_0x0622('0x35'))){_0x518b17[_0x0622('0x1a')]=qs['limit'](_0x162ff5[_0x0622('0x2e')]['limit']);_0x518b17['offset']=qs[_0x0622('0x19')](_0x162ff5[_0x0622('0x2e')][_0x0622('0x19')]);}return _0x4ccd21[_0x0622('0x4c')](_0x518b17);}})[_0x0622('0x22')](function(_0x543ea9){if(_0x543ea9){return _0x543ea9?{'count':_0x54b255,'rows':_0x543ea9}:null;}})[_0x0622('0x22')](respondWithResult(_0x393f65,null))[_0x0622('0x43')](handleError(_0x393f65,null));};