Built motion from commit ddca4d0d.|2.5.47
[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 _0x0c6d=['keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','merge','map','VIRTUAL','name','filter','options','includeAll','include','rows','catch','params','create','body','update','find','getSubjects','FreshsalesField','hasOwnProperty','getDescriptions','getFields','findOne','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','end','status','offset','count','limit','Content-Range','json','reject','save','then','sendStatus','error','send','index','FreshsalesConfiguration','rawAttributes','type','key','model','query'];(function(_0x1f29d7,_0x2111df){var _0x48008b=function(_0x21ec1f){while(--_0x21ec1f){_0x1f29d7['push'](_0x1f29d7['shift']());}};_0x48008b(++_0x2111df);}(_0x0c6d,0x1ee));var _0xd0c6=function(_0x524efe,_0x96e3ec){_0x524efe=_0x524efe-0x0;var _0x5c3335=_0x0c6d[_0x524efe];return _0x5c3335;};'use strict';var emlformat=require(_0xd0c6('0x0'));var rimraf=require(_0xd0c6('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd0c6('0x2'));var rp=require('request-promise');var moment=require(_0xd0c6('0x3'));var BPromise=require(_0xd0c6('0x4'));var Mustache=require(_0xd0c6('0x5'));var util=require(_0xd0c6('0x6'));var path=require(_0xd0c6('0x7'));var sox=require(_0xd0c6('0x8'));var csv=require(_0xd0c6('0x9'));var ejs=require(_0xd0c6('0xa'));var fs=require('fs');var fs_extra=require(_0xd0c6('0xb'));var _=require(_0xd0c6('0xc'));var squel=require('squel');var crypto=require(_0xd0c6('0xd'));var jsforce=require(_0xd0c6('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xd0c6('0x9'));var querystring=require(_0xd0c6('0xf'));var Papa=require(_0xd0c6('0x10'));var Redis=require(_0xd0c6('0x11'));var authService=require(_0xd0c6('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xd0c6('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd0c6('0x14'))(_0xd0c6('0x15'));var utils=require(_0xd0c6('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xd0c6('0x17'));var db=require(_0xd0c6('0x18'))['db'];function respondWithStatusCode(_0x5dcde8,_0x4f9eb7){_0x4f9eb7=_0x4f9eb7||0xcc;return function(_0xfb1485){if(_0xfb1485){return _0x5dcde8['sendStatus'](_0x4f9eb7);}return _0x5dcde8['status'](_0x4f9eb7)[_0xd0c6('0x19')]();};}function respondWithResult(_0x51ee47,_0x572ac9){_0x572ac9=_0x572ac9||0xc8;return function(_0xce49c0){if(_0xce49c0){return _0x51ee47[_0xd0c6('0x1a')](_0x572ac9)['json'](_0xce49c0);}};}function respondWithFilteredResult(_0x5ed9e3,_0x304b9b){return function(_0x536ba2){if(_0x536ba2){var _0x219b1e=typeof _0x304b9b[_0xd0c6('0x1b')]==='undefined'&&typeof _0x304b9b['limit']==='undefined';var _0x164b38=_0x536ba2[_0xd0c6('0x1c')];var _0x5a321a=_0x219b1e?0x0:_0x304b9b[_0xd0c6('0x1b')];var _0x4f1e6e=_0x219b1e?_0x536ba2[_0xd0c6('0x1c')]:_0x304b9b[_0xd0c6('0x1b')]+_0x304b9b[_0xd0c6('0x1d')];var _0xcf3131;if(_0x4f1e6e>=_0x164b38){_0x4f1e6e=_0x164b38;_0xcf3131=0xc8;}else{_0xcf3131=0xce;}_0x5ed9e3[_0xd0c6('0x1a')](_0xcf3131);return _0x5ed9e3['set'](_0xd0c6('0x1e'),_0x5a321a+'-'+_0x4f1e6e+'/'+_0x164b38)[_0xd0c6('0x1f')](_0x536ba2);}return null;};}function patchUpdates(_0x329ad2){return function(_0x3b045a){try{jsonpatch['apply'](_0x3b045a,_0x329ad2,!![]);}catch(_0x50659e){return BPromise[_0xd0c6('0x20')](_0x50659e);}return _0x3b045a[_0xd0c6('0x21')]();};}function saveUpdates(_0x458204,_0x349684){return function(_0x2d3778){if(_0x2d3778){return _0x2d3778['update'](_0x458204)[_0xd0c6('0x22')](function(_0x57a6d8){return _0x57a6d8;});}return null;};}function removeEntity(_0x118f15,_0x5c3594){return function(_0x49bd9f){if(_0x49bd9f){return _0x49bd9f['destroy']()[_0xd0c6('0x22')](function(){_0x118f15['status'](0xcc)[_0xd0c6('0x19')]();});}};}function handleEntityNotFound(_0x16dc6d,_0x5715d8){return function(_0x231852){if(!_0x231852){_0x16dc6d[_0xd0c6('0x23')](0x194);}return _0x231852;};}function handleError(_0x14d5f0,_0x51552d){_0x51552d=_0x51552d||0x1f4;return function(_0x1681c1){logger[_0xd0c6('0x24')](_0x1681c1['stack']);if(_0x1681c1['name']){delete _0x1681c1['name'];}_0x14d5f0[_0xd0c6('0x1a')](_0x51552d)[_0xd0c6('0x25')](_0x1681c1);};}exports[_0xd0c6('0x26')]=function(_0x4bba3f,_0x7f07e7){var _0x54a3ad={},_0x8463ee={},_0x64dd68={'count':0x0,'rows':[]};var _0x478ced=_['map'](db[_0xd0c6('0x27')][_0xd0c6('0x28')],function(_0xadc779){return{'name':_0xadc779['fieldName'],'type':_0xadc779[_0xd0c6('0x29')][_0xd0c6('0x2a')]};});_0x8463ee[_0xd0c6('0x2b')]=_['map'](_0x478ced,'name');_0x8463ee[_0xd0c6('0x2c')]=_[_0xd0c6('0x2d')](_0x4bba3f[_0xd0c6('0x2c')]);_0x8463ee[_0xd0c6('0x2e')]=_[_0xd0c6('0x2f')](_0x8463ee[_0xd0c6('0x2b')],_0x8463ee[_0xd0c6('0x2c')]);_0x54a3ad[_0xd0c6('0x30')]=_[_0xd0c6('0x2f')](_0x8463ee[_0xd0c6('0x2b')],qs[_0xd0c6('0x31')](_0x4bba3f[_0xd0c6('0x2c')][_0xd0c6('0x31')]));_0x54a3ad[_0xd0c6('0x30')]=_0x54a3ad['attributes'][_0xd0c6('0x32')]?_0x54a3ad[_0xd0c6('0x30')]:_0x8463ee[_0xd0c6('0x2b')];if(!_0x4bba3f[_0xd0c6('0x2c')]['hasOwnProperty'](_0xd0c6('0x33'))){_0x54a3ad[_0xd0c6('0x1d')]=qs[_0xd0c6('0x1d')](_0x4bba3f[_0xd0c6('0x2c')]['limit']);_0x54a3ad[_0xd0c6('0x1b')]=qs['offset'](_0x4bba3f[_0xd0c6('0x2c')][_0xd0c6('0x1b')]);}_0x54a3ad[_0xd0c6('0x34')]=qs[_0xd0c6('0x35')](_0x4bba3f[_0xd0c6('0x2c')][_0xd0c6('0x35')]);_0x54a3ad[_0xd0c6('0x36')]=qs[_0xd0c6('0x2e')](_[_0xd0c6('0x37')](_0x4bba3f[_0xd0c6('0x2c')],_0x8463ee[_0xd0c6('0x2e')]),_0x478ced);if(_0x4bba3f[_0xd0c6('0x2c')]['filter']){_0x54a3ad['where']=_[_0xd0c6('0x38')](_0x54a3ad['where'],{'$or':_[_0xd0c6('0x39')](_0x478ced,function(_0x2e9acf){if(_0x2e9acf[_0xd0c6('0x29')]!==_0xd0c6('0x3a')){var _0x35cb97={};_0x35cb97[_0x2e9acf[_0xd0c6('0x3b')]]={'$like':'%'+_0x4bba3f[_0xd0c6('0x2c')][_0xd0c6('0x3c')]+'%'};return _0x35cb97;}})});}_0x54a3ad=_[_0xd0c6('0x38')]({},_0x54a3ad,_0x4bba3f[_0xd0c6('0x3d')]);var _0x1a7955={'where':_0x54a3ad[_0xd0c6('0x36')]};return db[_0xd0c6('0x27')][_0xd0c6('0x1c')](_0x1a7955)[_0xd0c6('0x22')](function(_0x34b4fa){_0x64dd68[_0xd0c6('0x1c')]=_0x34b4fa;if(_0x4bba3f[_0xd0c6('0x2c')][_0xd0c6('0x3e')]){_0x54a3ad[_0xd0c6('0x3f')]=[{'all':!![]}];}return db['FreshsalesConfiguration']['findAll'](_0x54a3ad);})['then'](function(_0x50a838){_0x64dd68[_0xd0c6('0x40')]=_0x50a838;return _0x64dd68;})['then'](respondWithFilteredResult(_0x7f07e7,_0x54a3ad))[_0xd0c6('0x41')](handleError(_0x7f07e7,null));};exports['show']=function(_0x2f692d,_0x37f8c9){var _0x21e528={'raw':![],'where':{'id':_0x2f692d[_0xd0c6('0x42')]['id']}},_0xb8a085={};_0xb8a085[_0xd0c6('0x2b')]=_[_0xd0c6('0x2d')](db['FreshsalesConfiguration'][_0xd0c6('0x28')]);_0xb8a085[_0xd0c6('0x2c')]=_[_0xd0c6('0x2d')](_0x2f692d[_0xd0c6('0x2c')]);_0xb8a085['filters']=_[_0xd0c6('0x2f')](_0xb8a085['model'],_0xb8a085[_0xd0c6('0x2c')]);_0x21e528[_0xd0c6('0x30')]=_['intersection'](_0xb8a085[_0xd0c6('0x2b')],qs[_0xd0c6('0x31')](_0x2f692d['query'][_0xd0c6('0x31')]));_0x21e528[_0xd0c6('0x30')]=_0x21e528['attributes'][_0xd0c6('0x32')]?_0x21e528['attributes']:_0xb8a085[_0xd0c6('0x2b')];if(_0x2f692d[_0xd0c6('0x2c')][_0xd0c6('0x3e')]){_0x21e528[_0xd0c6('0x3f')]=[{'all':!![]}];}_0x21e528=_[_0xd0c6('0x38')]({},_0x21e528,_0x2f692d[_0xd0c6('0x3d')]);return db[_0xd0c6('0x27')]['find'](_0x21e528)[_0xd0c6('0x22')](handleEntityNotFound(_0x37f8c9,null))[_0xd0c6('0x22')](respondWithResult(_0x37f8c9,null))[_0xd0c6('0x41')](handleError(_0x37f8c9,null));};exports['create']=function(_0x3e495b,_0x29ac3b){return db[_0xd0c6('0x27')][_0xd0c6('0x43')](_0x3e495b[_0xd0c6('0x44')],{})['then'](respondWithResult(_0x29ac3b,0xc9))[_0xd0c6('0x41')](handleError(_0x29ac3b,null));};exports[_0xd0c6('0x45')]=function(_0x2051c8,_0x2da580){if(_0x2051c8[_0xd0c6('0x44')]['id']){delete _0x2051c8[_0xd0c6('0x44')]['id'];}return db[_0xd0c6('0x27')][_0xd0c6('0x46')]({'where':{'id':_0x2051c8[_0xd0c6('0x42')]['id']}})[_0xd0c6('0x22')](handleEntityNotFound(_0x2da580,null))['then'](saveUpdates(_0x2051c8[_0xd0c6('0x44')],null))[_0xd0c6('0x22')](respondWithResult(_0x2da580,null))[_0xd0c6('0x41')](handleError(_0x2da580,null));};exports['destroy']=function(_0x56223f,_0x3b484f){return db[_0xd0c6('0x27')]['find']({'where':{'id':_0x56223f[_0xd0c6('0x42')]['id']}})[_0xd0c6('0x22')](handleEntityNotFound(_0x3b484f,null))['then'](removeEntity(_0x3b484f,null))[_0xd0c6('0x41')](handleError(_0x3b484f,null));};exports[_0xd0c6('0x47')]=function(_0x1607fa,_0x2cce88,_0x1102e4){var _0x368d7d={};var _0x3e8aad={};var _0x31097a;var _0x100471;return db['FreshsalesConfiguration']['findOne']({'where':{'id':_0x1607fa[_0xd0c6('0x42')]['id']}})[_0xd0c6('0x22')](handleEntityNotFound(_0x2cce88,null))[_0xd0c6('0x22')](function(_0x119e15){if(_0x119e15){_0x31097a=_0x119e15;_0x3e8aad[_0xd0c6('0x2b')]=_[_0xd0c6('0x2d')](db[_0xd0c6('0x48')]['rawAttributes']);_0x3e8aad[_0xd0c6('0x2c')]=_[_0xd0c6('0x2d')](_0x1607fa[_0xd0c6('0x2c')]);_0x3e8aad['filters']=_[_0xd0c6('0x2f')](_0x3e8aad[_0xd0c6('0x2b')],_0x3e8aad[_0xd0c6('0x2c')]);_0x368d7d[_0xd0c6('0x30')]=_[_0xd0c6('0x2f')](_0x3e8aad[_0xd0c6('0x2b')],qs[_0xd0c6('0x31')](_0x1607fa[_0xd0c6('0x2c')][_0xd0c6('0x31')]));_0x368d7d[_0xd0c6('0x30')]=_0x368d7d[_0xd0c6('0x30')][_0xd0c6('0x32')]?_0x368d7d[_0xd0c6('0x30')]:_0x3e8aad[_0xd0c6('0x2b')];_0x368d7d['order']=qs[_0xd0c6('0x35')](_0x1607fa[_0xd0c6('0x2c')][_0xd0c6('0x35')]);_0x368d7d['where']=qs[_0xd0c6('0x2e')](_[_0xd0c6('0x37')](_0x1607fa[_0xd0c6('0x2c')],_0x3e8aad['filters']));if(_0x1607fa[_0xd0c6('0x2c')]['filter']){_0x368d7d[_0xd0c6('0x36')]=_[_0xd0c6('0x38')](_0x368d7d[_0xd0c6('0x36')],{'$or':_[_0xd0c6('0x39')](_0x368d7d['attributes'],function(_0x3d5e7c){var _0x38b2c3={};_0x38b2c3[_0x3d5e7c]={'$like':'%'+_0x1607fa[_0xd0c6('0x2c')][_0xd0c6('0x3c')]+'%'};return _0x38b2c3;})});}_0x368d7d=_[_0xd0c6('0x38')]({},_0x368d7d,_0x1607fa[_0xd0c6('0x3d')]);return _0x31097a[_0xd0c6('0x47')](_0x368d7d);}})[_0xd0c6('0x22')](function(_0x723fd3){if(_0x723fd3){_0x100471=_0x723fd3[_0xd0c6('0x32')];if(!_0x1607fa['query'][_0xd0c6('0x49')](_0xd0c6('0x33'))){_0x368d7d[_0xd0c6('0x1d')]=qs[_0xd0c6('0x1d')](_0x1607fa[_0xd0c6('0x2c')]['limit']);_0x368d7d[_0xd0c6('0x1b')]=qs[_0xd0c6('0x1b')](_0x1607fa[_0xd0c6('0x2c')]['offset']);}return _0x31097a[_0xd0c6('0x47')](_0x368d7d);}})[_0xd0c6('0x22')](function(_0x494ede){if(_0x494ede){return _0x494ede?{'count':_0x100471,'rows':_0x494ede}:null;}})[_0xd0c6('0x22')](respondWithResult(_0x2cce88,null))[_0xd0c6('0x41')](handleError(_0x2cce88,null));};exports[_0xd0c6('0x4a')]=function(_0x14c04a,_0x88a196,_0x5f3cdc){var _0x2a8c23={};var _0x1f90d4={};var _0x3bbe86;var _0x2f20fa;return db[_0xd0c6('0x27')]['findOne']({'where':{'id':_0x14c04a[_0xd0c6('0x42')]['id']}})[_0xd0c6('0x22')](handleEntityNotFound(_0x88a196,null))[_0xd0c6('0x22')](function(_0x111cc2){if(_0x111cc2){_0x3bbe86=_0x111cc2;_0x1f90d4[_0xd0c6('0x2b')]=_['keys'](db[_0xd0c6('0x48')][_0xd0c6('0x28')]);_0x1f90d4[_0xd0c6('0x2c')]=_[_0xd0c6('0x2d')](_0x14c04a['query']);_0x1f90d4[_0xd0c6('0x2e')]=_[_0xd0c6('0x2f')](_0x1f90d4[_0xd0c6('0x2b')],_0x1f90d4['query']);_0x2a8c23[_0xd0c6('0x30')]=_[_0xd0c6('0x2f')](_0x1f90d4[_0xd0c6('0x2b')],qs[_0xd0c6('0x31')](_0x14c04a[_0xd0c6('0x2c')][_0xd0c6('0x31')]));_0x2a8c23[_0xd0c6('0x30')]=_0x2a8c23[_0xd0c6('0x30')][_0xd0c6('0x32')]?_0x2a8c23['attributes']:_0x1f90d4[_0xd0c6('0x2b')];_0x2a8c23[_0xd0c6('0x34')]=qs[_0xd0c6('0x35')](_0x14c04a['query'][_0xd0c6('0x35')]);_0x2a8c23[_0xd0c6('0x36')]=qs[_0xd0c6('0x2e')](_['pick'](_0x14c04a[_0xd0c6('0x2c')],_0x1f90d4['filters']));if(_0x14c04a[_0xd0c6('0x2c')][_0xd0c6('0x3c')]){_0x2a8c23['where']=_[_0xd0c6('0x38')](_0x2a8c23[_0xd0c6('0x36')],{'$or':_[_0xd0c6('0x39')](_0x2a8c23[_0xd0c6('0x30')],function(_0x3f5fab){var _0x335219={};_0x335219[_0x3f5fab]={'$like':'%'+_0x14c04a['query'][_0xd0c6('0x3c')]+'%'};return _0x335219;})});}_0x2a8c23=_[_0xd0c6('0x38')]({},_0x2a8c23,_0x14c04a[_0xd0c6('0x3d')]);return _0x3bbe86['getDescriptions'](_0x2a8c23);}})[_0xd0c6('0x22')](function(_0x497e4b){if(_0x497e4b){_0x2f20fa=_0x497e4b[_0xd0c6('0x32')];if(!_0x14c04a['query'][_0xd0c6('0x49')]('nolimit')){_0x2a8c23[_0xd0c6('0x1d')]=qs['limit'](_0x14c04a['query'][_0xd0c6('0x1d')]);_0x2a8c23[_0xd0c6('0x1b')]=qs[_0xd0c6('0x1b')](_0x14c04a[_0xd0c6('0x2c')][_0xd0c6('0x1b')]);}return _0x3bbe86['getDescriptions'](_0x2a8c23);}})[_0xd0c6('0x22')](function(_0x54cd61){if(_0x54cd61){return _0x54cd61?{'count':_0x2f20fa,'rows':_0x54cd61}:null;}})[_0xd0c6('0x22')](respondWithResult(_0x88a196,null))[_0xd0c6('0x41')](handleError(_0x88a196,null));};exports[_0xd0c6('0x4b')]=function(_0x3a7e5b,_0x39cc07,_0x401d98){var _0x407a1f={};var _0x16634e={};var _0x666ba;var _0x42d56f;return db[_0xd0c6('0x27')][_0xd0c6('0x4c')]({'where':{'id':_0x3a7e5b[_0xd0c6('0x42')]['id']}})[_0xd0c6('0x22')](handleEntityNotFound(_0x39cc07,null))['then'](function(_0x36c29f){if(_0x36c29f){_0x666ba=_0x36c29f;_0x16634e[_0xd0c6('0x2b')]=_[_0xd0c6('0x2d')](db[_0xd0c6('0x48')][_0xd0c6('0x28')]);_0x16634e['query']=_[_0xd0c6('0x2d')](_0x3a7e5b[_0xd0c6('0x2c')]);_0x16634e[_0xd0c6('0x2e')]=_[_0xd0c6('0x2f')](_0x16634e['model'],_0x16634e[_0xd0c6('0x2c')]);_0x407a1f['attributes']=_[_0xd0c6('0x2f')](_0x16634e[_0xd0c6('0x2b')],qs[_0xd0c6('0x31')](_0x3a7e5b[_0xd0c6('0x2c')][_0xd0c6('0x31')]));_0x407a1f[_0xd0c6('0x30')]=_0x407a1f[_0xd0c6('0x30')][_0xd0c6('0x32')]?_0x407a1f[_0xd0c6('0x30')]:_0x16634e[_0xd0c6('0x2b')];_0x407a1f[_0xd0c6('0x34')]=qs[_0xd0c6('0x35')](_0x3a7e5b[_0xd0c6('0x2c')][_0xd0c6('0x35')]);_0x407a1f[_0xd0c6('0x36')]=qs[_0xd0c6('0x2e')](_[_0xd0c6('0x37')](_0x3a7e5b['query'],_0x16634e[_0xd0c6('0x2e')]));if(_0x3a7e5b['query'][_0xd0c6('0x3c')]){_0x407a1f['where']=_[_0xd0c6('0x38')](_0x407a1f[_0xd0c6('0x36')],{'$or':_[_0xd0c6('0x39')](_0x407a1f['attributes'],function(_0x454d43){var _0x258cf9={};_0x258cf9[_0x454d43]={'$like':'%'+_0x3a7e5b[_0xd0c6('0x2c')][_0xd0c6('0x3c')]+'%'};return _0x258cf9;})});}_0x407a1f=_['merge']({},_0x407a1f,_0x3a7e5b['options']);return _0x666ba['getFields'](_0x407a1f);}})['then'](function(_0x1e3791){if(_0x1e3791){_0x42d56f=_0x1e3791[_0xd0c6('0x32')];if(!_0x3a7e5b[_0xd0c6('0x2c')][_0xd0c6('0x49')]('nolimit')){_0x407a1f[_0xd0c6('0x1d')]=qs[_0xd0c6('0x1d')](_0x3a7e5b[_0xd0c6('0x2c')][_0xd0c6('0x1d')]);_0x407a1f[_0xd0c6('0x1b')]=qs[_0xd0c6('0x1b')](_0x3a7e5b['query'][_0xd0c6('0x1b')]);}return _0x666ba[_0xd0c6('0x4b')](_0x407a1f);}})[_0xd0c6('0x22')](function(_0x382175){if(_0x382175){return _0x382175?{'count':_0x42d56f,'rows':_0x382175}:null;}})[_0xd0c6('0x22')](respondWithResult(_0x39cc07,null))[_0xd0c6('0x41')](handleError(_0x39cc07,null));};