Built motion from commit 10af8726.|2.6.34
[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 _0xcb5e=['includeAll','include','rows','catch','show','params','keys','find','create','body','getSubjects','findOne','FreshsalesField','pick','hasOwnProperty','nolimit','getDescriptions','getFields','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','apply','reject','save','update','destroy','then','error','stack','name','send','index','map','FreshsalesConfiguration','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','order','sort','where','filters','merge','VIRTUAL','filter','options'];(function(_0x987fe6,_0x24ac32){var _0x4fb549=function(_0x14a3d0){while(--_0x14a3d0){_0x987fe6['push'](_0x987fe6['shift']());}};_0x4fb549(++_0x24ac32);}(_0xcb5e,0xb4));var _0xecb5=function(_0x334de2,_0xce28a5){_0x334de2=_0x334de2-0x0;var _0x31a8e8=_0xcb5e[_0x334de2];return _0x31a8e8;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xecb5('0x0'));var zipdir=require(_0xecb5('0x1'));var jsonpatch=require(_0xecb5('0x2'));var rp=require(_0xecb5('0x3'));var moment=require(_0xecb5('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xecb5('0x5'));var util=require(_0xecb5('0x6'));var path=require(_0xecb5('0x7'));var sox=require(_0xecb5('0x8'));var csv=require(_0xecb5('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xecb5('0xa'));var _=require('lodash');var squel=require(_0xecb5('0xb'));var crypto=require(_0xecb5('0xc'));var jsforce=require(_0xecb5('0xd'));var deskjs=require(_0xecb5('0xe'));var toCsv=require(_0xecb5('0x9'));var querystring=require(_0xecb5('0xf'));var Papa=require(_0xecb5('0x10'));var Redis=require(_0xecb5('0x11'));var authService=require(_0xecb5('0x12'));var qs=require(_0xecb5('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xecb5('0x14'))('api');var utils=require(_0xecb5('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xecb5('0x16'));var db=require(_0xecb5('0x17'))['db'];function respondWithStatusCode(_0x12f9da,_0x4a2565){_0x4a2565=_0x4a2565||0xcc;return function(_0x2cfb43){if(_0x2cfb43){return _0x12f9da[_0xecb5('0x18')](_0x4a2565);}return _0x12f9da[_0xecb5('0x19')](_0x4a2565)[_0xecb5('0x1a')]();};}function respondWithResult(_0x3c57f8,_0x238ddf){_0x238ddf=_0x238ddf||0xc8;return function(_0x53b48c){if(_0x53b48c){return _0x3c57f8['status'](_0x238ddf)[_0xecb5('0x1b')](_0x53b48c);}};}function respondWithFilteredResult(_0x2e7754,_0x477338){return function(_0x2322ea){if(_0x2322ea){var _0x3fe31f=typeof _0x477338['offset']===_0xecb5('0x1c')&&typeof _0x477338[_0xecb5('0x1d')]==='undefined';var _0x349cec=_0x2322ea[_0xecb5('0x1e')];var _0x37f759=_0x3fe31f?0x0:_0x477338[_0xecb5('0x1f')];var _0x4d36f7=_0x3fe31f?_0x2322ea[_0xecb5('0x1e')]:_0x477338['offset']+_0x477338[_0xecb5('0x1d')];var _0x37f6c1;if(_0x4d36f7>=_0x349cec){_0x4d36f7=_0x349cec;_0x37f6c1=0xc8;}else{_0x37f6c1=0xce;}_0x2e7754[_0xecb5('0x19')](_0x37f6c1);return _0x2e7754['set']('Content-Range',_0x37f759+'-'+_0x4d36f7+'/'+_0x349cec)[_0xecb5('0x1b')](_0x2322ea);}return null;};}function patchUpdates(_0x373f06){return function(_0x4a7063){try{jsonpatch[_0xecb5('0x20')](_0x4a7063,_0x373f06,!![]);}catch(_0x23b82f){return BPromise[_0xecb5('0x21')](_0x23b82f);}return _0x4a7063[_0xecb5('0x22')]();};}function saveUpdates(_0x274e0e,_0x4a8287){return function(_0x2c49e5){if(_0x2c49e5){return _0x2c49e5[_0xecb5('0x23')](_0x274e0e)['then'](function(_0x54fa1f){return _0x54fa1f;});}return null;};}function removeEntity(_0x1f90f7,_0x48d6d7){return function(_0x42f117){if(_0x42f117){return _0x42f117[_0xecb5('0x24')]()[_0xecb5('0x25')](function(){_0x1f90f7[_0xecb5('0x19')](0xcc)[_0xecb5('0x1a')]();});}};}function handleEntityNotFound(_0xf658f1,_0x218f23){return function(_0x2e4415){if(!_0x2e4415){_0xf658f1[_0xecb5('0x18')](0x194);}return _0x2e4415;};}function handleError(_0x4b32fa,_0xe43a14){_0xe43a14=_0xe43a14||0x1f4;return function(_0x33a029){logger[_0xecb5('0x26')](_0x33a029[_0xecb5('0x27')]);if(_0x33a029[_0xecb5('0x28')]){delete _0x33a029['name'];}_0x4b32fa['status'](_0xe43a14)[_0xecb5('0x29')](_0x33a029);};}exports[_0xecb5('0x2a')]=function(_0x36e19e,_0x2c423d){var _0x22f087={},_0x49f8de={},_0x1fe302={'count':0x0,'rows':[]};var _0x39ee21=_[_0xecb5('0x2b')](db[_0xecb5('0x2c')][_0xecb5('0x2d')],function(_0x385cf2){return{'name':_0x385cf2[_0xecb5('0x2e')],'type':_0x385cf2[_0xecb5('0x2f')][_0xecb5('0x30')]};});_0x49f8de[_0xecb5('0x31')]=_[_0xecb5('0x2b')](_0x39ee21,'name');_0x49f8de[_0xecb5('0x32')]=_['keys'](_0x36e19e[_0xecb5('0x32')]);_0x49f8de['filters']=_[_0xecb5('0x33')](_0x49f8de[_0xecb5('0x31')],_0x49f8de[_0xecb5('0x32')]);_0x22f087[_0xecb5('0x34')]=_[_0xecb5('0x33')](_0x49f8de['model'],qs[_0xecb5('0x35')](_0x36e19e[_0xecb5('0x32')][_0xecb5('0x35')]));_0x22f087[_0xecb5('0x34')]=_0x22f087[_0xecb5('0x34')][_0xecb5('0x36')]?_0x22f087[_0xecb5('0x34')]:_0x49f8de['model'];if(!_0x36e19e[_0xecb5('0x32')]['hasOwnProperty']('nolimit')){_0x22f087['limit']=qs['limit'](_0x36e19e[_0xecb5('0x32')][_0xecb5('0x1d')]);_0x22f087[_0xecb5('0x1f')]=qs['offset'](_0x36e19e[_0xecb5('0x32')]['offset']);}_0x22f087[_0xecb5('0x37')]=qs[_0xecb5('0x38')](_0x36e19e[_0xecb5('0x32')][_0xecb5('0x38')]);_0x22f087[_0xecb5('0x39')]=qs[_0xecb5('0x3a')](_['pick'](_0x36e19e['query'],_0x49f8de[_0xecb5('0x3a')]),_0x39ee21);if(_0x36e19e[_0xecb5('0x32')]['filter']){_0x22f087[_0xecb5('0x39')]=_[_0xecb5('0x3b')](_0x22f087[_0xecb5('0x39')],{'$or':_[_0xecb5('0x2b')](_0x39ee21,function(_0x5e4883){if(_0x5e4883['type']!==_0xecb5('0x3c')){var _0x1ceabb={};_0x1ceabb[_0x5e4883[_0xecb5('0x28')]]={'$like':'%'+_0x36e19e[_0xecb5('0x32')][_0xecb5('0x3d')]+'%'};return _0x1ceabb;}})});}_0x22f087=_['merge']({},_0x22f087,_0x36e19e[_0xecb5('0x3e')]);var _0xb905a7={'where':_0x22f087['where']};return db[_0xecb5('0x2c')]['count'](_0xb905a7)[_0xecb5('0x25')](function(_0x117847){_0x1fe302[_0xecb5('0x1e')]=_0x117847;if(_0x36e19e[_0xecb5('0x32')][_0xecb5('0x3f')]){_0x22f087[_0xecb5('0x40')]=[{'all':!![]}];}return db[_0xecb5('0x2c')]['findAll'](_0x22f087);})['then'](function(_0x402657){_0x1fe302[_0xecb5('0x41')]=_0x402657;return _0x1fe302;})[_0xecb5('0x25')](respondWithFilteredResult(_0x2c423d,_0x22f087))[_0xecb5('0x42')](handleError(_0x2c423d,null));};exports[_0xecb5('0x43')]=function(_0x50fd51,_0x3f3c90){var _0x297450={'raw':![],'where':{'id':_0x50fd51[_0xecb5('0x44')]['id']}},_0x71ec74={};_0x71ec74['model']=_[_0xecb5('0x45')](db[_0xecb5('0x2c')]['rawAttributes']);_0x71ec74[_0xecb5('0x32')]=_[_0xecb5('0x45')](_0x50fd51[_0xecb5('0x32')]);_0x71ec74[_0xecb5('0x3a')]=_[_0xecb5('0x33')](_0x71ec74[_0xecb5('0x31')],_0x71ec74['query']);_0x297450[_0xecb5('0x34')]=_[_0xecb5('0x33')](_0x71ec74['model'],qs[_0xecb5('0x35')](_0x50fd51[_0xecb5('0x32')][_0xecb5('0x35')]));_0x297450[_0xecb5('0x34')]=_0x297450[_0xecb5('0x34')][_0xecb5('0x36')]?_0x297450[_0xecb5('0x34')]:_0x71ec74[_0xecb5('0x31')];if(_0x50fd51[_0xecb5('0x32')][_0xecb5('0x3f')]){_0x297450['include']=[{'all':!![]}];}_0x297450=_[_0xecb5('0x3b')]({},_0x297450,_0x50fd51[_0xecb5('0x3e')]);return db[_0xecb5('0x2c')][_0xecb5('0x46')](_0x297450)[_0xecb5('0x25')](handleEntityNotFound(_0x3f3c90,null))['then'](respondWithResult(_0x3f3c90,null))[_0xecb5('0x42')](handleError(_0x3f3c90,null));};exports[_0xecb5('0x47')]=function(_0x50c5d5,_0x571293){return db[_0xecb5('0x2c')][_0xecb5('0x47')](_0x50c5d5[_0xecb5('0x48')],{})[_0xecb5('0x25')](respondWithResult(_0x571293,0xc9))['catch'](handleError(_0x571293,null));};exports['update']=function(_0x52d4d9,_0x351237){if(_0x52d4d9[_0xecb5('0x48')]['id']){delete _0x52d4d9[_0xecb5('0x48')]['id'];}return db[_0xecb5('0x2c')][_0xecb5('0x46')]({'where':{'id':_0x52d4d9['params']['id']}})[_0xecb5('0x25')](handleEntityNotFound(_0x351237,null))[_0xecb5('0x25')](saveUpdates(_0x52d4d9[_0xecb5('0x48')],null))[_0xecb5('0x25')](respondWithResult(_0x351237,null))[_0xecb5('0x42')](handleError(_0x351237,null));};exports[_0xecb5('0x24')]=function(_0x3359a4,_0x916a8a){return db['FreshsalesConfiguration']['find']({'where':{'id':_0x3359a4['params']['id']}})['then'](handleEntityNotFound(_0x916a8a,null))['then'](removeEntity(_0x916a8a,null))[_0xecb5('0x42')](handleError(_0x916a8a,null));};exports[_0xecb5('0x49')]=function(_0x1a545f,_0x196f2c,_0x1c945e){var _0x42ed7d={};var _0x56774={};var _0x491f06;var _0x530878;return db[_0xecb5('0x2c')][_0xecb5('0x4a')]({'where':{'id':_0x1a545f[_0xecb5('0x44')]['id']}})[_0xecb5('0x25')](handleEntityNotFound(_0x196f2c,null))[_0xecb5('0x25')](function(_0x5a6258){if(_0x5a6258){_0x491f06=_0x5a6258;_0x56774[_0xecb5('0x31')]=_['keys'](db[_0xecb5('0x4b')]['rawAttributes']);_0x56774[_0xecb5('0x32')]=_[_0xecb5('0x45')](_0x1a545f[_0xecb5('0x32')]);_0x56774[_0xecb5('0x3a')]=_[_0xecb5('0x33')](_0x56774[_0xecb5('0x31')],_0x56774[_0xecb5('0x32')]);_0x42ed7d[_0xecb5('0x34')]=_[_0xecb5('0x33')](_0x56774[_0xecb5('0x31')],qs['fields'](_0x1a545f['query'][_0xecb5('0x35')]));_0x42ed7d[_0xecb5('0x34')]=_0x42ed7d[_0xecb5('0x34')][_0xecb5('0x36')]?_0x42ed7d[_0xecb5('0x34')]:_0x56774['model'];_0x42ed7d[_0xecb5('0x37')]=qs[_0xecb5('0x38')](_0x1a545f[_0xecb5('0x32')][_0xecb5('0x38')]);_0x42ed7d[_0xecb5('0x39')]=qs['filters'](_[_0xecb5('0x4c')](_0x1a545f['query'],_0x56774[_0xecb5('0x3a')]));if(_0x1a545f[_0xecb5('0x32')]['filter']){_0x42ed7d[_0xecb5('0x39')]=_['merge'](_0x42ed7d[_0xecb5('0x39')],{'$or':_[_0xecb5('0x2b')](_0x42ed7d[_0xecb5('0x34')],function(_0x23df4e){var _0x32c400={};_0x32c400[_0x23df4e]={'$like':'%'+_0x1a545f[_0xecb5('0x32')][_0xecb5('0x3d')]+'%'};return _0x32c400;})});}_0x42ed7d=_['merge']({},_0x42ed7d,_0x1a545f['options']);return _0x491f06[_0xecb5('0x49')](_0x42ed7d);}})[_0xecb5('0x25')](function(_0x5ef1f4){if(_0x5ef1f4){_0x530878=_0x5ef1f4[_0xecb5('0x36')];if(!_0x1a545f[_0xecb5('0x32')][_0xecb5('0x4d')]('nolimit')){_0x42ed7d[_0xecb5('0x1d')]=qs[_0xecb5('0x1d')](_0x1a545f['query'][_0xecb5('0x1d')]);_0x42ed7d[_0xecb5('0x1f')]=qs[_0xecb5('0x1f')](_0x1a545f[_0xecb5('0x32')]['offset']);}return _0x491f06['getSubjects'](_0x42ed7d);}})[_0xecb5('0x25')](function(_0x367627){if(_0x367627){return _0x367627?{'count':_0x530878,'rows':_0x367627}:null;}})[_0xecb5('0x25')](respondWithResult(_0x196f2c,null))[_0xecb5('0x42')](handleError(_0x196f2c,null));};exports['getDescriptions']=function(_0xbc0662,_0x2cee33,_0x3e5b88){var _0x3816f7={};var _0x79317c={};var _0x1357c4;var _0x58c19c;return db[_0xecb5('0x2c')][_0xecb5('0x4a')]({'where':{'id':_0xbc0662['params']['id']}})[_0xecb5('0x25')](handleEntityNotFound(_0x2cee33,null))[_0xecb5('0x25')](function(_0x7ac245){if(_0x7ac245){_0x1357c4=_0x7ac245;_0x79317c['model']=_[_0xecb5('0x45')](db[_0xecb5('0x4b')][_0xecb5('0x2d')]);_0x79317c[_0xecb5('0x32')]=_['keys'](_0xbc0662[_0xecb5('0x32')]);_0x79317c[_0xecb5('0x3a')]=_[_0xecb5('0x33')](_0x79317c[_0xecb5('0x31')],_0x79317c[_0xecb5('0x32')]);_0x3816f7[_0xecb5('0x34')]=_[_0xecb5('0x33')](_0x79317c['model'],qs['fields'](_0xbc0662['query'][_0xecb5('0x35')]));_0x3816f7[_0xecb5('0x34')]=_0x3816f7[_0xecb5('0x34')][_0xecb5('0x36')]?_0x3816f7[_0xecb5('0x34')]:_0x79317c['model'];_0x3816f7[_0xecb5('0x37')]=qs[_0xecb5('0x38')](_0xbc0662[_0xecb5('0x32')][_0xecb5('0x38')]);_0x3816f7[_0xecb5('0x39')]=qs['filters'](_[_0xecb5('0x4c')](_0xbc0662['query'],_0x79317c[_0xecb5('0x3a')]));if(_0xbc0662['query'][_0xecb5('0x3d')]){_0x3816f7[_0xecb5('0x39')]=_[_0xecb5('0x3b')](_0x3816f7[_0xecb5('0x39')],{'$or':_['map'](_0x3816f7[_0xecb5('0x34')],function(_0x13db5f){var _0x34bc1b={};_0x34bc1b[_0x13db5f]={'$like':'%'+_0xbc0662[_0xecb5('0x32')][_0xecb5('0x3d')]+'%'};return _0x34bc1b;})});}_0x3816f7=_[_0xecb5('0x3b')]({},_0x3816f7,_0xbc0662[_0xecb5('0x3e')]);return _0x1357c4['getDescriptions'](_0x3816f7);}})[_0xecb5('0x25')](function(_0x3593a1){if(_0x3593a1){_0x58c19c=_0x3593a1['length'];if(!_0xbc0662['query'][_0xecb5('0x4d')](_0xecb5('0x4e'))){_0x3816f7[_0xecb5('0x1d')]=qs['limit'](_0xbc0662[_0xecb5('0x32')]['limit']);_0x3816f7[_0xecb5('0x1f')]=qs[_0xecb5('0x1f')](_0xbc0662[_0xecb5('0x32')][_0xecb5('0x1f')]);}return _0x1357c4[_0xecb5('0x4f')](_0x3816f7);}})[_0xecb5('0x25')](function(_0x117478){if(_0x117478){return _0x117478?{'count':_0x58c19c,'rows':_0x117478}:null;}})[_0xecb5('0x25')](respondWithResult(_0x2cee33,null))[_0xecb5('0x42')](handleError(_0x2cee33,null));};exports['getFields']=function(_0x2e221b,_0x39c851,_0x353fcc){var _0x40d165={};var _0x251bff={};var _0x41f831;var _0x5c7ad5;return db[_0xecb5('0x2c')]['findOne']({'where':{'id':_0x2e221b[_0xecb5('0x44')]['id']}})['then'](handleEntityNotFound(_0x39c851,null))['then'](function(_0x3dfd4a){if(_0x3dfd4a){_0x41f831=_0x3dfd4a;_0x251bff[_0xecb5('0x31')]=_['keys'](db[_0xecb5('0x4b')]['rawAttributes']);_0x251bff[_0xecb5('0x32')]=_['keys'](_0x2e221b[_0xecb5('0x32')]);_0x251bff[_0xecb5('0x3a')]=_[_0xecb5('0x33')](_0x251bff[_0xecb5('0x31')],_0x251bff[_0xecb5('0x32')]);_0x40d165['attributes']=_['intersection'](_0x251bff[_0xecb5('0x31')],qs[_0xecb5('0x35')](_0x2e221b['query']['fields']));_0x40d165[_0xecb5('0x34')]=_0x40d165[_0xecb5('0x34')][_0xecb5('0x36')]?_0x40d165[_0xecb5('0x34')]:_0x251bff[_0xecb5('0x31')];_0x40d165[_0xecb5('0x37')]=qs[_0xecb5('0x38')](_0x2e221b[_0xecb5('0x32')][_0xecb5('0x38')]);_0x40d165[_0xecb5('0x39')]=qs[_0xecb5('0x3a')](_['pick'](_0x2e221b[_0xecb5('0x32')],_0x251bff[_0xecb5('0x3a')]));if(_0x2e221b[_0xecb5('0x32')][_0xecb5('0x3d')]){_0x40d165[_0xecb5('0x39')]=_[_0xecb5('0x3b')](_0x40d165[_0xecb5('0x39')],{'$or':_[_0xecb5('0x2b')](_0x40d165[_0xecb5('0x34')],function(_0x48bee2){var _0x4e759b={};_0x4e759b[_0x48bee2]={'$like':'%'+_0x2e221b['query'][_0xecb5('0x3d')]+'%'};return _0x4e759b;})});}_0x40d165=_[_0xecb5('0x3b')]({},_0x40d165,_0x2e221b[_0xecb5('0x3e')]);return _0x41f831[_0xecb5('0x50')](_0x40d165);}})[_0xecb5('0x25')](function(_0x38b5f3){if(_0x38b5f3){_0x5c7ad5=_0x38b5f3['length'];if(!_0x2e221b[_0xecb5('0x32')][_0xecb5('0x4d')](_0xecb5('0x4e'))){_0x40d165[_0xecb5('0x1d')]=qs[_0xecb5('0x1d')](_0x2e221b['query'][_0xecb5('0x1d')]);_0x40d165[_0xecb5('0x1f')]=qs['offset'](_0x2e221b[_0xecb5('0x32')][_0xecb5('0x1f')]);}return _0x41f831[_0xecb5('0x50')](_0x40d165);}})[_0xecb5('0x25')](function(_0x4c1031){if(_0x4c1031){return _0x4c1031?{'count':_0x5c7ad5,'rows':_0x4c1031}:null;}})[_0xecb5('0x25')](respondWithResult(_0x39c851,null))[_0xecb5('0x42')](handleError(_0x39c851,null));};