2b7f014b2ebd4cbfc8b1fd53950e7fa17cd7e14c
[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 _0x81bd=['save','update','then','destroy','error','stack','name','send','index','map','FreshsalesConfiguration','rawAttributes','fieldName','type','key','query','keys','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','where','merge','VIRTUAL','options','includeAll','include','findAll','catch','find','body','params','getSubjects','findOne','FreshsalesField','filter','getDescriptions','getFields','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','apply','reject'];(function(_0x526295,_0x5ca373){var _0x1e5cf3=function(_0x533b91){while(--_0x533b91){_0x526295['push'](_0x526295['shift']());}};_0x1e5cf3(++_0x5ca373);}(_0x81bd,0x11a));var _0xd81b=function(_0x3655e5,_0x469eae){_0x3655e5=_0x3655e5-0x0;var _0x37dfac=_0x81bd[_0x3655e5];return _0x37dfac;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd81b('0x0'));var zipdir=require(_0xd81b('0x1'));var jsonpatch=require(_0xd81b('0x2'));var rp=require(_0xd81b('0x3'));var moment=require(_0xd81b('0x4'));var BPromise=require(_0xd81b('0x5'));var Mustache=require(_0xd81b('0x6'));var util=require('util');var path=require(_0xd81b('0x7'));var sox=require(_0xd81b('0x8'));var csv=require(_0xd81b('0x9'));var ejs=require(_0xd81b('0xa'));var fs=require('fs');var fs_extra=require(_0xd81b('0xb'));var _=require('lodash');var squel=require(_0xd81b('0xc'));var crypto=require(_0xd81b('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xd81b('0xe'));var toCsv=require(_0xd81b('0x9'));var querystring=require('querystring');var Papa=require(_0xd81b('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xd81b('0x10'));var as=require(_0xd81b('0x11'));var hardwareService=require(_0xd81b('0x12'));var logger=require('../../config/logger')(_0xd81b('0x13'));var utils=require(_0xd81b('0x14'));var config=require(_0xd81b('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xd81b('0x16'))['db'];function respondWithStatusCode(_0x20d104,_0x6de0d9){_0x6de0d9=_0x6de0d9||0xcc;return function(_0x5271e1){if(_0x5271e1){return _0x20d104[_0xd81b('0x17')](_0x6de0d9);}return _0x20d104[_0xd81b('0x18')](_0x6de0d9)[_0xd81b('0x19')]();};}function respondWithResult(_0x33da30,_0xff89a0){_0xff89a0=_0xff89a0||0xc8;return function(_0x452301){if(_0x452301){return _0x33da30[_0xd81b('0x18')](_0xff89a0)[_0xd81b('0x1a')](_0x452301);}};}function respondWithFilteredResult(_0x32da2b,_0x1212e3){return function(_0x3164e4){if(_0x3164e4){var _0x3e6e2b=typeof _0x1212e3[_0xd81b('0x1b')]==='undefined'&&typeof _0x1212e3[_0xd81b('0x1c')]===_0xd81b('0x1d');var _0x2f849d=_0x3164e4['count'];var _0x593f4d=_0x3e6e2b?0x0:_0x1212e3[_0xd81b('0x1b')];var _0x4b07b3=_0x3e6e2b?_0x3164e4[_0xd81b('0x1e')]:_0x1212e3[_0xd81b('0x1b')]+_0x1212e3[_0xd81b('0x1c')];var _0x1a9347;if(_0x4b07b3>=_0x2f849d){_0x4b07b3=_0x2f849d;_0x1a9347=0xc8;}else{_0x1a9347=0xce;}_0x32da2b[_0xd81b('0x18')](_0x1a9347);return _0x32da2b[_0xd81b('0x1f')]('Content-Range',_0x593f4d+'-'+_0x4b07b3+'/'+_0x2f849d)['json'](_0x3164e4);}return null;};}function patchUpdates(_0x3e6141){return function(_0xf4b091){try{jsonpatch[_0xd81b('0x20')](_0xf4b091,_0x3e6141,!![]);}catch(_0x20060a){return BPromise[_0xd81b('0x21')](_0x20060a);}return _0xf4b091[_0xd81b('0x22')]();};}function saveUpdates(_0x55782f,_0x1f88cb){return function(_0x2f4827){if(_0x2f4827){return _0x2f4827[_0xd81b('0x23')](_0x55782f)[_0xd81b('0x24')](function(_0x5db809){return _0x5db809;});}return null;};}function removeEntity(_0x3bb634,_0x2026ea){return function(_0xf134c){if(_0xf134c){return _0xf134c[_0xd81b('0x25')]()[_0xd81b('0x24')](function(){_0x3bb634[_0xd81b('0x18')](0xcc)[_0xd81b('0x19')]();});}};}function handleEntityNotFound(_0x35d37f,_0x491f50){return function(_0x574234){if(!_0x574234){_0x35d37f[_0xd81b('0x17')](0x194);}return _0x574234;};}function handleError(_0x22272e,_0x6d54){_0x6d54=_0x6d54||0x1f4;return function(_0x2001bf){logger[_0xd81b('0x26')](_0x2001bf[_0xd81b('0x27')]);if(_0x2001bf[_0xd81b('0x28')]){delete _0x2001bf[_0xd81b('0x28')];}_0x22272e[_0xd81b('0x18')](_0x6d54)[_0xd81b('0x29')](_0x2001bf);};}exports[_0xd81b('0x2a')]=function(_0xe5a642,_0x4f61e1){var _0x301435={},_0x3fbf5a={},_0x5e06b5={'count':0x0,'rows':[]};var _0x271499=_[_0xd81b('0x2b')](db[_0xd81b('0x2c')][_0xd81b('0x2d')],function(_0x2cfed4){return{'name':_0x2cfed4[_0xd81b('0x2e')],'type':_0x2cfed4[_0xd81b('0x2f')][_0xd81b('0x30')]};});_0x3fbf5a['model']=_[_0xd81b('0x2b')](_0x271499,_0xd81b('0x28'));_0x3fbf5a[_0xd81b('0x31')]=_[_0xd81b('0x32')](_0xe5a642[_0xd81b('0x31')]);_0x3fbf5a['filters']=_[_0xd81b('0x33')](_0x3fbf5a['model'],_0x3fbf5a[_0xd81b('0x31')]);_0x301435[_0xd81b('0x34')]=_[_0xd81b('0x33')](_0x3fbf5a[_0xd81b('0x35')],qs['fields'](_0xe5a642[_0xd81b('0x31')][_0xd81b('0x36')]));_0x301435['attributes']=_0x301435['attributes'][_0xd81b('0x37')]?_0x301435[_0xd81b('0x34')]:_0x3fbf5a[_0xd81b('0x35')];if(!_0xe5a642['query'][_0xd81b('0x38')](_0xd81b('0x39'))){_0x301435['limit']=qs[_0xd81b('0x1c')](_0xe5a642[_0xd81b('0x31')][_0xd81b('0x1c')]);_0x301435['offset']=qs[_0xd81b('0x1b')](_0xe5a642[_0xd81b('0x31')]['offset']);}_0x301435[_0xd81b('0x3a')]=qs[_0xd81b('0x3b')](_0xe5a642[_0xd81b('0x31')]['sort']);_0x301435['where']=qs[_0xd81b('0x3c')](_[_0xd81b('0x3d')](_0xe5a642[_0xd81b('0x31')],_0x3fbf5a[_0xd81b('0x3c')]),_0x271499);if(_0xe5a642[_0xd81b('0x31')]['filter']){_0x301435[_0xd81b('0x3e')]=_[_0xd81b('0x3f')](_0x301435[_0xd81b('0x3e')],{'$or':_['map'](_0x271499,function(_0x404fec){if(_0x404fec[_0xd81b('0x2f')]!==_0xd81b('0x40')){var _0x1bceeb={};_0x1bceeb[_0x404fec[_0xd81b('0x28')]]={'$like':'%'+_0xe5a642['query']['filter']+'%'};return _0x1bceeb;}})});}_0x301435=_[_0xd81b('0x3f')]({},_0x301435,_0xe5a642[_0xd81b('0x41')]);var _0x4f209e={'where':_0x301435['where']};return db[_0xd81b('0x2c')][_0xd81b('0x1e')](_0x4f209e)[_0xd81b('0x24')](function(_0x4fe55c){_0x5e06b5[_0xd81b('0x1e')]=_0x4fe55c;if(_0xe5a642[_0xd81b('0x31')][_0xd81b('0x42')]){_0x301435[_0xd81b('0x43')]=[{'all':!![]}];}return db['FreshsalesConfiguration'][_0xd81b('0x44')](_0x301435);})[_0xd81b('0x24')](function(_0x177689){_0x5e06b5['rows']=_0x177689;return _0x5e06b5;})[_0xd81b('0x24')](respondWithFilteredResult(_0x4f61e1,_0x301435))[_0xd81b('0x45')](handleError(_0x4f61e1,null));};exports['show']=function(_0x2f5bf8,_0xd1be23){var _0x18db9a={'raw':![],'where':{'id':_0x2f5bf8['params']['id']}},_0x44782d={};_0x44782d['model']=_[_0xd81b('0x32')](db['FreshsalesConfiguration'][_0xd81b('0x2d')]);_0x44782d[_0xd81b('0x31')]=_['keys'](_0x2f5bf8[_0xd81b('0x31')]);_0x44782d[_0xd81b('0x3c')]=_['intersection'](_0x44782d[_0xd81b('0x35')],_0x44782d[_0xd81b('0x31')]);_0x18db9a[_0xd81b('0x34')]=_[_0xd81b('0x33')](_0x44782d[_0xd81b('0x35')],qs[_0xd81b('0x36')](_0x2f5bf8[_0xd81b('0x31')][_0xd81b('0x36')]));_0x18db9a[_0xd81b('0x34')]=_0x18db9a['attributes'][_0xd81b('0x37')]?_0x18db9a[_0xd81b('0x34')]:_0x44782d[_0xd81b('0x35')];if(_0x2f5bf8['query'][_0xd81b('0x42')]){_0x18db9a[_0xd81b('0x43')]=[{'all':!![]}];}_0x18db9a=_['merge']({},_0x18db9a,_0x2f5bf8['options']);return db['FreshsalesConfiguration'][_0xd81b('0x46')](_0x18db9a)[_0xd81b('0x24')](handleEntityNotFound(_0xd1be23,null))[_0xd81b('0x24')](respondWithResult(_0xd1be23,null))['catch'](handleError(_0xd1be23,null));};exports['create']=function(_0x3c94c6,_0x158a6d){return db[_0xd81b('0x2c')]['create'](_0x3c94c6['body'],{})[_0xd81b('0x24')](respondWithResult(_0x158a6d,0xc9))[_0xd81b('0x45')](handleError(_0x158a6d,null));};exports[_0xd81b('0x23')]=function(_0xf1859b,_0x2faca4){if(_0xf1859b[_0xd81b('0x47')]['id']){delete _0xf1859b['body']['id'];}return db[_0xd81b('0x2c')][_0xd81b('0x46')]({'where':{'id':_0xf1859b[_0xd81b('0x48')]['id']}})['then'](handleEntityNotFound(_0x2faca4,null))['then'](saveUpdates(_0xf1859b[_0xd81b('0x47')],null))['then'](respondWithResult(_0x2faca4,null))[_0xd81b('0x45')](handleError(_0x2faca4,null));};exports[_0xd81b('0x25')]=function(_0x2a5caf,_0x2294ff){return db['FreshsalesConfiguration'][_0xd81b('0x46')]({'where':{'id':_0x2a5caf[_0xd81b('0x48')]['id']}})[_0xd81b('0x24')](handleEntityNotFound(_0x2294ff,null))[_0xd81b('0x24')](removeEntity(_0x2294ff,null))[_0xd81b('0x45')](handleError(_0x2294ff,null));};exports[_0xd81b('0x49')]=function(_0x3a26ce,_0x10793a,_0x565297){var _0x28b9ee={};var _0x2e9a66={};var _0x3f9556;var _0x1bcbb7;return db['FreshsalesConfiguration'][_0xd81b('0x4a')]({'where':{'id':_0x3a26ce[_0xd81b('0x48')]['id']}})[_0xd81b('0x24')](handleEntityNotFound(_0x10793a,null))[_0xd81b('0x24')](function(_0x354bc2){if(_0x354bc2){_0x3f9556=_0x354bc2;_0x2e9a66['model']=_[_0xd81b('0x32')](db[_0xd81b('0x4b')]['rawAttributes']);_0x2e9a66[_0xd81b('0x31')]=_[_0xd81b('0x32')](_0x3a26ce['query']);_0x2e9a66[_0xd81b('0x3c')]=_[_0xd81b('0x33')](_0x2e9a66[_0xd81b('0x35')],_0x2e9a66['query']);_0x28b9ee[_0xd81b('0x34')]=_[_0xd81b('0x33')](_0x2e9a66[_0xd81b('0x35')],qs['fields'](_0x3a26ce[_0xd81b('0x31')]['fields']));_0x28b9ee['attributes']=_0x28b9ee['attributes'][_0xd81b('0x37')]?_0x28b9ee[_0xd81b('0x34')]:_0x2e9a66[_0xd81b('0x35')];_0x28b9ee['order']=qs[_0xd81b('0x3b')](_0x3a26ce[_0xd81b('0x31')][_0xd81b('0x3b')]);_0x28b9ee[_0xd81b('0x3e')]=qs[_0xd81b('0x3c')](_['pick'](_0x3a26ce[_0xd81b('0x31')],_0x2e9a66[_0xd81b('0x3c')]));if(_0x3a26ce[_0xd81b('0x31')]['filter']){_0x28b9ee['where']=_['merge'](_0x28b9ee[_0xd81b('0x3e')],{'$or':_[_0xd81b('0x2b')](_0x28b9ee[_0xd81b('0x34')],function(_0x3df031){var _0x5854a3={};_0x5854a3[_0x3df031]={'$like':'%'+_0x3a26ce['query']['filter']+'%'};return _0x5854a3;})});}_0x28b9ee=_[_0xd81b('0x3f')]({},_0x28b9ee,_0x3a26ce[_0xd81b('0x41')]);return _0x3f9556['getSubjects'](_0x28b9ee);}})[_0xd81b('0x24')](function(_0x3af097){if(_0x3af097){_0x1bcbb7=_0x3af097[_0xd81b('0x37')];if(!_0x3a26ce[_0xd81b('0x31')]['hasOwnProperty'](_0xd81b('0x39'))){_0x28b9ee['limit']=qs['limit'](_0x3a26ce['query'][_0xd81b('0x1c')]);_0x28b9ee[_0xd81b('0x1b')]=qs['offset'](_0x3a26ce[_0xd81b('0x31')][_0xd81b('0x1b')]);}return _0x3f9556[_0xd81b('0x49')](_0x28b9ee);}})[_0xd81b('0x24')](function(_0x2a8111){if(_0x2a8111){return _0x2a8111?{'count':_0x1bcbb7,'rows':_0x2a8111}:null;}})[_0xd81b('0x24')](respondWithResult(_0x10793a,null))[_0xd81b('0x45')](handleError(_0x10793a,null));};exports['getDescriptions']=function(_0xeca7c1,_0x43da99,_0x512c3c){var _0xa979cb={};var _0x1af84f={};var _0x34ebc7;var _0x3a7461;return db[_0xd81b('0x2c')][_0xd81b('0x4a')]({'where':{'id':_0xeca7c1['params']['id']}})[_0xd81b('0x24')](handleEntityNotFound(_0x43da99,null))[_0xd81b('0x24')](function(_0x2f4d4a){if(_0x2f4d4a){_0x34ebc7=_0x2f4d4a;_0x1af84f[_0xd81b('0x35')]=_[_0xd81b('0x32')](db[_0xd81b('0x4b')]['rawAttributes']);_0x1af84f['query']=_[_0xd81b('0x32')](_0xeca7c1[_0xd81b('0x31')]);_0x1af84f['filters']=_[_0xd81b('0x33')](_0x1af84f[_0xd81b('0x35')],_0x1af84f[_0xd81b('0x31')]);_0xa979cb[_0xd81b('0x34')]=_['intersection'](_0x1af84f['model'],qs[_0xd81b('0x36')](_0xeca7c1[_0xd81b('0x31')][_0xd81b('0x36')]));_0xa979cb[_0xd81b('0x34')]=_0xa979cb['attributes'][_0xd81b('0x37')]?_0xa979cb['attributes']:_0x1af84f['model'];_0xa979cb[_0xd81b('0x3a')]=qs[_0xd81b('0x3b')](_0xeca7c1[_0xd81b('0x31')][_0xd81b('0x3b')]);_0xa979cb['where']=qs['filters'](_[_0xd81b('0x3d')](_0xeca7c1[_0xd81b('0x31')],_0x1af84f[_0xd81b('0x3c')]));if(_0xeca7c1[_0xd81b('0x31')][_0xd81b('0x4c')]){_0xa979cb[_0xd81b('0x3e')]=_[_0xd81b('0x3f')](_0xa979cb[_0xd81b('0x3e')],{'$or':_[_0xd81b('0x2b')](_0xa979cb[_0xd81b('0x34')],function(_0x70731a){var _0x109e05={};_0x109e05[_0x70731a]={'$like':'%'+_0xeca7c1['query'][_0xd81b('0x4c')]+'%'};return _0x109e05;})});}_0xa979cb=_[_0xd81b('0x3f')]({},_0xa979cb,_0xeca7c1['options']);return _0x34ebc7[_0xd81b('0x4d')](_0xa979cb);}})[_0xd81b('0x24')](function(_0x199041){if(_0x199041){_0x3a7461=_0x199041['length'];if(!_0xeca7c1['query'][_0xd81b('0x38')]('nolimit')){_0xa979cb['limit']=qs[_0xd81b('0x1c')](_0xeca7c1[_0xd81b('0x31')][_0xd81b('0x1c')]);_0xa979cb[_0xd81b('0x1b')]=qs[_0xd81b('0x1b')](_0xeca7c1[_0xd81b('0x31')][_0xd81b('0x1b')]);}return _0x34ebc7[_0xd81b('0x4d')](_0xa979cb);}})[_0xd81b('0x24')](function(_0x3ea038){if(_0x3ea038){return _0x3ea038?{'count':_0x3a7461,'rows':_0x3ea038}:null;}})[_0xd81b('0x24')](respondWithResult(_0x43da99,null))[_0xd81b('0x45')](handleError(_0x43da99,null));};exports[_0xd81b('0x4e')]=function(_0x55e030,_0x5f47a3,_0x1fb837){var _0x237419={};var _0x1b098a={};var _0x388d18;var _0x43f515;return db[_0xd81b('0x2c')][_0xd81b('0x4a')]({'where':{'id':_0x55e030[_0xd81b('0x48')]['id']}})[_0xd81b('0x24')](handleEntityNotFound(_0x5f47a3,null))[_0xd81b('0x24')](function(_0x19b502){if(_0x19b502){_0x388d18=_0x19b502;_0x1b098a[_0xd81b('0x35')]=_[_0xd81b('0x32')](db[_0xd81b('0x4b')][_0xd81b('0x2d')]);_0x1b098a['query']=_['keys'](_0x55e030['query']);_0x1b098a[_0xd81b('0x3c')]=_['intersection'](_0x1b098a[_0xd81b('0x35')],_0x1b098a['query']);_0x237419[_0xd81b('0x34')]=_[_0xd81b('0x33')](_0x1b098a[_0xd81b('0x35')],qs[_0xd81b('0x36')](_0x55e030[_0xd81b('0x31')][_0xd81b('0x36')]));_0x237419['attributes']=_0x237419['attributes'][_0xd81b('0x37')]?_0x237419[_0xd81b('0x34')]:_0x1b098a[_0xd81b('0x35')];_0x237419[_0xd81b('0x3a')]=qs[_0xd81b('0x3b')](_0x55e030[_0xd81b('0x31')][_0xd81b('0x3b')]);_0x237419[_0xd81b('0x3e')]=qs[_0xd81b('0x3c')](_[_0xd81b('0x3d')](_0x55e030['query'],_0x1b098a['filters']));if(_0x55e030[_0xd81b('0x31')]['filter']){_0x237419[_0xd81b('0x3e')]=_[_0xd81b('0x3f')](_0x237419[_0xd81b('0x3e')],{'$or':_['map'](_0x237419[_0xd81b('0x34')],function(_0x236ae0){var _0x3a706e={};_0x3a706e[_0x236ae0]={'$like':'%'+_0x55e030[_0xd81b('0x31')][_0xd81b('0x4c')]+'%'};return _0x3a706e;})});}_0x237419=_[_0xd81b('0x3f')]({},_0x237419,_0x55e030[_0xd81b('0x41')]);return _0x388d18[_0xd81b('0x4e')](_0x237419);}})[_0xd81b('0x24')](function(_0x5dfc01){if(_0x5dfc01){_0x43f515=_0x5dfc01[_0xd81b('0x37')];if(!_0x55e030[_0xd81b('0x31')][_0xd81b('0x38')]('nolimit')){_0x237419[_0xd81b('0x1c')]=qs[_0xd81b('0x1c')](_0x55e030[_0xd81b('0x31')][_0xd81b('0x1c')]);_0x237419[_0xd81b('0x1b')]=qs[_0xd81b('0x1b')](_0x55e030[_0xd81b('0x31')]['offset']);}return _0x388d18['getFields'](_0x237419);}})[_0xd81b('0x24')](function(_0x11f758){if(_0x11f758){return _0x11f758?{'count':_0x43f515,'rows':_0x11f758}:null;}})[_0xd81b('0x24')](respondWithResult(_0x5f47a3,null))[_0xd81b('0x45')](handleError(_0x5f47a3,null));};