ce6a46536eed87cdc7016c6c5fbebe38b323dc6d
[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 _0xbbb1=['then','end','error','stack','name','send','index','map','FreshsalesConfiguration','rawAttributes','fieldName','type','key','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','catch','show','params','keys','include','create','body','find','destroy','getSubjects','findOne','FreshsalesField','getDescriptions','getFields','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update'];(function(_0x33c797,_0x430c30){var _0x514ff7=function(_0x17920c){while(--_0x17920c){_0x33c797['push'](_0x33c797['shift']());}};_0x514ff7(++_0x430c30);}(_0xbbb1,0x11e));var _0x1bbb=function(_0x5210ac,_0xcb3f25){_0x5210ac=_0x5210ac-0x0;var _0x499f03=_0xbbb1[_0x5210ac];return _0x499f03;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1bbb('0x0'));var zipdir=require(_0x1bbb('0x1'));var jsonpatch=require(_0x1bbb('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x1bbb('0x3'));var Mustache=require(_0x1bbb('0x4'));var util=require(_0x1bbb('0x5'));var path=require(_0x1bbb('0x6'));var sox=require(_0x1bbb('0x7'));var csv=require(_0x1bbb('0x8'));var ejs=require(_0x1bbb('0x9'));var fs=require('fs');var fs_extra=require(_0x1bbb('0xa'));var _=require(_0x1bbb('0xb'));var squel=require('squel');var crypto=require(_0x1bbb('0xc'));var jsforce=require(_0x1bbb('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x1bbb('0x8'));var querystring=require(_0x1bbb('0xe'));var Papa=require(_0x1bbb('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x1bbb('0x10'));var logger=require('../../config/logger')(_0x1bbb('0x11'));var utils=require('../../config/utils');var config=require(_0x1bbb('0x12'));var licenseUtil=require(_0x1bbb('0x13'));var db=require(_0x1bbb('0x14'))['db'];function respondWithStatusCode(_0x2681e0,_0xa43249){_0xa43249=_0xa43249||0xcc;return function(_0x30d8dc){if(_0x30d8dc){return _0x2681e0[_0x1bbb('0x15')](_0xa43249);}return _0x2681e0[_0x1bbb('0x16')](_0xa43249)['end']();};}function respondWithResult(_0x528523,_0x40abc0){_0x40abc0=_0x40abc0||0xc8;return function(_0x4c63af){if(_0x4c63af){return _0x528523[_0x1bbb('0x16')](_0x40abc0)[_0x1bbb('0x17')](_0x4c63af);}};}function respondWithFilteredResult(_0x4d5d41,_0x394ae0){return function(_0x1ba155){if(_0x1ba155){var _0x5887df=typeof _0x394ae0[_0x1bbb('0x18')]==='undefined'&&typeof _0x394ae0['limit']===_0x1bbb('0x19');var _0x2555c1=_0x1ba155[_0x1bbb('0x1a')];var _0x49bff6=_0x5887df?0x0:_0x394ae0[_0x1bbb('0x18')];var _0x34be1c=_0x5887df?_0x1ba155[_0x1bbb('0x1a')]:_0x394ae0[_0x1bbb('0x18')]+_0x394ae0[_0x1bbb('0x1b')];var _0x43f1c8;if(_0x34be1c>=_0x2555c1){_0x34be1c=_0x2555c1;_0x43f1c8=0xc8;}else{_0x43f1c8=0xce;}_0x4d5d41[_0x1bbb('0x16')](_0x43f1c8);return _0x4d5d41[_0x1bbb('0x1c')](_0x1bbb('0x1d'),_0x49bff6+'-'+_0x34be1c+'/'+_0x2555c1)[_0x1bbb('0x17')](_0x1ba155);}return null;};}function patchUpdates(_0xa59533){return function(_0x40273b){try{jsonpatch[_0x1bbb('0x1e')](_0x40273b,_0xa59533,!![]);}catch(_0x124f06){return BPromise[_0x1bbb('0x1f')](_0x124f06);}return _0x40273b[_0x1bbb('0x20')]();};}function saveUpdates(_0x2b2b35,_0x29a905){return function(_0x2edbda){if(_0x2edbda){return _0x2edbda[_0x1bbb('0x21')](_0x2b2b35)[_0x1bbb('0x22')](function(_0x3a6a93){return _0x3a6a93;});}return null;};}function removeEntity(_0xdd3570,_0x513bd3){return function(_0x1c34e0){if(_0x1c34e0){return _0x1c34e0['destroy']()['then'](function(){_0xdd3570[_0x1bbb('0x16')](0xcc)[_0x1bbb('0x23')]();});}};}function handleEntityNotFound(_0x30e2b9,_0x3887e2){return function(_0xae56b2){if(!_0xae56b2){_0x30e2b9[_0x1bbb('0x15')](0x194);}return _0xae56b2;};}function handleError(_0x41eded,_0x45daaa){_0x45daaa=_0x45daaa||0x1f4;return function(_0x112907){logger[_0x1bbb('0x24')](_0x112907[_0x1bbb('0x25')]);if(_0x112907[_0x1bbb('0x26')]){delete _0x112907[_0x1bbb('0x26')];}_0x41eded[_0x1bbb('0x16')](_0x45daaa)[_0x1bbb('0x27')](_0x112907);};}exports[_0x1bbb('0x28')]=function(_0x34ca73,_0x467c7a){var _0x134245={},_0x596677={},_0x564180={'count':0x0,'rows':[]};var _0x524fba=_[_0x1bbb('0x29')](db[_0x1bbb('0x2a')][_0x1bbb('0x2b')],function(_0x3911fc){return{'name':_0x3911fc[_0x1bbb('0x2c')],'type':_0x3911fc[_0x1bbb('0x2d')][_0x1bbb('0x2e')]};});_0x596677['model']=_['map'](_0x524fba,'name');_0x596677[_0x1bbb('0x2f')]=_['keys'](_0x34ca73[_0x1bbb('0x2f')]);_0x596677[_0x1bbb('0x30')]=_['intersection'](_0x596677[_0x1bbb('0x31')],_0x596677[_0x1bbb('0x2f')]);_0x134245[_0x1bbb('0x32')]=_[_0x1bbb('0x33')](_0x596677['model'],qs['fields'](_0x34ca73[_0x1bbb('0x2f')][_0x1bbb('0x34')]));_0x134245[_0x1bbb('0x32')]=_0x134245['attributes'][_0x1bbb('0x35')]?_0x134245[_0x1bbb('0x32')]:_0x596677[_0x1bbb('0x31')];if(!_0x34ca73['query'][_0x1bbb('0x36')](_0x1bbb('0x37'))){_0x134245[_0x1bbb('0x1b')]=qs[_0x1bbb('0x1b')](_0x34ca73[_0x1bbb('0x2f')][_0x1bbb('0x1b')]);_0x134245[_0x1bbb('0x18')]=qs['offset'](_0x34ca73['query'][_0x1bbb('0x18')]);}_0x134245[_0x1bbb('0x38')]=qs['sort'](_0x34ca73[_0x1bbb('0x2f')][_0x1bbb('0x39')]);_0x134245[_0x1bbb('0x3a')]=qs[_0x1bbb('0x30')](_[_0x1bbb('0x3b')](_0x34ca73[_0x1bbb('0x2f')],_0x596677[_0x1bbb('0x30')]),_0x524fba);if(_0x34ca73['query'][_0x1bbb('0x3c')]){_0x134245[_0x1bbb('0x3a')]=_[_0x1bbb('0x3d')](_0x134245[_0x1bbb('0x3a')],{'$or':_[_0x1bbb('0x29')](_0x524fba,function(_0x469b0f){if(_0x469b0f['type']!==_0x1bbb('0x3e')){var _0x86fd18={};_0x86fd18[_0x469b0f['name']]={'$like':'%'+_0x34ca73[_0x1bbb('0x2f')][_0x1bbb('0x3c')]+'%'};return _0x86fd18;}})});}_0x134245=_[_0x1bbb('0x3d')]({},_0x134245,_0x34ca73[_0x1bbb('0x3f')]);var _0x1d42e4={'where':_0x134245['where']};return db[_0x1bbb('0x2a')]['count'](_0x1d42e4)[_0x1bbb('0x22')](function(_0x110722){_0x564180[_0x1bbb('0x1a')]=_0x110722;if(_0x34ca73[_0x1bbb('0x2f')][_0x1bbb('0x40')]){_0x134245['include']=[{'all':!![]}];}return db[_0x1bbb('0x2a')][_0x1bbb('0x41')](_0x134245);})[_0x1bbb('0x22')](function(_0x5e7869){_0x564180['rows']=_0x5e7869;return _0x564180;})[_0x1bbb('0x22')](respondWithFilteredResult(_0x467c7a,_0x134245))[_0x1bbb('0x42')](handleError(_0x467c7a,null));};exports[_0x1bbb('0x43')]=function(_0x4252d0,_0x345cef){var _0x29b1d8={'raw':![],'where':{'id':_0x4252d0[_0x1bbb('0x44')]['id']}},_0xa6f49d={};_0xa6f49d[_0x1bbb('0x31')]=_[_0x1bbb('0x45')](db[_0x1bbb('0x2a')][_0x1bbb('0x2b')]);_0xa6f49d[_0x1bbb('0x2f')]=_[_0x1bbb('0x45')](_0x4252d0[_0x1bbb('0x2f')]);_0xa6f49d['filters']=_[_0x1bbb('0x33')](_0xa6f49d[_0x1bbb('0x31')],_0xa6f49d['query']);_0x29b1d8['attributes']=_[_0x1bbb('0x33')](_0xa6f49d[_0x1bbb('0x31')],qs[_0x1bbb('0x34')](_0x4252d0[_0x1bbb('0x2f')][_0x1bbb('0x34')]));_0x29b1d8[_0x1bbb('0x32')]=_0x29b1d8[_0x1bbb('0x32')]['length']?_0x29b1d8['attributes']:_0xa6f49d['model'];if(_0x4252d0[_0x1bbb('0x2f')]['includeAll']){_0x29b1d8[_0x1bbb('0x46')]=[{'all':!![]}];}_0x29b1d8=_[_0x1bbb('0x3d')]({},_0x29b1d8,_0x4252d0['options']);return db['FreshsalesConfiguration']['find'](_0x29b1d8)[_0x1bbb('0x22')](handleEntityNotFound(_0x345cef,null))[_0x1bbb('0x22')](respondWithResult(_0x345cef,null))[_0x1bbb('0x42')](handleError(_0x345cef,null));};exports[_0x1bbb('0x47')]=function(_0x59dbae,_0x2b7613){return db[_0x1bbb('0x2a')]['create'](_0x59dbae['body'],{})[_0x1bbb('0x22')](respondWithResult(_0x2b7613,0xc9))[_0x1bbb('0x42')](handleError(_0x2b7613,null));};exports[_0x1bbb('0x21')]=function(_0x413df6,_0x51195c){if(_0x413df6[_0x1bbb('0x48')]['id']){delete _0x413df6[_0x1bbb('0x48')]['id'];}return db[_0x1bbb('0x2a')][_0x1bbb('0x49')]({'where':{'id':_0x413df6[_0x1bbb('0x44')]['id']}})[_0x1bbb('0x22')](handleEntityNotFound(_0x51195c,null))[_0x1bbb('0x22')](saveUpdates(_0x413df6[_0x1bbb('0x48')],null))[_0x1bbb('0x22')](respondWithResult(_0x51195c,null))['catch'](handleError(_0x51195c,null));};exports[_0x1bbb('0x4a')]=function(_0x259883,_0xf927ab){return db[_0x1bbb('0x2a')][_0x1bbb('0x49')]({'where':{'id':_0x259883['params']['id']}})[_0x1bbb('0x22')](handleEntityNotFound(_0xf927ab,null))[_0x1bbb('0x22')](removeEntity(_0xf927ab,null))[_0x1bbb('0x42')](handleError(_0xf927ab,null));};exports[_0x1bbb('0x4b')]=function(_0x4ccd31,_0x1748f0,_0x8e65e7){var _0x18680d={};var _0x25eefa={};var _0x5f2ddd;var _0x379f8a;return db[_0x1bbb('0x2a')][_0x1bbb('0x4c')]({'where':{'id':_0x4ccd31[_0x1bbb('0x44')]['id']}})[_0x1bbb('0x22')](handleEntityNotFound(_0x1748f0,null))[_0x1bbb('0x22')](function(_0x505e20){if(_0x505e20){_0x5f2ddd=_0x505e20;_0x25eefa[_0x1bbb('0x31')]=_[_0x1bbb('0x45')](db[_0x1bbb('0x4d')][_0x1bbb('0x2b')]);_0x25eefa[_0x1bbb('0x2f')]=_[_0x1bbb('0x45')](_0x4ccd31[_0x1bbb('0x2f')]);_0x25eefa[_0x1bbb('0x30')]=_[_0x1bbb('0x33')](_0x25eefa[_0x1bbb('0x31')],_0x25eefa[_0x1bbb('0x2f')]);_0x18680d[_0x1bbb('0x32')]=_[_0x1bbb('0x33')](_0x25eefa[_0x1bbb('0x31')],qs[_0x1bbb('0x34')](_0x4ccd31['query']['fields']));_0x18680d[_0x1bbb('0x32')]=_0x18680d[_0x1bbb('0x32')][_0x1bbb('0x35')]?_0x18680d[_0x1bbb('0x32')]:_0x25eefa[_0x1bbb('0x31')];_0x18680d[_0x1bbb('0x38')]=qs[_0x1bbb('0x39')](_0x4ccd31[_0x1bbb('0x2f')][_0x1bbb('0x39')]);_0x18680d[_0x1bbb('0x3a')]=qs[_0x1bbb('0x30')](_[_0x1bbb('0x3b')](_0x4ccd31[_0x1bbb('0x2f')],_0x25eefa[_0x1bbb('0x30')]));if(_0x4ccd31[_0x1bbb('0x2f')][_0x1bbb('0x3c')]){_0x18680d['where']=_[_0x1bbb('0x3d')](_0x18680d['where'],{'$or':_[_0x1bbb('0x29')](_0x18680d['attributes'],function(_0x1ef2b6){var _0x4f2078={};_0x4f2078[_0x1ef2b6]={'$like':'%'+_0x4ccd31[_0x1bbb('0x2f')][_0x1bbb('0x3c')]+'%'};return _0x4f2078;})});}_0x18680d=_[_0x1bbb('0x3d')]({},_0x18680d,_0x4ccd31[_0x1bbb('0x3f')]);return _0x5f2ddd[_0x1bbb('0x4b')](_0x18680d);}})['then'](function(_0x5e8598){if(_0x5e8598){_0x379f8a=_0x5e8598['length'];if(!_0x4ccd31['query'][_0x1bbb('0x36')](_0x1bbb('0x37'))){_0x18680d['limit']=qs[_0x1bbb('0x1b')](_0x4ccd31[_0x1bbb('0x2f')]['limit']);_0x18680d[_0x1bbb('0x18')]=qs[_0x1bbb('0x18')](_0x4ccd31['query'][_0x1bbb('0x18')]);}return _0x5f2ddd['getSubjects'](_0x18680d);}})[_0x1bbb('0x22')](function(_0x5bb058){if(_0x5bb058){return _0x5bb058?{'count':_0x379f8a,'rows':_0x5bb058}:null;}})['then'](respondWithResult(_0x1748f0,null))[_0x1bbb('0x42')](handleError(_0x1748f0,null));};exports['getDescriptions']=function(_0x5a3e73,_0x11b2cb,_0x345068){var _0x42139c={};var _0xdc7a10={};var _0x48b72c;var _0x4680d3;return db[_0x1bbb('0x2a')][_0x1bbb('0x4c')]({'where':{'id':_0x5a3e73['params']['id']}})[_0x1bbb('0x22')](handleEntityNotFound(_0x11b2cb,null))[_0x1bbb('0x22')](function(_0x4393d8){if(_0x4393d8){_0x48b72c=_0x4393d8;_0xdc7a10[_0x1bbb('0x31')]=_['keys'](db[_0x1bbb('0x4d')][_0x1bbb('0x2b')]);_0xdc7a10[_0x1bbb('0x2f')]=_['keys'](_0x5a3e73[_0x1bbb('0x2f')]);_0xdc7a10[_0x1bbb('0x30')]=_['intersection'](_0xdc7a10[_0x1bbb('0x31')],_0xdc7a10[_0x1bbb('0x2f')]);_0x42139c[_0x1bbb('0x32')]=_['intersection'](_0xdc7a10[_0x1bbb('0x31')],qs[_0x1bbb('0x34')](_0x5a3e73['query'][_0x1bbb('0x34')]));_0x42139c[_0x1bbb('0x32')]=_0x42139c[_0x1bbb('0x32')]['length']?_0x42139c[_0x1bbb('0x32')]:_0xdc7a10[_0x1bbb('0x31')];_0x42139c[_0x1bbb('0x38')]=qs[_0x1bbb('0x39')](_0x5a3e73[_0x1bbb('0x2f')][_0x1bbb('0x39')]);_0x42139c[_0x1bbb('0x3a')]=qs[_0x1bbb('0x30')](_[_0x1bbb('0x3b')](_0x5a3e73[_0x1bbb('0x2f')],_0xdc7a10[_0x1bbb('0x30')]));if(_0x5a3e73[_0x1bbb('0x2f')][_0x1bbb('0x3c')]){_0x42139c[_0x1bbb('0x3a')]=_['merge'](_0x42139c[_0x1bbb('0x3a')],{'$or':_[_0x1bbb('0x29')](_0x42139c[_0x1bbb('0x32')],function(_0x40540c){var _0x2f096c={};_0x2f096c[_0x40540c]={'$like':'%'+_0x5a3e73['query']['filter']+'%'};return _0x2f096c;})});}_0x42139c=_[_0x1bbb('0x3d')]({},_0x42139c,_0x5a3e73[_0x1bbb('0x3f')]);return _0x48b72c[_0x1bbb('0x4e')](_0x42139c);}})[_0x1bbb('0x22')](function(_0x17f745){if(_0x17f745){_0x4680d3=_0x17f745[_0x1bbb('0x35')];if(!_0x5a3e73['query'][_0x1bbb('0x36')](_0x1bbb('0x37'))){_0x42139c['limit']=qs[_0x1bbb('0x1b')](_0x5a3e73[_0x1bbb('0x2f')]['limit']);_0x42139c['offset']=qs['offset'](_0x5a3e73[_0x1bbb('0x2f')][_0x1bbb('0x18')]);}return _0x48b72c['getDescriptions'](_0x42139c);}})[_0x1bbb('0x22')](function(_0x2d9dba){if(_0x2d9dba){return _0x2d9dba?{'count':_0x4680d3,'rows':_0x2d9dba}:null;}})['then'](respondWithResult(_0x11b2cb,null))[_0x1bbb('0x42')](handleError(_0x11b2cb,null));};exports[_0x1bbb('0x4f')]=function(_0x2dc97e,_0x5461f5,_0x3a025e){var _0xf4e656={};var _0x34413b={};var _0x108911;var _0x57f69e;return db[_0x1bbb('0x2a')][_0x1bbb('0x4c')]({'where':{'id':_0x2dc97e[_0x1bbb('0x44')]['id']}})[_0x1bbb('0x22')](handleEntityNotFound(_0x5461f5,null))[_0x1bbb('0x22')](function(_0x25c9b4){if(_0x25c9b4){_0x108911=_0x25c9b4;_0x34413b[_0x1bbb('0x31')]=_[_0x1bbb('0x45')](db['FreshsalesField'][_0x1bbb('0x2b')]);_0x34413b[_0x1bbb('0x2f')]=_[_0x1bbb('0x45')](_0x2dc97e[_0x1bbb('0x2f')]);_0x34413b['filters']=_[_0x1bbb('0x33')](_0x34413b[_0x1bbb('0x31')],_0x34413b[_0x1bbb('0x2f')]);_0xf4e656[_0x1bbb('0x32')]=_['intersection'](_0x34413b['model'],qs['fields'](_0x2dc97e[_0x1bbb('0x2f')]['fields']));_0xf4e656[_0x1bbb('0x32')]=_0xf4e656[_0x1bbb('0x32')][_0x1bbb('0x35')]?_0xf4e656[_0x1bbb('0x32')]:_0x34413b['model'];_0xf4e656[_0x1bbb('0x38')]=qs[_0x1bbb('0x39')](_0x2dc97e['query'][_0x1bbb('0x39')]);_0xf4e656['where']=qs[_0x1bbb('0x30')](_[_0x1bbb('0x3b')](_0x2dc97e[_0x1bbb('0x2f')],_0x34413b['filters']));if(_0x2dc97e[_0x1bbb('0x2f')][_0x1bbb('0x3c')]){_0xf4e656[_0x1bbb('0x3a')]=_[_0x1bbb('0x3d')](_0xf4e656[_0x1bbb('0x3a')],{'$or':_[_0x1bbb('0x29')](_0xf4e656[_0x1bbb('0x32')],function(_0x1b46f7){var _0x345015={};_0x345015[_0x1b46f7]={'$like':'%'+_0x2dc97e[_0x1bbb('0x2f')][_0x1bbb('0x3c')]+'%'};return _0x345015;})});}_0xf4e656=_[_0x1bbb('0x3d')]({},_0xf4e656,_0x2dc97e['options']);return _0x108911[_0x1bbb('0x4f')](_0xf4e656);}})[_0x1bbb('0x22')](function(_0x3c6380){if(_0x3c6380){_0x57f69e=_0x3c6380[_0x1bbb('0x35')];if(!_0x2dc97e[_0x1bbb('0x2f')][_0x1bbb('0x36')](_0x1bbb('0x37'))){_0xf4e656[_0x1bbb('0x1b')]=qs[_0x1bbb('0x1b')](_0x2dc97e['query'][_0x1bbb('0x1b')]);_0xf4e656['offset']=qs[_0x1bbb('0x18')](_0x2dc97e[_0x1bbb('0x2f')][_0x1bbb('0x18')]);}return _0x108911[_0x1bbb('0x4f')](_0xf4e656);}})[_0x1bbb('0x22')](function(_0x33b5e5){if(_0x33b5e5){return _0x33b5e5?{'count':_0x57f69e,'rows':_0x33b5e5}:null;}})[_0x1bbb('0x22')](respondWithResult(_0x5461f5,null))[_0x1bbb('0x42')](handleError(_0x5461f5,null));};