Built motion from commit 9d0783e6.|2.6.13
[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 _0x662a=['options','create','body','find','destroy','getSubjects','findOne','FreshsalesField','pick','filter','nolimit','getDescriptions','hasOwnProperty','getFields','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','reject','end','error','stack','name','send','index','map','FreshsalesConfiguration','rawAttributes','fieldName','type','key','model','keys','query','intersection','fields','attributes','length','order','sort','where','filters','merge','then','includeAll','include','findAll','rows','catch','show','params'];(function(_0x3d822c,_0x4fec1d){var _0x564515=function(_0x14ae8a){while(--_0x14ae8a){_0x3d822c['push'](_0x3d822c['shift']());}};_0x564515(++_0x4fec1d);}(_0x662a,0xae));var _0xa662=function(_0x45980f,_0x4324a0){_0x45980f=_0x45980f-0x0;var _0x5c8029=_0x662a[_0x45980f];return _0x5c8029;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa662('0x0'));var zipdir=require(_0xa662('0x1'));var jsonpatch=require(_0xa662('0x2'));var rp=require(_0xa662('0x3'));var moment=require('moment');var BPromise=require(_0xa662('0x4'));var Mustache=require(_0xa662('0x5'));var util=require(_0xa662('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0xa662('0x7'));var ejs=require(_0xa662('0x8'));var fs=require('fs');var fs_extra=require(_0xa662('0x9'));var _=require(_0xa662('0xa'));var squel=require(_0xa662('0xb'));var crypto=require(_0xa662('0xc'));var jsforce=require(_0xa662('0xd'));var deskjs=require(_0xa662('0xe'));var toCsv=require(_0xa662('0x7'));var querystring=require('querystring');var Papa=require(_0xa662('0xf'));var Redis=require('ioredis');var authService=require(_0xa662('0x10'));var qs=require(_0xa662('0x11'));var as=require(_0xa662('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xa662('0x13'))(_0xa662('0x14'));var utils=require('../../config/utils');var config=require(_0xa662('0x15'));var licenseUtil=require(_0xa662('0x16'));var db=require(_0xa662('0x17'))['db'];function respondWithStatusCode(_0x177549,_0x3a57e7){_0x3a57e7=_0x3a57e7||0xcc;return function(_0xece161){if(_0xece161){return _0x177549[_0xa662('0x18')](_0x3a57e7);}return _0x177549[_0xa662('0x19')](_0x3a57e7)['end']();};}function respondWithResult(_0x27b19b,_0x44e17e){_0x44e17e=_0x44e17e||0xc8;return function(_0x4ea91b){if(_0x4ea91b){return _0x27b19b[_0xa662('0x19')](_0x44e17e)[_0xa662('0x1a')](_0x4ea91b);}};}function respondWithFilteredResult(_0x4f09ab,_0x31ee39){return function(_0x22516f){if(_0x22516f){var _0x1cd9cd=typeof _0x31ee39[_0xa662('0x1b')]===_0xa662('0x1c')&&typeof _0x31ee39[_0xa662('0x1d')]==='undefined';var _0x121f86=_0x22516f[_0xa662('0x1e')];var _0x4e049c=_0x1cd9cd?0x0:_0x31ee39[_0xa662('0x1b')];var _0x29d945=_0x1cd9cd?_0x22516f[_0xa662('0x1e')]:_0x31ee39[_0xa662('0x1b')]+_0x31ee39['limit'];var _0x169edd;if(_0x29d945>=_0x121f86){_0x29d945=_0x121f86;_0x169edd=0xc8;}else{_0x169edd=0xce;}_0x4f09ab[_0xa662('0x19')](_0x169edd);return _0x4f09ab[_0xa662('0x1f')](_0xa662('0x20'),_0x4e049c+'-'+_0x29d945+'/'+_0x121f86)[_0xa662('0x1a')](_0x22516f);}return null;};}function patchUpdates(_0x10b214){return function(_0x14249d){try{jsonpatch['apply'](_0x14249d,_0x10b214,!![]);}catch(_0x56f901){return BPromise[_0xa662('0x21')](_0x56f901);}return _0x14249d['save']();};}function saveUpdates(_0x2fbcee,_0x5a4999){return function(_0x166495){if(_0x166495){return _0x166495['update'](_0x2fbcee)['then'](function(_0x90fdb0){return _0x90fdb0;});}return null;};}function removeEntity(_0x47c251,_0x18f215){return function(_0x12a5ae){if(_0x12a5ae){return _0x12a5ae['destroy']()['then'](function(){_0x47c251[_0xa662('0x19')](0xcc)[_0xa662('0x22')]();});}};}function handleEntityNotFound(_0x406699,_0x1e905b){return function(_0x268ff2){if(!_0x268ff2){_0x406699['sendStatus'](0x194);}return _0x268ff2;};}function handleError(_0x4da8ea,_0x37369d){_0x37369d=_0x37369d||0x1f4;return function(_0x572927){logger[_0xa662('0x23')](_0x572927[_0xa662('0x24')]);if(_0x572927[_0xa662('0x25')]){delete _0x572927['name'];}_0x4da8ea[_0xa662('0x19')](_0x37369d)[_0xa662('0x26')](_0x572927);};}exports[_0xa662('0x27')]=function(_0x4c45cc,_0x4299fd){var _0x10a0e6={},_0x1dc05b={},_0x12b359={'count':0x0,'rows':[]};var _0x1ff272=_[_0xa662('0x28')](db[_0xa662('0x29')][_0xa662('0x2a')],function(_0x2ad84e){return{'name':_0x2ad84e[_0xa662('0x2b')],'type':_0x2ad84e[_0xa662('0x2c')][_0xa662('0x2d')]};});_0x1dc05b[_0xa662('0x2e')]=_[_0xa662('0x28')](_0x1ff272,_0xa662('0x25'));_0x1dc05b['query']=_[_0xa662('0x2f')](_0x4c45cc['query']);_0x1dc05b['filters']=_['intersection'](_0x1dc05b[_0xa662('0x2e')],_0x1dc05b[_0xa662('0x30')]);_0x10a0e6['attributes']=_[_0xa662('0x31')](_0x1dc05b[_0xa662('0x2e')],qs[_0xa662('0x32')](_0x4c45cc['query']['fields']));_0x10a0e6[_0xa662('0x33')]=_0x10a0e6[_0xa662('0x33')][_0xa662('0x34')]?_0x10a0e6[_0xa662('0x33')]:_0x1dc05b['model'];if(!_0x4c45cc[_0xa662('0x30')]['hasOwnProperty']('nolimit')){_0x10a0e6['limit']=qs[_0xa662('0x1d')](_0x4c45cc[_0xa662('0x30')]['limit']);_0x10a0e6[_0xa662('0x1b')]=qs[_0xa662('0x1b')](_0x4c45cc['query'][_0xa662('0x1b')]);}_0x10a0e6[_0xa662('0x35')]=qs[_0xa662('0x36')](_0x4c45cc[_0xa662('0x30')]['sort']);_0x10a0e6[_0xa662('0x37')]=qs[_0xa662('0x38')](_['pick'](_0x4c45cc['query'],_0x1dc05b[_0xa662('0x38')]),_0x1ff272);if(_0x4c45cc[_0xa662('0x30')]['filter']){_0x10a0e6['where']=_[_0xa662('0x39')](_0x10a0e6[_0xa662('0x37')],{'$or':_[_0xa662('0x28')](_0x1ff272,function(_0x6309f7){if(_0x6309f7[_0xa662('0x2c')]!=='VIRTUAL'){var _0x5c640e={};_0x5c640e[_0x6309f7['name']]={'$like':'%'+_0x4c45cc[_0xa662('0x30')]['filter']+'%'};return _0x5c640e;}})});}_0x10a0e6=_[_0xa662('0x39')]({},_0x10a0e6,_0x4c45cc['options']);var _0x6fbf1={'where':_0x10a0e6['where']};return db['FreshsalesConfiguration'][_0xa662('0x1e')](_0x6fbf1)[_0xa662('0x3a')](function(_0x70a999){_0x12b359[_0xa662('0x1e')]=_0x70a999;if(_0x4c45cc[_0xa662('0x30')][_0xa662('0x3b')]){_0x10a0e6[_0xa662('0x3c')]=[{'all':!![]}];}return db['FreshsalesConfiguration'][_0xa662('0x3d')](_0x10a0e6);})[_0xa662('0x3a')](function(_0x492acd){_0x12b359[_0xa662('0x3e')]=_0x492acd;return _0x12b359;})[_0xa662('0x3a')](respondWithFilteredResult(_0x4299fd,_0x10a0e6))[_0xa662('0x3f')](handleError(_0x4299fd,null));};exports[_0xa662('0x40')]=function(_0x4860c7,_0x27a96c){var _0x436a99={'raw':![],'where':{'id':_0x4860c7[_0xa662('0x41')]['id']}},_0x373923={};_0x373923[_0xa662('0x2e')]=_[_0xa662('0x2f')](db[_0xa662('0x29')][_0xa662('0x2a')]);_0x373923[_0xa662('0x30')]=_[_0xa662('0x2f')](_0x4860c7['query']);_0x373923[_0xa662('0x38')]=_[_0xa662('0x31')](_0x373923['model'],_0x373923[_0xa662('0x30')]);_0x436a99[_0xa662('0x33')]=_[_0xa662('0x31')](_0x373923[_0xa662('0x2e')],qs[_0xa662('0x32')](_0x4860c7[_0xa662('0x30')]['fields']));_0x436a99['attributes']=_0x436a99[_0xa662('0x33')]['length']?_0x436a99[_0xa662('0x33')]:_0x373923[_0xa662('0x2e')];if(_0x4860c7['query'][_0xa662('0x3b')]){_0x436a99['include']=[{'all':!![]}];}_0x436a99=_[_0xa662('0x39')]({},_0x436a99,_0x4860c7[_0xa662('0x42')]);return db[_0xa662('0x29')]['find'](_0x436a99)['then'](handleEntityNotFound(_0x27a96c,null))[_0xa662('0x3a')](respondWithResult(_0x27a96c,null))[_0xa662('0x3f')](handleError(_0x27a96c,null));};exports[_0xa662('0x43')]=function(_0x4ce640,_0x4ab44e){return db[_0xa662('0x29')][_0xa662('0x43')](_0x4ce640[_0xa662('0x44')],{})['then'](respondWithResult(_0x4ab44e,0xc9))[_0xa662('0x3f')](handleError(_0x4ab44e,null));};exports['update']=function(_0x1d7d35,_0x33ac26){if(_0x1d7d35[_0xa662('0x44')]['id']){delete _0x1d7d35['body']['id'];}return db[_0xa662('0x29')][_0xa662('0x45')]({'where':{'id':_0x1d7d35[_0xa662('0x41')]['id']}})[_0xa662('0x3a')](handleEntityNotFound(_0x33ac26,null))[_0xa662('0x3a')](saveUpdates(_0x1d7d35[_0xa662('0x44')],null))[_0xa662('0x3a')](respondWithResult(_0x33ac26,null))[_0xa662('0x3f')](handleError(_0x33ac26,null));};exports[_0xa662('0x46')]=function(_0x2af025,_0x2d5898){return db[_0xa662('0x29')]['find']({'where':{'id':_0x2af025['params']['id']}})[_0xa662('0x3a')](handleEntityNotFound(_0x2d5898,null))[_0xa662('0x3a')](removeEntity(_0x2d5898,null))[_0xa662('0x3f')](handleError(_0x2d5898,null));};exports[_0xa662('0x47')]=function(_0x136aa0,_0x3bb877,_0x3e5aa5){var _0x49a9f0={};var _0x204798={};var _0x5223d6;var _0x35c227;return db[_0xa662('0x29')][_0xa662('0x48')]({'where':{'id':_0x136aa0[_0xa662('0x41')]['id']}})[_0xa662('0x3a')](handleEntityNotFound(_0x3bb877,null))[_0xa662('0x3a')](function(_0x3899e6){if(_0x3899e6){_0x5223d6=_0x3899e6;_0x204798[_0xa662('0x2e')]=_[_0xa662('0x2f')](db[_0xa662('0x49')][_0xa662('0x2a')]);_0x204798[_0xa662('0x30')]=_[_0xa662('0x2f')](_0x136aa0[_0xa662('0x30')]);_0x204798[_0xa662('0x38')]=_[_0xa662('0x31')](_0x204798[_0xa662('0x2e')],_0x204798['query']);_0x49a9f0[_0xa662('0x33')]=_[_0xa662('0x31')](_0x204798['model'],qs['fields'](_0x136aa0[_0xa662('0x30')][_0xa662('0x32')]));_0x49a9f0[_0xa662('0x33')]=_0x49a9f0[_0xa662('0x33')][_0xa662('0x34')]?_0x49a9f0[_0xa662('0x33')]:_0x204798[_0xa662('0x2e')];_0x49a9f0[_0xa662('0x35')]=qs[_0xa662('0x36')](_0x136aa0[_0xa662('0x30')][_0xa662('0x36')]);_0x49a9f0[_0xa662('0x37')]=qs[_0xa662('0x38')](_[_0xa662('0x4a')](_0x136aa0['query'],_0x204798[_0xa662('0x38')]));if(_0x136aa0[_0xa662('0x30')][_0xa662('0x4b')]){_0x49a9f0[_0xa662('0x37')]=_[_0xa662('0x39')](_0x49a9f0[_0xa662('0x37')],{'$or':_[_0xa662('0x28')](_0x49a9f0[_0xa662('0x33')],function(_0x3dfe96){var _0xf55380={};_0xf55380[_0x3dfe96]={'$like':'%'+_0x136aa0['query']['filter']+'%'};return _0xf55380;})});}_0x49a9f0=_['merge']({},_0x49a9f0,_0x136aa0[_0xa662('0x42')]);return _0x5223d6['getSubjects'](_0x49a9f0);}})[_0xa662('0x3a')](function(_0x1baba9){if(_0x1baba9){_0x35c227=_0x1baba9[_0xa662('0x34')];if(!_0x136aa0['query']['hasOwnProperty'](_0xa662('0x4c'))){_0x49a9f0['limit']=qs[_0xa662('0x1d')](_0x136aa0['query']['limit']);_0x49a9f0[_0xa662('0x1b')]=qs['offset'](_0x136aa0[_0xa662('0x30')][_0xa662('0x1b')]);}return _0x5223d6['getSubjects'](_0x49a9f0);}})['then'](function(_0x114a7f){if(_0x114a7f){return _0x114a7f?{'count':_0x35c227,'rows':_0x114a7f}:null;}})[_0xa662('0x3a')](respondWithResult(_0x3bb877,null))[_0xa662('0x3f')](handleError(_0x3bb877,null));};exports[_0xa662('0x4d')]=function(_0xb5ac8b,_0x40806a,_0x418a79){var _0x1fe5e0={};var _0xabb838={};var _0x9d6cee;var _0x468004;return db[_0xa662('0x29')][_0xa662('0x48')]({'where':{'id':_0xb5ac8b['params']['id']}})[_0xa662('0x3a')](handleEntityNotFound(_0x40806a,null))[_0xa662('0x3a')](function(_0xd0dacc){if(_0xd0dacc){_0x9d6cee=_0xd0dacc;_0xabb838[_0xa662('0x2e')]=_[_0xa662('0x2f')](db[_0xa662('0x49')][_0xa662('0x2a')]);_0xabb838[_0xa662('0x30')]=_[_0xa662('0x2f')](_0xb5ac8b['query']);_0xabb838[_0xa662('0x38')]=_[_0xa662('0x31')](_0xabb838['model'],_0xabb838[_0xa662('0x30')]);_0x1fe5e0[_0xa662('0x33')]=_[_0xa662('0x31')](_0xabb838[_0xa662('0x2e')],qs[_0xa662('0x32')](_0xb5ac8b[_0xa662('0x30')][_0xa662('0x32')]));_0x1fe5e0[_0xa662('0x33')]=_0x1fe5e0[_0xa662('0x33')][_0xa662('0x34')]?_0x1fe5e0[_0xa662('0x33')]:_0xabb838[_0xa662('0x2e')];_0x1fe5e0[_0xa662('0x35')]=qs[_0xa662('0x36')](_0xb5ac8b[_0xa662('0x30')]['sort']);_0x1fe5e0[_0xa662('0x37')]=qs[_0xa662('0x38')](_[_0xa662('0x4a')](_0xb5ac8b[_0xa662('0x30')],_0xabb838[_0xa662('0x38')]));if(_0xb5ac8b[_0xa662('0x30')]['filter']){_0x1fe5e0[_0xa662('0x37')]=_['merge'](_0x1fe5e0[_0xa662('0x37')],{'$or':_['map'](_0x1fe5e0['attributes'],function(_0x50b995){var _0x12e7b0={};_0x12e7b0[_0x50b995]={'$like':'%'+_0xb5ac8b[_0xa662('0x30')]['filter']+'%'};return _0x12e7b0;})});}_0x1fe5e0=_[_0xa662('0x39')]({},_0x1fe5e0,_0xb5ac8b[_0xa662('0x42')]);return _0x9d6cee[_0xa662('0x4d')](_0x1fe5e0);}})[_0xa662('0x3a')](function(_0x1b0778){if(_0x1b0778){_0x468004=_0x1b0778[_0xa662('0x34')];if(!_0xb5ac8b[_0xa662('0x30')][_0xa662('0x4e')](_0xa662('0x4c'))){_0x1fe5e0[_0xa662('0x1d')]=qs[_0xa662('0x1d')](_0xb5ac8b[_0xa662('0x30')][_0xa662('0x1d')]);_0x1fe5e0[_0xa662('0x1b')]=qs[_0xa662('0x1b')](_0xb5ac8b[_0xa662('0x30')]['offset']);}return _0x9d6cee[_0xa662('0x4d')](_0x1fe5e0);}})[_0xa662('0x3a')](function(_0x3671c2){if(_0x3671c2){return _0x3671c2?{'count':_0x468004,'rows':_0x3671c2}:null;}})[_0xa662('0x3a')](respondWithResult(_0x40806a,null))[_0xa662('0x3f')](handleError(_0x40806a,null));};exports['getFields']=function(_0x2c415d,_0x9a71bc,_0xc25de5){var _0x3501f9={};var _0x6a0443={};var _0x5dcfb9;var _0x3c3f4c;return db[_0xa662('0x29')]['findOne']({'where':{'id':_0x2c415d[_0xa662('0x41')]['id']}})[_0xa662('0x3a')](handleEntityNotFound(_0x9a71bc,null))[_0xa662('0x3a')](function(_0x3636e6){if(_0x3636e6){_0x5dcfb9=_0x3636e6;_0x6a0443['model']=_[_0xa662('0x2f')](db[_0xa662('0x49')][_0xa662('0x2a')]);_0x6a0443[_0xa662('0x30')]=_[_0xa662('0x2f')](_0x2c415d[_0xa662('0x30')]);_0x6a0443[_0xa662('0x38')]=_[_0xa662('0x31')](_0x6a0443[_0xa662('0x2e')],_0x6a0443[_0xa662('0x30')]);_0x3501f9[_0xa662('0x33')]=_[_0xa662('0x31')](_0x6a0443['model'],qs['fields'](_0x2c415d[_0xa662('0x30')][_0xa662('0x32')]));_0x3501f9[_0xa662('0x33')]=_0x3501f9['attributes']['length']?_0x3501f9[_0xa662('0x33')]:_0x6a0443['model'];_0x3501f9['order']=qs[_0xa662('0x36')](_0x2c415d[_0xa662('0x30')][_0xa662('0x36')]);_0x3501f9[_0xa662('0x37')]=qs[_0xa662('0x38')](_[_0xa662('0x4a')](_0x2c415d['query'],_0x6a0443[_0xa662('0x38')]));if(_0x2c415d['query'][_0xa662('0x4b')]){_0x3501f9['where']=_['merge'](_0x3501f9[_0xa662('0x37')],{'$or':_[_0xa662('0x28')](_0x3501f9[_0xa662('0x33')],function(_0x12828c){var _0x2fc9ef={};_0x2fc9ef[_0x12828c]={'$like':'%'+_0x2c415d[_0xa662('0x30')]['filter']+'%'};return _0x2fc9ef;})});}_0x3501f9=_['merge']({},_0x3501f9,_0x2c415d[_0xa662('0x42')]);return _0x5dcfb9[_0xa662('0x4f')](_0x3501f9);}})[_0xa662('0x3a')](function(_0xb04a1b){if(_0xb04a1b){_0x3c3f4c=_0xb04a1b[_0xa662('0x34')];if(!_0x2c415d[_0xa662('0x30')][_0xa662('0x4e')](_0xa662('0x4c'))){_0x3501f9['limit']=qs['limit'](_0x2c415d['query'][_0xa662('0x1d')]);_0x3501f9[_0xa662('0x1b')]=qs[_0xa662('0x1b')](_0x2c415d[_0xa662('0x30')][_0xa662('0x1b')]);}return _0x5dcfb9['getFields'](_0x3501f9);}})['then'](function(_0x391b14){if(_0x391b14){return _0x391b14?{'count':_0x3c3f4c,'rows':_0x391b14}:null;}})[_0xa662('0x3a')](respondWithResult(_0x9a71bc,null))[_0xa662('0x3f')](handleError(_0x9a71bc,null));};