Built motion from commit 1fa89557.|2.6.10
[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 _0x890b=['then','destroy','status','end','stack','name','send','map','FreshsalesConfiguration','rawAttributes','fieldName','key','model','keys','query','filters','intersection','fields','attributes','nolimit','order','sort','where','pick','merge','type','filter','options','count','includeAll','include','findAll','catch','show','length','find','create','params','getSubjects','findOne','FreshsalesField','hasOwnProperty','getDescriptions','getFields','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','fs-extra','lodash','squel','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','json','offset','undefined','limit','set','Content-Range','apply','reject','save','update'];(function(_0x56e4a3,_0x471885){var _0x318330=function(_0x5613cd){while(--_0x5613cd){_0x56e4a3['push'](_0x56e4a3['shift']());}};_0x318330(++_0x471885);}(_0x890b,0x168));var _0xb890=function(_0x2f71c7,_0x3881c9){_0x2f71c7=_0x2f71c7-0x0;var _0x15d11d=_0x890b[_0x2f71c7];return _0x15d11d;};'use strict';var emlformat=require(_0xb890('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb890('0x1'));var jsonpatch=require(_0xb890('0x2'));var rp=require(_0xb890('0x3'));var moment=require(_0xb890('0x4'));var BPromise=require(_0xb890('0x5'));var Mustache=require(_0xb890('0x6'));var util=require(_0xb890('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xb890('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb890('0x9'));var _=require(_0xb890('0xa'));var squel=require(_0xb890('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xb890('0xc'));var toCsv=require(_0xb890('0x8'));var querystring=require(_0xb890('0xd'));var Papa=require(_0xb890('0xe'));var Redis=require('ioredis');var authService=require(_0xb890('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xb890('0x10'));var hardwareService=require(_0xb890('0x11'));var logger=require(_0xb890('0x12'))(_0xb890('0x13'));var utils=require(_0xb890('0x14'));var config=require(_0xb890('0x15'));var licenseUtil=require(_0xb890('0x16'));var db=require(_0xb890('0x17'))['db'];function respondWithStatusCode(_0xa89df9,_0x4e2638){_0x4e2638=_0x4e2638||0xcc;return function(_0x525fbc){if(_0x525fbc){return _0xa89df9[_0xb890('0x18')](_0x4e2638);}return _0xa89df9['status'](_0x4e2638)['end']();};}function respondWithResult(_0xb1ce94,_0x5a95f9){_0x5a95f9=_0x5a95f9||0xc8;return function(_0x12a20b){if(_0x12a20b){return _0xb1ce94['status'](_0x5a95f9)[_0xb890('0x19')](_0x12a20b);}};}function respondWithFilteredResult(_0x1ff840,_0x262f30){return function(_0x28dac6){if(_0x28dac6){var _0x10dc40=typeof _0x262f30[_0xb890('0x1a')]===_0xb890('0x1b')&&typeof _0x262f30[_0xb890('0x1c')]===_0xb890('0x1b');var _0x3c6580=_0x28dac6['count'];var _0x1596bd=_0x10dc40?0x0:_0x262f30[_0xb890('0x1a')];var _0x526a0d=_0x10dc40?_0x28dac6['count']:_0x262f30[_0xb890('0x1a')]+_0x262f30['limit'];var _0x2bc80b;if(_0x526a0d>=_0x3c6580){_0x526a0d=_0x3c6580;_0x2bc80b=0xc8;}else{_0x2bc80b=0xce;}_0x1ff840['status'](_0x2bc80b);return _0x1ff840[_0xb890('0x1d')](_0xb890('0x1e'),_0x1596bd+'-'+_0x526a0d+'/'+_0x3c6580)[_0xb890('0x19')](_0x28dac6);}return null;};}function patchUpdates(_0x2be342){return function(_0x1baa19){try{jsonpatch[_0xb890('0x1f')](_0x1baa19,_0x2be342,!![]);}catch(_0x494808){return BPromise[_0xb890('0x20')](_0x494808);}return _0x1baa19[_0xb890('0x21')]();};}function saveUpdates(_0x19b521,_0x513b7a){return function(_0x487cfc){if(_0x487cfc){return _0x487cfc[_0xb890('0x22')](_0x19b521)[_0xb890('0x23')](function(_0x264976){return _0x264976;});}return null;};}function removeEntity(_0x98b4e5,_0x5e9640){return function(_0x90a672){if(_0x90a672){return _0x90a672[_0xb890('0x24')]()[_0xb890('0x23')](function(){_0x98b4e5[_0xb890('0x25')](0xcc)[_0xb890('0x26')]();});}};}function handleEntityNotFound(_0x55d57c,_0x5bdb1b){return function(_0x1e99b0){if(!_0x1e99b0){_0x55d57c['sendStatus'](0x194);}return _0x1e99b0;};}function handleError(_0x59649e,_0x2632b0){_0x2632b0=_0x2632b0||0x1f4;return function(_0x42570c){logger['error'](_0x42570c[_0xb890('0x27')]);if(_0x42570c[_0xb890('0x28')]){delete _0x42570c[_0xb890('0x28')];}_0x59649e[_0xb890('0x25')](_0x2632b0)[_0xb890('0x29')](_0x42570c);};}exports['index']=function(_0x498459,_0x4f3e4e){var _0xc5a531={},_0x3a5261={},_0x22c2f3={'count':0x0,'rows':[]};var _0x616c0b=_[_0xb890('0x2a')](db[_0xb890('0x2b')][_0xb890('0x2c')],function(_0x2be72a){return{'name':_0x2be72a[_0xb890('0x2d')],'type':_0x2be72a['type'][_0xb890('0x2e')]};});_0x3a5261[_0xb890('0x2f')]=_[_0xb890('0x2a')](_0x616c0b,_0xb890('0x28'));_0x3a5261['query']=_[_0xb890('0x30')](_0x498459[_0xb890('0x31')]);_0x3a5261[_0xb890('0x32')]=_['intersection'](_0x3a5261[_0xb890('0x2f')],_0x3a5261[_0xb890('0x31')]);_0xc5a531['attributes']=_[_0xb890('0x33')](_0x3a5261['model'],qs[_0xb890('0x34')](_0x498459['query'][_0xb890('0x34')]));_0xc5a531[_0xb890('0x35')]=_0xc5a531[_0xb890('0x35')]['length']?_0xc5a531[_0xb890('0x35')]:_0x3a5261['model'];if(!_0x498459[_0xb890('0x31')]['hasOwnProperty'](_0xb890('0x36'))){_0xc5a531[_0xb890('0x1c')]=qs[_0xb890('0x1c')](_0x498459[_0xb890('0x31')][_0xb890('0x1c')]);_0xc5a531['offset']=qs['offset'](_0x498459[_0xb890('0x31')][_0xb890('0x1a')]);}_0xc5a531[_0xb890('0x37')]=qs['sort'](_0x498459[_0xb890('0x31')][_0xb890('0x38')]);_0xc5a531[_0xb890('0x39')]=qs[_0xb890('0x32')](_[_0xb890('0x3a')](_0x498459[_0xb890('0x31')],_0x3a5261[_0xb890('0x32')]),_0x616c0b);if(_0x498459[_0xb890('0x31')]['filter']){_0xc5a531[_0xb890('0x39')]=_[_0xb890('0x3b')](_0xc5a531['where'],{'$or':_[_0xb890('0x2a')](_0x616c0b,function(_0x4a9fda){if(_0x4a9fda[_0xb890('0x3c')]!=='VIRTUAL'){var _0x2882b8={};_0x2882b8[_0x4a9fda[_0xb890('0x28')]]={'$like':'%'+_0x498459['query'][_0xb890('0x3d')]+'%'};return _0x2882b8;}})});}_0xc5a531=_[_0xb890('0x3b')]({},_0xc5a531,_0x498459[_0xb890('0x3e')]);var _0x238cef={'where':_0xc5a531[_0xb890('0x39')]};return db[_0xb890('0x2b')][_0xb890('0x3f')](_0x238cef)[_0xb890('0x23')](function(_0xadf132){_0x22c2f3['count']=_0xadf132;if(_0x498459[_0xb890('0x31')][_0xb890('0x40')]){_0xc5a531[_0xb890('0x41')]=[{'all':!![]}];}return db[_0xb890('0x2b')][_0xb890('0x42')](_0xc5a531);})[_0xb890('0x23')](function(_0x3be7b5){_0x22c2f3['rows']=_0x3be7b5;return _0x22c2f3;})[_0xb890('0x23')](respondWithFilteredResult(_0x4f3e4e,_0xc5a531))[_0xb890('0x43')](handleError(_0x4f3e4e,null));};exports[_0xb890('0x44')]=function(_0x56a763,_0x68a621){var _0x4bca70={'raw':![],'where':{'id':_0x56a763['params']['id']}},_0xbb6b45={};_0xbb6b45['model']=_[_0xb890('0x30')](db['FreshsalesConfiguration'][_0xb890('0x2c')]);_0xbb6b45[_0xb890('0x31')]=_['keys'](_0x56a763[_0xb890('0x31')]);_0xbb6b45[_0xb890('0x32')]=_[_0xb890('0x33')](_0xbb6b45[_0xb890('0x2f')],_0xbb6b45[_0xb890('0x31')]);_0x4bca70[_0xb890('0x35')]=_[_0xb890('0x33')](_0xbb6b45[_0xb890('0x2f')],qs[_0xb890('0x34')](_0x56a763[_0xb890('0x31')][_0xb890('0x34')]));_0x4bca70[_0xb890('0x35')]=_0x4bca70['attributes'][_0xb890('0x45')]?_0x4bca70[_0xb890('0x35')]:_0xbb6b45[_0xb890('0x2f')];if(_0x56a763[_0xb890('0x31')][_0xb890('0x40')]){_0x4bca70[_0xb890('0x41')]=[{'all':!![]}];}_0x4bca70=_[_0xb890('0x3b')]({},_0x4bca70,_0x56a763[_0xb890('0x3e')]);return db[_0xb890('0x2b')][_0xb890('0x46')](_0x4bca70)[_0xb890('0x23')](handleEntityNotFound(_0x68a621,null))[_0xb890('0x23')](respondWithResult(_0x68a621,null))['catch'](handleError(_0x68a621,null));};exports[_0xb890('0x47')]=function(_0x25a437,_0x30b544){return db[_0xb890('0x2b')][_0xb890('0x47')](_0x25a437['body'],{})['then'](respondWithResult(_0x30b544,0xc9))['catch'](handleError(_0x30b544,null));};exports[_0xb890('0x22')]=function(_0x5b9a83,_0x5067be){if(_0x5b9a83['body']['id']){delete _0x5b9a83['body']['id'];}return db['FreshsalesConfiguration'][_0xb890('0x46')]({'where':{'id':_0x5b9a83['params']['id']}})[_0xb890('0x23')](handleEntityNotFound(_0x5067be,null))['then'](saveUpdates(_0x5b9a83['body'],null))[_0xb890('0x23')](respondWithResult(_0x5067be,null))[_0xb890('0x43')](handleError(_0x5067be,null));};exports['destroy']=function(_0x4168d4,_0x2b39ac){return db['FreshsalesConfiguration']['find']({'where':{'id':_0x4168d4[_0xb890('0x48')]['id']}})['then'](handleEntityNotFound(_0x2b39ac,null))[_0xb890('0x23')](removeEntity(_0x2b39ac,null))[_0xb890('0x43')](handleError(_0x2b39ac,null));};exports[_0xb890('0x49')]=function(_0x2147ef,_0x351ac9,_0x848fc0){var _0xe14848={};var _0x3cf038={};var _0x3839c3;var _0x4741e9;return db[_0xb890('0x2b')][_0xb890('0x4a')]({'where':{'id':_0x2147ef[_0xb890('0x48')]['id']}})[_0xb890('0x23')](handleEntityNotFound(_0x351ac9,null))[_0xb890('0x23')](function(_0x4854b6){if(_0x4854b6){_0x3839c3=_0x4854b6;_0x3cf038[_0xb890('0x2f')]=_[_0xb890('0x30')](db[_0xb890('0x4b')][_0xb890('0x2c')]);_0x3cf038['query']=_[_0xb890('0x30')](_0x2147ef[_0xb890('0x31')]);_0x3cf038[_0xb890('0x32')]=_['intersection'](_0x3cf038[_0xb890('0x2f')],_0x3cf038['query']);_0xe14848['attributes']=_['intersection'](_0x3cf038[_0xb890('0x2f')],qs[_0xb890('0x34')](_0x2147ef[_0xb890('0x31')]['fields']));_0xe14848[_0xb890('0x35')]=_0xe14848[_0xb890('0x35')][_0xb890('0x45')]?_0xe14848['attributes']:_0x3cf038[_0xb890('0x2f')];_0xe14848['order']=qs[_0xb890('0x38')](_0x2147ef[_0xb890('0x31')][_0xb890('0x38')]);_0xe14848[_0xb890('0x39')]=qs[_0xb890('0x32')](_[_0xb890('0x3a')](_0x2147ef['query'],_0x3cf038[_0xb890('0x32')]));if(_0x2147ef[_0xb890('0x31')][_0xb890('0x3d')]){_0xe14848[_0xb890('0x39')]=_[_0xb890('0x3b')](_0xe14848[_0xb890('0x39')],{'$or':_[_0xb890('0x2a')](_0xe14848[_0xb890('0x35')],function(_0x39f18b){var _0x515151={};_0x515151[_0x39f18b]={'$like':'%'+_0x2147ef[_0xb890('0x31')][_0xb890('0x3d')]+'%'};return _0x515151;})});}_0xe14848=_[_0xb890('0x3b')]({},_0xe14848,_0x2147ef[_0xb890('0x3e')]);return _0x3839c3[_0xb890('0x49')](_0xe14848);}})[_0xb890('0x23')](function(_0x1213c6){if(_0x1213c6){_0x4741e9=_0x1213c6[_0xb890('0x45')];if(!_0x2147ef[_0xb890('0x31')][_0xb890('0x4c')](_0xb890('0x36'))){_0xe14848[_0xb890('0x1c')]=qs['limit'](_0x2147ef[_0xb890('0x31')][_0xb890('0x1c')]);_0xe14848['offset']=qs[_0xb890('0x1a')](_0x2147ef[_0xb890('0x31')]['offset']);}return _0x3839c3[_0xb890('0x49')](_0xe14848);}})['then'](function(_0x51af25){if(_0x51af25){return _0x51af25?{'count':_0x4741e9,'rows':_0x51af25}:null;}})[_0xb890('0x23')](respondWithResult(_0x351ac9,null))[_0xb890('0x43')](handleError(_0x351ac9,null));};exports[_0xb890('0x4d')]=function(_0x44b3b6,_0x311d2a,_0x2c642d){var _0x2fcf22={};var _0x1bf60a={};var _0x1f5cc7;var _0x3493c6;return db[_0xb890('0x2b')][_0xb890('0x4a')]({'where':{'id':_0x44b3b6['params']['id']}})[_0xb890('0x23')](handleEntityNotFound(_0x311d2a,null))['then'](function(_0xa6d739){if(_0xa6d739){_0x1f5cc7=_0xa6d739;_0x1bf60a[_0xb890('0x2f')]=_[_0xb890('0x30')](db['FreshsalesField']['rawAttributes']);_0x1bf60a[_0xb890('0x31')]=_[_0xb890('0x30')](_0x44b3b6['query']);_0x1bf60a[_0xb890('0x32')]=_[_0xb890('0x33')](_0x1bf60a[_0xb890('0x2f')],_0x1bf60a[_0xb890('0x31')]);_0x2fcf22[_0xb890('0x35')]=_['intersection'](_0x1bf60a[_0xb890('0x2f')],qs[_0xb890('0x34')](_0x44b3b6['query'][_0xb890('0x34')]));_0x2fcf22[_0xb890('0x35')]=_0x2fcf22[_0xb890('0x35')][_0xb890('0x45')]?_0x2fcf22[_0xb890('0x35')]:_0x1bf60a[_0xb890('0x2f')];_0x2fcf22[_0xb890('0x37')]=qs[_0xb890('0x38')](_0x44b3b6[_0xb890('0x31')][_0xb890('0x38')]);_0x2fcf22[_0xb890('0x39')]=qs[_0xb890('0x32')](_['pick'](_0x44b3b6[_0xb890('0x31')],_0x1bf60a['filters']));if(_0x44b3b6[_0xb890('0x31')][_0xb890('0x3d')]){_0x2fcf22[_0xb890('0x39')]=_[_0xb890('0x3b')](_0x2fcf22[_0xb890('0x39')],{'$or':_[_0xb890('0x2a')](_0x2fcf22[_0xb890('0x35')],function(_0x1e2b75){var _0x150a0c={};_0x150a0c[_0x1e2b75]={'$like':'%'+_0x44b3b6[_0xb890('0x31')][_0xb890('0x3d')]+'%'};return _0x150a0c;})});}_0x2fcf22=_['merge']({},_0x2fcf22,_0x44b3b6[_0xb890('0x3e')]);return _0x1f5cc7[_0xb890('0x4d')](_0x2fcf22);}})[_0xb890('0x23')](function(_0x432ea3){if(_0x432ea3){_0x3493c6=_0x432ea3[_0xb890('0x45')];if(!_0x44b3b6['query'][_0xb890('0x4c')](_0xb890('0x36'))){_0x2fcf22[_0xb890('0x1c')]=qs[_0xb890('0x1c')](_0x44b3b6[_0xb890('0x31')]['limit']);_0x2fcf22[_0xb890('0x1a')]=qs[_0xb890('0x1a')](_0x44b3b6['query'][_0xb890('0x1a')]);}return _0x1f5cc7[_0xb890('0x4d')](_0x2fcf22);}})[_0xb890('0x23')](function(_0x1055c3){if(_0x1055c3){return _0x1055c3?{'count':_0x3493c6,'rows':_0x1055c3}:null;}})[_0xb890('0x23')](respondWithResult(_0x311d2a,null))[_0xb890('0x43')](handleError(_0x311d2a,null));};exports['getFields']=function(_0x3e5c59,_0x21ef77,_0x3dacd1){var _0x201984={};var _0x3bf304={};var _0x1aa413;var _0x4c3c8f;return db[_0xb890('0x2b')]['findOne']({'where':{'id':_0x3e5c59[_0xb890('0x48')]['id']}})[_0xb890('0x23')](handleEntityNotFound(_0x21ef77,null))[_0xb890('0x23')](function(_0x4d3353){if(_0x4d3353){_0x1aa413=_0x4d3353;_0x3bf304[_0xb890('0x2f')]=_[_0xb890('0x30')](db[_0xb890('0x4b')][_0xb890('0x2c')]);_0x3bf304[_0xb890('0x31')]=_[_0xb890('0x30')](_0x3e5c59[_0xb890('0x31')]);_0x3bf304[_0xb890('0x32')]=_['intersection'](_0x3bf304['model'],_0x3bf304[_0xb890('0x31')]);_0x201984[_0xb890('0x35')]=_[_0xb890('0x33')](_0x3bf304[_0xb890('0x2f')],qs[_0xb890('0x34')](_0x3e5c59[_0xb890('0x31')]['fields']));_0x201984[_0xb890('0x35')]=_0x201984[_0xb890('0x35')][_0xb890('0x45')]?_0x201984['attributes']:_0x3bf304[_0xb890('0x2f')];_0x201984['order']=qs['sort'](_0x3e5c59[_0xb890('0x31')][_0xb890('0x38')]);_0x201984[_0xb890('0x39')]=qs[_0xb890('0x32')](_[_0xb890('0x3a')](_0x3e5c59[_0xb890('0x31')],_0x3bf304[_0xb890('0x32')]));if(_0x3e5c59['query'][_0xb890('0x3d')]){_0x201984[_0xb890('0x39')]=_[_0xb890('0x3b')](_0x201984[_0xb890('0x39')],{'$or':_[_0xb890('0x2a')](_0x201984[_0xb890('0x35')],function(_0x8278b8){var _0x37a229={};_0x37a229[_0x8278b8]={'$like':'%'+_0x3e5c59[_0xb890('0x31')][_0xb890('0x3d')]+'%'};return _0x37a229;})});}_0x201984=_[_0xb890('0x3b')]({},_0x201984,_0x3e5c59[_0xb890('0x3e')]);return _0x1aa413[_0xb890('0x4e')](_0x201984);}})[_0xb890('0x23')](function(_0x35b57b){if(_0x35b57b){_0x4c3c8f=_0x35b57b[_0xb890('0x45')];if(!_0x3e5c59[_0xb890('0x31')][_0xb890('0x4c')](_0xb890('0x36'))){_0x201984[_0xb890('0x1c')]=qs[_0xb890('0x1c')](_0x3e5c59[_0xb890('0x31')]['limit']);_0x201984['offset']=qs[_0xb890('0x1a')](_0x3e5c59[_0xb890('0x31')]['offset']);}return _0x1aa413[_0xb890('0x4e')](_0x201984);}})['then'](function(_0x35665f){if(_0x35665f){return _0x35665f?{'count':_0x4c3c8f,'rows':_0x35665f}:null;}})[_0xb890('0x23')](respondWithResult(_0x21ef77,null))[_0xb890('0x43')](handleError(_0x21ef77,null));};