Built motion from commit da24aabd.|2.6.20
[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 _0xd4ed=['pick','getDescriptions','getFields','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','path','to-csv','ejs','lodash','squel','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','update','then','destroy','error','stack','name','send','index','map','FreshsalesConfiguration','rawAttributes','type','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','order','where','merge','filter','options','include','findAll','show','intersection','includeAll','find','create','body','catch','params','getSubjects','findOne','FreshsalesField','sort'];(function(_0x501510,_0x61caa9){var _0x1e6ee5=function(_0x32845b){while(--_0x32845b){_0x501510['push'](_0x501510['shift']());}};_0x1e6ee5(++_0x61caa9);}(_0xd4ed,0x1d1));var _0xdd4e=function(_0xb77948,_0x48ec78){_0xb77948=_0xb77948-0x0;var _0x4f3924=_0xd4ed[_0xb77948];return _0x4f3924;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xdd4e('0x0'));var zipdir=require(_0xdd4e('0x1'));var jsonpatch=require(_0xdd4e('0x2'));var rp=require(_0xdd4e('0x3'));var moment=require('moment');var BPromise=require(_0xdd4e('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0xdd4e('0x5'));var sox=require('sox');var csv=require(_0xdd4e('0x6'));var ejs=require(_0xdd4e('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xdd4e('0x8'));var squel=require(_0xdd4e('0x9'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xdd4e('0xa'));var toCsv=require(_0xdd4e('0x6'));var querystring=require(_0xdd4e('0xb'));var Papa=require('papaparse');var Redis=require(_0xdd4e('0xc'));var authService=require(_0xdd4e('0xd'));var qs=require(_0xdd4e('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xdd4e('0xf'));var logger=require(_0xdd4e('0x10'))(_0xdd4e('0x11'));var utils=require(_0xdd4e('0x12'));var config=require(_0xdd4e('0x13'));var licenseUtil=require(_0xdd4e('0x14'));var db=require(_0xdd4e('0x15'))['db'];function respondWithStatusCode(_0x62e83b,_0x29da61){_0x29da61=_0x29da61||0xcc;return function(_0x48fdf9){if(_0x48fdf9){return _0x62e83b['sendStatus'](_0x29da61);}return _0x62e83b[_0xdd4e('0x16')](_0x29da61)[_0xdd4e('0x17')]();};}function respondWithResult(_0x401b1b,_0x36dc3){_0x36dc3=_0x36dc3||0xc8;return function(_0x56e1f7){if(_0x56e1f7){return _0x401b1b[_0xdd4e('0x16')](_0x36dc3)[_0xdd4e('0x18')](_0x56e1f7);}};}function respondWithFilteredResult(_0x3a344b,_0xb1392e){return function(_0x539713){if(_0x539713){var _0x35c8e9=typeof _0xb1392e['offset']===_0xdd4e('0x19')&&typeof _0xb1392e[_0xdd4e('0x1a')]===_0xdd4e('0x19');var _0x135295=_0x539713[_0xdd4e('0x1b')];var _0x322b4a=_0x35c8e9?0x0:_0xb1392e[_0xdd4e('0x1c')];var _0x500f0e=_0x35c8e9?_0x539713[_0xdd4e('0x1b')]:_0xb1392e['offset']+_0xb1392e[_0xdd4e('0x1a')];var _0xec1da2;if(_0x500f0e>=_0x135295){_0x500f0e=_0x135295;_0xec1da2=0xc8;}else{_0xec1da2=0xce;}_0x3a344b['status'](_0xec1da2);return _0x3a344b[_0xdd4e('0x1d')](_0xdd4e('0x1e'),_0x322b4a+'-'+_0x500f0e+'/'+_0x135295)[_0xdd4e('0x18')](_0x539713);}return null;};}function patchUpdates(_0x4d6f50){return function(_0xa618d4){try{jsonpatch[_0xdd4e('0x1f')](_0xa618d4,_0x4d6f50,!![]);}catch(_0x4b697f){return BPromise[_0xdd4e('0x20')](_0x4b697f);}return _0xa618d4['save']();};}function saveUpdates(_0x214751,_0x2fb6d3){return function(_0x84ffaa){if(_0x84ffaa){return _0x84ffaa[_0xdd4e('0x21')](_0x214751)[_0xdd4e('0x22')](function(_0xa50d3f){return _0xa50d3f;});}return null;};}function removeEntity(_0x31b0a3,_0x127c3c){return function(_0x36bfb0){if(_0x36bfb0){return _0x36bfb0[_0xdd4e('0x23')]()[_0xdd4e('0x22')](function(){_0x31b0a3['status'](0xcc)[_0xdd4e('0x17')]();});}};}function handleEntityNotFound(_0x3ac4a4,_0x4ebd8a){return function(_0x4bea65){if(!_0x4bea65){_0x3ac4a4['sendStatus'](0x194);}return _0x4bea65;};}function handleError(_0x349bc3,_0x11de53){_0x11de53=_0x11de53||0x1f4;return function(_0x1d2fd9){logger[_0xdd4e('0x24')](_0x1d2fd9[_0xdd4e('0x25')]);if(_0x1d2fd9[_0xdd4e('0x26')]){delete _0x1d2fd9[_0xdd4e('0x26')];}_0x349bc3[_0xdd4e('0x16')](_0x11de53)[_0xdd4e('0x27')](_0x1d2fd9);};}exports[_0xdd4e('0x28')]=function(_0x19a198,_0x12d668){var _0x3b818c={},_0x3172ea={},_0x4969ac={'count':0x0,'rows':[]};var _0x169ba8=_[_0xdd4e('0x29')](db[_0xdd4e('0x2a')][_0xdd4e('0x2b')],function(_0x465861){return{'name':_0x465861['fieldName'],'type':_0x465861[_0xdd4e('0x2c')][_0xdd4e('0x2d')]};});_0x3172ea[_0xdd4e('0x2e')]=_[_0xdd4e('0x29')](_0x169ba8,_0xdd4e('0x26'));_0x3172ea[_0xdd4e('0x2f')]=_[_0xdd4e('0x30')](_0x19a198[_0xdd4e('0x2f')]);_0x3172ea[_0xdd4e('0x31')]=_['intersection'](_0x3172ea[_0xdd4e('0x2e')],_0x3172ea[_0xdd4e('0x2f')]);_0x3b818c[_0xdd4e('0x32')]=_['intersection'](_0x3172ea[_0xdd4e('0x2e')],qs[_0xdd4e('0x33')](_0x19a198[_0xdd4e('0x2f')][_0xdd4e('0x33')]));_0x3b818c[_0xdd4e('0x32')]=_0x3b818c[_0xdd4e('0x32')][_0xdd4e('0x34')]?_0x3b818c[_0xdd4e('0x32')]:_0x3172ea[_0xdd4e('0x2e')];if(!_0x19a198[_0xdd4e('0x2f')][_0xdd4e('0x35')](_0xdd4e('0x36'))){_0x3b818c[_0xdd4e('0x1a')]=qs[_0xdd4e('0x1a')](_0x19a198[_0xdd4e('0x2f')][_0xdd4e('0x1a')]);_0x3b818c[_0xdd4e('0x1c')]=qs[_0xdd4e('0x1c')](_0x19a198['query']['offset']);}_0x3b818c[_0xdd4e('0x37')]=qs['sort'](_0x19a198[_0xdd4e('0x2f')]['sort']);_0x3b818c[_0xdd4e('0x38')]=qs['filters'](_['pick'](_0x19a198[_0xdd4e('0x2f')],_0x3172ea[_0xdd4e('0x31')]),_0x169ba8);if(_0x19a198['query']['filter']){_0x3b818c[_0xdd4e('0x38')]=_[_0xdd4e('0x39')](_0x3b818c[_0xdd4e('0x38')],{'$or':_['map'](_0x169ba8,function(_0x28335a){if(_0x28335a[_0xdd4e('0x2c')]!=='VIRTUAL'){var _0x108aa8={};_0x108aa8[_0x28335a[_0xdd4e('0x26')]]={'$like':'%'+_0x19a198[_0xdd4e('0x2f')][_0xdd4e('0x3a')]+'%'};return _0x108aa8;}})});}_0x3b818c=_[_0xdd4e('0x39')]({},_0x3b818c,_0x19a198[_0xdd4e('0x3b')]);var _0xef5037={'where':_0x3b818c[_0xdd4e('0x38')]};return db[_0xdd4e('0x2a')][_0xdd4e('0x1b')](_0xef5037)[_0xdd4e('0x22')](function(_0x2a48db){_0x4969ac[_0xdd4e('0x1b')]=_0x2a48db;if(_0x19a198[_0xdd4e('0x2f')]['includeAll']){_0x3b818c[_0xdd4e('0x3c')]=[{'all':!![]}];}return db[_0xdd4e('0x2a')][_0xdd4e('0x3d')](_0x3b818c);})['then'](function(_0x4085b6){_0x4969ac['rows']=_0x4085b6;return _0x4969ac;})['then'](respondWithFilteredResult(_0x12d668,_0x3b818c))['catch'](handleError(_0x12d668,null));};exports[_0xdd4e('0x3e')]=function(_0x1149e6,_0x321a66){var _0x1482aa={'raw':![],'where':{'id':_0x1149e6['params']['id']}},_0x6db904={};_0x6db904[_0xdd4e('0x2e')]=_[_0xdd4e('0x30')](db['FreshsalesConfiguration']['rawAttributes']);_0x6db904[_0xdd4e('0x2f')]=_[_0xdd4e('0x30')](_0x1149e6[_0xdd4e('0x2f')]);_0x6db904[_0xdd4e('0x31')]=_[_0xdd4e('0x3f')](_0x6db904[_0xdd4e('0x2e')],_0x6db904[_0xdd4e('0x2f')]);_0x1482aa[_0xdd4e('0x32')]=_[_0xdd4e('0x3f')](_0x6db904[_0xdd4e('0x2e')],qs[_0xdd4e('0x33')](_0x1149e6['query'][_0xdd4e('0x33')]));_0x1482aa['attributes']=_0x1482aa[_0xdd4e('0x32')][_0xdd4e('0x34')]?_0x1482aa['attributes']:_0x6db904[_0xdd4e('0x2e')];if(_0x1149e6[_0xdd4e('0x2f')][_0xdd4e('0x40')]){_0x1482aa[_0xdd4e('0x3c')]=[{'all':!![]}];}_0x1482aa=_[_0xdd4e('0x39')]({},_0x1482aa,_0x1149e6[_0xdd4e('0x3b')]);return db[_0xdd4e('0x2a')][_0xdd4e('0x41')](_0x1482aa)['then'](handleEntityNotFound(_0x321a66,null))[_0xdd4e('0x22')](respondWithResult(_0x321a66,null))['catch'](handleError(_0x321a66,null));};exports[_0xdd4e('0x42')]=function(_0x1b9f90,_0x369251){return db['FreshsalesConfiguration']['create'](_0x1b9f90[_0xdd4e('0x43')],{})['then'](respondWithResult(_0x369251,0xc9))[_0xdd4e('0x44')](handleError(_0x369251,null));};exports[_0xdd4e('0x21')]=function(_0x5d88e7,_0x5df3da){if(_0x5d88e7[_0xdd4e('0x43')]['id']){delete _0x5d88e7[_0xdd4e('0x43')]['id'];}return db['FreshsalesConfiguration'][_0xdd4e('0x41')]({'where':{'id':_0x5d88e7['params']['id']}})['then'](handleEntityNotFound(_0x5df3da,null))['then'](saveUpdates(_0x5d88e7[_0xdd4e('0x43')],null))['then'](respondWithResult(_0x5df3da,null))[_0xdd4e('0x44')](handleError(_0x5df3da,null));};exports['destroy']=function(_0x52b36d,_0x3966d3){return db[_0xdd4e('0x2a')][_0xdd4e('0x41')]({'where':{'id':_0x52b36d[_0xdd4e('0x45')]['id']}})[_0xdd4e('0x22')](handleEntityNotFound(_0x3966d3,null))['then'](removeEntity(_0x3966d3,null))[_0xdd4e('0x44')](handleError(_0x3966d3,null));};exports[_0xdd4e('0x46')]=function(_0x1eb9cc,_0x21f60a,_0x577ec8){var _0x272668={};var _0x5dc355={};var _0x4c21ba;var _0x20fed5;return db[_0xdd4e('0x2a')][_0xdd4e('0x47')]({'where':{'id':_0x1eb9cc[_0xdd4e('0x45')]['id']}})[_0xdd4e('0x22')](handleEntityNotFound(_0x21f60a,null))[_0xdd4e('0x22')](function(_0x1a7340){if(_0x1a7340){_0x4c21ba=_0x1a7340;_0x5dc355[_0xdd4e('0x2e')]=_[_0xdd4e('0x30')](db[_0xdd4e('0x48')][_0xdd4e('0x2b')]);_0x5dc355[_0xdd4e('0x2f')]=_[_0xdd4e('0x30')](_0x1eb9cc['query']);_0x5dc355[_0xdd4e('0x31')]=_[_0xdd4e('0x3f')](_0x5dc355[_0xdd4e('0x2e')],_0x5dc355[_0xdd4e('0x2f')]);_0x272668[_0xdd4e('0x32')]=_[_0xdd4e('0x3f')](_0x5dc355[_0xdd4e('0x2e')],qs['fields'](_0x1eb9cc[_0xdd4e('0x2f')][_0xdd4e('0x33')]));_0x272668['attributes']=_0x272668[_0xdd4e('0x32')][_0xdd4e('0x34')]?_0x272668[_0xdd4e('0x32')]:_0x5dc355[_0xdd4e('0x2e')];_0x272668[_0xdd4e('0x37')]=qs[_0xdd4e('0x49')](_0x1eb9cc['query'][_0xdd4e('0x49')]);_0x272668[_0xdd4e('0x38')]=qs[_0xdd4e('0x31')](_[_0xdd4e('0x4a')](_0x1eb9cc[_0xdd4e('0x2f')],_0x5dc355[_0xdd4e('0x31')]));if(_0x1eb9cc[_0xdd4e('0x2f')][_0xdd4e('0x3a')]){_0x272668['where']=_[_0xdd4e('0x39')](_0x272668[_0xdd4e('0x38')],{'$or':_[_0xdd4e('0x29')](_0x272668[_0xdd4e('0x32')],function(_0xa931ac){var _0x409d2b={};_0x409d2b[_0xa931ac]={'$like':'%'+_0x1eb9cc[_0xdd4e('0x2f')][_0xdd4e('0x3a')]+'%'};return _0x409d2b;})});}_0x272668=_[_0xdd4e('0x39')]({},_0x272668,_0x1eb9cc['options']);return _0x4c21ba['getSubjects'](_0x272668);}})[_0xdd4e('0x22')](function(_0x367c57){if(_0x367c57){_0x20fed5=_0x367c57['length'];if(!_0x1eb9cc[_0xdd4e('0x2f')][_0xdd4e('0x35')](_0xdd4e('0x36'))){_0x272668['limit']=qs[_0xdd4e('0x1a')](_0x1eb9cc[_0xdd4e('0x2f')][_0xdd4e('0x1a')]);_0x272668[_0xdd4e('0x1c')]=qs['offset'](_0x1eb9cc[_0xdd4e('0x2f')][_0xdd4e('0x1c')]);}return _0x4c21ba['getSubjects'](_0x272668);}})['then'](function(_0x73f9b7){if(_0x73f9b7){return _0x73f9b7?{'count':_0x20fed5,'rows':_0x73f9b7}:null;}})['then'](respondWithResult(_0x21f60a,null))[_0xdd4e('0x44')](handleError(_0x21f60a,null));};exports['getDescriptions']=function(_0x2dc6ce,_0xe74caa,_0x32b6fe){var _0x291b84={};var _0x23b6c7={};var _0x9c78ae;var _0x12e750;return db['FreshsalesConfiguration']['findOne']({'where':{'id':_0x2dc6ce[_0xdd4e('0x45')]['id']}})['then'](handleEntityNotFound(_0xe74caa,null))[_0xdd4e('0x22')](function(_0x50f778){if(_0x50f778){_0x9c78ae=_0x50f778;_0x23b6c7[_0xdd4e('0x2e')]=_[_0xdd4e('0x30')](db['FreshsalesField']['rawAttributes']);_0x23b6c7[_0xdd4e('0x2f')]=_[_0xdd4e('0x30')](_0x2dc6ce['query']);_0x23b6c7[_0xdd4e('0x31')]=_[_0xdd4e('0x3f')](_0x23b6c7[_0xdd4e('0x2e')],_0x23b6c7['query']);_0x291b84['attributes']=_[_0xdd4e('0x3f')](_0x23b6c7[_0xdd4e('0x2e')],qs[_0xdd4e('0x33')](_0x2dc6ce[_0xdd4e('0x2f')][_0xdd4e('0x33')]));_0x291b84[_0xdd4e('0x32')]=_0x291b84[_0xdd4e('0x32')][_0xdd4e('0x34')]?_0x291b84[_0xdd4e('0x32')]:_0x23b6c7[_0xdd4e('0x2e')];_0x291b84['order']=qs['sort'](_0x2dc6ce['query']['sort']);_0x291b84[_0xdd4e('0x38')]=qs[_0xdd4e('0x31')](_[_0xdd4e('0x4a')](_0x2dc6ce[_0xdd4e('0x2f')],_0x23b6c7[_0xdd4e('0x31')]));if(_0x2dc6ce[_0xdd4e('0x2f')][_0xdd4e('0x3a')]){_0x291b84['where']=_[_0xdd4e('0x39')](_0x291b84[_0xdd4e('0x38')],{'$or':_[_0xdd4e('0x29')](_0x291b84[_0xdd4e('0x32')],function(_0x141311){var _0x26e0e6={};_0x26e0e6[_0x141311]={'$like':'%'+_0x2dc6ce[_0xdd4e('0x2f')]['filter']+'%'};return _0x26e0e6;})});}_0x291b84=_[_0xdd4e('0x39')]({},_0x291b84,_0x2dc6ce[_0xdd4e('0x3b')]);return _0x9c78ae[_0xdd4e('0x4b')](_0x291b84);}})[_0xdd4e('0x22')](function(_0x934c58){if(_0x934c58){_0x12e750=_0x934c58['length'];if(!_0x2dc6ce[_0xdd4e('0x2f')][_0xdd4e('0x35')](_0xdd4e('0x36'))){_0x291b84['limit']=qs['limit'](_0x2dc6ce['query'][_0xdd4e('0x1a')]);_0x291b84[_0xdd4e('0x1c')]=qs[_0xdd4e('0x1c')](_0x2dc6ce[_0xdd4e('0x2f')]['offset']);}return _0x9c78ae['getDescriptions'](_0x291b84);}})[_0xdd4e('0x22')](function(_0x7081c2){if(_0x7081c2){return _0x7081c2?{'count':_0x12e750,'rows':_0x7081c2}:null;}})[_0xdd4e('0x22')](respondWithResult(_0xe74caa,null))[_0xdd4e('0x44')](handleError(_0xe74caa,null));};exports['getFields']=function(_0x12617e,_0x3e7570,_0x16b658){var _0x13097d={};var _0x4647f3={};var _0x177cdc;var _0x3a5edd;return db[_0xdd4e('0x2a')][_0xdd4e('0x47')]({'where':{'id':_0x12617e[_0xdd4e('0x45')]['id']}})[_0xdd4e('0x22')](handleEntityNotFound(_0x3e7570,null))[_0xdd4e('0x22')](function(_0x5f403b){if(_0x5f403b){_0x177cdc=_0x5f403b;_0x4647f3['model']=_[_0xdd4e('0x30')](db[_0xdd4e('0x48')][_0xdd4e('0x2b')]);_0x4647f3[_0xdd4e('0x2f')]=_['keys'](_0x12617e[_0xdd4e('0x2f')]);_0x4647f3[_0xdd4e('0x31')]=_[_0xdd4e('0x3f')](_0x4647f3[_0xdd4e('0x2e')],_0x4647f3[_0xdd4e('0x2f')]);_0x13097d[_0xdd4e('0x32')]=_[_0xdd4e('0x3f')](_0x4647f3[_0xdd4e('0x2e')],qs[_0xdd4e('0x33')](_0x12617e['query'][_0xdd4e('0x33')]));_0x13097d[_0xdd4e('0x32')]=_0x13097d[_0xdd4e('0x32')][_0xdd4e('0x34')]?_0x13097d[_0xdd4e('0x32')]:_0x4647f3[_0xdd4e('0x2e')];_0x13097d[_0xdd4e('0x37')]=qs[_0xdd4e('0x49')](_0x12617e[_0xdd4e('0x2f')][_0xdd4e('0x49')]);_0x13097d['where']=qs['filters'](_[_0xdd4e('0x4a')](_0x12617e['query'],_0x4647f3[_0xdd4e('0x31')]));if(_0x12617e[_0xdd4e('0x2f')]['filter']){_0x13097d[_0xdd4e('0x38')]=_[_0xdd4e('0x39')](_0x13097d[_0xdd4e('0x38')],{'$or':_[_0xdd4e('0x29')](_0x13097d[_0xdd4e('0x32')],function(_0x5e8ef1){var _0x44b501={};_0x44b501[_0x5e8ef1]={'$like':'%'+_0x12617e[_0xdd4e('0x2f')][_0xdd4e('0x3a')]+'%'};return _0x44b501;})});}_0x13097d=_[_0xdd4e('0x39')]({},_0x13097d,_0x12617e[_0xdd4e('0x3b')]);return _0x177cdc[_0xdd4e('0x4c')](_0x13097d);}})[_0xdd4e('0x22')](function(_0x530a3c){if(_0x530a3c){_0x3a5edd=_0x530a3c[_0xdd4e('0x34')];if(!_0x12617e[_0xdd4e('0x2f')]['hasOwnProperty'](_0xdd4e('0x36'))){_0x13097d[_0xdd4e('0x1a')]=qs[_0xdd4e('0x1a')](_0x12617e[_0xdd4e('0x2f')][_0xdd4e('0x1a')]);_0x13097d[_0xdd4e('0x1c')]=qs['offset'](_0x12617e[_0xdd4e('0x2f')]['offset']);}return _0x177cdc[_0xdd4e('0x4c')](_0x13097d);}})[_0xdd4e('0x22')](function(_0x5c56cc){if(_0x5c56cc){return _0x5c56cc?{'count':_0x3a5edd,'rows':_0x5c56cc}:null;}})[_0xdd4e('0x22')](respondWithResult(_0x3e7570,null))['catch'](handleError(_0x3e7570,null));};