Built motion from commit 3e059bc2.|2.5.32
[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 _0x9120=['intersection','attributes','fields','nolimit','limit','sort','where','pick','VIRTUAL','filter','options','includeAll','include','findAll','catch','show','params','keys','length','merge','find','create','body','FreshsalesField','order','getSubjects','hasOwnProperty','findOne','getDescriptions','getFields','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','set','Content-Range','apply','save','update','then','destroy','error','stack','name','index','map','FreshsalesConfiguration','rawAttributes','type','key','model','query','filters'];(function(_0x5a3cf0,_0x160a68){var _0x5a64ee=function(_0x34cd1d){while(--_0x34cd1d){_0x5a3cf0['push'](_0x5a3cf0['shift']());}};_0x5a64ee(++_0x160a68);}(_0x9120,0x1b3));var _0x0912=function(_0x45c1a1,_0x4dc46f){_0x45c1a1=_0x45c1a1-0x0;var _0x3fd1a9=_0x9120[_0x45c1a1];return _0x3fd1a9;};'use strict';var emlformat=require(_0x0912('0x0'));var rimraf=require(_0x0912('0x1'));var zipdir=require(_0x0912('0x2'));var jsonpatch=require(_0x0912('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x0912('0x4'));var Mustache=require(_0x0912('0x5'));var util=require(_0x0912('0x6'));var path=require(_0x0912('0x7'));var sox=require(_0x0912('0x8'));var csv=require(_0x0912('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0912('0xa'));var _=require(_0x0912('0xb'));var squel=require(_0x0912('0xc'));var crypto=require('crypto');var jsforce=require(_0x0912('0xd'));var deskjs=require(_0x0912('0xe'));var toCsv=require(_0x0912('0x9'));var querystring=require(_0x0912('0xf'));var Papa=require(_0x0912('0x10'));var Redis=require('ioredis');var authService=require(_0x0912('0x11'));var qs=require(_0x0912('0x12'));var as=require(_0x0912('0x13'));var hardwareService=require(_0x0912('0x14'));var logger=require('../../config/logger')(_0x0912('0x15'));var utils=require('../../config/utils');var config=require(_0x0912('0x16'));var licenseUtil=require(_0x0912('0x17'));var db=require(_0x0912('0x18'))['db'];function respondWithStatusCode(_0xc7af62,_0x22752b){_0x22752b=_0x22752b||0xcc;return function(_0x10faac){if(_0x10faac){return _0xc7af62[_0x0912('0x19')](_0x22752b);}return _0xc7af62[_0x0912('0x1a')](_0x22752b)[_0x0912('0x1b')]();};}function respondWithResult(_0x102468,_0x17f22d){_0x17f22d=_0x17f22d||0xc8;return function(_0x350d6b){if(_0x350d6b){return _0x102468[_0x0912('0x1a')](_0x17f22d)[_0x0912('0x1c')](_0x350d6b);}};}function respondWithFilteredResult(_0x247612,_0x5eb1c9){return function(_0x4d00fd){if(_0x4d00fd){var _0x1ed3e8=typeof _0x5eb1c9['offset']===_0x0912('0x1d')&&typeof _0x5eb1c9['limit']===_0x0912('0x1d');var _0x49b581=_0x4d00fd[_0x0912('0x1e')];var _0x5eace1=_0x1ed3e8?0x0:_0x5eb1c9[_0x0912('0x1f')];var _0x5357db=_0x1ed3e8?_0x4d00fd[_0x0912('0x1e')]:_0x5eb1c9['offset']+_0x5eb1c9['limit'];var _0x3377af;if(_0x5357db>=_0x49b581){_0x5357db=_0x49b581;_0x3377af=0xc8;}else{_0x3377af=0xce;}_0x247612['status'](_0x3377af);return _0x247612[_0x0912('0x20')](_0x0912('0x21'),_0x5eace1+'-'+_0x5357db+'/'+_0x49b581)['json'](_0x4d00fd);}return null;};}function patchUpdates(_0x106008){return function(_0xb1af32){try{jsonpatch[_0x0912('0x22')](_0xb1af32,_0x106008,!![]);}catch(_0x5927d2){return BPromise['reject'](_0x5927d2);}return _0xb1af32[_0x0912('0x23')]();};}function saveUpdates(_0x626428,_0x1f04a1){return function(_0x30b7cc){if(_0x30b7cc){return _0x30b7cc[_0x0912('0x24')](_0x626428)[_0x0912('0x25')](function(_0x6c4902){return _0x6c4902;});}return null;};}function removeEntity(_0x2a3e70,_0xca7f8b){return function(_0x572d12){if(_0x572d12){return _0x572d12[_0x0912('0x26')]()[_0x0912('0x25')](function(){_0x2a3e70[_0x0912('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4a938e,_0x21d65b){return function(_0x53d673){if(!_0x53d673){_0x4a938e['sendStatus'](0x194);}return _0x53d673;};}function handleError(_0x39462e,_0x39e96b){_0x39e96b=_0x39e96b||0x1f4;return function(_0x4d45d2){logger[_0x0912('0x27')](_0x4d45d2[_0x0912('0x28')]);if(_0x4d45d2[_0x0912('0x29')]){delete _0x4d45d2[_0x0912('0x29')];}_0x39462e[_0x0912('0x1a')](_0x39e96b)['send'](_0x4d45d2);};}exports[_0x0912('0x2a')]=function(_0x1d6c87,_0x4ac024){var _0x2b1653={},_0x3428a9={},_0x2ce714={'count':0x0,'rows':[]};var _0x5b3956=_[_0x0912('0x2b')](db[_0x0912('0x2c')][_0x0912('0x2d')],function(_0x176529){return{'name':_0x176529['fieldName'],'type':_0x176529[_0x0912('0x2e')][_0x0912('0x2f')]};});_0x3428a9[_0x0912('0x30')]=_[_0x0912('0x2b')](_0x5b3956,_0x0912('0x29'));_0x3428a9[_0x0912('0x31')]=_['keys'](_0x1d6c87['query']);_0x3428a9[_0x0912('0x32')]=_[_0x0912('0x33')](_0x3428a9['model'],_0x3428a9['query']);_0x2b1653[_0x0912('0x34')]=_[_0x0912('0x33')](_0x3428a9[_0x0912('0x30')],qs[_0x0912('0x35')](_0x1d6c87[_0x0912('0x31')][_0x0912('0x35')]));_0x2b1653[_0x0912('0x34')]=_0x2b1653[_0x0912('0x34')]['length']?_0x2b1653['attributes']:_0x3428a9[_0x0912('0x30')];if(!_0x1d6c87[_0x0912('0x31')]['hasOwnProperty'](_0x0912('0x36'))){_0x2b1653[_0x0912('0x37')]=qs[_0x0912('0x37')](_0x1d6c87[_0x0912('0x31')][_0x0912('0x37')]);_0x2b1653[_0x0912('0x1f')]=qs[_0x0912('0x1f')](_0x1d6c87[_0x0912('0x31')][_0x0912('0x1f')]);}_0x2b1653['order']=qs[_0x0912('0x38')](_0x1d6c87[_0x0912('0x31')][_0x0912('0x38')]);_0x2b1653[_0x0912('0x39')]=qs[_0x0912('0x32')](_[_0x0912('0x3a')](_0x1d6c87[_0x0912('0x31')],_0x3428a9['filters']),_0x5b3956);if(_0x1d6c87[_0x0912('0x31')]['filter']){_0x2b1653['where']=_['merge'](_0x2b1653[_0x0912('0x39')],{'$or':_[_0x0912('0x2b')](_0x5b3956,function(_0x5db5f9){if(_0x5db5f9[_0x0912('0x2e')]!==_0x0912('0x3b')){var _0xfdf81c={};_0xfdf81c[_0x5db5f9['name']]={'$like':'%'+_0x1d6c87[_0x0912('0x31')][_0x0912('0x3c')]+'%'};return _0xfdf81c;}})});}_0x2b1653=_['merge']({},_0x2b1653,_0x1d6c87[_0x0912('0x3d')]);var _0x40de57={'where':_0x2b1653[_0x0912('0x39')]};return db[_0x0912('0x2c')][_0x0912('0x1e')](_0x40de57)[_0x0912('0x25')](function(_0x4eb359){_0x2ce714[_0x0912('0x1e')]=_0x4eb359;if(_0x1d6c87[_0x0912('0x31')][_0x0912('0x3e')]){_0x2b1653[_0x0912('0x3f')]=[{'all':!![]}];}return db['FreshsalesConfiguration'][_0x0912('0x40')](_0x2b1653);})[_0x0912('0x25')](function(_0x10040b){_0x2ce714['rows']=_0x10040b;return _0x2ce714;})[_0x0912('0x25')](respondWithFilteredResult(_0x4ac024,_0x2b1653))[_0x0912('0x41')](handleError(_0x4ac024,null));};exports[_0x0912('0x42')]=function(_0x19839e,_0x1c5158){var _0x320f98={'raw':![],'where':{'id':_0x19839e[_0x0912('0x43')]['id']}},_0x15e23b={};_0x15e23b['model']=_[_0x0912('0x44')](db['FreshsalesConfiguration'][_0x0912('0x2d')]);_0x15e23b[_0x0912('0x31')]=_[_0x0912('0x44')](_0x19839e[_0x0912('0x31')]);_0x15e23b[_0x0912('0x32')]=_[_0x0912('0x33')](_0x15e23b[_0x0912('0x30')],_0x15e23b[_0x0912('0x31')]);_0x320f98['attributes']=_[_0x0912('0x33')](_0x15e23b[_0x0912('0x30')],qs[_0x0912('0x35')](_0x19839e['query'][_0x0912('0x35')]));_0x320f98[_0x0912('0x34')]=_0x320f98[_0x0912('0x34')][_0x0912('0x45')]?_0x320f98[_0x0912('0x34')]:_0x15e23b[_0x0912('0x30')];if(_0x19839e[_0x0912('0x31')][_0x0912('0x3e')]){_0x320f98[_0x0912('0x3f')]=[{'all':!![]}];}_0x320f98=_[_0x0912('0x46')]({},_0x320f98,_0x19839e[_0x0912('0x3d')]);return db[_0x0912('0x2c')][_0x0912('0x47')](_0x320f98)[_0x0912('0x25')](handleEntityNotFound(_0x1c5158,null))[_0x0912('0x25')](respondWithResult(_0x1c5158,null))[_0x0912('0x41')](handleError(_0x1c5158,null));};exports[_0x0912('0x48')]=function(_0x255ee5,_0x3b0548){return db[_0x0912('0x2c')][_0x0912('0x48')](_0x255ee5[_0x0912('0x49')],{})[_0x0912('0x25')](respondWithResult(_0x3b0548,0xc9))['catch'](handleError(_0x3b0548,null));};exports[_0x0912('0x24')]=function(_0x3b94cc,_0x591c83){if(_0x3b94cc[_0x0912('0x49')]['id']){delete _0x3b94cc[_0x0912('0x49')]['id'];}return db[_0x0912('0x2c')][_0x0912('0x47')]({'where':{'id':_0x3b94cc[_0x0912('0x43')]['id']}})[_0x0912('0x25')](handleEntityNotFound(_0x591c83,null))['then'](saveUpdates(_0x3b94cc[_0x0912('0x49')],null))[_0x0912('0x25')](respondWithResult(_0x591c83,null))[_0x0912('0x41')](handleError(_0x591c83,null));};exports['destroy']=function(_0x11364e,_0x3ce4bf){return db[_0x0912('0x2c')][_0x0912('0x47')]({'where':{'id':_0x11364e[_0x0912('0x43')]['id']}})[_0x0912('0x25')](handleEntityNotFound(_0x3ce4bf,null))[_0x0912('0x25')](removeEntity(_0x3ce4bf,null))[_0x0912('0x41')](handleError(_0x3ce4bf,null));};exports['getSubjects']=function(_0x91bb1a,_0x360313,_0x26b281){var _0x95f2c8={};var _0x2ec183={};var _0x53fc25;var _0x1d8b8c;return db[_0x0912('0x2c')]['findOne']({'where':{'id':_0x91bb1a[_0x0912('0x43')]['id']}})[_0x0912('0x25')](handleEntityNotFound(_0x360313,null))[_0x0912('0x25')](function(_0x3002d2){if(_0x3002d2){_0x53fc25=_0x3002d2;_0x2ec183['model']=_[_0x0912('0x44')](db[_0x0912('0x4a')]['rawAttributes']);_0x2ec183[_0x0912('0x31')]=_[_0x0912('0x44')](_0x91bb1a[_0x0912('0x31')]);_0x2ec183[_0x0912('0x32')]=_[_0x0912('0x33')](_0x2ec183[_0x0912('0x30')],_0x2ec183['query']);_0x95f2c8['attributes']=_[_0x0912('0x33')](_0x2ec183['model'],qs['fields'](_0x91bb1a[_0x0912('0x31')][_0x0912('0x35')]));_0x95f2c8[_0x0912('0x34')]=_0x95f2c8[_0x0912('0x34')][_0x0912('0x45')]?_0x95f2c8[_0x0912('0x34')]:_0x2ec183[_0x0912('0x30')];_0x95f2c8[_0x0912('0x4b')]=qs['sort'](_0x91bb1a[_0x0912('0x31')][_0x0912('0x38')]);_0x95f2c8[_0x0912('0x39')]=qs[_0x0912('0x32')](_[_0x0912('0x3a')](_0x91bb1a['query'],_0x2ec183[_0x0912('0x32')]));if(_0x91bb1a['query'][_0x0912('0x3c')]){_0x95f2c8[_0x0912('0x39')]=_[_0x0912('0x46')](_0x95f2c8[_0x0912('0x39')],{'$or':_[_0x0912('0x2b')](_0x95f2c8[_0x0912('0x34')],function(_0x213052){var _0x2bf7ef={};_0x2bf7ef[_0x213052]={'$like':'%'+_0x91bb1a['query'][_0x0912('0x3c')]+'%'};return _0x2bf7ef;})});}_0x95f2c8=_[_0x0912('0x46')]({},_0x95f2c8,_0x91bb1a[_0x0912('0x3d')]);return _0x53fc25[_0x0912('0x4c')](_0x95f2c8);}})['then'](function(_0xedc73){if(_0xedc73){_0x1d8b8c=_0xedc73[_0x0912('0x45')];if(!_0x91bb1a[_0x0912('0x31')][_0x0912('0x4d')](_0x0912('0x36'))){_0x95f2c8[_0x0912('0x37')]=qs[_0x0912('0x37')](_0x91bb1a['query'][_0x0912('0x37')]);_0x95f2c8['offset']=qs[_0x0912('0x1f')](_0x91bb1a[_0x0912('0x31')][_0x0912('0x1f')]);}return _0x53fc25[_0x0912('0x4c')](_0x95f2c8);}})[_0x0912('0x25')](function(_0x25d845){if(_0x25d845){return _0x25d845?{'count':_0x1d8b8c,'rows':_0x25d845}:null;}})[_0x0912('0x25')](respondWithResult(_0x360313,null))[_0x0912('0x41')](handleError(_0x360313,null));};exports['getDescriptions']=function(_0x266c2d,_0x4a2778,_0x1fbe45){var _0x35f161={};var _0x327dee={};var _0x17a0a8;var _0x2d735a;return db['FreshsalesConfiguration'][_0x0912('0x4e')]({'where':{'id':_0x266c2d[_0x0912('0x43')]['id']}})[_0x0912('0x25')](handleEntityNotFound(_0x4a2778,null))[_0x0912('0x25')](function(_0x294b18){if(_0x294b18){_0x17a0a8=_0x294b18;_0x327dee[_0x0912('0x30')]=_[_0x0912('0x44')](db[_0x0912('0x4a')]['rawAttributes']);_0x327dee[_0x0912('0x31')]=_[_0x0912('0x44')](_0x266c2d['query']);_0x327dee[_0x0912('0x32')]=_['intersection'](_0x327dee[_0x0912('0x30')],_0x327dee['query']);_0x35f161[_0x0912('0x34')]=_[_0x0912('0x33')](_0x327dee[_0x0912('0x30')],qs[_0x0912('0x35')](_0x266c2d[_0x0912('0x31')]['fields']));_0x35f161[_0x0912('0x34')]=_0x35f161[_0x0912('0x34')][_0x0912('0x45')]?_0x35f161[_0x0912('0x34')]:_0x327dee[_0x0912('0x30')];_0x35f161[_0x0912('0x4b')]=qs[_0x0912('0x38')](_0x266c2d[_0x0912('0x31')][_0x0912('0x38')]);_0x35f161['where']=qs[_0x0912('0x32')](_[_0x0912('0x3a')](_0x266c2d[_0x0912('0x31')],_0x327dee['filters']));if(_0x266c2d[_0x0912('0x31')]['filter']){_0x35f161[_0x0912('0x39')]=_[_0x0912('0x46')](_0x35f161[_0x0912('0x39')],{'$or':_[_0x0912('0x2b')](_0x35f161['attributes'],function(_0x112c41){var _0x1a810d={};_0x1a810d[_0x112c41]={'$like':'%'+_0x266c2d[_0x0912('0x31')][_0x0912('0x3c')]+'%'};return _0x1a810d;})});}_0x35f161=_[_0x0912('0x46')]({},_0x35f161,_0x266c2d['options']);return _0x17a0a8[_0x0912('0x4f')](_0x35f161);}})[_0x0912('0x25')](function(_0x4d5401){if(_0x4d5401){_0x2d735a=_0x4d5401[_0x0912('0x45')];if(!_0x266c2d[_0x0912('0x31')][_0x0912('0x4d')](_0x0912('0x36'))){_0x35f161[_0x0912('0x37')]=qs[_0x0912('0x37')](_0x266c2d[_0x0912('0x31')]['limit']);_0x35f161['offset']=qs[_0x0912('0x1f')](_0x266c2d['query'][_0x0912('0x1f')]);}return _0x17a0a8[_0x0912('0x4f')](_0x35f161);}})['then'](function(_0x18ae20){if(_0x18ae20){return _0x18ae20?{'count':_0x2d735a,'rows':_0x18ae20}:null;}})[_0x0912('0x25')](respondWithResult(_0x4a2778,null))[_0x0912('0x41')](handleError(_0x4a2778,null));};exports[_0x0912('0x50')]=function(_0x5148f4,_0x172358,_0x10f8b0){var _0x4e4dc3={};var _0x4d4d84={};var _0xd49230;var _0x10a543;return db[_0x0912('0x2c')][_0x0912('0x4e')]({'where':{'id':_0x5148f4['params']['id']}})[_0x0912('0x25')](handleEntityNotFound(_0x172358,null))[_0x0912('0x25')](function(_0x2732dd){if(_0x2732dd){_0xd49230=_0x2732dd;_0x4d4d84[_0x0912('0x30')]=_[_0x0912('0x44')](db[_0x0912('0x4a')][_0x0912('0x2d')]);_0x4d4d84[_0x0912('0x31')]=_[_0x0912('0x44')](_0x5148f4[_0x0912('0x31')]);_0x4d4d84[_0x0912('0x32')]=_[_0x0912('0x33')](_0x4d4d84[_0x0912('0x30')],_0x4d4d84[_0x0912('0x31')]);_0x4e4dc3['attributes']=_[_0x0912('0x33')](_0x4d4d84[_0x0912('0x30')],qs[_0x0912('0x35')](_0x5148f4[_0x0912('0x31')][_0x0912('0x35')]));_0x4e4dc3[_0x0912('0x34')]=_0x4e4dc3[_0x0912('0x34')]['length']?_0x4e4dc3[_0x0912('0x34')]:_0x4d4d84[_0x0912('0x30')];_0x4e4dc3[_0x0912('0x4b')]=qs[_0x0912('0x38')](_0x5148f4['query'][_0x0912('0x38')]);_0x4e4dc3[_0x0912('0x39')]=qs[_0x0912('0x32')](_[_0x0912('0x3a')](_0x5148f4[_0x0912('0x31')],_0x4d4d84[_0x0912('0x32')]));if(_0x5148f4['query']['filter']){_0x4e4dc3[_0x0912('0x39')]=_[_0x0912('0x46')](_0x4e4dc3[_0x0912('0x39')],{'$or':_['map'](_0x4e4dc3[_0x0912('0x34')],function(_0x444de4){var _0x1b3d8d={};_0x1b3d8d[_0x444de4]={'$like':'%'+_0x5148f4[_0x0912('0x31')]['filter']+'%'};return _0x1b3d8d;})});}_0x4e4dc3=_[_0x0912('0x46')]({},_0x4e4dc3,_0x5148f4[_0x0912('0x3d')]);return _0xd49230[_0x0912('0x50')](_0x4e4dc3);}})[_0x0912('0x25')](function(_0x4f68d4){if(_0x4f68d4){_0x10a543=_0x4f68d4[_0x0912('0x45')];if(!_0x5148f4['query'][_0x0912('0x4d')](_0x0912('0x36'))){_0x4e4dc3[_0x0912('0x37')]=qs[_0x0912('0x37')](_0x5148f4[_0x0912('0x31')][_0x0912('0x37')]);_0x4e4dc3[_0x0912('0x1f')]=qs[_0x0912('0x1f')](_0x5148f4[_0x0912('0x31')][_0x0912('0x1f')]);}return _0xd49230[_0x0912('0x50')](_0x4e4dc3);}})[_0x0912('0x25')](function(_0x4edd79){if(_0x4edd79){return _0x4edd79?{'count':_0x10a543,'rows':_0x4edd79}:null;}})['then'](respondWithResult(_0x172358,null))['catch'](handleError(_0x172358,null));};