Built motion from commit 97153652.|2.6.26
[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 _0x19fc=['pick','merge','VIRTUAL','filter','include','findAll','rows','catch','show','params','length','includeAll','options','find','create','body','getSubjects','findOne','FreshsalesField','hasOwnProperty','getDescriptions','getFields','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','apply','save','update','destroy','then','error','stack','name','send','index','map','FreshsalesConfiguration','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','where'];(function(_0x40cc74,_0x37e2ce){var _0x50610e=function(_0x3a0f22){while(--_0x3a0f22){_0x40cc74['push'](_0x40cc74['shift']());}};_0x50610e(++_0x37e2ce);}(_0x19fc,0x68));var _0xc19f=function(_0x5b406e,_0xcd06bc){_0x5b406e=_0x5b406e-0x0;var _0xe7d242=_0x19fc[_0x5b406e];return _0xe7d242;};'use strict';var emlformat=require(_0xc19f('0x0'));var rimraf=require(_0xc19f('0x1'));var zipdir=require(_0xc19f('0x2'));var jsonpatch=require(_0xc19f('0x3'));var rp=require(_0xc19f('0x4'));var moment=require(_0xc19f('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xc19f('0x6'));var util=require(_0xc19f('0x7'));var path=require(_0xc19f('0x8'));var sox=require('sox');var csv=require(_0xc19f('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc19f('0xa'));var _=require(_0xc19f('0xb'));var squel=require(_0xc19f('0xc'));var crypto=require(_0xc19f('0xd'));var jsforce=require(_0xc19f('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xc19f('0x9'));var querystring=require(_0xc19f('0xf'));var Papa=require(_0xc19f('0x10'));var Redis=require('ioredis');var authService=require(_0xc19f('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xc19f('0x12'));var hardwareService=require(_0xc19f('0x13'));var logger=require('../../config/logger')('api');var utils=require(_0xc19f('0x14'));var config=require(_0xc19f('0x15'));var licenseUtil=require(_0xc19f('0x16'));var db=require(_0xc19f('0x17'))['db'];function respondWithStatusCode(_0x5ad042,_0xad1bd0){_0xad1bd0=_0xad1bd0||0xcc;return function(_0x53f95e){if(_0x53f95e){return _0x5ad042[_0xc19f('0x18')](_0xad1bd0);}return _0x5ad042[_0xc19f('0x19')](_0xad1bd0)[_0xc19f('0x1a')]();};}function respondWithResult(_0x2f6b55,_0x5f86bb){_0x5f86bb=_0x5f86bb||0xc8;return function(_0x1b499b){if(_0x1b499b){return _0x2f6b55['status'](_0x5f86bb)[_0xc19f('0x1b')](_0x1b499b);}};}function respondWithFilteredResult(_0x50dfb9,_0xf8f3b8){return function(_0x4ffbe7){if(_0x4ffbe7){var _0x5b86be=typeof _0xf8f3b8[_0xc19f('0x1c')]==='undefined'&&typeof _0xf8f3b8[_0xc19f('0x1d')]===_0xc19f('0x1e');var _0x5ce256=_0x4ffbe7['count'];var _0x3722f2=_0x5b86be?0x0:_0xf8f3b8[_0xc19f('0x1c')];var _0x28ea2d=_0x5b86be?_0x4ffbe7[_0xc19f('0x1f')]:_0xf8f3b8[_0xc19f('0x1c')]+_0xf8f3b8['limit'];var _0x43b339;if(_0x28ea2d>=_0x5ce256){_0x28ea2d=_0x5ce256;_0x43b339=0xc8;}else{_0x43b339=0xce;}_0x50dfb9['status'](_0x43b339);return _0x50dfb9[_0xc19f('0x20')]('Content-Range',_0x3722f2+'-'+_0x28ea2d+'/'+_0x5ce256)[_0xc19f('0x1b')](_0x4ffbe7);}return null;};}function patchUpdates(_0x3c8a2c){return function(_0x72b583){try{jsonpatch[_0xc19f('0x21')](_0x72b583,_0x3c8a2c,!![]);}catch(_0x52ac0b){return BPromise['reject'](_0x52ac0b);}return _0x72b583[_0xc19f('0x22')]();};}function saveUpdates(_0x55972a,_0x1a4d62){return function(_0xd59893){if(_0xd59893){return _0xd59893[_0xc19f('0x23')](_0x55972a)['then'](function(_0x28d406){return _0x28d406;});}return null;};}function removeEntity(_0x4199a6,_0x2c4a64){return function(_0x57ec6e){if(_0x57ec6e){return _0x57ec6e[_0xc19f('0x24')]()[_0xc19f('0x25')](function(){_0x4199a6[_0xc19f('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x596c29,_0x57fb48){return function(_0x3dada8){if(!_0x3dada8){_0x596c29[_0xc19f('0x18')](0x194);}return _0x3dada8;};}function handleError(_0x3d1dd2,_0x38a91c){_0x38a91c=_0x38a91c||0x1f4;return function(_0x20a5af){logger[_0xc19f('0x26')](_0x20a5af[_0xc19f('0x27')]);if(_0x20a5af[_0xc19f('0x28')]){delete _0x20a5af['name'];}_0x3d1dd2[_0xc19f('0x19')](_0x38a91c)[_0xc19f('0x29')](_0x20a5af);};}exports[_0xc19f('0x2a')]=function(_0x3fe670,_0x173933){var _0x5b8610={},_0x2d8aa0={},_0x4fb2e2={'count':0x0,'rows':[]};var _0xf04cf4=_[_0xc19f('0x2b')](db[_0xc19f('0x2c')][_0xc19f('0x2d')],function(_0x4b507b){return{'name':_0x4b507b[_0xc19f('0x2e')],'type':_0x4b507b[_0xc19f('0x2f')][_0xc19f('0x30')]};});_0x2d8aa0[_0xc19f('0x31')]=_['map'](_0xf04cf4,_0xc19f('0x28'));_0x2d8aa0[_0xc19f('0x32')]=_[_0xc19f('0x33')](_0x3fe670[_0xc19f('0x32')]);_0x2d8aa0[_0xc19f('0x34')]=_[_0xc19f('0x35')](_0x2d8aa0[_0xc19f('0x31')],_0x2d8aa0['query']);_0x5b8610[_0xc19f('0x36')]=_[_0xc19f('0x35')](_0x2d8aa0['model'],qs[_0xc19f('0x37')](_0x3fe670['query'][_0xc19f('0x37')]));_0x5b8610[_0xc19f('0x36')]=_0x5b8610['attributes']['length']?_0x5b8610[_0xc19f('0x36')]:_0x2d8aa0['model'];if(!_0x3fe670['query']['hasOwnProperty'](_0xc19f('0x38'))){_0x5b8610[_0xc19f('0x1d')]=qs[_0xc19f('0x1d')](_0x3fe670[_0xc19f('0x32')]['limit']);_0x5b8610[_0xc19f('0x1c')]=qs[_0xc19f('0x1c')](_0x3fe670[_0xc19f('0x32')][_0xc19f('0x1c')]);}_0x5b8610[_0xc19f('0x39')]=qs['sort'](_0x3fe670[_0xc19f('0x32')][_0xc19f('0x3a')]);_0x5b8610[_0xc19f('0x3b')]=qs['filters'](_[_0xc19f('0x3c')](_0x3fe670[_0xc19f('0x32')],_0x2d8aa0[_0xc19f('0x34')]),_0xf04cf4);if(_0x3fe670[_0xc19f('0x32')]['filter']){_0x5b8610[_0xc19f('0x3b')]=_[_0xc19f('0x3d')](_0x5b8610[_0xc19f('0x3b')],{'$or':_[_0xc19f('0x2b')](_0xf04cf4,function(_0xa5342e){if(_0xa5342e[_0xc19f('0x2f')]!==_0xc19f('0x3e')){var _0x240061={};_0x240061[_0xa5342e[_0xc19f('0x28')]]={'$like':'%'+_0x3fe670[_0xc19f('0x32')][_0xc19f('0x3f')]+'%'};return _0x240061;}})});}_0x5b8610=_[_0xc19f('0x3d')]({},_0x5b8610,_0x3fe670['options']);var _0x3f18a8={'where':_0x5b8610[_0xc19f('0x3b')]};return db[_0xc19f('0x2c')][_0xc19f('0x1f')](_0x3f18a8)[_0xc19f('0x25')](function(_0x1d2e6b){_0x4fb2e2[_0xc19f('0x1f')]=_0x1d2e6b;if(_0x3fe670[_0xc19f('0x32')]['includeAll']){_0x5b8610[_0xc19f('0x40')]=[{'all':!![]}];}return db[_0xc19f('0x2c')][_0xc19f('0x41')](_0x5b8610);})['then'](function(_0x28f80c){_0x4fb2e2[_0xc19f('0x42')]=_0x28f80c;return _0x4fb2e2;})[_0xc19f('0x25')](respondWithFilteredResult(_0x173933,_0x5b8610))[_0xc19f('0x43')](handleError(_0x173933,null));};exports[_0xc19f('0x44')]=function(_0x42e550,_0x326374){var _0x51ea83={'raw':![],'where':{'id':_0x42e550[_0xc19f('0x45')]['id']}},_0x5bd40d={};_0x5bd40d[_0xc19f('0x31')]=_['keys'](db[_0xc19f('0x2c')]['rawAttributes']);_0x5bd40d['query']=_['keys'](_0x42e550['query']);_0x5bd40d[_0xc19f('0x34')]=_[_0xc19f('0x35')](_0x5bd40d[_0xc19f('0x31')],_0x5bd40d['query']);_0x51ea83['attributes']=_[_0xc19f('0x35')](_0x5bd40d['model'],qs[_0xc19f('0x37')](_0x42e550[_0xc19f('0x32')][_0xc19f('0x37')]));_0x51ea83[_0xc19f('0x36')]=_0x51ea83[_0xc19f('0x36')][_0xc19f('0x46')]?_0x51ea83[_0xc19f('0x36')]:_0x5bd40d[_0xc19f('0x31')];if(_0x42e550[_0xc19f('0x32')][_0xc19f('0x47')]){_0x51ea83[_0xc19f('0x40')]=[{'all':!![]}];}_0x51ea83=_['merge']({},_0x51ea83,_0x42e550[_0xc19f('0x48')]);return db['FreshsalesConfiguration'][_0xc19f('0x49')](_0x51ea83)[_0xc19f('0x25')](handleEntityNotFound(_0x326374,null))[_0xc19f('0x25')](respondWithResult(_0x326374,null))[_0xc19f('0x43')](handleError(_0x326374,null));};exports[_0xc19f('0x4a')]=function(_0x4e8bd9,_0x31df9f){return db['FreshsalesConfiguration'][_0xc19f('0x4a')](_0x4e8bd9['body'],{})[_0xc19f('0x25')](respondWithResult(_0x31df9f,0xc9))[_0xc19f('0x43')](handleError(_0x31df9f,null));};exports['update']=function(_0x57a695,_0x566c51){if(_0x57a695[_0xc19f('0x4b')]['id']){delete _0x57a695[_0xc19f('0x4b')]['id'];}return db[_0xc19f('0x2c')][_0xc19f('0x49')]({'where':{'id':_0x57a695['params']['id']}})[_0xc19f('0x25')](handleEntityNotFound(_0x566c51,null))[_0xc19f('0x25')](saveUpdates(_0x57a695['body'],null))[_0xc19f('0x25')](respondWithResult(_0x566c51,null))[_0xc19f('0x43')](handleError(_0x566c51,null));};exports[_0xc19f('0x24')]=function(_0x25ab94,_0x29b31d){return db[_0xc19f('0x2c')][_0xc19f('0x49')]({'where':{'id':_0x25ab94['params']['id']}})[_0xc19f('0x25')](handleEntityNotFound(_0x29b31d,null))[_0xc19f('0x25')](removeEntity(_0x29b31d,null))[_0xc19f('0x43')](handleError(_0x29b31d,null));};exports[_0xc19f('0x4c')]=function(_0x2ac2dc,_0x4d5642,_0x482fcb){var _0x17b574={};var _0x169c12={};var _0x3c2759;var _0x463602;return db['FreshsalesConfiguration'][_0xc19f('0x4d')]({'where':{'id':_0x2ac2dc[_0xc19f('0x45')]['id']}})[_0xc19f('0x25')](handleEntityNotFound(_0x4d5642,null))['then'](function(_0xc8d6b9){if(_0xc8d6b9){_0x3c2759=_0xc8d6b9;_0x169c12[_0xc19f('0x31')]=_[_0xc19f('0x33')](db[_0xc19f('0x4e')]['rawAttributes']);_0x169c12[_0xc19f('0x32')]=_[_0xc19f('0x33')](_0x2ac2dc['query']);_0x169c12['filters']=_[_0xc19f('0x35')](_0x169c12['model'],_0x169c12[_0xc19f('0x32')]);_0x17b574['attributes']=_[_0xc19f('0x35')](_0x169c12['model'],qs['fields'](_0x2ac2dc['query']['fields']));_0x17b574[_0xc19f('0x36')]=_0x17b574[_0xc19f('0x36')][_0xc19f('0x46')]?_0x17b574[_0xc19f('0x36')]:_0x169c12[_0xc19f('0x31')];_0x17b574[_0xc19f('0x39')]=qs[_0xc19f('0x3a')](_0x2ac2dc['query'][_0xc19f('0x3a')]);_0x17b574[_0xc19f('0x3b')]=qs['filters'](_[_0xc19f('0x3c')](_0x2ac2dc[_0xc19f('0x32')],_0x169c12['filters']));if(_0x2ac2dc[_0xc19f('0x32')][_0xc19f('0x3f')]){_0x17b574['where']=_[_0xc19f('0x3d')](_0x17b574[_0xc19f('0x3b')],{'$or':_[_0xc19f('0x2b')](_0x17b574[_0xc19f('0x36')],function(_0x97a446){var _0x437dda={};_0x437dda[_0x97a446]={'$like':'%'+_0x2ac2dc['query'][_0xc19f('0x3f')]+'%'};return _0x437dda;})});}_0x17b574=_[_0xc19f('0x3d')]({},_0x17b574,_0x2ac2dc[_0xc19f('0x48')]);return _0x3c2759[_0xc19f('0x4c')](_0x17b574);}})[_0xc19f('0x25')](function(_0x3d7447){if(_0x3d7447){_0x463602=_0x3d7447[_0xc19f('0x46')];if(!_0x2ac2dc['query'][_0xc19f('0x4f')](_0xc19f('0x38'))){_0x17b574[_0xc19f('0x1d')]=qs[_0xc19f('0x1d')](_0x2ac2dc['query'][_0xc19f('0x1d')]);_0x17b574['offset']=qs[_0xc19f('0x1c')](_0x2ac2dc[_0xc19f('0x32')][_0xc19f('0x1c')]);}return _0x3c2759[_0xc19f('0x4c')](_0x17b574);}})[_0xc19f('0x25')](function(_0x4519f2){if(_0x4519f2){return _0x4519f2?{'count':_0x463602,'rows':_0x4519f2}:null;}})[_0xc19f('0x25')](respondWithResult(_0x4d5642,null))[_0xc19f('0x43')](handleError(_0x4d5642,null));};exports[_0xc19f('0x50')]=function(_0x132c1e,_0x121b3f,_0x146444){var _0xf5f4c6={};var _0x5f353a={};var _0x669fdf;var _0x136ec0;return db['FreshsalesConfiguration']['findOne']({'where':{'id':_0x132c1e[_0xc19f('0x45')]['id']}})[_0xc19f('0x25')](handleEntityNotFound(_0x121b3f,null))[_0xc19f('0x25')](function(_0x79f66a){if(_0x79f66a){_0x669fdf=_0x79f66a;_0x5f353a['model']=_[_0xc19f('0x33')](db[_0xc19f('0x4e')]['rawAttributes']);_0x5f353a[_0xc19f('0x32')]=_[_0xc19f('0x33')](_0x132c1e[_0xc19f('0x32')]);_0x5f353a['filters']=_[_0xc19f('0x35')](_0x5f353a[_0xc19f('0x31')],_0x5f353a['query']);_0xf5f4c6['attributes']=_[_0xc19f('0x35')](_0x5f353a[_0xc19f('0x31')],qs[_0xc19f('0x37')](_0x132c1e['query'][_0xc19f('0x37')]));_0xf5f4c6[_0xc19f('0x36')]=_0xf5f4c6['attributes'][_0xc19f('0x46')]?_0xf5f4c6[_0xc19f('0x36')]:_0x5f353a[_0xc19f('0x31')];_0xf5f4c6['order']=qs['sort'](_0x132c1e[_0xc19f('0x32')][_0xc19f('0x3a')]);_0xf5f4c6[_0xc19f('0x3b')]=qs['filters'](_[_0xc19f('0x3c')](_0x132c1e[_0xc19f('0x32')],_0x5f353a['filters']));if(_0x132c1e[_0xc19f('0x32')][_0xc19f('0x3f')]){_0xf5f4c6[_0xc19f('0x3b')]=_[_0xc19f('0x3d')](_0xf5f4c6[_0xc19f('0x3b')],{'$or':_[_0xc19f('0x2b')](_0xf5f4c6[_0xc19f('0x36')],function(_0x5121c5){var _0x3cdfbb={};_0x3cdfbb[_0x5121c5]={'$like':'%'+_0x132c1e[_0xc19f('0x32')][_0xc19f('0x3f')]+'%'};return _0x3cdfbb;})});}_0xf5f4c6=_[_0xc19f('0x3d')]({},_0xf5f4c6,_0x132c1e[_0xc19f('0x48')]);return _0x669fdf[_0xc19f('0x50')](_0xf5f4c6);}})[_0xc19f('0x25')](function(_0xf1c987){if(_0xf1c987){_0x136ec0=_0xf1c987[_0xc19f('0x46')];if(!_0x132c1e[_0xc19f('0x32')][_0xc19f('0x4f')](_0xc19f('0x38'))){_0xf5f4c6[_0xc19f('0x1d')]=qs['limit'](_0x132c1e[_0xc19f('0x32')][_0xc19f('0x1d')]);_0xf5f4c6['offset']=qs[_0xc19f('0x1c')](_0x132c1e[_0xc19f('0x32')][_0xc19f('0x1c')]);}return _0x669fdf[_0xc19f('0x50')](_0xf5f4c6);}})[_0xc19f('0x25')](function(_0x11ddec){if(_0x11ddec){return _0x11ddec?{'count':_0x136ec0,'rows':_0x11ddec}:null;}})[_0xc19f('0x25')](respondWithResult(_0x121b3f,null))[_0xc19f('0x43')](handleError(_0x121b3f,null));};exports[_0xc19f('0x51')]=function(_0x9151f4,_0x427248,_0x4d7985){var _0x1e6596={};var _0x4ddd77={};var _0x1e0111;var _0xe85cad;return db['FreshsalesConfiguration']['findOne']({'where':{'id':_0x9151f4[_0xc19f('0x45')]['id']}})[_0xc19f('0x25')](handleEntityNotFound(_0x427248,null))['then'](function(_0x45aa50){if(_0x45aa50){_0x1e0111=_0x45aa50;_0x4ddd77[_0xc19f('0x31')]=_[_0xc19f('0x33')](db[_0xc19f('0x4e')]['rawAttributes']);_0x4ddd77[_0xc19f('0x32')]=_['keys'](_0x9151f4[_0xc19f('0x32')]);_0x4ddd77[_0xc19f('0x34')]=_['intersection'](_0x4ddd77[_0xc19f('0x31')],_0x4ddd77[_0xc19f('0x32')]);_0x1e6596[_0xc19f('0x36')]=_[_0xc19f('0x35')](_0x4ddd77[_0xc19f('0x31')],qs['fields'](_0x9151f4[_0xc19f('0x32')][_0xc19f('0x37')]));_0x1e6596['attributes']=_0x1e6596['attributes']['length']?_0x1e6596[_0xc19f('0x36')]:_0x4ddd77['model'];_0x1e6596[_0xc19f('0x39')]=qs[_0xc19f('0x3a')](_0x9151f4[_0xc19f('0x32')][_0xc19f('0x3a')]);_0x1e6596[_0xc19f('0x3b')]=qs[_0xc19f('0x34')](_[_0xc19f('0x3c')](_0x9151f4[_0xc19f('0x32')],_0x4ddd77[_0xc19f('0x34')]));if(_0x9151f4['query'][_0xc19f('0x3f')]){_0x1e6596['where']=_[_0xc19f('0x3d')](_0x1e6596[_0xc19f('0x3b')],{'$or':_[_0xc19f('0x2b')](_0x1e6596['attributes'],function(_0x3ed833){var _0x384b6a={};_0x384b6a[_0x3ed833]={'$like':'%'+_0x9151f4['query'][_0xc19f('0x3f')]+'%'};return _0x384b6a;})});}_0x1e6596=_[_0xc19f('0x3d')]({},_0x1e6596,_0x9151f4[_0xc19f('0x48')]);return _0x1e0111[_0xc19f('0x51')](_0x1e6596);}})[_0xc19f('0x25')](function(_0x28fa3a){if(_0x28fa3a){_0xe85cad=_0x28fa3a['length'];if(!_0x9151f4[_0xc19f('0x32')][_0xc19f('0x4f')]('nolimit')){_0x1e6596[_0xc19f('0x1d')]=qs[_0xc19f('0x1d')](_0x9151f4[_0xc19f('0x32')][_0xc19f('0x1d')]);_0x1e6596[_0xc19f('0x1c')]=qs['offset'](_0x9151f4[_0xc19f('0x32')][_0xc19f('0x1c')]);}return _0x1e0111[_0xc19f('0x51')](_0x1e6596);}})[_0xc19f('0x25')](function(_0x1225ae){if(_0x1225ae){return _0x1225ae?{'count':_0xe85cad,'rows':_0x1225ae}:null;}})[_0xc19f('0x25')](respondWithResult(_0x427248,null))['catch'](handleError(_0x427248,null));};