4bd3021cb5acce87a57aee90a730a64c641d6cad
[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 _0xb238=['set','Content-Range','apply','reject','save','update','then','destroy','stack','send','index','FreshsalesConfiguration','rawAttributes','fieldName','type','key','map','name','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','includeAll','findAll','catch','show','params','include','options','find','create','body','getSubjects','findOne','FreshsalesField','getDescriptions','getFields','eml-format','zip-dir','request-promise','moment','mustache','util','sox','to-csv','ejs','squel','jsforce','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','limit','count'];(function(_0x4565bf,_0x5ad9d6){var _0x5610ba=function(_0x170988){while(--_0x170988){_0x4565bf['push'](_0x4565bf['shift']());}};_0x5610ba(++_0x5ad9d6);}(_0xb238,0x11c));var _0x8b23=function(_0x377570,_0xfd20e1){_0x377570=_0x377570-0x0;var _0x43e675=_0xb238[_0x377570];return _0x43e675;};'use strict';var emlformat=require(_0x8b23('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x8b23('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8b23('0x2'));var moment=require(_0x8b23('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x8b23('0x4'));var util=require(_0x8b23('0x5'));var path=require('path');var sox=require(_0x8b23('0x6'));var csv=require(_0x8b23('0x7'));var ejs=require(_0x8b23('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8b23('0x9'));var crypto=require('crypto');var jsforce=require(_0x8b23('0xa'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x8b23('0xb'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x8b23('0xc'));var qs=require(_0x8b23('0xd'));var as=require(_0x8b23('0xe'));var hardwareService=require(_0x8b23('0xf'));var logger=require('../../config/logger')(_0x8b23('0x10'));var utils=require(_0x8b23('0x11'));var config=require(_0x8b23('0x12'));var licenseUtil=require(_0x8b23('0x13'));var db=require(_0x8b23('0x14'))['db'];function respondWithStatusCode(_0x542643,_0x22fef4){_0x22fef4=_0x22fef4||0xcc;return function(_0xb6f7ef){if(_0xb6f7ef){return _0x542643[_0x8b23('0x15')](_0x22fef4);}return _0x542643['status'](_0x22fef4)[_0x8b23('0x16')]();};}function respondWithResult(_0x52d688,_0xa7cf54){_0xa7cf54=_0xa7cf54||0xc8;return function(_0x4ba3ee){if(_0x4ba3ee){return _0x52d688[_0x8b23('0x17')](_0xa7cf54)['json'](_0x4ba3ee);}};}function respondWithFilteredResult(_0x3e4f22,_0x3e8678){return function(_0x305436){if(_0x305436){var _0xb04fa7=typeof _0x3e8678[_0x8b23('0x18')]===_0x8b23('0x19')&&typeof _0x3e8678[_0x8b23('0x1a')]==='undefined';var _0x537c4f=_0x305436[_0x8b23('0x1b')];var _0xaa15df=_0xb04fa7?0x0:_0x3e8678[_0x8b23('0x18')];var _0x5b2321=_0xb04fa7?_0x305436[_0x8b23('0x1b')]:_0x3e8678[_0x8b23('0x18')]+_0x3e8678[_0x8b23('0x1a')];var _0x41bfce;if(_0x5b2321>=_0x537c4f){_0x5b2321=_0x537c4f;_0x41bfce=0xc8;}else{_0x41bfce=0xce;}_0x3e4f22[_0x8b23('0x17')](_0x41bfce);return _0x3e4f22[_0x8b23('0x1c')](_0x8b23('0x1d'),_0xaa15df+'-'+_0x5b2321+'/'+_0x537c4f)['json'](_0x305436);}return null;};}function patchUpdates(_0x5e3162){return function(_0x46e8fa){try{jsonpatch[_0x8b23('0x1e')](_0x46e8fa,_0x5e3162,!![]);}catch(_0x16917b){return BPromise[_0x8b23('0x1f')](_0x16917b);}return _0x46e8fa[_0x8b23('0x20')]();};}function saveUpdates(_0x32d603,_0x100f2e){return function(_0x249d18){if(_0x249d18){return _0x249d18[_0x8b23('0x21')](_0x32d603)[_0x8b23('0x22')](function(_0x7f04ba){return _0x7f04ba;});}return null;};}function removeEntity(_0x15c727,_0x2760d7){return function(_0x2dfc7d){if(_0x2dfc7d){return _0x2dfc7d[_0x8b23('0x23')]()[_0x8b23('0x22')](function(){_0x15c727[_0x8b23('0x17')](0xcc)[_0x8b23('0x16')]();});}};}function handleEntityNotFound(_0x439c69,_0x441a31){return function(_0x4cf381){if(!_0x4cf381){_0x439c69['sendStatus'](0x194);}return _0x4cf381;};}function handleError(_0x335a90,_0xe20477){_0xe20477=_0xe20477||0x1f4;return function(_0x32ef94){logger['error'](_0x32ef94[_0x8b23('0x24')]);if(_0x32ef94['name']){delete _0x32ef94['name'];}_0x335a90['status'](_0xe20477)[_0x8b23('0x25')](_0x32ef94);};}exports[_0x8b23('0x26')]=function(_0x221e77,_0x4fd678){var _0x196134={},_0x5c2897={},_0x15937e={'count':0x0,'rows':[]};var _0x33ee48=_['map'](db[_0x8b23('0x27')][_0x8b23('0x28')],function(_0x5a0425){return{'name':_0x5a0425[_0x8b23('0x29')],'type':_0x5a0425[_0x8b23('0x2a')][_0x8b23('0x2b')]};});_0x5c2897['model']=_[_0x8b23('0x2c')](_0x33ee48,_0x8b23('0x2d'));_0x5c2897[_0x8b23('0x2e')]=_[_0x8b23('0x2f')](_0x221e77[_0x8b23('0x2e')]);_0x5c2897['filters']=_[_0x8b23('0x30')](_0x5c2897[_0x8b23('0x31')],_0x5c2897[_0x8b23('0x2e')]);_0x196134[_0x8b23('0x32')]=_[_0x8b23('0x30')](_0x5c2897[_0x8b23('0x31')],qs[_0x8b23('0x33')](_0x221e77[_0x8b23('0x2e')][_0x8b23('0x33')]));_0x196134[_0x8b23('0x32')]=_0x196134[_0x8b23('0x32')][_0x8b23('0x34')]?_0x196134[_0x8b23('0x32')]:_0x5c2897[_0x8b23('0x31')];if(!_0x221e77[_0x8b23('0x2e')][_0x8b23('0x35')](_0x8b23('0x36'))){_0x196134[_0x8b23('0x1a')]=qs['limit'](_0x221e77[_0x8b23('0x2e')]['limit']);_0x196134[_0x8b23('0x18')]=qs[_0x8b23('0x18')](_0x221e77[_0x8b23('0x2e')][_0x8b23('0x18')]);}_0x196134[_0x8b23('0x37')]=qs[_0x8b23('0x38')](_0x221e77[_0x8b23('0x2e')][_0x8b23('0x38')]);_0x196134[_0x8b23('0x39')]=qs[_0x8b23('0x3a')](_[_0x8b23('0x3b')](_0x221e77[_0x8b23('0x2e')],_0x5c2897[_0x8b23('0x3a')]),_0x33ee48);if(_0x221e77[_0x8b23('0x2e')]['filter']){_0x196134['where']=_[_0x8b23('0x3c')](_0x196134[_0x8b23('0x39')],{'$or':_['map'](_0x33ee48,function(_0x4191d4){if(_0x4191d4[_0x8b23('0x2a')]!==_0x8b23('0x3d')){var _0x3d8e70={};_0x3d8e70[_0x4191d4['name']]={'$like':'%'+_0x221e77[_0x8b23('0x2e')][_0x8b23('0x3e')]+'%'};return _0x3d8e70;}})});}_0x196134=_[_0x8b23('0x3c')]({},_0x196134,_0x221e77['options']);var _0x185d8f={'where':_0x196134[_0x8b23('0x39')]};return db[_0x8b23('0x27')][_0x8b23('0x1b')](_0x185d8f)[_0x8b23('0x22')](function(_0x59262b){_0x15937e['count']=_0x59262b;if(_0x221e77[_0x8b23('0x2e')][_0x8b23('0x3f')]){_0x196134['include']=[{'all':!![]}];}return db[_0x8b23('0x27')][_0x8b23('0x40')](_0x196134);})['then'](function(_0x4ec89d){_0x15937e['rows']=_0x4ec89d;return _0x15937e;})['then'](respondWithFilteredResult(_0x4fd678,_0x196134))[_0x8b23('0x41')](handleError(_0x4fd678,null));};exports[_0x8b23('0x42')]=function(_0x4a943c,_0x390ea2){var _0x4a1293={'raw':![],'where':{'id':_0x4a943c[_0x8b23('0x43')]['id']}},_0x5b870d={};_0x5b870d[_0x8b23('0x31')]=_['keys'](db[_0x8b23('0x27')]['rawAttributes']);_0x5b870d['query']=_[_0x8b23('0x2f')](_0x4a943c[_0x8b23('0x2e')]);_0x5b870d[_0x8b23('0x3a')]=_[_0x8b23('0x30')](_0x5b870d[_0x8b23('0x31')],_0x5b870d[_0x8b23('0x2e')]);_0x4a1293['attributes']=_[_0x8b23('0x30')](_0x5b870d[_0x8b23('0x31')],qs[_0x8b23('0x33')](_0x4a943c[_0x8b23('0x2e')][_0x8b23('0x33')]));_0x4a1293[_0x8b23('0x32')]=_0x4a1293['attributes']['length']?_0x4a1293[_0x8b23('0x32')]:_0x5b870d['model'];if(_0x4a943c[_0x8b23('0x2e')][_0x8b23('0x3f')]){_0x4a1293[_0x8b23('0x44')]=[{'all':!![]}];}_0x4a1293=_[_0x8b23('0x3c')]({},_0x4a1293,_0x4a943c[_0x8b23('0x45')]);return db['FreshsalesConfiguration'][_0x8b23('0x46')](_0x4a1293)['then'](handleEntityNotFound(_0x390ea2,null))['then'](respondWithResult(_0x390ea2,null))['catch'](handleError(_0x390ea2,null));};exports[_0x8b23('0x47')]=function(_0xd1d06e,_0x145b98){return db[_0x8b23('0x27')][_0x8b23('0x47')](_0xd1d06e[_0x8b23('0x48')],{})[_0x8b23('0x22')](respondWithResult(_0x145b98,0xc9))['catch'](handleError(_0x145b98,null));};exports[_0x8b23('0x21')]=function(_0x472223,_0x2820fc){if(_0x472223[_0x8b23('0x48')]['id']){delete _0x472223['body']['id'];}return db[_0x8b23('0x27')][_0x8b23('0x46')]({'where':{'id':_0x472223[_0x8b23('0x43')]['id']}})[_0x8b23('0x22')](handleEntityNotFound(_0x2820fc,null))[_0x8b23('0x22')](saveUpdates(_0x472223[_0x8b23('0x48')],null))[_0x8b23('0x22')](respondWithResult(_0x2820fc,null))[_0x8b23('0x41')](handleError(_0x2820fc,null));};exports[_0x8b23('0x23')]=function(_0x5ef704,_0x48a501){return db['FreshsalesConfiguration'][_0x8b23('0x46')]({'where':{'id':_0x5ef704[_0x8b23('0x43')]['id']}})[_0x8b23('0x22')](handleEntityNotFound(_0x48a501,null))[_0x8b23('0x22')](removeEntity(_0x48a501,null))[_0x8b23('0x41')](handleError(_0x48a501,null));};exports[_0x8b23('0x49')]=function(_0x6c54e5,_0x5bad7a,_0x5a3415){var _0x5f40e2={};var _0x433125={};var _0x5774c2;var _0x1021c8;return db[_0x8b23('0x27')][_0x8b23('0x4a')]({'where':{'id':_0x6c54e5[_0x8b23('0x43')]['id']}})['then'](handleEntityNotFound(_0x5bad7a,null))['then'](function(_0x40a9aa){if(_0x40a9aa){_0x5774c2=_0x40a9aa;_0x433125[_0x8b23('0x31')]=_[_0x8b23('0x2f')](db[_0x8b23('0x4b')][_0x8b23('0x28')]);_0x433125[_0x8b23('0x2e')]=_['keys'](_0x6c54e5[_0x8b23('0x2e')]);_0x433125[_0x8b23('0x3a')]=_['intersection'](_0x433125[_0x8b23('0x31')],_0x433125[_0x8b23('0x2e')]);_0x5f40e2['attributes']=_[_0x8b23('0x30')](_0x433125['model'],qs[_0x8b23('0x33')](_0x6c54e5['query'][_0x8b23('0x33')]));_0x5f40e2[_0x8b23('0x32')]=_0x5f40e2[_0x8b23('0x32')][_0x8b23('0x34')]?_0x5f40e2[_0x8b23('0x32')]:_0x433125[_0x8b23('0x31')];_0x5f40e2['order']=qs[_0x8b23('0x38')](_0x6c54e5[_0x8b23('0x2e')][_0x8b23('0x38')]);_0x5f40e2[_0x8b23('0x39')]=qs[_0x8b23('0x3a')](_[_0x8b23('0x3b')](_0x6c54e5[_0x8b23('0x2e')],_0x433125[_0x8b23('0x3a')]));if(_0x6c54e5[_0x8b23('0x2e')]['filter']){_0x5f40e2['where']=_['merge'](_0x5f40e2[_0x8b23('0x39')],{'$or':_[_0x8b23('0x2c')](_0x5f40e2[_0x8b23('0x32')],function(_0x5dedbb){var _0x5ad854={};_0x5ad854[_0x5dedbb]={'$like':'%'+_0x6c54e5[_0x8b23('0x2e')]['filter']+'%'};return _0x5ad854;})});}_0x5f40e2=_['merge']({},_0x5f40e2,_0x6c54e5[_0x8b23('0x45')]);return _0x5774c2[_0x8b23('0x49')](_0x5f40e2);}})[_0x8b23('0x22')](function(_0x281c1f){if(_0x281c1f){_0x1021c8=_0x281c1f[_0x8b23('0x34')];if(!_0x6c54e5[_0x8b23('0x2e')][_0x8b23('0x35')](_0x8b23('0x36'))){_0x5f40e2[_0x8b23('0x1a')]=qs[_0x8b23('0x1a')](_0x6c54e5[_0x8b23('0x2e')]['limit']);_0x5f40e2[_0x8b23('0x18')]=qs[_0x8b23('0x18')](_0x6c54e5[_0x8b23('0x2e')][_0x8b23('0x18')]);}return _0x5774c2['getSubjects'](_0x5f40e2);}})[_0x8b23('0x22')](function(_0x465303){if(_0x465303){return _0x465303?{'count':_0x1021c8,'rows':_0x465303}:null;}})[_0x8b23('0x22')](respondWithResult(_0x5bad7a,null))['catch'](handleError(_0x5bad7a,null));};exports['getDescriptions']=function(_0x4d8b01,_0x5047c3,_0x33ad89){var _0x553f1a={};var _0x5448cb={};var _0x4f04c8;var _0x34fa3d;return db[_0x8b23('0x27')]['findOne']({'where':{'id':_0x4d8b01[_0x8b23('0x43')]['id']}})[_0x8b23('0x22')](handleEntityNotFound(_0x5047c3,null))['then'](function(_0x3ed1b8){if(_0x3ed1b8){_0x4f04c8=_0x3ed1b8;_0x5448cb[_0x8b23('0x31')]=_[_0x8b23('0x2f')](db[_0x8b23('0x4b')]['rawAttributes']);_0x5448cb[_0x8b23('0x2e')]=_['keys'](_0x4d8b01[_0x8b23('0x2e')]);_0x5448cb[_0x8b23('0x3a')]=_[_0x8b23('0x30')](_0x5448cb[_0x8b23('0x31')],_0x5448cb['query']);_0x553f1a['attributes']=_[_0x8b23('0x30')](_0x5448cb[_0x8b23('0x31')],qs['fields'](_0x4d8b01['query']['fields']));_0x553f1a[_0x8b23('0x32')]=_0x553f1a[_0x8b23('0x32')][_0x8b23('0x34')]?_0x553f1a[_0x8b23('0x32')]:_0x5448cb['model'];_0x553f1a[_0x8b23('0x37')]=qs['sort'](_0x4d8b01[_0x8b23('0x2e')][_0x8b23('0x38')]);_0x553f1a[_0x8b23('0x39')]=qs[_0x8b23('0x3a')](_['pick'](_0x4d8b01[_0x8b23('0x2e')],_0x5448cb[_0x8b23('0x3a')]));if(_0x4d8b01['query'][_0x8b23('0x3e')]){_0x553f1a[_0x8b23('0x39')]=_[_0x8b23('0x3c')](_0x553f1a['where'],{'$or':_[_0x8b23('0x2c')](_0x553f1a[_0x8b23('0x32')],function(_0x4cbe7d){var _0x2c5b7a={};_0x2c5b7a[_0x4cbe7d]={'$like':'%'+_0x4d8b01[_0x8b23('0x2e')][_0x8b23('0x3e')]+'%'};return _0x2c5b7a;})});}_0x553f1a=_[_0x8b23('0x3c')]({},_0x553f1a,_0x4d8b01[_0x8b23('0x45')]);return _0x4f04c8[_0x8b23('0x4c')](_0x553f1a);}})[_0x8b23('0x22')](function(_0x56dc62){if(_0x56dc62){_0x34fa3d=_0x56dc62['length'];if(!_0x4d8b01[_0x8b23('0x2e')][_0x8b23('0x35')](_0x8b23('0x36'))){_0x553f1a[_0x8b23('0x1a')]=qs[_0x8b23('0x1a')](_0x4d8b01[_0x8b23('0x2e')]['limit']);_0x553f1a[_0x8b23('0x18')]=qs['offset'](_0x4d8b01['query'][_0x8b23('0x18')]);}return _0x4f04c8[_0x8b23('0x4c')](_0x553f1a);}})['then'](function(_0x38147d){if(_0x38147d){return _0x38147d?{'count':_0x34fa3d,'rows':_0x38147d}:null;}})[_0x8b23('0x22')](respondWithResult(_0x5047c3,null))['catch'](handleError(_0x5047c3,null));};exports[_0x8b23('0x4d')]=function(_0x2d81eb,_0x35681f,_0x536dc3){var _0x5f0994={};var _0x154dda={};var _0x350b37;var _0x2ff4fe;return db[_0x8b23('0x27')][_0x8b23('0x4a')]({'where':{'id':_0x2d81eb[_0x8b23('0x43')]['id']}})[_0x8b23('0x22')](handleEntityNotFound(_0x35681f,null))[_0x8b23('0x22')](function(_0x568fc9){if(_0x568fc9){_0x350b37=_0x568fc9;_0x154dda[_0x8b23('0x31')]=_[_0x8b23('0x2f')](db[_0x8b23('0x4b')]['rawAttributes']);_0x154dda[_0x8b23('0x2e')]=_[_0x8b23('0x2f')](_0x2d81eb['query']);_0x154dda[_0x8b23('0x3a')]=_['intersection'](_0x154dda[_0x8b23('0x31')],_0x154dda[_0x8b23('0x2e')]);_0x5f0994['attributes']=_[_0x8b23('0x30')](_0x154dda['model'],qs[_0x8b23('0x33')](_0x2d81eb[_0x8b23('0x2e')]['fields']));_0x5f0994[_0x8b23('0x32')]=_0x5f0994[_0x8b23('0x32')][_0x8b23('0x34')]?_0x5f0994[_0x8b23('0x32')]:_0x154dda[_0x8b23('0x31')];_0x5f0994[_0x8b23('0x37')]=qs[_0x8b23('0x38')](_0x2d81eb[_0x8b23('0x2e')][_0x8b23('0x38')]);_0x5f0994['where']=qs[_0x8b23('0x3a')](_[_0x8b23('0x3b')](_0x2d81eb['query'],_0x154dda[_0x8b23('0x3a')]));if(_0x2d81eb[_0x8b23('0x2e')][_0x8b23('0x3e')]){_0x5f0994[_0x8b23('0x39')]=_[_0x8b23('0x3c')](_0x5f0994[_0x8b23('0x39')],{'$or':_[_0x8b23('0x2c')](_0x5f0994[_0x8b23('0x32')],function(_0x28828c){var _0x39e666={};_0x39e666[_0x28828c]={'$like':'%'+_0x2d81eb[_0x8b23('0x2e')]['filter']+'%'};return _0x39e666;})});}_0x5f0994=_['merge']({},_0x5f0994,_0x2d81eb[_0x8b23('0x45')]);return _0x350b37[_0x8b23('0x4d')](_0x5f0994);}})[_0x8b23('0x22')](function(_0x1a4fc6){if(_0x1a4fc6){_0x2ff4fe=_0x1a4fc6[_0x8b23('0x34')];if(!_0x2d81eb[_0x8b23('0x2e')][_0x8b23('0x35')]('nolimit')){_0x5f0994['limit']=qs[_0x8b23('0x1a')](_0x2d81eb[_0x8b23('0x2e')][_0x8b23('0x1a')]);_0x5f0994[_0x8b23('0x18')]=qs[_0x8b23('0x18')](_0x2d81eb[_0x8b23('0x2e')][_0x8b23('0x18')]);}return _0x350b37[_0x8b23('0x4d')](_0x5f0994);}})[_0x8b23('0x22')](function(_0x8a6f73){if(_0x8a6f73){return _0x8a6f73?{'count':_0x2ff4fe,'rows':_0x8a6f73}:null;}})[_0x8b23('0x22')](respondWithResult(_0x35681f,null))['catch'](handleError(_0x35681f,null));};