Built motion from commit d5e4af8c.|2.6.23
[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 _0x9483=['util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/license/util','sendStatus','status','end','json','offset','limit','count','set','Content-Range','reject','save','update','then','destroy','error','name','send','index','map','FreshsalesConfiguration','rawAttributes','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','merge','options','include','findAll','rows','catch','show','params','keys','includeAll','find','create','body','getSubjects','findOne','order','FreshsalesField','getDescriptions','getFields','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird'];(function(_0x112891,_0x52380a){var _0x20e441=function(_0x27f6d0){while(--_0x27f6d0){_0x112891['push'](_0x112891['shift']());}};_0x20e441(++_0x52380a);}(_0x9483,0x12e));var _0x3948=function(_0x50ef00,_0x38fd75){_0x50ef00=_0x50ef00-0x0;var _0x347fc1=_0x9483[_0x50ef00];return _0x347fc1;};'use strict';var emlformat=require(_0x3948('0x0'));var rimraf=require(_0x3948('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3948('0x2'));var rp=require(_0x3948('0x3'));var moment=require(_0x3948('0x4'));var BPromise=require(_0x3948('0x5'));var Mustache=require('mustache');var util=require(_0x3948('0x6'));var path=require(_0x3948('0x7'));var sox=require('sox');var csv=require(_0x3948('0x8'));var ejs=require(_0x3948('0x9'));var fs=require('fs');var fs_extra=require(_0x3948('0xa'));var _=require(_0x3948('0xb'));var squel=require(_0x3948('0xc'));var crypto=require(_0x3948('0xd'));var jsforce=require(_0x3948('0xe'));var deskjs=require(_0x3948('0xf'));var toCsv=require(_0x3948('0x8'));var querystring=require(_0x3948('0x10'));var Papa=require(_0x3948('0x11'));var Redis=require(_0x3948('0x12'));var authService=require(_0x3948('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x3948('0x14'));var hardwareService=require(_0x3948('0x15'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x3948('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x485d92,_0x227c19){_0x227c19=_0x227c19||0xcc;return function(_0x1004f2){if(_0x1004f2){return _0x485d92[_0x3948('0x17')](_0x227c19);}return _0x485d92[_0x3948('0x18')](_0x227c19)[_0x3948('0x19')]();};}function respondWithResult(_0x3b2cc4,_0xf0c470){_0xf0c470=_0xf0c470||0xc8;return function(_0x56dd18){if(_0x56dd18){return _0x3b2cc4[_0x3948('0x18')](_0xf0c470)[_0x3948('0x1a')](_0x56dd18);}};}function respondWithFilteredResult(_0x4309b1,_0x1f0e90){return function(_0x16ec7f){if(_0x16ec7f){var _0x3aa26f=typeof _0x1f0e90[_0x3948('0x1b')]==='undefined'&&typeof _0x1f0e90[_0x3948('0x1c')]==='undefined';var _0x1bee8e=_0x16ec7f['count'];var _0x47d732=_0x3aa26f?0x0:_0x1f0e90[_0x3948('0x1b')];var _0x49f85c=_0x3aa26f?_0x16ec7f[_0x3948('0x1d')]:_0x1f0e90['offset']+_0x1f0e90[_0x3948('0x1c')];var _0x2acc56;if(_0x49f85c>=_0x1bee8e){_0x49f85c=_0x1bee8e;_0x2acc56=0xc8;}else{_0x2acc56=0xce;}_0x4309b1[_0x3948('0x18')](_0x2acc56);return _0x4309b1[_0x3948('0x1e')](_0x3948('0x1f'),_0x47d732+'-'+_0x49f85c+'/'+_0x1bee8e)[_0x3948('0x1a')](_0x16ec7f);}return null;};}function patchUpdates(_0x3d9177){return function(_0x390ef0){try{jsonpatch['apply'](_0x390ef0,_0x3d9177,!![]);}catch(_0x23402e){return BPromise[_0x3948('0x20')](_0x23402e);}return _0x390ef0[_0x3948('0x21')]();};}function saveUpdates(_0x2af58b,_0x2734b8){return function(_0x30a0b2){if(_0x30a0b2){return _0x30a0b2[_0x3948('0x22')](_0x2af58b)[_0x3948('0x23')](function(_0x41602d){return _0x41602d;});}return null;};}function removeEntity(_0x59d526,_0x595277){return function(_0x2adc0a){if(_0x2adc0a){return _0x2adc0a[_0x3948('0x24')]()['then'](function(){_0x59d526[_0x3948('0x18')](0xcc)[_0x3948('0x19')]();});}};}function handleEntityNotFound(_0x29b8e6,_0x2b246b){return function(_0x1e0eba){if(!_0x1e0eba){_0x29b8e6[_0x3948('0x17')](0x194);}return _0x1e0eba;};}function handleError(_0x6360c5,_0x1ae121){_0x1ae121=_0x1ae121||0x1f4;return function(_0x50258e){logger[_0x3948('0x25')](_0x50258e['stack']);if(_0x50258e[_0x3948('0x26')]){delete _0x50258e[_0x3948('0x26')];}_0x6360c5[_0x3948('0x18')](_0x1ae121)[_0x3948('0x27')](_0x50258e);};}exports[_0x3948('0x28')]=function(_0x3e1f11,_0x41f0a2){var _0x2d7ee0={},_0x302bd2={},_0x5888d4={'count':0x0,'rows':[]};var _0x208709=_[_0x3948('0x29')](db[_0x3948('0x2a')][_0x3948('0x2b')],function(_0x123038){return{'name':_0x123038['fieldName'],'type':_0x123038['type'][_0x3948('0x2c')]};});_0x302bd2[_0x3948('0x2d')]=_[_0x3948('0x29')](_0x208709,_0x3948('0x26'));_0x302bd2['query']=_['keys'](_0x3e1f11[_0x3948('0x2e')]);_0x302bd2[_0x3948('0x2f')]=_[_0x3948('0x30')](_0x302bd2['model'],_0x302bd2[_0x3948('0x2e')]);_0x2d7ee0[_0x3948('0x31')]=_[_0x3948('0x30')](_0x302bd2[_0x3948('0x2d')],qs[_0x3948('0x32')](_0x3e1f11['query'][_0x3948('0x32')]));_0x2d7ee0[_0x3948('0x31')]=_0x2d7ee0[_0x3948('0x31')][_0x3948('0x33')]?_0x2d7ee0['attributes']:_0x302bd2['model'];if(!_0x3e1f11[_0x3948('0x2e')][_0x3948('0x34')](_0x3948('0x35'))){_0x2d7ee0[_0x3948('0x1c')]=qs[_0x3948('0x1c')](_0x3e1f11[_0x3948('0x2e')]['limit']);_0x2d7ee0['offset']=qs['offset'](_0x3e1f11[_0x3948('0x2e')][_0x3948('0x1b')]);}_0x2d7ee0['order']=qs[_0x3948('0x36')](_0x3e1f11['query'][_0x3948('0x36')]);_0x2d7ee0['where']=qs[_0x3948('0x2f')](_[_0x3948('0x37')](_0x3e1f11[_0x3948('0x2e')],_0x302bd2[_0x3948('0x2f')]),_0x208709);if(_0x3e1f11[_0x3948('0x2e')][_0x3948('0x38')]){_0x2d7ee0[_0x3948('0x39')]=_[_0x3948('0x3a')](_0x2d7ee0[_0x3948('0x39')],{'$or':_['map'](_0x208709,function(_0x1096cb){if(_0x1096cb['type']!=='VIRTUAL'){var _0x2ef665={};_0x2ef665[_0x1096cb[_0x3948('0x26')]]={'$like':'%'+_0x3e1f11['query'][_0x3948('0x38')]+'%'};return _0x2ef665;}})});}_0x2d7ee0=_[_0x3948('0x3a')]({},_0x2d7ee0,_0x3e1f11[_0x3948('0x3b')]);var _0x4052f7={'where':_0x2d7ee0[_0x3948('0x39')]};return db[_0x3948('0x2a')][_0x3948('0x1d')](_0x4052f7)[_0x3948('0x23')](function(_0x2600eb){_0x5888d4[_0x3948('0x1d')]=_0x2600eb;if(_0x3e1f11['query']['includeAll']){_0x2d7ee0[_0x3948('0x3c')]=[{'all':!![]}];}return db[_0x3948('0x2a')][_0x3948('0x3d')](_0x2d7ee0);})[_0x3948('0x23')](function(_0x5266f0){_0x5888d4[_0x3948('0x3e')]=_0x5266f0;return _0x5888d4;})[_0x3948('0x23')](respondWithFilteredResult(_0x41f0a2,_0x2d7ee0))[_0x3948('0x3f')](handleError(_0x41f0a2,null));};exports[_0x3948('0x40')]=function(_0x5a528c,_0x190f9e){var _0x2aff13={'raw':![],'where':{'id':_0x5a528c[_0x3948('0x41')]['id']}},_0x149b98={};_0x149b98['model']=_[_0x3948('0x42')](db[_0x3948('0x2a')][_0x3948('0x2b')]);_0x149b98['query']=_['keys'](_0x5a528c[_0x3948('0x2e')]);_0x149b98[_0x3948('0x2f')]=_['intersection'](_0x149b98[_0x3948('0x2d')],_0x149b98[_0x3948('0x2e')]);_0x2aff13[_0x3948('0x31')]=_[_0x3948('0x30')](_0x149b98[_0x3948('0x2d')],qs[_0x3948('0x32')](_0x5a528c[_0x3948('0x2e')]['fields']));_0x2aff13['attributes']=_0x2aff13['attributes'][_0x3948('0x33')]?_0x2aff13[_0x3948('0x31')]:_0x149b98[_0x3948('0x2d')];if(_0x5a528c['query'][_0x3948('0x43')]){_0x2aff13[_0x3948('0x3c')]=[{'all':!![]}];}_0x2aff13=_[_0x3948('0x3a')]({},_0x2aff13,_0x5a528c[_0x3948('0x3b')]);return db['FreshsalesConfiguration'][_0x3948('0x44')](_0x2aff13)[_0x3948('0x23')](handleEntityNotFound(_0x190f9e,null))[_0x3948('0x23')](respondWithResult(_0x190f9e,null))[_0x3948('0x3f')](handleError(_0x190f9e,null));};exports[_0x3948('0x45')]=function(_0x2c5130,_0x4fe2a3){return db['FreshsalesConfiguration'][_0x3948('0x45')](_0x2c5130['body'],{})[_0x3948('0x23')](respondWithResult(_0x4fe2a3,0xc9))['catch'](handleError(_0x4fe2a3,null));};exports[_0x3948('0x22')]=function(_0x5543ed,_0x5ddfbc){if(_0x5543ed['body']['id']){delete _0x5543ed['body']['id'];}return db['FreshsalesConfiguration'][_0x3948('0x44')]({'where':{'id':_0x5543ed[_0x3948('0x41')]['id']}})[_0x3948('0x23')](handleEntityNotFound(_0x5ddfbc,null))[_0x3948('0x23')](saveUpdates(_0x5543ed[_0x3948('0x46')],null))['then'](respondWithResult(_0x5ddfbc,null))[_0x3948('0x3f')](handleError(_0x5ddfbc,null));};exports['destroy']=function(_0x23d8e7,_0x612cd){return db[_0x3948('0x2a')]['find']({'where':{'id':_0x23d8e7[_0x3948('0x41')]['id']}})['then'](handleEntityNotFound(_0x612cd,null))[_0x3948('0x23')](removeEntity(_0x612cd,null))[_0x3948('0x3f')](handleError(_0x612cd,null));};exports[_0x3948('0x47')]=function(_0x447b54,_0x3a6bd4,_0xfcf558){var _0xb38802={};var _0x1afa30={};var _0x4905cf;var _0x4c4424;return db['FreshsalesConfiguration'][_0x3948('0x48')]({'where':{'id':_0x447b54['params']['id']}})[_0x3948('0x23')](handleEntityNotFound(_0x3a6bd4,null))['then'](function(_0x484cf6){if(_0x484cf6){_0x4905cf=_0x484cf6;_0x1afa30['model']=_[_0x3948('0x42')](db['FreshsalesField'][_0x3948('0x2b')]);_0x1afa30[_0x3948('0x2e')]=_['keys'](_0x447b54[_0x3948('0x2e')]);_0x1afa30[_0x3948('0x2f')]=_[_0x3948('0x30')](_0x1afa30[_0x3948('0x2d')],_0x1afa30[_0x3948('0x2e')]);_0xb38802[_0x3948('0x31')]=_[_0x3948('0x30')](_0x1afa30[_0x3948('0x2d')],qs[_0x3948('0x32')](_0x447b54[_0x3948('0x2e')]['fields']));_0xb38802[_0x3948('0x31')]=_0xb38802[_0x3948('0x31')]['length']?_0xb38802['attributes']:_0x1afa30[_0x3948('0x2d')];_0xb38802[_0x3948('0x49')]=qs[_0x3948('0x36')](_0x447b54['query'][_0x3948('0x36')]);_0xb38802[_0x3948('0x39')]=qs[_0x3948('0x2f')](_[_0x3948('0x37')](_0x447b54['query'],_0x1afa30[_0x3948('0x2f')]));if(_0x447b54[_0x3948('0x2e')]['filter']){_0xb38802[_0x3948('0x39')]=_['merge'](_0xb38802[_0x3948('0x39')],{'$or':_['map'](_0xb38802['attributes'],function(_0x33b37e){var _0x13a855={};_0x13a855[_0x33b37e]={'$like':'%'+_0x447b54['query'][_0x3948('0x38')]+'%'};return _0x13a855;})});}_0xb38802=_[_0x3948('0x3a')]({},_0xb38802,_0x447b54['options']);return _0x4905cf[_0x3948('0x47')](_0xb38802);}})[_0x3948('0x23')](function(_0x476560){if(_0x476560){_0x4c4424=_0x476560['length'];if(!_0x447b54[_0x3948('0x2e')]['hasOwnProperty']('nolimit')){_0xb38802[_0x3948('0x1c')]=qs[_0x3948('0x1c')](_0x447b54[_0x3948('0x2e')][_0x3948('0x1c')]);_0xb38802['offset']=qs[_0x3948('0x1b')](_0x447b54[_0x3948('0x2e')][_0x3948('0x1b')]);}return _0x4905cf[_0x3948('0x47')](_0xb38802);}})[_0x3948('0x23')](function(_0x2449d9){if(_0x2449d9){return _0x2449d9?{'count':_0x4c4424,'rows':_0x2449d9}:null;}})[_0x3948('0x23')](respondWithResult(_0x3a6bd4,null))[_0x3948('0x3f')](handleError(_0x3a6bd4,null));};exports['getDescriptions']=function(_0x3d0ed4,_0x13f386,_0x124131){var _0x13aedb={};var _0x509638={};var _0x5ebd0a;var _0x4a6296;return db[_0x3948('0x2a')][_0x3948('0x48')]({'where':{'id':_0x3d0ed4[_0x3948('0x41')]['id']}})[_0x3948('0x23')](handleEntityNotFound(_0x13f386,null))[_0x3948('0x23')](function(_0x155583){if(_0x155583){_0x5ebd0a=_0x155583;_0x509638[_0x3948('0x2d')]=_[_0x3948('0x42')](db[_0x3948('0x4a')][_0x3948('0x2b')]);_0x509638[_0x3948('0x2e')]=_[_0x3948('0x42')](_0x3d0ed4['query']);_0x509638[_0x3948('0x2f')]=_['intersection'](_0x509638['model'],_0x509638[_0x3948('0x2e')]);_0x13aedb[_0x3948('0x31')]=_[_0x3948('0x30')](_0x509638[_0x3948('0x2d')],qs[_0x3948('0x32')](_0x3d0ed4[_0x3948('0x2e')][_0x3948('0x32')]));_0x13aedb['attributes']=_0x13aedb[_0x3948('0x31')][_0x3948('0x33')]?_0x13aedb[_0x3948('0x31')]:_0x509638[_0x3948('0x2d')];_0x13aedb['order']=qs[_0x3948('0x36')](_0x3d0ed4['query'][_0x3948('0x36')]);_0x13aedb[_0x3948('0x39')]=qs[_0x3948('0x2f')](_['pick'](_0x3d0ed4[_0x3948('0x2e')],_0x509638[_0x3948('0x2f')]));if(_0x3d0ed4[_0x3948('0x2e')][_0x3948('0x38')]){_0x13aedb[_0x3948('0x39')]=_[_0x3948('0x3a')](_0x13aedb[_0x3948('0x39')],{'$or':_[_0x3948('0x29')](_0x13aedb[_0x3948('0x31')],function(_0xf77c8){var _0x506f0b={};_0x506f0b[_0xf77c8]={'$like':'%'+_0x3d0ed4[_0x3948('0x2e')][_0x3948('0x38')]+'%'};return _0x506f0b;})});}_0x13aedb=_['merge']({},_0x13aedb,_0x3d0ed4['options']);return _0x5ebd0a['getDescriptions'](_0x13aedb);}})[_0x3948('0x23')](function(_0x5c4016){if(_0x5c4016){_0x4a6296=_0x5c4016[_0x3948('0x33')];if(!_0x3d0ed4[_0x3948('0x2e')][_0x3948('0x34')](_0x3948('0x35'))){_0x13aedb[_0x3948('0x1c')]=qs[_0x3948('0x1c')](_0x3d0ed4[_0x3948('0x2e')][_0x3948('0x1c')]);_0x13aedb[_0x3948('0x1b')]=qs[_0x3948('0x1b')](_0x3d0ed4[_0x3948('0x2e')][_0x3948('0x1b')]);}return _0x5ebd0a[_0x3948('0x4b')](_0x13aedb);}})[_0x3948('0x23')](function(_0x293c7a){if(_0x293c7a){return _0x293c7a?{'count':_0x4a6296,'rows':_0x293c7a}:null;}})[_0x3948('0x23')](respondWithResult(_0x13f386,null))[_0x3948('0x3f')](handleError(_0x13f386,null));};exports['getFields']=function(_0x1c1074,_0x469208,_0x18b8e0){var _0x3867f5={};var _0x344a89={};var _0x368703;var _0x562229;return db[_0x3948('0x2a')][_0x3948('0x48')]({'where':{'id':_0x1c1074[_0x3948('0x41')]['id']}})[_0x3948('0x23')](handleEntityNotFound(_0x469208,null))[_0x3948('0x23')](function(_0x9bb8c0){if(_0x9bb8c0){_0x368703=_0x9bb8c0;_0x344a89[_0x3948('0x2d')]=_[_0x3948('0x42')](db[_0x3948('0x4a')][_0x3948('0x2b')]);_0x344a89[_0x3948('0x2e')]=_[_0x3948('0x42')](_0x1c1074['query']);_0x344a89[_0x3948('0x2f')]=_['intersection'](_0x344a89[_0x3948('0x2d')],_0x344a89[_0x3948('0x2e')]);_0x3867f5[_0x3948('0x31')]=_[_0x3948('0x30')](_0x344a89[_0x3948('0x2d')],qs[_0x3948('0x32')](_0x1c1074[_0x3948('0x2e')][_0x3948('0x32')]));_0x3867f5[_0x3948('0x31')]=_0x3867f5['attributes'][_0x3948('0x33')]?_0x3867f5[_0x3948('0x31')]:_0x344a89[_0x3948('0x2d')];_0x3867f5[_0x3948('0x49')]=qs[_0x3948('0x36')](_0x1c1074[_0x3948('0x2e')][_0x3948('0x36')]);_0x3867f5[_0x3948('0x39')]=qs[_0x3948('0x2f')](_['pick'](_0x1c1074['query'],_0x344a89[_0x3948('0x2f')]));if(_0x1c1074['query']['filter']){_0x3867f5[_0x3948('0x39')]=_[_0x3948('0x3a')](_0x3867f5[_0x3948('0x39')],{'$or':_['map'](_0x3867f5['attributes'],function(_0x36ce97){var _0x1a5056={};_0x1a5056[_0x36ce97]={'$like':'%'+_0x1c1074[_0x3948('0x2e')][_0x3948('0x38')]+'%'};return _0x1a5056;})});}_0x3867f5=_['merge']({},_0x3867f5,_0x1c1074[_0x3948('0x3b')]);return _0x368703[_0x3948('0x4c')](_0x3867f5);}})['then'](function(_0x9a4fc0){if(_0x9a4fc0){_0x562229=_0x9a4fc0[_0x3948('0x33')];if(!_0x1c1074[_0x3948('0x2e')][_0x3948('0x34')](_0x3948('0x35'))){_0x3867f5[_0x3948('0x1c')]=qs[_0x3948('0x1c')](_0x1c1074[_0x3948('0x2e')][_0x3948('0x1c')]);_0x3867f5['offset']=qs[_0x3948('0x1b')](_0x1c1074['query']['offset']);}return _0x368703[_0x3948('0x4c')](_0x3867f5);}})['then'](function(_0x32d60f){if(_0x32d60f){return _0x32d60f?{'count':_0x562229,'rows':_0x32d60f}:null;}})[_0x3948('0x23')](respondWithResult(_0x469208,null))[_0x3948('0x3f')](handleError(_0x469208,null));};