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 _0x5647=['findAll','catch','show','params','length','find','create','body','getSubjects','findOne','FreshsalesField','pick','getDescriptions','getFields','eml-format','rimraf','request-promise','moment','bluebird','mustache','util','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','status','end','json','offset','undefined','count','limit','set','reject','save','update','then','destroy','sendStatus','error','stack','name','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','VIRTUAL','filter','merge','options','FreshsalesConfiguration','includeAll','include'];(function(_0x450c7f,_0x5e2846){var _0x160143=function(_0xf3d97d){while(--_0xf3d97d){_0x450c7f['push'](_0x450c7f['shift']());}};_0x160143(++_0x5e2846);}(_0x5647,0xf8));var _0x7564=function(_0x32d1a6,_0x19d972){_0x32d1a6=_0x32d1a6-0x0;var _0x54e692=_0x5647[_0x32d1a6];return _0x54e692;};'use strict';var emlformat=require(_0x7564('0x0'));var rimraf=require(_0x7564('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x7564('0x2'));var moment=require(_0x7564('0x3'));var BPromise=require(_0x7564('0x4'));var Mustache=require(_0x7564('0x5'));var util=require(_0x7564('0x6'));var path=require('path');var sox=require(_0x7564('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7564('0x8'));var squel=require(_0x7564('0x9'));var crypto=require(_0x7564('0xa'));var jsforce=require(_0x7564('0xb'));var deskjs=require(_0x7564('0xc'));var toCsv=require(_0x7564('0xd'));var querystring=require(_0x7564('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x7564('0xf'));var qs=require(_0x7564('0x10'));var as=require(_0x7564('0x11'));var hardwareService=require(_0x7564('0x12'));var logger=require('../../config/logger')(_0x7564('0x13'));var utils=require(_0x7564('0x14'));var config=require(_0x7564('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3bf4a4,_0x9b57d9){_0x9b57d9=_0x9b57d9||0xcc;return function(_0x1de694){if(_0x1de694){return _0x3bf4a4['sendStatus'](_0x9b57d9);}return _0x3bf4a4[_0x7564('0x16')](_0x9b57d9)[_0x7564('0x17')]();};}function respondWithResult(_0x7bec7b,_0x4081f5){_0x4081f5=_0x4081f5||0xc8;return function(_0x35c85f){if(_0x35c85f){return _0x7bec7b[_0x7564('0x16')](_0x4081f5)[_0x7564('0x18')](_0x35c85f);}};}function respondWithFilteredResult(_0x4ada86,_0x504e7a){return function(_0x5bc1d8){if(_0x5bc1d8){var _0x37f807=typeof _0x504e7a[_0x7564('0x19')]==='undefined'&&typeof _0x504e7a['limit']===_0x7564('0x1a');var _0x47c5b2=_0x5bc1d8[_0x7564('0x1b')];var _0x20cc2a=_0x37f807?0x0:_0x504e7a[_0x7564('0x19')];var _0x5c206f=_0x37f807?_0x5bc1d8[_0x7564('0x1b')]:_0x504e7a['offset']+_0x504e7a[_0x7564('0x1c')];var _0x563bd0;if(_0x5c206f>=_0x47c5b2){_0x5c206f=_0x47c5b2;_0x563bd0=0xc8;}else{_0x563bd0=0xce;}_0x4ada86['status'](_0x563bd0);return _0x4ada86[_0x7564('0x1d')]('Content-Range',_0x20cc2a+'-'+_0x5c206f+'/'+_0x47c5b2)[_0x7564('0x18')](_0x5bc1d8);}return null;};}function patchUpdates(_0x211f4d){return function(_0x45af42){try{jsonpatch['apply'](_0x45af42,_0x211f4d,!![]);}catch(_0x4db444){return BPromise[_0x7564('0x1e')](_0x4db444);}return _0x45af42[_0x7564('0x1f')]();};}function saveUpdates(_0x5f5b08,_0x80d80f){return function(_0x5c8d27){if(_0x5c8d27){return _0x5c8d27[_0x7564('0x20')](_0x5f5b08)[_0x7564('0x21')](function(_0x4bd575){return _0x4bd575;});}return null;};}function removeEntity(_0x28492b,_0x1396e8){return function(_0x19d1a4){if(_0x19d1a4){return _0x19d1a4[_0x7564('0x22')]()[_0x7564('0x21')](function(){_0x28492b[_0x7564('0x16')](0xcc)[_0x7564('0x17')]();});}};}function handleEntityNotFound(_0x22baeb,_0x5c1a54){return function(_0x57d17d){if(!_0x57d17d){_0x22baeb[_0x7564('0x23')](0x194);}return _0x57d17d;};}function handleError(_0x304807,_0x4c3c8d){_0x4c3c8d=_0x4c3c8d||0x1f4;return function(_0x1e30b8){logger[_0x7564('0x24')](_0x1e30b8[_0x7564('0x25')]);if(_0x1e30b8['name']){delete _0x1e30b8[_0x7564('0x26')];}_0x304807[_0x7564('0x16')](_0x4c3c8d)['send'](_0x1e30b8);};}exports[_0x7564('0x27')]=function(_0x43e86b,_0x1137c5){var _0x4d6bf3={},_0x3cb98b={},_0x21c0a1={'count':0x0,'rows':[]};var _0x4f94ac=_[_0x7564('0x28')](db['FreshsalesConfiguration'][_0x7564('0x29')],function(_0x462dd5){return{'name':_0x462dd5[_0x7564('0x2a')],'type':_0x462dd5[_0x7564('0x2b')][_0x7564('0x2c')]};});_0x3cb98b[_0x7564('0x2d')]=_[_0x7564('0x28')](_0x4f94ac,_0x7564('0x26'));_0x3cb98b[_0x7564('0x2e')]=_[_0x7564('0x2f')](_0x43e86b['query']);_0x3cb98b[_0x7564('0x30')]=_[_0x7564('0x31')](_0x3cb98b[_0x7564('0x2d')],_0x3cb98b[_0x7564('0x2e')]);_0x4d6bf3[_0x7564('0x32')]=_[_0x7564('0x31')](_0x3cb98b[_0x7564('0x2d')],qs[_0x7564('0x33')](_0x43e86b[_0x7564('0x2e')][_0x7564('0x33')]));_0x4d6bf3['attributes']=_0x4d6bf3[_0x7564('0x32')]['length']?_0x4d6bf3[_0x7564('0x32')]:_0x3cb98b[_0x7564('0x2d')];if(!_0x43e86b[_0x7564('0x2e')][_0x7564('0x34')](_0x7564('0x35'))){_0x4d6bf3[_0x7564('0x1c')]=qs[_0x7564('0x1c')](_0x43e86b[_0x7564('0x2e')][_0x7564('0x1c')]);_0x4d6bf3[_0x7564('0x19')]=qs[_0x7564('0x19')](_0x43e86b[_0x7564('0x2e')]['offset']);}_0x4d6bf3[_0x7564('0x36')]=qs[_0x7564('0x37')](_0x43e86b[_0x7564('0x2e')][_0x7564('0x37')]);_0x4d6bf3[_0x7564('0x38')]=qs['filters'](_['pick'](_0x43e86b[_0x7564('0x2e')],_0x3cb98b[_0x7564('0x30')]),_0x4f94ac);if(_0x43e86b[_0x7564('0x2e')]['filter']){_0x4d6bf3[_0x7564('0x38')]=_['merge'](_0x4d6bf3['where'],{'$or':_[_0x7564('0x28')](_0x4f94ac,function(_0x47742a){if(_0x47742a[_0x7564('0x2b')]!==_0x7564('0x39')){var _0x5a5f57={};_0x5a5f57[_0x47742a[_0x7564('0x26')]]={'$like':'%'+_0x43e86b['query'][_0x7564('0x3a')]+'%'};return _0x5a5f57;}})});}_0x4d6bf3=_[_0x7564('0x3b')]({},_0x4d6bf3,_0x43e86b[_0x7564('0x3c')]);var _0x51fb6b={'where':_0x4d6bf3['where']};return db[_0x7564('0x3d')][_0x7564('0x1b')](_0x51fb6b)['then'](function(_0x70525c){_0x21c0a1[_0x7564('0x1b')]=_0x70525c;if(_0x43e86b[_0x7564('0x2e')][_0x7564('0x3e')]){_0x4d6bf3[_0x7564('0x3f')]=[{'all':!![]}];}return db['FreshsalesConfiguration'][_0x7564('0x40')](_0x4d6bf3);})['then'](function(_0xffa6c){_0x21c0a1['rows']=_0xffa6c;return _0x21c0a1;})['then'](respondWithFilteredResult(_0x1137c5,_0x4d6bf3))[_0x7564('0x41')](handleError(_0x1137c5,null));};exports[_0x7564('0x42')]=function(_0x3e4d6e,_0x542191){var _0x5ac069={'raw':![],'where':{'id':_0x3e4d6e[_0x7564('0x43')]['id']}},_0x1a0ab0={};_0x1a0ab0[_0x7564('0x2d')]=_[_0x7564('0x2f')](db[_0x7564('0x3d')][_0x7564('0x29')]);_0x1a0ab0[_0x7564('0x2e')]=_['keys'](_0x3e4d6e['query']);_0x1a0ab0[_0x7564('0x30')]=_[_0x7564('0x31')](_0x1a0ab0['model'],_0x1a0ab0[_0x7564('0x2e')]);_0x5ac069[_0x7564('0x32')]=_[_0x7564('0x31')](_0x1a0ab0['model'],qs[_0x7564('0x33')](_0x3e4d6e['query'][_0x7564('0x33')]));_0x5ac069[_0x7564('0x32')]=_0x5ac069['attributes'][_0x7564('0x44')]?_0x5ac069[_0x7564('0x32')]:_0x1a0ab0[_0x7564('0x2d')];if(_0x3e4d6e['query']['includeAll']){_0x5ac069[_0x7564('0x3f')]=[{'all':!![]}];}_0x5ac069=_[_0x7564('0x3b')]({},_0x5ac069,_0x3e4d6e[_0x7564('0x3c')]);return db['FreshsalesConfiguration'][_0x7564('0x45')](_0x5ac069)['then'](handleEntityNotFound(_0x542191,null))[_0x7564('0x21')](respondWithResult(_0x542191,null))[_0x7564('0x41')](handleError(_0x542191,null));};exports[_0x7564('0x46')]=function(_0x3427f2,_0x5d7f48){return db[_0x7564('0x3d')]['create'](_0x3427f2[_0x7564('0x47')],{})[_0x7564('0x21')](respondWithResult(_0x5d7f48,0xc9))[_0x7564('0x41')](handleError(_0x5d7f48,null));};exports[_0x7564('0x20')]=function(_0x3f80f0,_0x52d27a){if(_0x3f80f0['body']['id']){delete _0x3f80f0[_0x7564('0x47')]['id'];}return db[_0x7564('0x3d')][_0x7564('0x45')]({'where':{'id':_0x3f80f0['params']['id']}})['then'](handleEntityNotFound(_0x52d27a,null))[_0x7564('0x21')](saveUpdates(_0x3f80f0[_0x7564('0x47')],null))[_0x7564('0x21')](respondWithResult(_0x52d27a,null))[_0x7564('0x41')](handleError(_0x52d27a,null));};exports['destroy']=function(_0x3df222,_0x10c6c7){return db[_0x7564('0x3d')][_0x7564('0x45')]({'where':{'id':_0x3df222['params']['id']}})[_0x7564('0x21')](handleEntityNotFound(_0x10c6c7,null))[_0x7564('0x21')](removeEntity(_0x10c6c7,null))[_0x7564('0x41')](handleError(_0x10c6c7,null));};exports[_0x7564('0x48')]=function(_0x504d81,_0x3b4ea6,_0x3d62a5){var _0xdfc5fd={};var _0x4fa411={};var _0x3f6aaf;var _0x120564;return db[_0x7564('0x3d')][_0x7564('0x49')]({'where':{'id':_0x504d81['params']['id']}})[_0x7564('0x21')](handleEntityNotFound(_0x3b4ea6,null))[_0x7564('0x21')](function(_0x362f00){if(_0x362f00){_0x3f6aaf=_0x362f00;_0x4fa411[_0x7564('0x2d')]=_[_0x7564('0x2f')](db[_0x7564('0x4a')][_0x7564('0x29')]);_0x4fa411[_0x7564('0x2e')]=_['keys'](_0x504d81[_0x7564('0x2e')]);_0x4fa411[_0x7564('0x30')]=_[_0x7564('0x31')](_0x4fa411[_0x7564('0x2d')],_0x4fa411[_0x7564('0x2e')]);_0xdfc5fd[_0x7564('0x32')]=_[_0x7564('0x31')](_0x4fa411[_0x7564('0x2d')],qs[_0x7564('0x33')](_0x504d81['query'][_0x7564('0x33')]));_0xdfc5fd['attributes']=_0xdfc5fd[_0x7564('0x32')][_0x7564('0x44')]?_0xdfc5fd[_0x7564('0x32')]:_0x4fa411[_0x7564('0x2d')];_0xdfc5fd[_0x7564('0x36')]=qs[_0x7564('0x37')](_0x504d81[_0x7564('0x2e')][_0x7564('0x37')]);_0xdfc5fd[_0x7564('0x38')]=qs[_0x7564('0x30')](_[_0x7564('0x4b')](_0x504d81['query'],_0x4fa411['filters']));if(_0x504d81[_0x7564('0x2e')]['filter']){_0xdfc5fd['where']=_[_0x7564('0x3b')](_0xdfc5fd[_0x7564('0x38')],{'$or':_[_0x7564('0x28')](_0xdfc5fd[_0x7564('0x32')],function(_0x180c82){var _0x1f2d40={};_0x1f2d40[_0x180c82]={'$like':'%'+_0x504d81[_0x7564('0x2e')][_0x7564('0x3a')]+'%'};return _0x1f2d40;})});}_0xdfc5fd=_[_0x7564('0x3b')]({},_0xdfc5fd,_0x504d81[_0x7564('0x3c')]);return _0x3f6aaf[_0x7564('0x48')](_0xdfc5fd);}})[_0x7564('0x21')](function(_0x376405){if(_0x376405){_0x120564=_0x376405[_0x7564('0x44')];if(!_0x504d81[_0x7564('0x2e')]['hasOwnProperty'](_0x7564('0x35'))){_0xdfc5fd[_0x7564('0x1c')]=qs['limit'](_0x504d81['query'][_0x7564('0x1c')]);_0xdfc5fd[_0x7564('0x19')]=qs[_0x7564('0x19')](_0x504d81[_0x7564('0x2e')][_0x7564('0x19')]);}return _0x3f6aaf[_0x7564('0x48')](_0xdfc5fd);}})['then'](function(_0x4cc1fa){if(_0x4cc1fa){return _0x4cc1fa?{'count':_0x120564,'rows':_0x4cc1fa}:null;}})[_0x7564('0x21')](respondWithResult(_0x3b4ea6,null))['catch'](handleError(_0x3b4ea6,null));};exports[_0x7564('0x4c')]=function(_0x5070ae,_0x55c4cd,_0x3ca79d){var _0x15c4bf={};var _0x3f8542={};var _0x210a49;var _0x1be0f0;return db[_0x7564('0x3d')][_0x7564('0x49')]({'where':{'id':_0x5070ae[_0x7564('0x43')]['id']}})[_0x7564('0x21')](handleEntityNotFound(_0x55c4cd,null))['then'](function(_0x53f643){if(_0x53f643){_0x210a49=_0x53f643;_0x3f8542['model']=_[_0x7564('0x2f')](db[_0x7564('0x4a')]['rawAttributes']);_0x3f8542['query']=_['keys'](_0x5070ae['query']);_0x3f8542['filters']=_['intersection'](_0x3f8542[_0x7564('0x2d')],_0x3f8542[_0x7564('0x2e')]);_0x15c4bf[_0x7564('0x32')]=_[_0x7564('0x31')](_0x3f8542[_0x7564('0x2d')],qs[_0x7564('0x33')](_0x5070ae['query'][_0x7564('0x33')]));_0x15c4bf[_0x7564('0x32')]=_0x15c4bf['attributes']['length']?_0x15c4bf['attributes']:_0x3f8542['model'];_0x15c4bf[_0x7564('0x36')]=qs[_0x7564('0x37')](_0x5070ae[_0x7564('0x2e')][_0x7564('0x37')]);_0x15c4bf[_0x7564('0x38')]=qs[_0x7564('0x30')](_[_0x7564('0x4b')](_0x5070ae[_0x7564('0x2e')],_0x3f8542[_0x7564('0x30')]));if(_0x5070ae[_0x7564('0x2e')][_0x7564('0x3a')]){_0x15c4bf[_0x7564('0x38')]=_['merge'](_0x15c4bf['where'],{'$or':_[_0x7564('0x28')](_0x15c4bf[_0x7564('0x32')],function(_0x2c1ab3){var _0x1dcb06={};_0x1dcb06[_0x2c1ab3]={'$like':'%'+_0x5070ae[_0x7564('0x2e')]['filter']+'%'};return _0x1dcb06;})});}_0x15c4bf=_[_0x7564('0x3b')]({},_0x15c4bf,_0x5070ae[_0x7564('0x3c')]);return _0x210a49[_0x7564('0x4c')](_0x15c4bf);}})['then'](function(_0x1cd3f2){if(_0x1cd3f2){_0x1be0f0=_0x1cd3f2[_0x7564('0x44')];if(!_0x5070ae[_0x7564('0x2e')]['hasOwnProperty'](_0x7564('0x35'))){_0x15c4bf[_0x7564('0x1c')]=qs[_0x7564('0x1c')](_0x5070ae['query'][_0x7564('0x1c')]);_0x15c4bf[_0x7564('0x19')]=qs[_0x7564('0x19')](_0x5070ae['query'][_0x7564('0x19')]);}return _0x210a49[_0x7564('0x4c')](_0x15c4bf);}})[_0x7564('0x21')](function(_0x373c13){if(_0x373c13){return _0x373c13?{'count':_0x1be0f0,'rows':_0x373c13}:null;}})['then'](respondWithResult(_0x55c4cd,null))['catch'](handleError(_0x55c4cd,null));};exports[_0x7564('0x4d')]=function(_0xf372aa,_0x2ac61a,_0x29804c){var _0xb3607d={};var _0x4eeb03={};var _0x450b54;var _0x485b03;return db['FreshsalesConfiguration'][_0x7564('0x49')]({'where':{'id':_0xf372aa['params']['id']}})[_0x7564('0x21')](handleEntityNotFound(_0x2ac61a,null))[_0x7564('0x21')](function(_0x3531ca){if(_0x3531ca){_0x450b54=_0x3531ca;_0x4eeb03[_0x7564('0x2d')]=_['keys'](db[_0x7564('0x4a')][_0x7564('0x29')]);_0x4eeb03['query']=_[_0x7564('0x2f')](_0xf372aa['query']);_0x4eeb03['filters']=_[_0x7564('0x31')](_0x4eeb03[_0x7564('0x2d')],_0x4eeb03['query']);_0xb3607d[_0x7564('0x32')]=_[_0x7564('0x31')](_0x4eeb03[_0x7564('0x2d')],qs[_0x7564('0x33')](_0xf372aa[_0x7564('0x2e')]['fields']));_0xb3607d[_0x7564('0x32')]=_0xb3607d['attributes'][_0x7564('0x44')]?_0xb3607d[_0x7564('0x32')]:_0x4eeb03[_0x7564('0x2d')];_0xb3607d[_0x7564('0x36')]=qs[_0x7564('0x37')](_0xf372aa[_0x7564('0x2e')][_0x7564('0x37')]);_0xb3607d['where']=qs[_0x7564('0x30')](_[_0x7564('0x4b')](_0xf372aa[_0x7564('0x2e')],_0x4eeb03[_0x7564('0x30')]));if(_0xf372aa[_0x7564('0x2e')][_0x7564('0x3a')]){_0xb3607d[_0x7564('0x38')]=_[_0x7564('0x3b')](_0xb3607d[_0x7564('0x38')],{'$or':_[_0x7564('0x28')](_0xb3607d[_0x7564('0x32')],function(_0x5595b7){var _0x5cb95c={};_0x5cb95c[_0x5595b7]={'$like':'%'+_0xf372aa[_0x7564('0x2e')]['filter']+'%'};return _0x5cb95c;})});}_0xb3607d=_[_0x7564('0x3b')]({},_0xb3607d,_0xf372aa['options']);return _0x450b54[_0x7564('0x4d')](_0xb3607d);}})[_0x7564('0x21')](function(_0x3c49e5){if(_0x3c49e5){_0x485b03=_0x3c49e5[_0x7564('0x44')];if(!_0xf372aa['query'][_0x7564('0x34')](_0x7564('0x35'))){_0xb3607d[_0x7564('0x1c')]=qs[_0x7564('0x1c')](_0xf372aa[_0x7564('0x2e')][_0x7564('0x1c')]);_0xb3607d[_0x7564('0x19')]=qs[_0x7564('0x19')](_0xf372aa[_0x7564('0x2e')][_0x7564('0x19')]);}return _0x450b54[_0x7564('0x4d')](_0xb3607d);}})[_0x7564('0x21')](function(_0x3ebed3){if(_0x3ebed3){return _0x3ebed3?{'count':_0x485b03,'rows':_0x3ebed3}:null;}})[_0x7564('0x21')](respondWithResult(_0x2ac61a,null))[_0x7564('0x41')](handleError(_0x2ac61a,null));};