Built motion from commit 616d3211.|2.6.4
[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 _0x2422=['findAll','rows','show','params','includeAll','find','catch','create','body','update','getSubjects','findOne','FreshsalesField','getDescriptions','rimraf','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','fs-extra','lodash','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','apply','reject','save','then','end','error','stack','name','index','map','FreshsalesConfiguration','rawAttributes','fieldName','type','key','model','keys','filters','intersection','attributes','fields','query','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x2422,0xf5));var _0x2242=function(_0x4d73ec,_0x2e8f79){_0x4d73ec=_0x4d73ec-0x0;var _0x9b67ed=_0x2422[_0x4d73ec];return _0x9b67ed;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2242('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x2242('0x1'));var rp=require(_0x2242('0x2'));var moment=require(_0x2242('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x2242('0x4'));var util=require(_0x2242('0x5'));var path=require('path');var sox=require(_0x2242('0x6'));var csv=require(_0x2242('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2242('0x8'));var _=require(_0x2242('0x9'));var squel=require('squel');var crypto=require(_0x2242('0xa'));var jsforce=require(_0x2242('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x2242('0x7'));var querystring=require('querystring');var Papa=require(_0x2242('0xc'));var Redis=require(_0x2242('0xd'));var authService=require(_0x2242('0xe'));var qs=require(_0x2242('0xf'));var as=require(_0x2242('0x10'));var hardwareService=require(_0x2242('0x11'));var logger=require(_0x2242('0x12'))(_0x2242('0x13'));var utils=require(_0x2242('0x14'));var config=require(_0x2242('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x2242('0x16'))['db'];function respondWithStatusCode(_0x12c5a3,_0x2fda46){_0x2fda46=_0x2fda46||0xcc;return function(_0x55d93b){if(_0x55d93b){return _0x12c5a3[_0x2242('0x17')](_0x2fda46);}return _0x12c5a3[_0x2242('0x18')](_0x2fda46)['end']();};}function respondWithResult(_0x1ffe07,_0x6b810c){_0x6b810c=_0x6b810c||0xc8;return function(_0x399066){if(_0x399066){return _0x1ffe07['status'](_0x6b810c)[_0x2242('0x19')](_0x399066);}};}function respondWithFilteredResult(_0x59e819,_0x13062e){return function(_0xa171ef){if(_0xa171ef){var _0x761c27=typeof _0x13062e[_0x2242('0x1a')]===_0x2242('0x1b')&&typeof _0x13062e[_0x2242('0x1c')]==='undefined';var _0x27e7f5=_0xa171ef[_0x2242('0x1d')];var _0x4ad775=_0x761c27?0x0:_0x13062e[_0x2242('0x1a')];var _0x2194ad=_0x761c27?_0xa171ef['count']:_0x13062e[_0x2242('0x1a')]+_0x13062e[_0x2242('0x1c')];var _0x1ada26;if(_0x2194ad>=_0x27e7f5){_0x2194ad=_0x27e7f5;_0x1ada26=0xc8;}else{_0x1ada26=0xce;}_0x59e819[_0x2242('0x18')](_0x1ada26);return _0x59e819['set']('Content-Range',_0x4ad775+'-'+_0x2194ad+'/'+_0x27e7f5)[_0x2242('0x19')](_0xa171ef);}return null;};}function patchUpdates(_0xbd4ccf){return function(_0x5477dd){try{jsonpatch[_0x2242('0x1e')](_0x5477dd,_0xbd4ccf,!![]);}catch(_0x112406){return BPromise[_0x2242('0x1f')](_0x112406);}return _0x5477dd[_0x2242('0x20')]();};}function saveUpdates(_0x5ac132,_0x3f0b36){return function(_0x123eb1){if(_0x123eb1){return _0x123eb1['update'](_0x5ac132)[_0x2242('0x21')](function(_0x4320dd){return _0x4320dd;});}return null;};}function removeEntity(_0x135556,_0x392bdf){return function(_0x287f0e){if(_0x287f0e){return _0x287f0e['destroy']()[_0x2242('0x21')](function(){_0x135556['status'](0xcc)[_0x2242('0x22')]();});}};}function handleEntityNotFound(_0x1a66e6,_0x8dba5d){return function(_0x24744a){if(!_0x24744a){_0x1a66e6[_0x2242('0x17')](0x194);}return _0x24744a;};}function handleError(_0x5c2fa4,_0x394dc8){_0x394dc8=_0x394dc8||0x1f4;return function(_0x584357){logger[_0x2242('0x23')](_0x584357[_0x2242('0x24')]);if(_0x584357[_0x2242('0x25')]){delete _0x584357[_0x2242('0x25')];}_0x5c2fa4[_0x2242('0x18')](_0x394dc8)['send'](_0x584357);};}exports[_0x2242('0x26')]=function(_0x238176,_0x2caee2){var _0x58cc98={},_0x5aa262={},_0x557870={'count':0x0,'rows':[]};var _0x4ebb7d=_[_0x2242('0x27')](db[_0x2242('0x28')][_0x2242('0x29')],function(_0x372115){return{'name':_0x372115[_0x2242('0x2a')],'type':_0x372115[_0x2242('0x2b')][_0x2242('0x2c')]};});_0x5aa262[_0x2242('0x2d')]=_[_0x2242('0x27')](_0x4ebb7d,_0x2242('0x25'));_0x5aa262['query']=_[_0x2242('0x2e')](_0x238176['query']);_0x5aa262[_0x2242('0x2f')]=_[_0x2242('0x30')](_0x5aa262[_0x2242('0x2d')],_0x5aa262['query']);_0x58cc98[_0x2242('0x31')]=_[_0x2242('0x30')](_0x5aa262['model'],qs[_0x2242('0x32')](_0x238176[_0x2242('0x33')][_0x2242('0x32')]));_0x58cc98[_0x2242('0x31')]=_0x58cc98[_0x2242('0x31')][_0x2242('0x34')]?_0x58cc98[_0x2242('0x31')]:_0x5aa262[_0x2242('0x2d')];if(!_0x238176[_0x2242('0x33')][_0x2242('0x35')](_0x2242('0x36'))){_0x58cc98[_0x2242('0x1c')]=qs[_0x2242('0x1c')](_0x238176['query'][_0x2242('0x1c')]);_0x58cc98[_0x2242('0x1a')]=qs[_0x2242('0x1a')](_0x238176['query'][_0x2242('0x1a')]);}_0x58cc98[_0x2242('0x37')]=qs[_0x2242('0x38')](_0x238176[_0x2242('0x33')][_0x2242('0x38')]);_0x58cc98[_0x2242('0x39')]=qs[_0x2242('0x2f')](_[_0x2242('0x3a')](_0x238176[_0x2242('0x33')],_0x5aa262[_0x2242('0x2f')]),_0x4ebb7d);if(_0x238176[_0x2242('0x33')][_0x2242('0x3b')]){_0x58cc98[_0x2242('0x39')]=_[_0x2242('0x3c')](_0x58cc98[_0x2242('0x39')],{'$or':_[_0x2242('0x27')](_0x4ebb7d,function(_0x1e01f8){if(_0x1e01f8[_0x2242('0x2b')]!==_0x2242('0x3d')){var _0x22c8bc={};_0x22c8bc[_0x1e01f8[_0x2242('0x25')]]={'$like':'%'+_0x238176[_0x2242('0x33')][_0x2242('0x3b')]+'%'};return _0x22c8bc;}})});}_0x58cc98=_['merge']({},_0x58cc98,_0x238176[_0x2242('0x3e')]);var _0x49ad60={'where':_0x58cc98['where']};return db['FreshsalesConfiguration'][_0x2242('0x1d')](_0x49ad60)[_0x2242('0x21')](function(_0x56069d){_0x557870[_0x2242('0x1d')]=_0x56069d;if(_0x238176[_0x2242('0x33')]['includeAll']){_0x58cc98['include']=[{'all':!![]}];}return db[_0x2242('0x28')][_0x2242('0x3f')](_0x58cc98);})['then'](function(_0x3556f4){_0x557870[_0x2242('0x40')]=_0x3556f4;return _0x557870;})[_0x2242('0x21')](respondWithFilteredResult(_0x2caee2,_0x58cc98))['catch'](handleError(_0x2caee2,null));};exports[_0x2242('0x41')]=function(_0x23649d,_0x164660){var _0x4e00ca={'raw':![],'where':{'id':_0x23649d[_0x2242('0x42')]['id']}},_0x5ac716={};_0x5ac716[_0x2242('0x2d')]=_[_0x2242('0x2e')](db['FreshsalesConfiguration'][_0x2242('0x29')]);_0x5ac716[_0x2242('0x33')]=_[_0x2242('0x2e')](_0x23649d[_0x2242('0x33')]);_0x5ac716['filters']=_['intersection'](_0x5ac716['model'],_0x5ac716['query']);_0x4e00ca[_0x2242('0x31')]=_[_0x2242('0x30')](_0x5ac716[_0x2242('0x2d')],qs[_0x2242('0x32')](_0x23649d[_0x2242('0x33')][_0x2242('0x32')]));_0x4e00ca[_0x2242('0x31')]=_0x4e00ca[_0x2242('0x31')]['length']?_0x4e00ca[_0x2242('0x31')]:_0x5ac716[_0x2242('0x2d')];if(_0x23649d[_0x2242('0x33')][_0x2242('0x43')]){_0x4e00ca['include']=[{'all':!![]}];}_0x4e00ca=_[_0x2242('0x3c')]({},_0x4e00ca,_0x23649d[_0x2242('0x3e')]);return db[_0x2242('0x28')][_0x2242('0x44')](_0x4e00ca)[_0x2242('0x21')](handleEntityNotFound(_0x164660,null))[_0x2242('0x21')](respondWithResult(_0x164660,null))[_0x2242('0x45')](handleError(_0x164660,null));};exports[_0x2242('0x46')]=function(_0x25db50,_0x7baa47){return db[_0x2242('0x28')]['create'](_0x25db50[_0x2242('0x47')],{})[_0x2242('0x21')](respondWithResult(_0x7baa47,0xc9))[_0x2242('0x45')](handleError(_0x7baa47,null));};exports[_0x2242('0x48')]=function(_0x40bec2,_0x40461b){if(_0x40bec2[_0x2242('0x47')]['id']){delete _0x40bec2[_0x2242('0x47')]['id'];}return db[_0x2242('0x28')][_0x2242('0x44')]({'where':{'id':_0x40bec2[_0x2242('0x42')]['id']}})[_0x2242('0x21')](handleEntityNotFound(_0x40461b,null))[_0x2242('0x21')](saveUpdates(_0x40bec2[_0x2242('0x47')],null))[_0x2242('0x21')](respondWithResult(_0x40461b,null))[_0x2242('0x45')](handleError(_0x40461b,null));};exports['destroy']=function(_0x6cfb48,_0x1a3728){return db[_0x2242('0x28')]['find']({'where':{'id':_0x6cfb48[_0x2242('0x42')]['id']}})[_0x2242('0x21')](handleEntityNotFound(_0x1a3728,null))[_0x2242('0x21')](removeEntity(_0x1a3728,null))[_0x2242('0x45')](handleError(_0x1a3728,null));};exports[_0x2242('0x49')]=function(_0x3e4a2c,_0x26432d,_0x9f486e){var _0x1ca28f={};var _0x47cd7f={};var _0x47552d;var _0x5cd6c9;return db[_0x2242('0x28')][_0x2242('0x4a')]({'where':{'id':_0x3e4a2c['params']['id']}})[_0x2242('0x21')](handleEntityNotFound(_0x26432d,null))[_0x2242('0x21')](function(_0x455807){if(_0x455807){_0x47552d=_0x455807;_0x47cd7f[_0x2242('0x2d')]=_[_0x2242('0x2e')](db['FreshsalesField']['rawAttributes']);_0x47cd7f[_0x2242('0x33')]=_['keys'](_0x3e4a2c['query']);_0x47cd7f[_0x2242('0x2f')]=_[_0x2242('0x30')](_0x47cd7f[_0x2242('0x2d')],_0x47cd7f[_0x2242('0x33')]);_0x1ca28f[_0x2242('0x31')]=_['intersection'](_0x47cd7f[_0x2242('0x2d')],qs[_0x2242('0x32')](_0x3e4a2c[_0x2242('0x33')][_0x2242('0x32')]));_0x1ca28f[_0x2242('0x31')]=_0x1ca28f[_0x2242('0x31')][_0x2242('0x34')]?_0x1ca28f[_0x2242('0x31')]:_0x47cd7f[_0x2242('0x2d')];_0x1ca28f[_0x2242('0x37')]=qs[_0x2242('0x38')](_0x3e4a2c[_0x2242('0x33')]['sort']);_0x1ca28f['where']=qs[_0x2242('0x2f')](_[_0x2242('0x3a')](_0x3e4a2c[_0x2242('0x33')],_0x47cd7f[_0x2242('0x2f')]));if(_0x3e4a2c[_0x2242('0x33')][_0x2242('0x3b')]){_0x1ca28f[_0x2242('0x39')]=_['merge'](_0x1ca28f['where'],{'$or':_['map'](_0x1ca28f[_0x2242('0x31')],function(_0x4d68a5){var _0x20c3dc={};_0x20c3dc[_0x4d68a5]={'$like':'%'+_0x3e4a2c['query'][_0x2242('0x3b')]+'%'};return _0x20c3dc;})});}_0x1ca28f=_[_0x2242('0x3c')]({},_0x1ca28f,_0x3e4a2c[_0x2242('0x3e')]);return _0x47552d[_0x2242('0x49')](_0x1ca28f);}})[_0x2242('0x21')](function(_0x178fe6){if(_0x178fe6){_0x5cd6c9=_0x178fe6[_0x2242('0x34')];if(!_0x3e4a2c[_0x2242('0x33')][_0x2242('0x35')](_0x2242('0x36'))){_0x1ca28f[_0x2242('0x1c')]=qs[_0x2242('0x1c')](_0x3e4a2c[_0x2242('0x33')][_0x2242('0x1c')]);_0x1ca28f['offset']=qs[_0x2242('0x1a')](_0x3e4a2c[_0x2242('0x33')][_0x2242('0x1a')]);}return _0x47552d[_0x2242('0x49')](_0x1ca28f);}})['then'](function(_0x458d5d){if(_0x458d5d){return _0x458d5d?{'count':_0x5cd6c9,'rows':_0x458d5d}:null;}})[_0x2242('0x21')](respondWithResult(_0x26432d,null))[_0x2242('0x45')](handleError(_0x26432d,null));};exports['getDescriptions']=function(_0x3f4e53,_0x369531,_0x191572){var _0x44e69d={};var _0x31cc33={};var _0x4a03ba;var _0x29fa13;return db['FreshsalesConfiguration'][_0x2242('0x4a')]({'where':{'id':_0x3f4e53[_0x2242('0x42')]['id']}})[_0x2242('0x21')](handleEntityNotFound(_0x369531,null))[_0x2242('0x21')](function(_0x53a671){if(_0x53a671){_0x4a03ba=_0x53a671;_0x31cc33[_0x2242('0x2d')]=_[_0x2242('0x2e')](db[_0x2242('0x4b')][_0x2242('0x29')]);_0x31cc33['query']=_[_0x2242('0x2e')](_0x3f4e53['query']);_0x31cc33[_0x2242('0x2f')]=_['intersection'](_0x31cc33[_0x2242('0x2d')],_0x31cc33[_0x2242('0x33')]);_0x44e69d['attributes']=_['intersection'](_0x31cc33['model'],qs[_0x2242('0x32')](_0x3f4e53[_0x2242('0x33')][_0x2242('0x32')]));_0x44e69d['attributes']=_0x44e69d[_0x2242('0x31')][_0x2242('0x34')]?_0x44e69d[_0x2242('0x31')]:_0x31cc33['model'];_0x44e69d[_0x2242('0x37')]=qs[_0x2242('0x38')](_0x3f4e53[_0x2242('0x33')][_0x2242('0x38')]);_0x44e69d[_0x2242('0x39')]=qs['filters'](_['pick'](_0x3f4e53[_0x2242('0x33')],_0x31cc33[_0x2242('0x2f')]));if(_0x3f4e53[_0x2242('0x33')][_0x2242('0x3b')]){_0x44e69d['where']=_[_0x2242('0x3c')](_0x44e69d['where'],{'$or':_[_0x2242('0x27')](_0x44e69d[_0x2242('0x31')],function(_0x2f7dce){var _0x9adc83={};_0x9adc83[_0x2f7dce]={'$like':'%'+_0x3f4e53['query'][_0x2242('0x3b')]+'%'};return _0x9adc83;})});}_0x44e69d=_[_0x2242('0x3c')]({},_0x44e69d,_0x3f4e53[_0x2242('0x3e')]);return _0x4a03ba['getDescriptions'](_0x44e69d);}})[_0x2242('0x21')](function(_0x43bfcb){if(_0x43bfcb){_0x29fa13=_0x43bfcb['length'];if(!_0x3f4e53['query'][_0x2242('0x35')](_0x2242('0x36'))){_0x44e69d[_0x2242('0x1c')]=qs[_0x2242('0x1c')](_0x3f4e53[_0x2242('0x33')][_0x2242('0x1c')]);_0x44e69d[_0x2242('0x1a')]=qs['offset'](_0x3f4e53['query']['offset']);}return _0x4a03ba[_0x2242('0x4c')](_0x44e69d);}})['then'](function(_0xc93598){if(_0xc93598){return _0xc93598?{'count':_0x29fa13,'rows':_0xc93598}:null;}})[_0x2242('0x21')](respondWithResult(_0x369531,null))['catch'](handleError(_0x369531,null));};exports['getFields']=function(_0x1eb9ec,_0x5cc8cd,_0x167388){var _0x2f637e={};var _0xf6e4e5={};var _0x2d91c4;var _0x31b649;return db[_0x2242('0x28')][_0x2242('0x4a')]({'where':{'id':_0x1eb9ec[_0x2242('0x42')]['id']}})['then'](handleEntityNotFound(_0x5cc8cd,null))[_0x2242('0x21')](function(_0x431bd6){if(_0x431bd6){_0x2d91c4=_0x431bd6;_0xf6e4e5[_0x2242('0x2d')]=_[_0x2242('0x2e')](db[_0x2242('0x4b')][_0x2242('0x29')]);_0xf6e4e5[_0x2242('0x33')]=_[_0x2242('0x2e')](_0x1eb9ec[_0x2242('0x33')]);_0xf6e4e5['filters']=_[_0x2242('0x30')](_0xf6e4e5[_0x2242('0x2d')],_0xf6e4e5[_0x2242('0x33')]);_0x2f637e['attributes']=_['intersection'](_0xf6e4e5[_0x2242('0x2d')],qs[_0x2242('0x32')](_0x1eb9ec[_0x2242('0x33')]['fields']));_0x2f637e['attributes']=_0x2f637e[_0x2242('0x31')]['length']?_0x2f637e[_0x2242('0x31')]:_0xf6e4e5[_0x2242('0x2d')];_0x2f637e['order']=qs['sort'](_0x1eb9ec[_0x2242('0x33')]['sort']);_0x2f637e[_0x2242('0x39')]=qs[_0x2242('0x2f')](_[_0x2242('0x3a')](_0x1eb9ec['query'],_0xf6e4e5['filters']));if(_0x1eb9ec['query'][_0x2242('0x3b')]){_0x2f637e[_0x2242('0x39')]=_[_0x2242('0x3c')](_0x2f637e[_0x2242('0x39')],{'$or':_[_0x2242('0x27')](_0x2f637e[_0x2242('0x31')],function(_0x4b6799){var _0x5406e={};_0x5406e[_0x4b6799]={'$like':'%'+_0x1eb9ec[_0x2242('0x33')]['filter']+'%'};return _0x5406e;})});}_0x2f637e=_[_0x2242('0x3c')]({},_0x2f637e,_0x1eb9ec[_0x2242('0x3e')]);return _0x2d91c4['getFields'](_0x2f637e);}})[_0x2242('0x21')](function(_0x538187){if(_0x538187){_0x31b649=_0x538187[_0x2242('0x34')];if(!_0x1eb9ec[_0x2242('0x33')][_0x2242('0x35')]('nolimit')){_0x2f637e['limit']=qs[_0x2242('0x1c')](_0x1eb9ec[_0x2242('0x33')]['limit']);_0x2f637e[_0x2242('0x1a')]=qs[_0x2242('0x1a')](_0x1eb9ec[_0x2242('0x33')][_0x2242('0x1a')]);}return _0x2d91c4['getFields'](_0x2f637e);}})['then'](function(_0x61d99a){if(_0x61d99a){return _0x61d99a?{'count':_0x31b649,'rows':_0x61d99a}:null;}})[_0x2242('0x21')](respondWithResult(_0x5cc8cd,null))[_0x2242('0x45')](handleError(_0x5cc8cd,null));};