2b42baa3f5cdb27f2becd66d3e4d09b0ea581a7d
[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 _0x814b=['error','code','message','result','catch','sendStatus','status','end','json','offset','set','Content-Range','save','destroy','stack','name','index','map','rawAttributes','fieldName','type','key','model','keys','filters','query','fields','attributes','hasOwnProperty','nolimit','limit','where','pick','merge','filter','options','count','includeAll','include','FreshsalesConfiguration','findAll','params','intersection','length','find','create','body','update','findOne','FreshsalesField','order','getSubjects','sort','getFields','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','FreshsalesConfiguration,\x20%s,\x20%s','request\x20sent','debug','FreshsalesConfiguration,\x20%s,\x20%s,\x20%s'];(function(_0x5c4e16,_0x113035){var _0x36044a=function(_0xde2f25){while(--_0xde2f25){_0x5c4e16['push'](_0x5c4e16['shift']());}};_0x36044a(++_0x113035);}(_0x814b,0x1a2));var _0xb814=function(_0x2183ca,_0x3778a9){_0x2183ca=_0x2183ca-0x0;var _0x21d00e=_0x814b[_0x2183ca];return _0x21d00e;};'use strict';var pdf=require(_0xb814('0x0'));var emlformat=require(_0xb814('0x1'));var rimraf=require(_0xb814('0x2'));var zipdir=require(_0xb814('0x3'));var jsonpatch=require(_0xb814('0x4'));var rp=require(_0xb814('0x5'));var moment=require('moment');var BPromise=require(_0xb814('0x6'));var Mustache=require(_0xb814('0x7'));var util=require(_0xb814('0x8'));var path=require(_0xb814('0x9'));var sox=require(_0xb814('0xa'));var csv=require(_0xb814('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xb814('0xc'));var squel=require(_0xb814('0xd'));var crypto=require('crypto');var jsforce=require(_0xb814('0xe'));var deskjs=require(_0xb814('0xf'));var toCsv=require(_0xb814('0xb'));var querystring=require(_0xb814('0x10'));var Papa=require(_0xb814('0x11'));var Redis=require(_0xb814('0x12'));var authService=require(_0xb814('0x13'));var qs=require(_0xb814('0x14'));var as=require(_0xb814('0x15'));var hardwareService=require(_0xb814('0x16'));var logger=require(_0xb814('0x17'))('api');var utils=require(_0xb814('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0xb814('0x19'));var db=require(_0xb814('0x1a'))['db'];var jayson=require(_0xb814('0x1b'));var client=jayson[_0xb814('0x1c')][_0xb814('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x3bde14,_0x1438e7,_0x41ed7b,_0xa0a2e5){return new BPromise(function(_0x2ab627,_0x3f4881){var _0x44fb96=_0xa0a2e5||client;return _0x44fb96[_0xb814('0x1e')](_0x3bde14,_0x41ed7b)[_0xb814('0x1f')](function(_0x303aca){logger[_0xb814('0x20')](_0xb814('0x21'),_0x1438e7,_0xb814('0x22'));logger[_0xb814('0x23')](_0xb814('0x24'),_0x1438e7,_0xb814('0x22'),JSON['stringify'](_0x303aca));if(_0x303aca[_0xb814('0x25')]){if(_0x303aca['error'][_0xb814('0x26')]===0x1f4){logger[_0xb814('0x25')]('FreshsalesConfiguration,\x20%s,\x20%s',_0x1438e7,_0x303aca['error']['message']);return _0x3f4881(_0x303aca[_0xb814('0x25')]['message']);}logger['error'](_0xb814('0x21'),_0x1438e7,_0x303aca[_0xb814('0x25')][_0xb814('0x27')]);return _0x2ab627(_0x303aca['error'][_0xb814('0x27')]);}else{logger['info'](_0xb814('0x21'),_0x1438e7,_0xb814('0x22'));_0x2ab627(_0x303aca[_0xb814('0x28')][_0xb814('0x27')]);}})[_0xb814('0x29')](function(_0x2bd039){logger[_0xb814('0x25')]('FreshsalesConfiguration,\x20%s,\x20%s',_0x1438e7,_0x2bd039);_0x3f4881(_0x2bd039);});});}function respondWithStatusCode(_0x2ead86,_0x52b7a3){_0x52b7a3=_0x52b7a3||0xcc;return function(_0x3f81d0){if(_0x3f81d0){return _0x2ead86[_0xb814('0x2a')](_0x52b7a3);}return _0x2ead86[_0xb814('0x2b')](_0x52b7a3)[_0xb814('0x2c')]();};}function respondWithResult(_0x1c8a2e,_0xb9e57d){_0xb9e57d=_0xb9e57d||0xc8;return function(_0x3d836c){if(_0x3d836c){return _0x1c8a2e['status'](_0xb9e57d)[_0xb814('0x2d')](_0x3d836c);}};}function respondWithFilteredResult(_0xc0ef66,_0x1c2625){return function(_0x349394){if(_0x349394){var _0x32ed56=_0x349394['count'],_0x1d5965=_0x1c2625[_0xb814('0x2e')],_0x3f0150=_0x1c2625[_0xb814('0x2e')]+_0x1c2625['limit'],_0x1e4e89;if(_0x3f0150>=_0x32ed56){_0x3f0150=_0x32ed56;_0x1e4e89=0xc8;}else{_0x1e4e89=0xce;}_0xc0ef66[_0xb814('0x2b')](_0x1e4e89);return _0xc0ef66[_0xb814('0x2f')](_0xb814('0x30'),_0x1d5965+'-'+_0x3f0150+'/'+_0x32ed56)['json'](_0x349394);}return null;};}function patchUpdates(_0x20577b){return function(_0x2051d0){try{jsonpatch['apply'](_0x2051d0,_0x20577b,!![]);}catch(_0x338a28){return BPromise['reject'](_0x338a28);}return _0x2051d0[_0xb814('0x31')]();};}function saveUpdates(_0x5f3e9b,_0x4cfc58){return function(_0x419cd9){if(_0x419cd9){return _0x419cd9['update'](_0x5f3e9b)[_0xb814('0x1f')](function(_0x19469b){return _0x19469b;});}return null;};}function removeEntity(_0x2b91bd,_0x599f9f){return function(_0x51d5ae){if(_0x51d5ae){return _0x51d5ae[_0xb814('0x32')]()[_0xb814('0x1f')](function(){_0x2b91bd['status'](0xcc)[_0xb814('0x2c')]();});}};}function handleEntityNotFound(_0xe558d5,_0x692c72){return function(_0x217b7e){if(!_0x217b7e){_0xe558d5[_0xb814('0x2a')](0x194);}return _0x217b7e;};}function handleError(_0x60024d,_0x3672f3){_0x3672f3=_0x3672f3||0x1f4;return function(_0x4df4e6){logger[_0xb814('0x25')](_0x4df4e6[_0xb814('0x33')]);if(_0x4df4e6[_0xb814('0x34')]){delete _0x4df4e6[_0xb814('0x34')];}_0x60024d[_0xb814('0x2b')](_0x3672f3)['send'](_0x4df4e6);};}exports[_0xb814('0x35')]=function(_0x57e6e6,_0x43db67){var _0x16e21c={},_0xe0f509={},_0x492d5e={'count':0x0,'rows':[]};var _0x40b885=_[_0xb814('0x36')](db['FreshsalesConfiguration'][_0xb814('0x37')],function(_0x2d0e27){return{'name':_0x2d0e27[_0xb814('0x38')],'type':_0x2d0e27[_0xb814('0x39')][_0xb814('0x3a')]};});_0xe0f509[_0xb814('0x3b')]=_['map'](_0x40b885,_0xb814('0x34'));_0xe0f509['query']=_[_0xb814('0x3c')](_0x57e6e6['query']);_0xe0f509[_0xb814('0x3d')]=_['intersection'](_0xe0f509[_0xb814('0x3b')],_0xe0f509[_0xb814('0x3e')]);_0x16e21c['attributes']=_['intersection'](_0xe0f509['model'],qs['fields'](_0x57e6e6[_0xb814('0x3e')][_0xb814('0x3f')]));_0x16e21c[_0xb814('0x40')]=_0x16e21c[_0xb814('0x40')]['length']?_0x16e21c['attributes']:_0xe0f509[_0xb814('0x3b')];if(!_0x57e6e6['query'][_0xb814('0x41')](_0xb814('0x42'))){_0x16e21c[_0xb814('0x43')]=qs[_0xb814('0x43')](_0x57e6e6[_0xb814('0x3e')][_0xb814('0x43')]);_0x16e21c[_0xb814('0x2e')]=qs[_0xb814('0x2e')](_0x57e6e6[_0xb814('0x3e')]['offset']);}_0x16e21c['order']=qs['sort'](_0x57e6e6[_0xb814('0x3e')]['sort']);_0x16e21c[_0xb814('0x44')]=qs['filters'](_[_0xb814('0x45')](_0x57e6e6[_0xb814('0x3e')],_0xe0f509[_0xb814('0x3d')]),_0x40b885);if(_0x57e6e6[_0xb814('0x3e')]['filter']){_0x16e21c[_0xb814('0x44')]=_[_0xb814('0x46')](_0x16e21c[_0xb814('0x44')],{'$or':_[_0xb814('0x36')](_0x40b885,function(_0x7d92aa){if(_0x7d92aa[_0xb814('0x39')]!=='VIRTUAL'){var _0x69f060={};_0x69f060[_0x7d92aa[_0xb814('0x34')]]={'$like':'%'+_0x57e6e6[_0xb814('0x3e')][_0xb814('0x47')]+'%'};return _0x69f060;}})});}_0x16e21c=_[_0xb814('0x46')]({},_0x16e21c,_0x57e6e6[_0xb814('0x48')]);var _0x263152={'where':_0x16e21c['where']};return db['FreshsalesConfiguration'][_0xb814('0x49')](_0x263152)[_0xb814('0x1f')](function(_0x4c08d6){_0x492d5e[_0xb814('0x49')]=_0x4c08d6;if(_0x57e6e6[_0xb814('0x3e')][_0xb814('0x4a')]){_0x16e21c[_0xb814('0x4b')]=[{'all':!![]}];}return db[_0xb814('0x4c')][_0xb814('0x4d')](_0x16e21c);})[_0xb814('0x1f')](function(_0xe73300){_0x492d5e['rows']=_0xe73300;return _0x492d5e;})[_0xb814('0x1f')](respondWithFilteredResult(_0x43db67,_0x16e21c))[_0xb814('0x29')](handleError(_0x43db67,null));};exports['show']=function(_0x338e80,_0x55234d){var _0x2fb0f7={'raw':![],'where':{'id':_0x338e80[_0xb814('0x4e')]['id']}},_0x37866f={};_0x37866f[_0xb814('0x3b')]=_[_0xb814('0x3c')](db[_0xb814('0x4c')][_0xb814('0x37')]);_0x37866f[_0xb814('0x3e')]=_[_0xb814('0x3c')](_0x338e80[_0xb814('0x3e')]);_0x37866f['filters']=_['intersection'](_0x37866f[_0xb814('0x3b')],_0x37866f[_0xb814('0x3e')]);_0x2fb0f7[_0xb814('0x40')]=_[_0xb814('0x4f')](_0x37866f[_0xb814('0x3b')],qs[_0xb814('0x3f')](_0x338e80[_0xb814('0x3e')]['fields']));_0x2fb0f7[_0xb814('0x40')]=_0x2fb0f7[_0xb814('0x40')][_0xb814('0x50')]?_0x2fb0f7['attributes']:_0x37866f[_0xb814('0x3b')];if(_0x338e80['query'][_0xb814('0x4a')]){_0x2fb0f7['include']=[{'all':!![]}];}_0x2fb0f7=_[_0xb814('0x46')]({},_0x2fb0f7,_0x338e80[_0xb814('0x48')]);return db['FreshsalesConfiguration'][_0xb814('0x51')](_0x2fb0f7)[_0xb814('0x1f')](handleEntityNotFound(_0x55234d,null))[_0xb814('0x1f')](respondWithResult(_0x55234d,null))['catch'](handleError(_0x55234d,null));};exports[_0xb814('0x52')]=function(_0x5f0e58,_0x13bdcf){return db[_0xb814('0x4c')]['create'](_0x5f0e58[_0xb814('0x53')],{})['then'](respondWithResult(_0x13bdcf,0xc9))['catch'](handleError(_0x13bdcf,null));};exports[_0xb814('0x54')]=function(_0x35f59a,_0x34935b){if(_0x35f59a['body']['id']){delete _0x35f59a[_0xb814('0x53')]['id'];}return db['FreshsalesConfiguration'][_0xb814('0x51')]({'where':{'id':_0x35f59a[_0xb814('0x4e')]['id']}})['then'](handleEntityNotFound(_0x34935b,null))[_0xb814('0x1f')](saveUpdates(_0x35f59a['body'],null))[_0xb814('0x1f')](respondWithResult(_0x34935b,null))[_0xb814('0x29')](handleError(_0x34935b,null));};exports[_0xb814('0x32')]=function(_0x113fe5,_0x251d44){return db[_0xb814('0x4c')][_0xb814('0x51')]({'where':{'id':_0x113fe5[_0xb814('0x4e')]['id']}})['then'](handleEntityNotFound(_0x251d44,null))[_0xb814('0x1f')](removeEntity(_0x251d44,null))[_0xb814('0x29')](handleError(_0x251d44,null));};exports['getSubjects']=function(_0x29a127,_0xe14249,_0x4d13db){var _0x371000={};var _0x58b9a6={};var _0x48362c;var _0x2114ca;return db['FreshsalesConfiguration'][_0xb814('0x55')]({'where':{'id':_0x29a127[_0xb814('0x4e')]['id']}})[_0xb814('0x1f')](handleEntityNotFound(_0xe14249,null))['then'](function(_0x1a0ef4){if(_0x1a0ef4){_0x48362c=_0x1a0ef4;_0x58b9a6['model']=_[_0xb814('0x3c')](db[_0xb814('0x56')][_0xb814('0x37')]);_0x58b9a6[_0xb814('0x3e')]=_[_0xb814('0x3c')](_0x29a127[_0xb814('0x3e')]);_0x58b9a6[_0xb814('0x3d')]=_[_0xb814('0x4f')](_0x58b9a6[_0xb814('0x3b')],_0x58b9a6['query']);_0x371000[_0xb814('0x40')]=_[_0xb814('0x4f')](_0x58b9a6[_0xb814('0x3b')],qs[_0xb814('0x3f')](_0x29a127[_0xb814('0x3e')][_0xb814('0x3f')]));_0x371000['attributes']=_0x371000[_0xb814('0x40')]['length']?_0x371000[_0xb814('0x40')]:_0x58b9a6[_0xb814('0x3b')];_0x371000[_0xb814('0x57')]=qs['sort'](_0x29a127[_0xb814('0x3e')]['sort']);_0x371000[_0xb814('0x44')]=qs['filters'](_[_0xb814('0x45')](_0x29a127[_0xb814('0x3e')],_0x58b9a6[_0xb814('0x3d')]));if(_0x29a127[_0xb814('0x3e')][_0xb814('0x47')]){_0x371000[_0xb814('0x44')]=_[_0xb814('0x46')](_0x371000['where'],{'$or':_[_0xb814('0x36')](_0x371000['attributes'],function(_0x255047){var _0x22c73f={};_0x22c73f[_0x255047]={'$like':'%'+_0x29a127[_0xb814('0x3e')][_0xb814('0x47')]+'%'};return _0x22c73f;})});}_0x371000=_[_0xb814('0x46')]({},_0x371000,_0x29a127[_0xb814('0x48')]);return _0x48362c['getSubjects'](_0x371000);}})[_0xb814('0x1f')](function(_0x1a2603){if(_0x1a2603){_0x2114ca=_0x1a2603['length'];if(!_0x29a127[_0xb814('0x3e')][_0xb814('0x41')](_0xb814('0x42'))){_0x371000[_0xb814('0x43')]=qs[_0xb814('0x43')](_0x29a127['query'][_0xb814('0x43')]);_0x371000['offset']=qs[_0xb814('0x2e')](_0x29a127[_0xb814('0x3e')][_0xb814('0x2e')]);}return _0x48362c[_0xb814('0x58')](_0x371000);}})[_0xb814('0x1f')](function(_0x41bcaf){if(_0x41bcaf){return _0x41bcaf?{'count':_0x2114ca,'rows':_0x41bcaf}:null;}})['then'](respondWithResult(_0xe14249,null))['catch'](handleError(_0xe14249,null));};exports['getDescriptions']=function(_0x25c776,_0x490e5c,_0x45a8b9){var _0x1d3954={};var _0x25db89={};var _0x5e966c;var _0x1b76fa;return db[_0xb814('0x4c')][_0xb814('0x55')]({'where':{'id':_0x25c776['params']['id']}})[_0xb814('0x1f')](handleEntityNotFound(_0x490e5c,null))[_0xb814('0x1f')](function(_0x1f39c0){if(_0x1f39c0){_0x5e966c=_0x1f39c0;_0x25db89[_0xb814('0x3b')]=_['keys'](db['FreshsalesField'][_0xb814('0x37')]);_0x25db89[_0xb814('0x3e')]=_[_0xb814('0x3c')](_0x25c776[_0xb814('0x3e')]);_0x25db89[_0xb814('0x3d')]=_[_0xb814('0x4f')](_0x25db89[_0xb814('0x3b')],_0x25db89[_0xb814('0x3e')]);_0x1d3954[_0xb814('0x40')]=_[_0xb814('0x4f')](_0x25db89[_0xb814('0x3b')],qs[_0xb814('0x3f')](_0x25c776[_0xb814('0x3e')][_0xb814('0x3f')]));_0x1d3954[_0xb814('0x40')]=_0x1d3954['attributes'][_0xb814('0x50')]?_0x1d3954[_0xb814('0x40')]:_0x25db89[_0xb814('0x3b')];_0x1d3954[_0xb814('0x57')]=qs[_0xb814('0x59')](_0x25c776[_0xb814('0x3e')]['sort']);_0x1d3954[_0xb814('0x44')]=qs['filters'](_[_0xb814('0x45')](_0x25c776[_0xb814('0x3e')],_0x25db89[_0xb814('0x3d')]));if(_0x25c776[_0xb814('0x3e')][_0xb814('0x47')]){_0x1d3954['where']=_['merge'](_0x1d3954[_0xb814('0x44')],{'$or':_[_0xb814('0x36')](_0x1d3954[_0xb814('0x40')],function(_0x1cbf0c){var _0x488ef2={};_0x488ef2[_0x1cbf0c]={'$like':'%'+_0x25c776[_0xb814('0x3e')]['filter']+'%'};return _0x488ef2;})});}_0x1d3954=_[_0xb814('0x46')]({},_0x1d3954,_0x25c776[_0xb814('0x48')]);return _0x5e966c['getDescriptions'](_0x1d3954);}})['then'](function(_0x2fa6b7){if(_0x2fa6b7){_0x1b76fa=_0x2fa6b7['length'];if(!_0x25c776[_0xb814('0x3e')][_0xb814('0x41')](_0xb814('0x42'))){_0x1d3954[_0xb814('0x43')]=qs[_0xb814('0x43')](_0x25c776[_0xb814('0x3e')][_0xb814('0x43')]);_0x1d3954['offset']=qs[_0xb814('0x2e')](_0x25c776['query'][_0xb814('0x2e')]);}return _0x5e966c['getDescriptions'](_0x1d3954);}})[_0xb814('0x1f')](function(_0x43ee60){if(_0x43ee60){return _0x43ee60?{'count':_0x1b76fa,'rows':_0x43ee60}:null;}})['then'](respondWithResult(_0x490e5c,null))[_0xb814('0x29')](handleError(_0x490e5c,null));};exports['getFields']=function(_0x37adec,_0x356875,_0x4e15c2){var _0x5a0c4a={};var _0x9e2e16={};var _0x25d976;var _0x3309c5;return db[_0xb814('0x4c')][_0xb814('0x55')]({'where':{'id':_0x37adec[_0xb814('0x4e')]['id']}})[_0xb814('0x1f')](handleEntityNotFound(_0x356875,null))[_0xb814('0x1f')](function(_0x8cb107){if(_0x8cb107){_0x25d976=_0x8cb107;_0x9e2e16[_0xb814('0x3b')]=_['keys'](db['FreshsalesField']['rawAttributes']);_0x9e2e16['query']=_['keys'](_0x37adec[_0xb814('0x3e')]);_0x9e2e16[_0xb814('0x3d')]=_[_0xb814('0x4f')](_0x9e2e16['model'],_0x9e2e16[_0xb814('0x3e')]);_0x5a0c4a[_0xb814('0x40')]=_[_0xb814('0x4f')](_0x9e2e16[_0xb814('0x3b')],qs[_0xb814('0x3f')](_0x37adec[_0xb814('0x3e')][_0xb814('0x3f')]));_0x5a0c4a[_0xb814('0x40')]=_0x5a0c4a['attributes'][_0xb814('0x50')]?_0x5a0c4a[_0xb814('0x40')]:_0x9e2e16[_0xb814('0x3b')];_0x5a0c4a[_0xb814('0x57')]=qs['sort'](_0x37adec[_0xb814('0x3e')][_0xb814('0x59')]);_0x5a0c4a[_0xb814('0x44')]=qs[_0xb814('0x3d')](_[_0xb814('0x45')](_0x37adec['query'],_0x9e2e16['filters']));if(_0x37adec[_0xb814('0x3e')]['filter']){_0x5a0c4a[_0xb814('0x44')]=_[_0xb814('0x46')](_0x5a0c4a['where'],{'$or':_[_0xb814('0x36')](_0x5a0c4a['attributes'],function(_0xe17e86){var _0x520d0f={};_0x520d0f[_0xe17e86]={'$like':'%'+_0x37adec[_0xb814('0x3e')][_0xb814('0x47')]+'%'};return _0x520d0f;})});}_0x5a0c4a=_[_0xb814('0x46')]({},_0x5a0c4a,_0x37adec[_0xb814('0x48')]);return _0x25d976[_0xb814('0x5a')](_0x5a0c4a);}})[_0xb814('0x1f')](function(_0x455b22){if(_0x455b22){_0x3309c5=_0x455b22['length'];if(!_0x37adec['query'][_0xb814('0x41')]('nolimit')){_0x5a0c4a['limit']=qs[_0xb814('0x43')](_0x37adec[_0xb814('0x3e')][_0xb814('0x43')]);_0x5a0c4a['offset']=qs[_0xb814('0x2e')](_0x37adec['query'][_0xb814('0x2e')]);}return _0x25d976[_0xb814('0x5a')](_0x5a0c4a);}})[_0xb814('0x1f')](function(_0x2d2b6c){if(_0x2d2b6c){return _0x2d2b6c?{'count':_0x3309c5,'rows':_0x2d2b6c}:null;}})['then'](respondWithResult(_0x356875,null))[_0xb814('0x29')](handleError(_0x356875,null));};