Built motion from commit da617fac.|2.6.6
[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 _0xef0e=['fields','length','hasOwnProperty','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','rows','catch','show','params','find','create','body','findOne','order','getSubjects','nolimit','getDescriptions','getFields','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','index','FreshsalesConfiguration','rawAttributes','type','key','model','map','query','keys','filters','attributes','intersection'];(function(_0x2ae278,_0x5eb5a4){var _0x412c37=function(_0xcaab64){while(--_0xcaab64){_0x2ae278['push'](_0x2ae278['shift']());}};_0x412c37(++_0x5eb5a4);}(_0xef0e,0x106));var _0xeef0=function(_0x5d6456,_0x58ecc7){_0x5d6456=_0x5d6456-0x0;var _0x4d66c1=_0xef0e[_0x5d6456];return _0x4d66c1;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xeef0('0x0'));var rp=require(_0xeef0('0x1'));var moment=require(_0xeef0('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xeef0('0x3'));var util=require('util');var path=require(_0xeef0('0x4'));var sox=require(_0xeef0('0x5'));var csv=require(_0xeef0('0x6'));var ejs=require(_0xeef0('0x7'));var fs=require('fs');var fs_extra=require(_0xeef0('0x8'));var _=require(_0xeef0('0x9'));var squel=require(_0xeef0('0xa'));var crypto=require(_0xeef0('0xb'));var jsforce=require(_0xeef0('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xeef0('0x6'));var querystring=require('querystring');var Papa=require(_0xeef0('0xd'));var Redis=require(_0xeef0('0xe'));var authService=require(_0xeef0('0xf'));var qs=require(_0xeef0('0x10'));var as=require(_0xeef0('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xeef0('0x12'));var utils=require(_0xeef0('0x13'));var config=require(_0xeef0('0x14'));var licenseUtil=require(_0xeef0('0x15'));var db=require(_0xeef0('0x16'))['db'];function respondWithStatusCode(_0x48bb4d,_0x1b0e9d){_0x1b0e9d=_0x1b0e9d||0xcc;return function(_0x4d21c9){if(_0x4d21c9){return _0x48bb4d[_0xeef0('0x17')](_0x1b0e9d);}return _0x48bb4d[_0xeef0('0x18')](_0x1b0e9d)[_0xeef0('0x19')]();};}function respondWithResult(_0x4d24d0,_0x240cc6){_0x240cc6=_0x240cc6||0xc8;return function(_0x33525d){if(_0x33525d){return _0x4d24d0[_0xeef0('0x18')](_0x240cc6)[_0xeef0('0x1a')](_0x33525d);}};}function respondWithFilteredResult(_0xbbba9b,_0x491dac){return function(_0x43d5ac){if(_0x43d5ac){var _0x5dce0e=typeof _0x491dac[_0xeef0('0x1b')]===_0xeef0('0x1c')&&typeof _0x491dac[_0xeef0('0x1d')]==='undefined';var _0x53b24f=_0x43d5ac[_0xeef0('0x1e')];var _0xbd8051=_0x5dce0e?0x0:_0x491dac['offset'];var _0x590415=_0x5dce0e?_0x43d5ac[_0xeef0('0x1e')]:_0x491dac['offset']+_0x491dac['limit'];var _0x3cd30c;if(_0x590415>=_0x53b24f){_0x590415=_0x53b24f;_0x3cd30c=0xc8;}else{_0x3cd30c=0xce;}_0xbbba9b[_0xeef0('0x18')](_0x3cd30c);return _0xbbba9b[_0xeef0('0x1f')](_0xeef0('0x20'),_0xbd8051+'-'+_0x590415+'/'+_0x53b24f)['json'](_0x43d5ac);}return null;};}function patchUpdates(_0x2b25f8){return function(_0x4c8497){try{jsonpatch[_0xeef0('0x21')](_0x4c8497,_0x2b25f8,!![]);}catch(_0x58ccbd){return BPromise[_0xeef0('0x22')](_0x58ccbd);}return _0x4c8497[_0xeef0('0x23')]();};}function saveUpdates(_0x2f39b7,_0x4ca1f0){return function(_0x5b6c56){if(_0x5b6c56){return _0x5b6c56[_0xeef0('0x24')](_0x2f39b7)[_0xeef0('0x25')](function(_0x2ea759){return _0x2ea759;});}return null;};}function removeEntity(_0x148fdd,_0x29629c){return function(_0x4a6fd4){if(_0x4a6fd4){return _0x4a6fd4[_0xeef0('0x26')]()['then'](function(){_0x148fdd[_0xeef0('0x18')](0xcc)[_0xeef0('0x19')]();});}};}function handleEntityNotFound(_0x1cc8a2,_0xee70f0){return function(_0x135012){if(!_0x135012){_0x1cc8a2[_0xeef0('0x17')](0x194);}return _0x135012;};}function handleError(_0x30aa9c,_0x448706){_0x448706=_0x448706||0x1f4;return function(_0x3ce697){logger[_0xeef0('0x27')](_0x3ce697['stack']);if(_0x3ce697[_0xeef0('0x28')]){delete _0x3ce697[_0xeef0('0x28')];}_0x30aa9c[_0xeef0('0x18')](_0x448706)[_0xeef0('0x29')](_0x3ce697);};}exports[_0xeef0('0x2a')]=function(_0x4ad004,_0x3434d0){var _0xf0dae3={},_0x538a6a={},_0x57b3ae={'count':0x0,'rows':[]};var _0x288c5e=_['map'](db[_0xeef0('0x2b')][_0xeef0('0x2c')],function(_0x1ce8d6){return{'name':_0x1ce8d6['fieldName'],'type':_0x1ce8d6[_0xeef0('0x2d')][_0xeef0('0x2e')]};});_0x538a6a[_0xeef0('0x2f')]=_[_0xeef0('0x30')](_0x288c5e,_0xeef0('0x28'));_0x538a6a[_0xeef0('0x31')]=_[_0xeef0('0x32')](_0x4ad004['query']);_0x538a6a[_0xeef0('0x33')]=_['intersection'](_0x538a6a['model'],_0x538a6a[_0xeef0('0x31')]);_0xf0dae3[_0xeef0('0x34')]=_[_0xeef0('0x35')](_0x538a6a['model'],qs[_0xeef0('0x36')](_0x4ad004[_0xeef0('0x31')][_0xeef0('0x36')]));_0xf0dae3['attributes']=_0xf0dae3[_0xeef0('0x34')][_0xeef0('0x37')]?_0xf0dae3[_0xeef0('0x34')]:_0x538a6a[_0xeef0('0x2f')];if(!_0x4ad004[_0xeef0('0x31')][_0xeef0('0x38')]('nolimit')){_0xf0dae3[_0xeef0('0x1d')]=qs[_0xeef0('0x1d')](_0x4ad004[_0xeef0('0x31')][_0xeef0('0x1d')]);_0xf0dae3[_0xeef0('0x1b')]=qs[_0xeef0('0x1b')](_0x4ad004[_0xeef0('0x31')]['offset']);}_0xf0dae3['order']=qs[_0xeef0('0x39')](_0x4ad004[_0xeef0('0x31')][_0xeef0('0x39')]);_0xf0dae3[_0xeef0('0x3a')]=qs[_0xeef0('0x33')](_[_0xeef0('0x3b')](_0x4ad004[_0xeef0('0x31')],_0x538a6a['filters']),_0x288c5e);if(_0x4ad004[_0xeef0('0x31')][_0xeef0('0x3c')]){_0xf0dae3[_0xeef0('0x3a')]=_['merge'](_0xf0dae3[_0xeef0('0x3a')],{'$or':_['map'](_0x288c5e,function(_0x275006){if(_0x275006[_0xeef0('0x2d')]!==_0xeef0('0x3d')){var _0x3dc294={};_0x3dc294[_0x275006['name']]={'$like':'%'+_0x4ad004[_0xeef0('0x31')]['filter']+'%'};return _0x3dc294;}})});}_0xf0dae3=_[_0xeef0('0x3e')]({},_0xf0dae3,_0x4ad004[_0xeef0('0x3f')]);var _0x10ceda={'where':_0xf0dae3[_0xeef0('0x3a')]};return db[_0xeef0('0x2b')][_0xeef0('0x1e')](_0x10ceda)[_0xeef0('0x25')](function(_0x5725cf){_0x57b3ae['count']=_0x5725cf;if(_0x4ad004['query'][_0xeef0('0x40')]){_0xf0dae3[_0xeef0('0x41')]=[{'all':!![]}];}return db[_0xeef0('0x2b')]['findAll'](_0xf0dae3);})[_0xeef0('0x25')](function(_0x237ca4){_0x57b3ae[_0xeef0('0x42')]=_0x237ca4;return _0x57b3ae;})[_0xeef0('0x25')](respondWithFilteredResult(_0x3434d0,_0xf0dae3))[_0xeef0('0x43')](handleError(_0x3434d0,null));};exports[_0xeef0('0x44')]=function(_0x41402e,_0x245c31){var _0x170b47={'raw':![],'where':{'id':_0x41402e[_0xeef0('0x45')]['id']}},_0xbfba42={};_0xbfba42[_0xeef0('0x2f')]=_['keys'](db['FreshsalesConfiguration']['rawAttributes']);_0xbfba42[_0xeef0('0x31')]=_[_0xeef0('0x32')](_0x41402e[_0xeef0('0x31')]);_0xbfba42[_0xeef0('0x33')]=_[_0xeef0('0x35')](_0xbfba42[_0xeef0('0x2f')],_0xbfba42['query']);_0x170b47[_0xeef0('0x34')]=_[_0xeef0('0x35')](_0xbfba42[_0xeef0('0x2f')],qs[_0xeef0('0x36')](_0x41402e[_0xeef0('0x31')][_0xeef0('0x36')]));_0x170b47[_0xeef0('0x34')]=_0x170b47[_0xeef0('0x34')][_0xeef0('0x37')]?_0x170b47[_0xeef0('0x34')]:_0xbfba42['model'];if(_0x41402e[_0xeef0('0x31')]['includeAll']){_0x170b47[_0xeef0('0x41')]=[{'all':!![]}];}_0x170b47=_['merge']({},_0x170b47,_0x41402e['options']);return db[_0xeef0('0x2b')][_0xeef0('0x46')](_0x170b47)[_0xeef0('0x25')](handleEntityNotFound(_0x245c31,null))[_0xeef0('0x25')](respondWithResult(_0x245c31,null))['catch'](handleError(_0x245c31,null));};exports[_0xeef0('0x47')]=function(_0x5282e8,_0x4c0bd2){return db['FreshsalesConfiguration']['create'](_0x5282e8[_0xeef0('0x48')],{})['then'](respondWithResult(_0x4c0bd2,0xc9))[_0xeef0('0x43')](handleError(_0x4c0bd2,null));};exports[_0xeef0('0x24')]=function(_0x545f5d,_0x3792b4){if(_0x545f5d[_0xeef0('0x48')]['id']){delete _0x545f5d[_0xeef0('0x48')]['id'];}return db[_0xeef0('0x2b')][_0xeef0('0x46')]({'where':{'id':_0x545f5d[_0xeef0('0x45')]['id']}})['then'](handleEntityNotFound(_0x3792b4,null))[_0xeef0('0x25')](saveUpdates(_0x545f5d['body'],null))[_0xeef0('0x25')](respondWithResult(_0x3792b4,null))['catch'](handleError(_0x3792b4,null));};exports[_0xeef0('0x26')]=function(_0x19f35c,_0x552998){return db['FreshsalesConfiguration'][_0xeef0('0x46')]({'where':{'id':_0x19f35c[_0xeef0('0x45')]['id']}})[_0xeef0('0x25')](handleEntityNotFound(_0x552998,null))[_0xeef0('0x25')](removeEntity(_0x552998,null))['catch'](handleError(_0x552998,null));};exports['getSubjects']=function(_0x5d03b9,_0x5af7b0,_0x4ed378){var _0x4ea8e1={};var _0x3a42b1={};var _0x4b328d;var _0x3a8fd2;return db[_0xeef0('0x2b')][_0xeef0('0x49')]({'where':{'id':_0x5d03b9[_0xeef0('0x45')]['id']}})['then'](handleEntityNotFound(_0x5af7b0,null))[_0xeef0('0x25')](function(_0x2c6f56){if(_0x2c6f56){_0x4b328d=_0x2c6f56;_0x3a42b1[_0xeef0('0x2f')]=_[_0xeef0('0x32')](db['FreshsalesField'][_0xeef0('0x2c')]);_0x3a42b1[_0xeef0('0x31')]=_[_0xeef0('0x32')](_0x5d03b9[_0xeef0('0x31')]);_0x3a42b1[_0xeef0('0x33')]=_['intersection'](_0x3a42b1[_0xeef0('0x2f')],_0x3a42b1[_0xeef0('0x31')]);_0x4ea8e1['attributes']=_['intersection'](_0x3a42b1[_0xeef0('0x2f')],qs[_0xeef0('0x36')](_0x5d03b9[_0xeef0('0x31')][_0xeef0('0x36')]));_0x4ea8e1[_0xeef0('0x34')]=_0x4ea8e1[_0xeef0('0x34')][_0xeef0('0x37')]?_0x4ea8e1[_0xeef0('0x34')]:_0x3a42b1[_0xeef0('0x2f')];_0x4ea8e1[_0xeef0('0x4a')]=qs[_0xeef0('0x39')](_0x5d03b9[_0xeef0('0x31')][_0xeef0('0x39')]);_0x4ea8e1[_0xeef0('0x3a')]=qs[_0xeef0('0x33')](_[_0xeef0('0x3b')](_0x5d03b9[_0xeef0('0x31')],_0x3a42b1[_0xeef0('0x33')]));if(_0x5d03b9['query'][_0xeef0('0x3c')]){_0x4ea8e1[_0xeef0('0x3a')]=_[_0xeef0('0x3e')](_0x4ea8e1[_0xeef0('0x3a')],{'$or':_[_0xeef0('0x30')](_0x4ea8e1[_0xeef0('0x34')],function(_0xe116d2){var _0xbba95a={};_0xbba95a[_0xe116d2]={'$like':'%'+_0x5d03b9[_0xeef0('0x31')][_0xeef0('0x3c')]+'%'};return _0xbba95a;})});}_0x4ea8e1=_[_0xeef0('0x3e')]({},_0x4ea8e1,_0x5d03b9['options']);return _0x4b328d[_0xeef0('0x4b')](_0x4ea8e1);}})[_0xeef0('0x25')](function(_0x5d389e){if(_0x5d389e){_0x3a8fd2=_0x5d389e[_0xeef0('0x37')];if(!_0x5d03b9['query'][_0xeef0('0x38')](_0xeef0('0x4c'))){_0x4ea8e1['limit']=qs[_0xeef0('0x1d')](_0x5d03b9['query'][_0xeef0('0x1d')]);_0x4ea8e1[_0xeef0('0x1b')]=qs[_0xeef0('0x1b')](_0x5d03b9['query']['offset']);}return _0x4b328d[_0xeef0('0x4b')](_0x4ea8e1);}})[_0xeef0('0x25')](function(_0x2c8134){if(_0x2c8134){return _0x2c8134?{'count':_0x3a8fd2,'rows':_0x2c8134}:null;}})[_0xeef0('0x25')](respondWithResult(_0x5af7b0,null))['catch'](handleError(_0x5af7b0,null));};exports[_0xeef0('0x4d')]=function(_0x151d9b,_0x1a9269,_0x477cb3){var _0x393ae3={};var _0x3c3f9f={};var _0x3daead;var _0x11641c;return db['FreshsalesConfiguration'][_0xeef0('0x49')]({'where':{'id':_0x151d9b[_0xeef0('0x45')]['id']}})[_0xeef0('0x25')](handleEntityNotFound(_0x1a9269,null))[_0xeef0('0x25')](function(_0xa92ac1){if(_0xa92ac1){_0x3daead=_0xa92ac1;_0x3c3f9f[_0xeef0('0x2f')]=_[_0xeef0('0x32')](db['FreshsalesField']['rawAttributes']);_0x3c3f9f[_0xeef0('0x31')]=_[_0xeef0('0x32')](_0x151d9b['query']);_0x3c3f9f[_0xeef0('0x33')]=_['intersection'](_0x3c3f9f[_0xeef0('0x2f')],_0x3c3f9f[_0xeef0('0x31')]);_0x393ae3[_0xeef0('0x34')]=_[_0xeef0('0x35')](_0x3c3f9f[_0xeef0('0x2f')],qs[_0xeef0('0x36')](_0x151d9b[_0xeef0('0x31')]['fields']));_0x393ae3[_0xeef0('0x34')]=_0x393ae3[_0xeef0('0x34')][_0xeef0('0x37')]?_0x393ae3['attributes']:_0x3c3f9f[_0xeef0('0x2f')];_0x393ae3['order']=qs[_0xeef0('0x39')](_0x151d9b['query'][_0xeef0('0x39')]);_0x393ae3[_0xeef0('0x3a')]=qs['filters'](_[_0xeef0('0x3b')](_0x151d9b['query'],_0x3c3f9f[_0xeef0('0x33')]));if(_0x151d9b[_0xeef0('0x31')][_0xeef0('0x3c')]){_0x393ae3['where']=_[_0xeef0('0x3e')](_0x393ae3[_0xeef0('0x3a')],{'$or':_[_0xeef0('0x30')](_0x393ae3[_0xeef0('0x34')],function(_0x2219f1){var _0x13b88d={};_0x13b88d[_0x2219f1]={'$like':'%'+_0x151d9b[_0xeef0('0x31')]['filter']+'%'};return _0x13b88d;})});}_0x393ae3=_[_0xeef0('0x3e')]({},_0x393ae3,_0x151d9b[_0xeef0('0x3f')]);return _0x3daead[_0xeef0('0x4d')](_0x393ae3);}})[_0xeef0('0x25')](function(_0xb438d6){if(_0xb438d6){_0x11641c=_0xb438d6[_0xeef0('0x37')];if(!_0x151d9b[_0xeef0('0x31')]['hasOwnProperty']('nolimit')){_0x393ae3['limit']=qs[_0xeef0('0x1d')](_0x151d9b[_0xeef0('0x31')][_0xeef0('0x1d')]);_0x393ae3[_0xeef0('0x1b')]=qs['offset'](_0x151d9b[_0xeef0('0x31')][_0xeef0('0x1b')]);}return _0x3daead[_0xeef0('0x4d')](_0x393ae3);}})[_0xeef0('0x25')](function(_0x167638){if(_0x167638){return _0x167638?{'count':_0x11641c,'rows':_0x167638}:null;}})[_0xeef0('0x25')](respondWithResult(_0x1a9269,null))[_0xeef0('0x43')](handleError(_0x1a9269,null));};exports[_0xeef0('0x4e')]=function(_0x54179d,_0x3ee2d9,_0x4d3d03){var _0x48b855={};var _0x25f5d1={};var _0x1aa6ff;var _0xa09813;return db[_0xeef0('0x2b')]['findOne']({'where':{'id':_0x54179d[_0xeef0('0x45')]['id']}})['then'](handleEntityNotFound(_0x3ee2d9,null))[_0xeef0('0x25')](function(_0x22dc6d){if(_0x22dc6d){_0x1aa6ff=_0x22dc6d;_0x25f5d1[_0xeef0('0x2f')]=_[_0xeef0('0x32')](db['FreshsalesField']['rawAttributes']);_0x25f5d1[_0xeef0('0x31')]=_[_0xeef0('0x32')](_0x54179d[_0xeef0('0x31')]);_0x25f5d1[_0xeef0('0x33')]=_['intersection'](_0x25f5d1['model'],_0x25f5d1[_0xeef0('0x31')]);_0x48b855[_0xeef0('0x34')]=_[_0xeef0('0x35')](_0x25f5d1['model'],qs[_0xeef0('0x36')](_0x54179d[_0xeef0('0x31')][_0xeef0('0x36')]));_0x48b855['attributes']=_0x48b855[_0xeef0('0x34')][_0xeef0('0x37')]?_0x48b855[_0xeef0('0x34')]:_0x25f5d1[_0xeef0('0x2f')];_0x48b855[_0xeef0('0x4a')]=qs[_0xeef0('0x39')](_0x54179d['query']['sort']);_0x48b855[_0xeef0('0x3a')]=qs[_0xeef0('0x33')](_[_0xeef0('0x3b')](_0x54179d['query'],_0x25f5d1['filters']));if(_0x54179d['query']['filter']){_0x48b855[_0xeef0('0x3a')]=_['merge'](_0x48b855['where'],{'$or':_[_0xeef0('0x30')](_0x48b855[_0xeef0('0x34')],function(_0x19d06f){var _0x39030e={};_0x39030e[_0x19d06f]={'$like':'%'+_0x54179d[_0xeef0('0x31')][_0xeef0('0x3c')]+'%'};return _0x39030e;})});}_0x48b855=_[_0xeef0('0x3e')]({},_0x48b855,_0x54179d[_0xeef0('0x3f')]);return _0x1aa6ff[_0xeef0('0x4e')](_0x48b855);}})['then'](function(_0x395204){if(_0x395204){_0xa09813=_0x395204[_0xeef0('0x37')];if(!_0x54179d[_0xeef0('0x31')]['hasOwnProperty'](_0xeef0('0x4c'))){_0x48b855['limit']=qs[_0xeef0('0x1d')](_0x54179d[_0xeef0('0x31')][_0xeef0('0x1d')]);_0x48b855[_0xeef0('0x1b')]=qs[_0xeef0('0x1b')](_0x54179d[_0xeef0('0x31')]['offset']);}return _0x1aa6ff[_0xeef0('0x4e')](_0x48b855);}})[_0xeef0('0x25')](function(_0x4fc934){if(_0x4fc934){return _0x4fc934?{'count':_0xa09813,'rows':_0x4fc934}:null;}})['then'](respondWithResult(_0x3ee2d9,null))[_0xeef0('0x43')](handleError(_0x3ee2d9,null));};