d00f0286a5e218236aa4d28c74891a1ddbd287b6
[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 _0x5763=['Content-Range','apply','save','then','destroy','error','stack','name','index','map','FreshsalesConfiguration','rawAttributes','fieldName','type','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','includeAll','include','findAll','rows','catch','show','params','length','options','find','create','update','body','getSubjects','findOne','FreshsalesField','order','getDescriptions','getFields','rimraf','zip-dir','request-promise','bluebird','util','path','lodash','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set'];(function(_0x3ba748,_0x4b8fb9){var _0x5b04e2=function(_0x16bb9e){while(--_0x16bb9e){_0x3ba748['push'](_0x3ba748['shift']());}};_0x5b04e2(++_0x4b8fb9);}(_0x5763,0x153));var _0x3576=function(_0x4f1c81,_0x30a386){_0x4f1c81=_0x4f1c81-0x0;var _0x49dca6=_0x5763[_0x4f1c81];return _0x49dca6;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3576('0x0'));var zipdir=require(_0x3576('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3576('0x2'));var moment=require('moment');var BPromise=require(_0x3576('0x3'));var Mustache=require('mustache');var util=require(_0x3576('0x4'));var path=require(_0x3576('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3576('0x6'));var squel=require('squel');var crypto=require(_0x3576('0x7'));var jsforce=require('jsforce');var deskjs=require(_0x3576('0x8'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x3576('0x9'));var Redis=require(_0x3576('0xa'));var authService=require(_0x3576('0xb'));var qs=require('../../components/parsers/qs');var as=require(_0x3576('0xc'));var hardwareService=require(_0x3576('0xd'));var logger=require(_0x3576('0xe'))('api');var utils=require('../../config/utils');var config=require(_0x3576('0xf'));var licenseUtil=require('../../config/license/util');var db=require(_0x3576('0x10'))['db'];function respondWithStatusCode(_0x33abc0,_0x40427c){_0x40427c=_0x40427c||0xcc;return function(_0x317f71){if(_0x317f71){return _0x33abc0[_0x3576('0x11')](_0x40427c);}return _0x33abc0[_0x3576('0x12')](_0x40427c)[_0x3576('0x13')]();};}function respondWithResult(_0x561351,_0x3b271a){_0x3b271a=_0x3b271a||0xc8;return function(_0x1e129a){if(_0x1e129a){return _0x561351['status'](_0x3b271a)[_0x3576('0x14')](_0x1e129a);}};}function respondWithFilteredResult(_0x3c35f2,_0x5b155e){return function(_0x3ac68a){if(_0x3ac68a){var _0x29da9c=typeof _0x5b155e[_0x3576('0x15')]===_0x3576('0x16')&&typeof _0x5b155e[_0x3576('0x17')]===_0x3576('0x16');var _0x3f2585=_0x3ac68a[_0x3576('0x18')];var _0x578b23=_0x29da9c?0x0:_0x5b155e[_0x3576('0x15')];var _0x75a76a=_0x29da9c?_0x3ac68a['count']:_0x5b155e[_0x3576('0x15')]+_0x5b155e[_0x3576('0x17')];var _0x3d86ad;if(_0x75a76a>=_0x3f2585){_0x75a76a=_0x3f2585;_0x3d86ad=0xc8;}else{_0x3d86ad=0xce;}_0x3c35f2[_0x3576('0x12')](_0x3d86ad);return _0x3c35f2[_0x3576('0x19')](_0x3576('0x1a'),_0x578b23+'-'+_0x75a76a+'/'+_0x3f2585)[_0x3576('0x14')](_0x3ac68a);}return null;};}function patchUpdates(_0x3ef90b){return function(_0x19237f){try{jsonpatch[_0x3576('0x1b')](_0x19237f,_0x3ef90b,!![]);}catch(_0xa92ab2){return BPromise['reject'](_0xa92ab2);}return _0x19237f[_0x3576('0x1c')]();};}function saveUpdates(_0x443e0f,_0xd21c04){return function(_0x33d2ed){if(_0x33d2ed){return _0x33d2ed['update'](_0x443e0f)[_0x3576('0x1d')](function(_0x4dda37){return _0x4dda37;});}return null;};}function removeEntity(_0x1c3a2d,_0x9a1afc){return function(_0x5ad2f8){if(_0x5ad2f8){return _0x5ad2f8[_0x3576('0x1e')]()[_0x3576('0x1d')](function(){_0x1c3a2d['status'](0xcc)[_0x3576('0x13')]();});}};}function handleEntityNotFound(_0x5210bb,_0x16c7fe){return function(_0x5aa3d9){if(!_0x5aa3d9){_0x5210bb[_0x3576('0x11')](0x194);}return _0x5aa3d9;};}function handleError(_0xc29f0a,_0x2a5116){_0x2a5116=_0x2a5116||0x1f4;return function(_0x4dd88a){logger[_0x3576('0x1f')](_0x4dd88a[_0x3576('0x20')]);if(_0x4dd88a['name']){delete _0x4dd88a[_0x3576('0x21')];}_0xc29f0a[_0x3576('0x12')](_0x2a5116)['send'](_0x4dd88a);};}exports[_0x3576('0x22')]=function(_0x1f9811,_0x756e4a){var _0x5c8460={},_0x38b789={},_0x59567e={'count':0x0,'rows':[]};var _0x330c8c=_[_0x3576('0x23')](db[_0x3576('0x24')][_0x3576('0x25')],function(_0x50cce0){return{'name':_0x50cce0[_0x3576('0x26')],'type':_0x50cce0[_0x3576('0x27')]['key']};});_0x38b789[_0x3576('0x28')]=_[_0x3576('0x23')](_0x330c8c,_0x3576('0x21'));_0x38b789[_0x3576('0x29')]=_[_0x3576('0x2a')](_0x1f9811['query']);_0x38b789[_0x3576('0x2b')]=_['intersection'](_0x38b789[_0x3576('0x28')],_0x38b789[_0x3576('0x29')]);_0x5c8460[_0x3576('0x2c')]=_[_0x3576('0x2d')](_0x38b789['model'],qs['fields'](_0x1f9811['query'][_0x3576('0x2e')]));_0x5c8460[_0x3576('0x2c')]=_0x5c8460['attributes']['length']?_0x5c8460[_0x3576('0x2c')]:_0x38b789[_0x3576('0x28')];if(!_0x1f9811[_0x3576('0x29')][_0x3576('0x2f')](_0x3576('0x30'))){_0x5c8460[_0x3576('0x17')]=qs[_0x3576('0x17')](_0x1f9811['query'][_0x3576('0x17')]);_0x5c8460[_0x3576('0x15')]=qs['offset'](_0x1f9811[_0x3576('0x29')]['offset']);}_0x5c8460['order']=qs['sort'](_0x1f9811['query'][_0x3576('0x31')]);_0x5c8460[_0x3576('0x32')]=qs[_0x3576('0x2b')](_[_0x3576('0x33')](_0x1f9811[_0x3576('0x29')],_0x38b789[_0x3576('0x2b')]),_0x330c8c);if(_0x1f9811['query'][_0x3576('0x34')]){_0x5c8460[_0x3576('0x32')]=_[_0x3576('0x35')](_0x5c8460[_0x3576('0x32')],{'$or':_[_0x3576('0x23')](_0x330c8c,function(_0x4bbe37){if(_0x4bbe37['type']!=='VIRTUAL'){var _0x4a4416={};_0x4a4416[_0x4bbe37[_0x3576('0x21')]]={'$like':'%'+_0x1f9811['query']['filter']+'%'};return _0x4a4416;}})});}_0x5c8460=_['merge']({},_0x5c8460,_0x1f9811['options']);var _0x9aaf86={'where':_0x5c8460['where']};return db[_0x3576('0x24')][_0x3576('0x18')](_0x9aaf86)[_0x3576('0x1d')](function(_0x2b392e){_0x59567e[_0x3576('0x18')]=_0x2b392e;if(_0x1f9811[_0x3576('0x29')][_0x3576('0x36')]){_0x5c8460[_0x3576('0x37')]=[{'all':!![]}];}return db['FreshsalesConfiguration'][_0x3576('0x38')](_0x5c8460);})['then'](function(_0x5ff25a){_0x59567e[_0x3576('0x39')]=_0x5ff25a;return _0x59567e;})[_0x3576('0x1d')](respondWithFilteredResult(_0x756e4a,_0x5c8460))[_0x3576('0x3a')](handleError(_0x756e4a,null));};exports[_0x3576('0x3b')]=function(_0x349609,_0x4347a2){var _0x5acb96={'raw':![],'where':{'id':_0x349609[_0x3576('0x3c')]['id']}},_0x3fc883={};_0x3fc883['model']=_[_0x3576('0x2a')](db[_0x3576('0x24')]['rawAttributes']);_0x3fc883['query']=_[_0x3576('0x2a')](_0x349609['query']);_0x3fc883[_0x3576('0x2b')]=_[_0x3576('0x2d')](_0x3fc883['model'],_0x3fc883[_0x3576('0x29')]);_0x5acb96[_0x3576('0x2c')]=_['intersection'](_0x3fc883[_0x3576('0x28')],qs[_0x3576('0x2e')](_0x349609['query']['fields']));_0x5acb96['attributes']=_0x5acb96[_0x3576('0x2c')][_0x3576('0x3d')]?_0x5acb96[_0x3576('0x2c')]:_0x3fc883[_0x3576('0x28')];if(_0x349609['query'][_0x3576('0x36')]){_0x5acb96['include']=[{'all':!![]}];}_0x5acb96=_[_0x3576('0x35')]({},_0x5acb96,_0x349609[_0x3576('0x3e')]);return db['FreshsalesConfiguration'][_0x3576('0x3f')](_0x5acb96)['then'](handleEntityNotFound(_0x4347a2,null))[_0x3576('0x1d')](respondWithResult(_0x4347a2,null))[_0x3576('0x3a')](handleError(_0x4347a2,null));};exports[_0x3576('0x40')]=function(_0x5a5d17,_0x298c23){return db[_0x3576('0x24')][_0x3576('0x40')](_0x5a5d17['body'],{})[_0x3576('0x1d')](respondWithResult(_0x298c23,0xc9))['catch'](handleError(_0x298c23,null));};exports[_0x3576('0x41')]=function(_0x4a3f29,_0x1ab424){if(_0x4a3f29[_0x3576('0x42')]['id']){delete _0x4a3f29[_0x3576('0x42')]['id'];}return db[_0x3576('0x24')]['find']({'where':{'id':_0x4a3f29[_0x3576('0x3c')]['id']}})['then'](handleEntityNotFound(_0x1ab424,null))[_0x3576('0x1d')](saveUpdates(_0x4a3f29[_0x3576('0x42')],null))['then'](respondWithResult(_0x1ab424,null))[_0x3576('0x3a')](handleError(_0x1ab424,null));};exports[_0x3576('0x1e')]=function(_0x572a24,_0x34a75c){return db[_0x3576('0x24')][_0x3576('0x3f')]({'where':{'id':_0x572a24[_0x3576('0x3c')]['id']}})[_0x3576('0x1d')](handleEntityNotFound(_0x34a75c,null))[_0x3576('0x1d')](removeEntity(_0x34a75c,null))[_0x3576('0x3a')](handleError(_0x34a75c,null));};exports[_0x3576('0x43')]=function(_0x7a2cba,_0x96c0c5,_0x3513be){var _0x24b4c2={};var _0x584f5b={};var _0x1824b1;var _0xfdb5e9;return db[_0x3576('0x24')][_0x3576('0x44')]({'where':{'id':_0x7a2cba[_0x3576('0x3c')]['id']}})['then'](handleEntityNotFound(_0x96c0c5,null))[_0x3576('0x1d')](function(_0x54aacb){if(_0x54aacb){_0x1824b1=_0x54aacb;_0x584f5b[_0x3576('0x28')]=_[_0x3576('0x2a')](db[_0x3576('0x45')][_0x3576('0x25')]);_0x584f5b['query']=_[_0x3576('0x2a')](_0x7a2cba['query']);_0x584f5b[_0x3576('0x2b')]=_['intersection'](_0x584f5b[_0x3576('0x28')],_0x584f5b['query']);_0x24b4c2['attributes']=_['intersection'](_0x584f5b[_0x3576('0x28')],qs['fields'](_0x7a2cba[_0x3576('0x29')][_0x3576('0x2e')]));_0x24b4c2['attributes']=_0x24b4c2[_0x3576('0x2c')]['length']?_0x24b4c2[_0x3576('0x2c')]:_0x584f5b[_0x3576('0x28')];_0x24b4c2[_0x3576('0x46')]=qs[_0x3576('0x31')](_0x7a2cba[_0x3576('0x29')]['sort']);_0x24b4c2[_0x3576('0x32')]=qs[_0x3576('0x2b')](_[_0x3576('0x33')](_0x7a2cba['query'],_0x584f5b[_0x3576('0x2b')]));if(_0x7a2cba[_0x3576('0x29')][_0x3576('0x34')]){_0x24b4c2[_0x3576('0x32')]=_[_0x3576('0x35')](_0x24b4c2[_0x3576('0x32')],{'$or':_['map'](_0x24b4c2[_0x3576('0x2c')],function(_0x55379b){var _0x4be1d0={};_0x4be1d0[_0x55379b]={'$like':'%'+_0x7a2cba[_0x3576('0x29')][_0x3576('0x34')]+'%'};return _0x4be1d0;})});}_0x24b4c2=_[_0x3576('0x35')]({},_0x24b4c2,_0x7a2cba['options']);return _0x1824b1[_0x3576('0x43')](_0x24b4c2);}})[_0x3576('0x1d')](function(_0x343f4a){if(_0x343f4a){_0xfdb5e9=_0x343f4a[_0x3576('0x3d')];if(!_0x7a2cba[_0x3576('0x29')]['hasOwnProperty'](_0x3576('0x30'))){_0x24b4c2[_0x3576('0x17')]=qs[_0x3576('0x17')](_0x7a2cba['query'][_0x3576('0x17')]);_0x24b4c2['offset']=qs[_0x3576('0x15')](_0x7a2cba[_0x3576('0x29')][_0x3576('0x15')]);}return _0x1824b1['getSubjects'](_0x24b4c2);}})['then'](function(_0x4a85ca){if(_0x4a85ca){return _0x4a85ca?{'count':_0xfdb5e9,'rows':_0x4a85ca}:null;}})[_0x3576('0x1d')](respondWithResult(_0x96c0c5,null))[_0x3576('0x3a')](handleError(_0x96c0c5,null));};exports[_0x3576('0x47')]=function(_0x1a782e,_0x595f26,_0x577ca2){var _0x31d5cd={};var _0x1370ea={};var _0x30dd19;var _0x3a979d;return db['FreshsalesConfiguration'][_0x3576('0x44')]({'where':{'id':_0x1a782e['params']['id']}})[_0x3576('0x1d')](handleEntityNotFound(_0x595f26,null))[_0x3576('0x1d')](function(_0x5cd5f8){if(_0x5cd5f8){_0x30dd19=_0x5cd5f8;_0x1370ea[_0x3576('0x28')]=_[_0x3576('0x2a')](db['FreshsalesField']['rawAttributes']);_0x1370ea[_0x3576('0x29')]=_[_0x3576('0x2a')](_0x1a782e[_0x3576('0x29')]);_0x1370ea[_0x3576('0x2b')]=_[_0x3576('0x2d')](_0x1370ea[_0x3576('0x28')],_0x1370ea[_0x3576('0x29')]);_0x31d5cd[_0x3576('0x2c')]=_[_0x3576('0x2d')](_0x1370ea[_0x3576('0x28')],qs['fields'](_0x1a782e[_0x3576('0x29')][_0x3576('0x2e')]));_0x31d5cd[_0x3576('0x2c')]=_0x31d5cd[_0x3576('0x2c')]['length']?_0x31d5cd['attributes']:_0x1370ea[_0x3576('0x28')];_0x31d5cd[_0x3576('0x46')]=qs[_0x3576('0x31')](_0x1a782e[_0x3576('0x29')][_0x3576('0x31')]);_0x31d5cd[_0x3576('0x32')]=qs[_0x3576('0x2b')](_[_0x3576('0x33')](_0x1a782e['query'],_0x1370ea['filters']));if(_0x1a782e['query'][_0x3576('0x34')]){_0x31d5cd[_0x3576('0x32')]=_[_0x3576('0x35')](_0x31d5cd[_0x3576('0x32')],{'$or':_['map'](_0x31d5cd[_0x3576('0x2c')],function(_0x4a4324){var _0x7ef7f0={};_0x7ef7f0[_0x4a4324]={'$like':'%'+_0x1a782e[_0x3576('0x29')][_0x3576('0x34')]+'%'};return _0x7ef7f0;})});}_0x31d5cd=_['merge']({},_0x31d5cd,_0x1a782e[_0x3576('0x3e')]);return _0x30dd19['getDescriptions'](_0x31d5cd);}})[_0x3576('0x1d')](function(_0x122162){if(_0x122162){_0x3a979d=_0x122162['length'];if(!_0x1a782e[_0x3576('0x29')][_0x3576('0x2f')](_0x3576('0x30'))){_0x31d5cd['limit']=qs[_0x3576('0x17')](_0x1a782e[_0x3576('0x29')][_0x3576('0x17')]);_0x31d5cd['offset']=qs[_0x3576('0x15')](_0x1a782e['query'][_0x3576('0x15')]);}return _0x30dd19[_0x3576('0x47')](_0x31d5cd);}})[_0x3576('0x1d')](function(_0x23ffa8){if(_0x23ffa8){return _0x23ffa8?{'count':_0x3a979d,'rows':_0x23ffa8}:null;}})[_0x3576('0x1d')](respondWithResult(_0x595f26,null))[_0x3576('0x3a')](handleError(_0x595f26,null));};exports[_0x3576('0x48')]=function(_0x592285,_0x159559,_0x2ca647){var _0x44928f={};var _0x58d544={};var _0x123590;var _0x5715b7;return db[_0x3576('0x24')][_0x3576('0x44')]({'where':{'id':_0x592285[_0x3576('0x3c')]['id']}})[_0x3576('0x1d')](handleEntityNotFound(_0x159559,null))[_0x3576('0x1d')](function(_0x3e926c){if(_0x3e926c){_0x123590=_0x3e926c;_0x58d544[_0x3576('0x28')]=_[_0x3576('0x2a')](db[_0x3576('0x45')][_0x3576('0x25')]);_0x58d544[_0x3576('0x29')]=_[_0x3576('0x2a')](_0x592285['query']);_0x58d544['filters']=_[_0x3576('0x2d')](_0x58d544[_0x3576('0x28')],_0x58d544[_0x3576('0x29')]);_0x44928f[_0x3576('0x2c')]=_['intersection'](_0x58d544[_0x3576('0x28')],qs[_0x3576('0x2e')](_0x592285['query'][_0x3576('0x2e')]));_0x44928f[_0x3576('0x2c')]=_0x44928f[_0x3576('0x2c')][_0x3576('0x3d')]?_0x44928f[_0x3576('0x2c')]:_0x58d544[_0x3576('0x28')];_0x44928f[_0x3576('0x46')]=qs[_0x3576('0x31')](_0x592285[_0x3576('0x29')][_0x3576('0x31')]);_0x44928f[_0x3576('0x32')]=qs[_0x3576('0x2b')](_['pick'](_0x592285[_0x3576('0x29')],_0x58d544['filters']));if(_0x592285[_0x3576('0x29')][_0x3576('0x34')]){_0x44928f['where']=_[_0x3576('0x35')](_0x44928f[_0x3576('0x32')],{'$or':_['map'](_0x44928f[_0x3576('0x2c')],function(_0x284815){var _0x323340={};_0x323340[_0x284815]={'$like':'%'+_0x592285[_0x3576('0x29')][_0x3576('0x34')]+'%'};return _0x323340;})});}_0x44928f=_[_0x3576('0x35')]({},_0x44928f,_0x592285[_0x3576('0x3e')]);return _0x123590[_0x3576('0x48')](_0x44928f);}})[_0x3576('0x1d')](function(_0x1982ab){if(_0x1982ab){_0x5715b7=_0x1982ab[_0x3576('0x3d')];if(!_0x592285[_0x3576('0x29')]['hasOwnProperty'](_0x3576('0x30'))){_0x44928f[_0x3576('0x17')]=qs[_0x3576('0x17')](_0x592285['query'][_0x3576('0x17')]);_0x44928f[_0x3576('0x15')]=qs[_0x3576('0x15')](_0x592285[_0x3576('0x29')][_0x3576('0x15')]);}return _0x123590[_0x3576('0x48')](_0x44928f);}})[_0x3576('0x1d')](function(_0xc7b16){if(_0xc7b16){return _0xc7b16?{'count':_0x5715b7,'rows':_0xc7b16}:null;}})[_0x3576('0x1d')](respondWithResult(_0x159559,null))['catch'](handleError(_0x159559,null));};