3f3340c2f9745a3d744e96bb80f576a1dc02f958
[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 _0x1261=['result','message','status','end','json','count','offset','limit','Content-Range','apply','reject','update','destroy','sendStatus','stack','name','index','map','rawAttributes','fieldName','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filters','filter','where','VIRTUAL','merge','options','FreshsalesConfiguration','include','findAll','rows','show','keys','includeAll','find','catch','create','body','params','getSubjects','findOne','FreshsalesField','pick','getDescriptions','getFields','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','request\x20sent','debug','FreshsalesConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','FreshsalesConfiguration,\x20%s,\x20%s'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x1261,0x144));var _0x1126=function(_0x3e5b7b,_0x1ca279){_0x3e5b7b=_0x3e5b7b-0x0;var _0x441af8=_0x1261[_0x3e5b7b];return _0x441af8;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x1126('0x0'));var rimraf=require(_0x1126('0x1'));var zipdir=require(_0x1126('0x2'));var jsonpatch=require(_0x1126('0x3'));var rp=require(_0x1126('0x4'));var moment=require(_0x1126('0x5'));var BPromise=require(_0x1126('0x6'));var Mustache=require(_0x1126('0x7'));var util=require(_0x1126('0x8'));var path=require(_0x1126('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x1126('0xa'));var fs=require('fs');var _=require(_0x1126('0xb'));var squel=require('squel');var crypto=require(_0x1126('0xc'));var jsforce=require(_0x1126('0xd'));var deskjs=require(_0x1126('0xe'));var toCsv=require(_0x1126('0xf'));var querystring=require(_0x1126('0x10'));var Papa=require('papaparse');var Redis=require(_0x1126('0x11'));var authService=require(_0x1126('0x12'));var qs=require(_0x1126('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x1126('0x14'));var logger=require('../../config/logger')('api');var utils=require(_0x1126('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x1126('0x16'));var db=require(_0x1126('0x17'))['db'];var jayson=require(_0x1126('0x18'));var client=jayson[_0x1126('0x19')][_0x1126('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x3f10e9,_0xd8ca42,_0x2048ad,_0x43850b){return new BPromise(function(_0x53a8f0,_0x5de9a7){var _0x1af673=_0x43850b||client;return _0x1af673[_0x1126('0x1b')](_0x3f10e9,_0x2048ad)[_0x1126('0x1c')](function(_0x4be0c6){logger[_0x1126('0x1d')]('FreshsalesConfiguration,\x20%s,\x20%s',_0xd8ca42,_0x1126('0x1e'));logger[_0x1126('0x1f')](_0x1126('0x20'),_0xd8ca42,'request\x20sent',JSON[_0x1126('0x21')](_0x4be0c6));if(_0x4be0c6[_0x1126('0x22')]){if(_0x4be0c6['error']['code']===0x1f4){logger[_0x1126('0x22')](_0x1126('0x23'),_0xd8ca42,_0x4be0c6['error']['message']);return _0x5de9a7(_0x4be0c6[_0x1126('0x22')]['message']);}logger[_0x1126('0x22')](_0x1126('0x23'),_0xd8ca42,_0x4be0c6[_0x1126('0x22')]['message']);return _0x53a8f0(_0x4be0c6[_0x1126('0x22')]['message']);}else{logger['info'](_0x1126('0x23'),_0xd8ca42,_0x1126('0x1e'));_0x53a8f0(_0x4be0c6[_0x1126('0x24')][_0x1126('0x25')]);}})['catch'](function(_0x29ab60){logger[_0x1126('0x22')]('FreshsalesConfiguration,\x20%s,\x20%s',_0xd8ca42,_0x29ab60);_0x5de9a7(_0x29ab60);});});}function respondWithStatusCode(_0x2175fa,_0x59cd8e){_0x59cd8e=_0x59cd8e||0xcc;return function(_0x529dd9){if(_0x529dd9){return _0x2175fa['sendStatus'](_0x59cd8e);}return _0x2175fa[_0x1126('0x26')](_0x59cd8e)[_0x1126('0x27')]();};}function respondWithResult(_0x329914,_0x34bcf1){_0x34bcf1=_0x34bcf1||0xc8;return function(_0x566c09){if(_0x566c09){return _0x329914[_0x1126('0x26')](_0x34bcf1)[_0x1126('0x28')](_0x566c09);}};}function respondWithFilteredResult(_0x38119d,_0x589725){return function(_0x35eec3){if(_0x35eec3){var _0x375e59=_0x35eec3[_0x1126('0x29')],_0xa293f4=_0x589725[_0x1126('0x2a')],_0x5ddf63=_0x589725['offset']+_0x589725[_0x1126('0x2b')],_0x541bc9;if(_0x5ddf63>=_0x375e59){_0x5ddf63=_0x375e59;_0x541bc9=0xc8;}else{_0x541bc9=0xce;}_0x38119d[_0x1126('0x26')](_0x541bc9);return _0x38119d['set'](_0x1126('0x2c'),_0xa293f4+'-'+_0x5ddf63+'/'+_0x375e59)['json'](_0x35eec3);}return null;};}function patchUpdates(_0xc62460){return function(_0x4bd50b){try{jsonpatch[_0x1126('0x2d')](_0x4bd50b,_0xc62460,!![]);}catch(_0x583ce6){return BPromise[_0x1126('0x2e')](_0x583ce6);}return _0x4bd50b['save']();};}function saveUpdates(_0x5252e0,_0x4a53ab){return function(_0x17646e){if(_0x17646e){return _0x17646e[_0x1126('0x2f')](_0x5252e0)[_0x1126('0x1c')](function(_0x5b8bea){return _0x5b8bea;});}return null;};}function removeEntity(_0x2a3055,_0x226afb){return function(_0x56f7f8){if(_0x56f7f8){return _0x56f7f8[_0x1126('0x30')]()[_0x1126('0x1c')](function(){_0x2a3055[_0x1126('0x26')](0xcc)[_0x1126('0x27')]();});}};}function handleEntityNotFound(_0x5836a2,_0x5ecbc3){return function(_0x2a7edc){if(!_0x2a7edc){_0x5836a2[_0x1126('0x31')](0x194);}return _0x2a7edc;};}function handleError(_0x2d9bd2,_0x2c67eb){_0x2c67eb=_0x2c67eb||0x1f4;return function(_0x55244a){logger[_0x1126('0x22')](_0x55244a[_0x1126('0x32')]);if(_0x55244a[_0x1126('0x33')]){delete _0x55244a[_0x1126('0x33')];}_0x2d9bd2[_0x1126('0x26')](_0x2c67eb)['send'](_0x55244a);};}exports[_0x1126('0x34')]=function(_0x457efd,_0x1e8402){var _0x42e773={},_0x5c019d={},_0x4ca51c={'count':0x0,'rows':[]};var _0x22827a=_[_0x1126('0x35')](db['FreshsalesConfiguration'][_0x1126('0x36')],function(_0xf3c21b){return{'name':_0xf3c21b[_0x1126('0x37')],'type':_0xf3c21b['type']['key']};});_0x5c019d[_0x1126('0x38')]=_[_0x1126('0x35')](_0x22827a,_0x1126('0x33'));_0x5c019d[_0x1126('0x39')]=_['keys'](_0x457efd[_0x1126('0x39')]);_0x5c019d['filters']=_[_0x1126('0x3a')](_0x5c019d[_0x1126('0x38')],_0x5c019d[_0x1126('0x39')]);_0x42e773[_0x1126('0x3b')]=_[_0x1126('0x3a')](_0x5c019d['model'],qs[_0x1126('0x3c')](_0x457efd[_0x1126('0x39')][_0x1126('0x3c')]));_0x42e773[_0x1126('0x3b')]=_0x42e773[_0x1126('0x3b')][_0x1126('0x3d')]?_0x42e773[_0x1126('0x3b')]:_0x5c019d['model'];if(!_0x457efd[_0x1126('0x39')][_0x1126('0x3e')](_0x1126('0x3f'))){_0x42e773[_0x1126('0x2b')]=qs[_0x1126('0x2b')](_0x457efd['query']['limit']);_0x42e773[_0x1126('0x2a')]=qs[_0x1126('0x2a')](_0x457efd[_0x1126('0x39')][_0x1126('0x2a')]);}_0x42e773[_0x1126('0x40')]=qs[_0x1126('0x41')](_0x457efd['query']['sort']);_0x42e773['where']=qs[_0x1126('0x42')](_['pick'](_0x457efd[_0x1126('0x39')],_0x5c019d[_0x1126('0x42')]),_0x22827a);if(_0x457efd[_0x1126('0x39')][_0x1126('0x43')]){_0x42e773['where']=_['merge'](_0x42e773[_0x1126('0x44')],{'$or':_[_0x1126('0x35')](_0x22827a,function(_0x1d63b9){if(_0x1d63b9['type']!==_0x1126('0x45')){var _0x5f35fa={};_0x5f35fa[_0x1d63b9[_0x1126('0x33')]]={'$like':'%'+_0x457efd['query'][_0x1126('0x43')]+'%'};return _0x5f35fa;}})});}_0x42e773=_[_0x1126('0x46')]({},_0x42e773,_0x457efd[_0x1126('0x47')]);var _0x4cbe19={'where':_0x42e773[_0x1126('0x44')]};return db[_0x1126('0x48')][_0x1126('0x29')](_0x4cbe19)['then'](function(_0x58ff3a){_0x4ca51c['count']=_0x58ff3a;if(_0x457efd[_0x1126('0x39')]['includeAll']){_0x42e773[_0x1126('0x49')]=[{'all':!![]}];}return db['FreshsalesConfiguration'][_0x1126('0x4a')](_0x42e773);})[_0x1126('0x1c')](function(_0x146066){_0x4ca51c[_0x1126('0x4b')]=_0x146066;return _0x4ca51c;})[_0x1126('0x1c')](respondWithFilteredResult(_0x1e8402,_0x42e773))['catch'](handleError(_0x1e8402,null));};exports[_0x1126('0x4c')]=function(_0x512f60,_0x5111d3){var _0x1a15f8={'raw':![],'where':{'id':_0x512f60['params']['id']}},_0x13dc39={};_0x13dc39[_0x1126('0x38')]=_[_0x1126('0x4d')](db['FreshsalesConfiguration'][_0x1126('0x36')]);_0x13dc39[_0x1126('0x39')]=_[_0x1126('0x4d')](_0x512f60['query']);_0x13dc39[_0x1126('0x42')]=_[_0x1126('0x3a')](_0x13dc39[_0x1126('0x38')],_0x13dc39[_0x1126('0x39')]);_0x1a15f8[_0x1126('0x3b')]=_[_0x1126('0x3a')](_0x13dc39[_0x1126('0x38')],qs[_0x1126('0x3c')](_0x512f60['query'][_0x1126('0x3c')]));_0x1a15f8['attributes']=_0x1a15f8[_0x1126('0x3b')][_0x1126('0x3d')]?_0x1a15f8['attributes']:_0x13dc39['model'];if(_0x512f60[_0x1126('0x39')][_0x1126('0x4e')]){_0x1a15f8[_0x1126('0x49')]=[{'all':!![]}];}_0x1a15f8=_['merge']({},_0x1a15f8,_0x512f60[_0x1126('0x47')]);return db[_0x1126('0x48')][_0x1126('0x4f')](_0x1a15f8)[_0x1126('0x1c')](handleEntityNotFound(_0x5111d3,null))['then'](respondWithResult(_0x5111d3,null))[_0x1126('0x50')](handleError(_0x5111d3,null));};exports[_0x1126('0x51')]=function(_0x5c36b9,_0x4bcc08){return db['FreshsalesConfiguration']['create'](_0x5c36b9[_0x1126('0x52')],{})[_0x1126('0x1c')](respondWithResult(_0x4bcc08,0xc9))['catch'](handleError(_0x4bcc08,null));};exports[_0x1126('0x2f')]=function(_0x1c7a2b,_0x38093e){if(_0x1c7a2b[_0x1126('0x52')]['id']){delete _0x1c7a2b[_0x1126('0x52')]['id'];}return db['FreshsalesConfiguration'][_0x1126('0x4f')]({'where':{'id':_0x1c7a2b[_0x1126('0x53')]['id']}})['then'](handleEntityNotFound(_0x38093e,null))[_0x1126('0x1c')](saveUpdates(_0x1c7a2b[_0x1126('0x52')],null))[_0x1126('0x1c')](respondWithResult(_0x38093e,null))[_0x1126('0x50')](handleError(_0x38093e,null));};exports[_0x1126('0x30')]=function(_0x59c3d0,_0x673c09){return db['FreshsalesConfiguration'][_0x1126('0x4f')]({'where':{'id':_0x59c3d0[_0x1126('0x53')]['id']}})[_0x1126('0x1c')](handleEntityNotFound(_0x673c09,null))['then'](removeEntity(_0x673c09,null))[_0x1126('0x50')](handleError(_0x673c09,null));};exports[_0x1126('0x54')]=function(_0x5763b4,_0x30812d,_0x25038f){var _0x9bad53={};var _0x5a5340={};var _0x2fe6dc;var _0x3377db;return db[_0x1126('0x48')][_0x1126('0x55')]({'where':{'id':_0x5763b4[_0x1126('0x53')]['id']}})[_0x1126('0x1c')](handleEntityNotFound(_0x30812d,null))[_0x1126('0x1c')](function(_0x114be2){if(_0x114be2){_0x2fe6dc=_0x114be2;_0x5a5340['model']=_[_0x1126('0x4d')](db[_0x1126('0x56')][_0x1126('0x36')]);_0x5a5340[_0x1126('0x39')]=_[_0x1126('0x4d')](_0x5763b4['query']);_0x5a5340[_0x1126('0x42')]=_[_0x1126('0x3a')](_0x5a5340['model'],_0x5a5340[_0x1126('0x39')]);_0x9bad53['attributes']=_[_0x1126('0x3a')](_0x5a5340[_0x1126('0x38')],qs['fields'](_0x5763b4[_0x1126('0x39')][_0x1126('0x3c')]));_0x9bad53[_0x1126('0x3b')]=_0x9bad53['attributes'][_0x1126('0x3d')]?_0x9bad53['attributes']:_0x5a5340['model'];_0x9bad53[_0x1126('0x40')]=qs[_0x1126('0x41')](_0x5763b4[_0x1126('0x39')][_0x1126('0x41')]);_0x9bad53[_0x1126('0x44')]=qs[_0x1126('0x42')](_[_0x1126('0x57')](_0x5763b4['query'],_0x5a5340[_0x1126('0x42')]));if(_0x5763b4[_0x1126('0x39')][_0x1126('0x43')]){_0x9bad53[_0x1126('0x44')]=_[_0x1126('0x46')](_0x9bad53[_0x1126('0x44')],{'$or':_['map'](_0x9bad53['attributes'],function(_0x16a343){var _0x3921c2={};_0x3921c2[_0x16a343]={'$like':'%'+_0x5763b4['query']['filter']+'%'};return _0x3921c2;})});}_0x9bad53=_['merge']({},_0x9bad53,_0x5763b4['options']);return _0x2fe6dc[_0x1126('0x54')](_0x9bad53);}})[_0x1126('0x1c')](function(_0x3440c5){if(_0x3440c5){_0x3377db=_0x3440c5['length'];if(!_0x5763b4[_0x1126('0x39')][_0x1126('0x3e')](_0x1126('0x3f'))){_0x9bad53[_0x1126('0x2b')]=qs[_0x1126('0x2b')](_0x5763b4[_0x1126('0x39')][_0x1126('0x2b')]);_0x9bad53['offset']=qs[_0x1126('0x2a')](_0x5763b4[_0x1126('0x39')][_0x1126('0x2a')]);}return _0x2fe6dc[_0x1126('0x54')](_0x9bad53);}})[_0x1126('0x1c')](function(_0x56c003){if(_0x56c003){return _0x56c003?{'count':_0x3377db,'rows':_0x56c003}:null;}})['then'](respondWithResult(_0x30812d,null))[_0x1126('0x50')](handleError(_0x30812d,null));};exports[_0x1126('0x58')]=function(_0x4f1b61,_0x3bf25d,_0x1fb2f0){var _0x366675={};var _0x6a41c0={};var _0x2828d4;var _0x30d240;return db[_0x1126('0x48')][_0x1126('0x55')]({'where':{'id':_0x4f1b61[_0x1126('0x53')]['id']}})[_0x1126('0x1c')](handleEntityNotFound(_0x3bf25d,null))[_0x1126('0x1c')](function(_0x1228cf){if(_0x1228cf){_0x2828d4=_0x1228cf;_0x6a41c0[_0x1126('0x38')]=_['keys'](db[_0x1126('0x56')][_0x1126('0x36')]);_0x6a41c0[_0x1126('0x39')]=_['keys'](_0x4f1b61['query']);_0x6a41c0[_0x1126('0x42')]=_[_0x1126('0x3a')](_0x6a41c0[_0x1126('0x38')],_0x6a41c0[_0x1126('0x39')]);_0x366675['attributes']=_['intersection'](_0x6a41c0['model'],qs[_0x1126('0x3c')](_0x4f1b61[_0x1126('0x39')][_0x1126('0x3c')]));_0x366675[_0x1126('0x3b')]=_0x366675['attributes'][_0x1126('0x3d')]?_0x366675['attributes']:_0x6a41c0[_0x1126('0x38')];_0x366675[_0x1126('0x40')]=qs[_0x1126('0x41')](_0x4f1b61[_0x1126('0x39')][_0x1126('0x41')]);_0x366675[_0x1126('0x44')]=qs[_0x1126('0x42')](_['pick'](_0x4f1b61[_0x1126('0x39')],_0x6a41c0['filters']));if(_0x4f1b61[_0x1126('0x39')][_0x1126('0x43')]){_0x366675['where']=_[_0x1126('0x46')](_0x366675[_0x1126('0x44')],{'$or':_['map'](_0x366675[_0x1126('0x3b')],function(_0x1442ab){var _0x4b1d04={};_0x4b1d04[_0x1442ab]={'$like':'%'+_0x4f1b61['query'][_0x1126('0x43')]+'%'};return _0x4b1d04;})});}_0x366675=_[_0x1126('0x46')]({},_0x366675,_0x4f1b61[_0x1126('0x47')]);return _0x2828d4['getDescriptions'](_0x366675);}})['then'](function(_0x4b0fab){if(_0x4b0fab){_0x30d240=_0x4b0fab[_0x1126('0x3d')];if(!_0x4f1b61['query']['hasOwnProperty'](_0x1126('0x3f'))){_0x366675['limit']=qs[_0x1126('0x2b')](_0x4f1b61[_0x1126('0x39')]['limit']);_0x366675[_0x1126('0x2a')]=qs[_0x1126('0x2a')](_0x4f1b61[_0x1126('0x39')][_0x1126('0x2a')]);}return _0x2828d4[_0x1126('0x58')](_0x366675);}})['then'](function(_0xec8540){if(_0xec8540){return _0xec8540?{'count':_0x30d240,'rows':_0xec8540}:null;}})[_0x1126('0x1c')](respondWithResult(_0x3bf25d,null))['catch'](handleError(_0x3bf25d,null));};exports[_0x1126('0x59')]=function(_0x2d6fcf,_0x2c0908,_0x2af2d0){var _0x2598a7={};var _0x2cf3b9={};var _0x59512b;var _0x301118;return db[_0x1126('0x48')][_0x1126('0x55')]({'where':{'id':_0x2d6fcf[_0x1126('0x53')]['id']}})[_0x1126('0x1c')](handleEntityNotFound(_0x2c0908,null))[_0x1126('0x1c')](function(_0x3b5384){if(_0x3b5384){_0x59512b=_0x3b5384;_0x2cf3b9[_0x1126('0x38')]=_[_0x1126('0x4d')](db['FreshsalesField'][_0x1126('0x36')]);_0x2cf3b9[_0x1126('0x39')]=_[_0x1126('0x4d')](_0x2d6fcf[_0x1126('0x39')]);_0x2cf3b9[_0x1126('0x42')]=_['intersection'](_0x2cf3b9[_0x1126('0x38')],_0x2cf3b9['query']);_0x2598a7['attributes']=_[_0x1126('0x3a')](_0x2cf3b9[_0x1126('0x38')],qs['fields'](_0x2d6fcf['query'][_0x1126('0x3c')]));_0x2598a7[_0x1126('0x3b')]=_0x2598a7[_0x1126('0x3b')][_0x1126('0x3d')]?_0x2598a7[_0x1126('0x3b')]:_0x2cf3b9[_0x1126('0x38')];_0x2598a7[_0x1126('0x40')]=qs[_0x1126('0x41')](_0x2d6fcf[_0x1126('0x39')]['sort']);_0x2598a7[_0x1126('0x44')]=qs[_0x1126('0x42')](_[_0x1126('0x57')](_0x2d6fcf[_0x1126('0x39')],_0x2cf3b9[_0x1126('0x42')]));if(_0x2d6fcf[_0x1126('0x39')]['filter']){_0x2598a7[_0x1126('0x44')]=_[_0x1126('0x46')](_0x2598a7[_0x1126('0x44')],{'$or':_[_0x1126('0x35')](_0x2598a7[_0x1126('0x3b')],function(_0x1796eb){var _0x2418ca={};_0x2418ca[_0x1796eb]={'$like':'%'+_0x2d6fcf[_0x1126('0x39')][_0x1126('0x43')]+'%'};return _0x2418ca;})});}_0x2598a7=_[_0x1126('0x46')]({},_0x2598a7,_0x2d6fcf['options']);return _0x59512b['getFields'](_0x2598a7);}})[_0x1126('0x1c')](function(_0x55496f){if(_0x55496f){_0x301118=_0x55496f[_0x1126('0x3d')];if(!_0x2d6fcf['query'][_0x1126('0x3e')]('nolimit')){_0x2598a7[_0x1126('0x2b')]=qs['limit'](_0x2d6fcf['query']['limit']);_0x2598a7[_0x1126('0x2a')]=qs[_0x1126('0x2a')](_0x2d6fcf['query']['offset']);}return _0x59512b[_0x1126('0x59')](_0x2598a7);}})[_0x1126('0x1c')](function(_0x185fd6){if(_0x185fd6){return _0x185fd6?{'count':_0x301118,'rows':_0x185fd6}:null;}})['then'](respondWithResult(_0x2c0908,null))['catch'](handleError(_0x2c0908,null));};