Built motion from commit 8c034dcd.|2.6.31
[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 _0x344b=['findOne','FreshsalesField','filter','getDescriptions','getFields','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','json','reject','save','update','destroy','then','error','stack','name','index','map','FreshsalesConfiguration','fieldName','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','VIRTUAL','includeAll','include','rows','show','params','keys','rawAttributes','options','find','catch','create','body','getSubjects'];(function(_0x1502a2,_0x4e7122){var _0xa2bb7=function(_0x53f4f8){while(--_0x53f4f8){_0x1502a2['push'](_0x1502a2['shift']());}};_0xa2bb7(++_0x4e7122);}(_0x344b,0x195));var _0xb344=function(_0x243b2f,_0x30aa15){_0x243b2f=_0x243b2f-0x0;var _0xcb3c2d=_0x344b[_0x243b2f];return _0xcb3c2d;};'use strict';var emlformat=require(_0xb344('0x0'));var rimraf=require(_0xb344('0x1'));var zipdir=require(_0xb344('0x2'));var jsonpatch=require(_0xb344('0x3'));var rp=require(_0xb344('0x4'));var moment=require(_0xb344('0x5'));var BPromise=require(_0xb344('0x6'));var Mustache=require(_0xb344('0x7'));var util=require(_0xb344('0x8'));var path=require('path');var sox=require(_0xb344('0x9'));var csv=require(_0xb344('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb344('0xb'));var _=require(_0xb344('0xc'));var squel=require('squel');var crypto=require(_0xb344('0xd'));var jsforce=require(_0xb344('0xe'));var deskjs=require(_0xb344('0xf'));var toCsv=require(_0xb344('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xb344('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb344('0x11'));var logger=require(_0xb344('0x12'))('api');var utils=require(_0xb344('0x13'));var config=require(_0xb344('0x14'));var licenseUtil=require(_0xb344('0x15'));var db=require(_0xb344('0x16'))['db'];function respondWithStatusCode(_0x277720,_0x4b155f){_0x4b155f=_0x4b155f||0xcc;return function(_0x571f59){if(_0x571f59){return _0x277720[_0xb344('0x17')](_0x4b155f);}return _0x277720[_0xb344('0x18')](_0x4b155f)[_0xb344('0x19')]();};}function respondWithResult(_0xbe9a7a,_0x16ef47){_0x16ef47=_0x16ef47||0xc8;return function(_0xa67f8d){if(_0xa67f8d){return _0xbe9a7a[_0xb344('0x18')](_0x16ef47)['json'](_0xa67f8d);}};}function respondWithFilteredResult(_0x32a0c2,_0x1fcba3){return function(_0xc1a3ab){if(_0xc1a3ab){var _0x5f2b27=typeof _0x1fcba3[_0xb344('0x1a')]==='undefined'&&typeof _0x1fcba3[_0xb344('0x1b')]===_0xb344('0x1c');var _0xa55483=_0xc1a3ab[_0xb344('0x1d')];var _0x3a5e83=_0x5f2b27?0x0:_0x1fcba3[_0xb344('0x1a')];var _0x2359a1=_0x5f2b27?_0xc1a3ab[_0xb344('0x1d')]:_0x1fcba3[_0xb344('0x1a')]+_0x1fcba3[_0xb344('0x1b')];var _0x45c2be;if(_0x2359a1>=_0xa55483){_0x2359a1=_0xa55483;_0x45c2be=0xc8;}else{_0x45c2be=0xce;}_0x32a0c2[_0xb344('0x18')](_0x45c2be);return _0x32a0c2[_0xb344('0x1e')](_0xb344('0x1f'),_0x3a5e83+'-'+_0x2359a1+'/'+_0xa55483)[_0xb344('0x20')](_0xc1a3ab);}return null;};}function patchUpdates(_0x23a329){return function(_0x400767){try{jsonpatch['apply'](_0x400767,_0x23a329,!![]);}catch(_0x2b010b){return BPromise[_0xb344('0x21')](_0x2b010b);}return _0x400767[_0xb344('0x22')]();};}function saveUpdates(_0x2b6232,_0x8b9a0e){return function(_0x261a07){if(_0x261a07){return _0x261a07[_0xb344('0x23')](_0x2b6232)['then'](function(_0x3519ef){return _0x3519ef;});}return null;};}function removeEntity(_0xc41ef9,_0x13965c){return function(_0x1dc06c){if(_0x1dc06c){return _0x1dc06c[_0xb344('0x24')]()[_0xb344('0x25')](function(){_0xc41ef9[_0xb344('0x18')](0xcc)[_0xb344('0x19')]();});}};}function handleEntityNotFound(_0xff61d9,_0x21a172){return function(_0x4a4e55){if(!_0x4a4e55){_0xff61d9['sendStatus'](0x194);}return _0x4a4e55;};}function handleError(_0x44ca7b,_0x5840c9){_0x5840c9=_0x5840c9||0x1f4;return function(_0x256e2f){logger[_0xb344('0x26')](_0x256e2f[_0xb344('0x27')]);if(_0x256e2f[_0xb344('0x28')]){delete _0x256e2f[_0xb344('0x28')];}_0x44ca7b['status'](_0x5840c9)['send'](_0x256e2f);};}exports[_0xb344('0x29')]=function(_0x1973b3,_0x31d5c7){var _0xb596a6={},_0x430188={},_0xb78d68={'count':0x0,'rows':[]};var _0x2b6fd9=_[_0xb344('0x2a')](db[_0xb344('0x2b')]['rawAttributes'],function(_0x284fc0){return{'name':_0x284fc0[_0xb344('0x2c')],'type':_0x284fc0['type'][_0xb344('0x2d')]};});_0x430188[_0xb344('0x2e')]=_['map'](_0x2b6fd9,_0xb344('0x28'));_0x430188['query']=_['keys'](_0x1973b3[_0xb344('0x2f')]);_0x430188[_0xb344('0x30')]=_[_0xb344('0x31')](_0x430188['model'],_0x430188[_0xb344('0x2f')]);_0xb596a6['attributes']=_[_0xb344('0x31')](_0x430188[_0xb344('0x2e')],qs[_0xb344('0x32')](_0x1973b3[_0xb344('0x2f')]['fields']));_0xb596a6[_0xb344('0x33')]=_0xb596a6['attributes'][_0xb344('0x34')]?_0xb596a6[_0xb344('0x33')]:_0x430188[_0xb344('0x2e')];if(!_0x1973b3[_0xb344('0x2f')][_0xb344('0x35')](_0xb344('0x36'))){_0xb596a6[_0xb344('0x1b')]=qs[_0xb344('0x1b')](_0x1973b3[_0xb344('0x2f')]['limit']);_0xb596a6[_0xb344('0x1a')]=qs[_0xb344('0x1a')](_0x1973b3[_0xb344('0x2f')]['offset']);}_0xb596a6[_0xb344('0x37')]=qs[_0xb344('0x38')](_0x1973b3[_0xb344('0x2f')][_0xb344('0x38')]);_0xb596a6[_0xb344('0x39')]=qs[_0xb344('0x30')](_[_0xb344('0x3a')](_0x1973b3[_0xb344('0x2f')],_0x430188['filters']),_0x2b6fd9);if(_0x1973b3[_0xb344('0x2f')]['filter']){_0xb596a6['where']=_[_0xb344('0x3b')](_0xb596a6['where'],{'$or':_[_0xb344('0x2a')](_0x2b6fd9,function(_0x102412){if(_0x102412[_0xb344('0x3c')]!==_0xb344('0x3d')){var _0x5cb4b1={};_0x5cb4b1[_0x102412[_0xb344('0x28')]]={'$like':'%'+_0x1973b3[_0xb344('0x2f')]['filter']+'%'};return _0x5cb4b1;}})});}_0xb596a6=_[_0xb344('0x3b')]({},_0xb596a6,_0x1973b3['options']);var _0x28d535={'where':_0xb596a6[_0xb344('0x39')]};return db[_0xb344('0x2b')][_0xb344('0x1d')](_0x28d535)[_0xb344('0x25')](function(_0xc3eda9){_0xb78d68[_0xb344('0x1d')]=_0xc3eda9;if(_0x1973b3['query'][_0xb344('0x3e')]){_0xb596a6[_0xb344('0x3f')]=[{'all':!![]}];}return db[_0xb344('0x2b')]['findAll'](_0xb596a6);})['then'](function(_0x22666f){_0xb78d68[_0xb344('0x40')]=_0x22666f;return _0xb78d68;})['then'](respondWithFilteredResult(_0x31d5c7,_0xb596a6))['catch'](handleError(_0x31d5c7,null));};exports[_0xb344('0x41')]=function(_0x281ef6,_0x1edc2a){var _0x10697b={'raw':![],'where':{'id':_0x281ef6[_0xb344('0x42')]['id']}},_0x3eb9cd={};_0x3eb9cd[_0xb344('0x2e')]=_[_0xb344('0x43')](db['FreshsalesConfiguration'][_0xb344('0x44')]);_0x3eb9cd[_0xb344('0x2f')]=_['keys'](_0x281ef6[_0xb344('0x2f')]);_0x3eb9cd[_0xb344('0x30')]=_[_0xb344('0x31')](_0x3eb9cd[_0xb344('0x2e')],_0x3eb9cd[_0xb344('0x2f')]);_0x10697b[_0xb344('0x33')]=_[_0xb344('0x31')](_0x3eb9cd['model'],qs[_0xb344('0x32')](_0x281ef6[_0xb344('0x2f')][_0xb344('0x32')]));_0x10697b[_0xb344('0x33')]=_0x10697b[_0xb344('0x33')][_0xb344('0x34')]?_0x10697b[_0xb344('0x33')]:_0x3eb9cd[_0xb344('0x2e')];if(_0x281ef6[_0xb344('0x2f')][_0xb344('0x3e')]){_0x10697b['include']=[{'all':!![]}];}_0x10697b=_[_0xb344('0x3b')]({},_0x10697b,_0x281ef6[_0xb344('0x45')]);return db[_0xb344('0x2b')][_0xb344('0x46')](_0x10697b)['then'](handleEntityNotFound(_0x1edc2a,null))[_0xb344('0x25')](respondWithResult(_0x1edc2a,null))[_0xb344('0x47')](handleError(_0x1edc2a,null));};exports[_0xb344('0x48')]=function(_0x2662db,_0x1b1035){return db[_0xb344('0x2b')][_0xb344('0x48')](_0x2662db['body'],{})[_0xb344('0x25')](respondWithResult(_0x1b1035,0xc9))[_0xb344('0x47')](handleError(_0x1b1035,null));};exports[_0xb344('0x23')]=function(_0x63876c,_0x4f7270){if(_0x63876c[_0xb344('0x49')]['id']){delete _0x63876c['body']['id'];}return db['FreshsalesConfiguration'][_0xb344('0x46')]({'where':{'id':_0x63876c[_0xb344('0x42')]['id']}})[_0xb344('0x25')](handleEntityNotFound(_0x4f7270,null))['then'](saveUpdates(_0x63876c[_0xb344('0x49')],null))[_0xb344('0x25')](respondWithResult(_0x4f7270,null))[_0xb344('0x47')](handleError(_0x4f7270,null));};exports[_0xb344('0x24')]=function(_0x498d21,_0x295f7f){return db['FreshsalesConfiguration'][_0xb344('0x46')]({'where':{'id':_0x498d21[_0xb344('0x42')]['id']}})[_0xb344('0x25')](handleEntityNotFound(_0x295f7f,null))[_0xb344('0x25')](removeEntity(_0x295f7f,null))[_0xb344('0x47')](handleError(_0x295f7f,null));};exports[_0xb344('0x4a')]=function(_0xa94ac6,_0xa79b32,_0xa52b6e){var _0x16ffd6={};var _0x329855={};var _0x21aee8;var _0xbf256a;return db[_0xb344('0x2b')][_0xb344('0x4b')]({'where':{'id':_0xa94ac6[_0xb344('0x42')]['id']}})['then'](handleEntityNotFound(_0xa79b32,null))[_0xb344('0x25')](function(_0x576fa4){if(_0x576fa4){_0x21aee8=_0x576fa4;_0x329855[_0xb344('0x2e')]=_[_0xb344('0x43')](db['FreshsalesField']['rawAttributes']);_0x329855[_0xb344('0x2f')]=_[_0xb344('0x43')](_0xa94ac6['query']);_0x329855['filters']=_[_0xb344('0x31')](_0x329855[_0xb344('0x2e')],_0x329855[_0xb344('0x2f')]);_0x16ffd6['attributes']=_[_0xb344('0x31')](_0x329855[_0xb344('0x2e')],qs[_0xb344('0x32')](_0xa94ac6[_0xb344('0x2f')]['fields']));_0x16ffd6[_0xb344('0x33')]=_0x16ffd6[_0xb344('0x33')]['length']?_0x16ffd6[_0xb344('0x33')]:_0x329855[_0xb344('0x2e')];_0x16ffd6[_0xb344('0x37')]=qs['sort'](_0xa94ac6[_0xb344('0x2f')][_0xb344('0x38')]);_0x16ffd6['where']=qs['filters'](_[_0xb344('0x3a')](_0xa94ac6['query'],_0x329855[_0xb344('0x30')]));if(_0xa94ac6[_0xb344('0x2f')]['filter']){_0x16ffd6[_0xb344('0x39')]=_['merge'](_0x16ffd6[_0xb344('0x39')],{'$or':_[_0xb344('0x2a')](_0x16ffd6['attributes'],function(_0x243d9e){var _0x4d09da={};_0x4d09da[_0x243d9e]={'$like':'%'+_0xa94ac6[_0xb344('0x2f')]['filter']+'%'};return _0x4d09da;})});}_0x16ffd6=_[_0xb344('0x3b')]({},_0x16ffd6,_0xa94ac6[_0xb344('0x45')]);return _0x21aee8[_0xb344('0x4a')](_0x16ffd6);}})[_0xb344('0x25')](function(_0x3dad2a){if(_0x3dad2a){_0xbf256a=_0x3dad2a['length'];if(!_0xa94ac6[_0xb344('0x2f')][_0xb344('0x35')](_0xb344('0x36'))){_0x16ffd6[_0xb344('0x1b')]=qs[_0xb344('0x1b')](_0xa94ac6[_0xb344('0x2f')][_0xb344('0x1b')]);_0x16ffd6[_0xb344('0x1a')]=qs[_0xb344('0x1a')](_0xa94ac6[_0xb344('0x2f')][_0xb344('0x1a')]);}return _0x21aee8[_0xb344('0x4a')](_0x16ffd6);}})[_0xb344('0x25')](function(_0x2b0fc9){if(_0x2b0fc9){return _0x2b0fc9?{'count':_0xbf256a,'rows':_0x2b0fc9}:null;}})[_0xb344('0x25')](respondWithResult(_0xa79b32,null))[_0xb344('0x47')](handleError(_0xa79b32,null));};exports['getDescriptions']=function(_0x5ea1e8,_0x3a4f5f,_0x4bbad3){var _0x299b6d={};var _0x548f1a={};var _0x2ada6b;var _0x55bed0;return db[_0xb344('0x2b')][_0xb344('0x4b')]({'where':{'id':_0x5ea1e8['params']['id']}})[_0xb344('0x25')](handleEntityNotFound(_0x3a4f5f,null))['then'](function(_0x4e7b6f){if(_0x4e7b6f){_0x2ada6b=_0x4e7b6f;_0x548f1a[_0xb344('0x2e')]=_[_0xb344('0x43')](db[_0xb344('0x4c')]['rawAttributes']);_0x548f1a[_0xb344('0x2f')]=_[_0xb344('0x43')](_0x5ea1e8[_0xb344('0x2f')]);_0x548f1a[_0xb344('0x30')]=_['intersection'](_0x548f1a[_0xb344('0x2e')],_0x548f1a[_0xb344('0x2f')]);_0x299b6d[_0xb344('0x33')]=_[_0xb344('0x31')](_0x548f1a[_0xb344('0x2e')],qs['fields'](_0x5ea1e8[_0xb344('0x2f')][_0xb344('0x32')]));_0x299b6d[_0xb344('0x33')]=_0x299b6d[_0xb344('0x33')][_0xb344('0x34')]?_0x299b6d[_0xb344('0x33')]:_0x548f1a[_0xb344('0x2e')];_0x299b6d[_0xb344('0x37')]=qs['sort'](_0x5ea1e8['query'][_0xb344('0x38')]);_0x299b6d['where']=qs['filters'](_[_0xb344('0x3a')](_0x5ea1e8['query'],_0x548f1a[_0xb344('0x30')]));if(_0x5ea1e8[_0xb344('0x2f')][_0xb344('0x4d')]){_0x299b6d[_0xb344('0x39')]=_[_0xb344('0x3b')](_0x299b6d[_0xb344('0x39')],{'$or':_['map'](_0x299b6d['attributes'],function(_0x36b786){var _0x4ff98d={};_0x4ff98d[_0x36b786]={'$like':'%'+_0x5ea1e8[_0xb344('0x2f')][_0xb344('0x4d')]+'%'};return _0x4ff98d;})});}_0x299b6d=_[_0xb344('0x3b')]({},_0x299b6d,_0x5ea1e8[_0xb344('0x45')]);return _0x2ada6b['getDescriptions'](_0x299b6d);}})[_0xb344('0x25')](function(_0x3e1056){if(_0x3e1056){_0x55bed0=_0x3e1056[_0xb344('0x34')];if(!_0x5ea1e8[_0xb344('0x2f')]['hasOwnProperty'](_0xb344('0x36'))){_0x299b6d[_0xb344('0x1b')]=qs[_0xb344('0x1b')](_0x5ea1e8['query'][_0xb344('0x1b')]);_0x299b6d[_0xb344('0x1a')]=qs[_0xb344('0x1a')](_0x5ea1e8[_0xb344('0x2f')][_0xb344('0x1a')]);}return _0x2ada6b[_0xb344('0x4e')](_0x299b6d);}})[_0xb344('0x25')](function(_0x2bb2d0){if(_0x2bb2d0){return _0x2bb2d0?{'count':_0x55bed0,'rows':_0x2bb2d0}:null;}})[_0xb344('0x25')](respondWithResult(_0x3a4f5f,null))['catch'](handleError(_0x3a4f5f,null));};exports[_0xb344('0x4f')]=function(_0x1fe0f9,_0x3adc36,_0x46a53c){var _0x5dd478={};var _0x5723cd={};var _0x240244;var _0x1a0944;return db[_0xb344('0x2b')][_0xb344('0x4b')]({'where':{'id':_0x1fe0f9[_0xb344('0x42')]['id']}})[_0xb344('0x25')](handleEntityNotFound(_0x3adc36,null))[_0xb344('0x25')](function(_0x3f3c9d){if(_0x3f3c9d){_0x240244=_0x3f3c9d;_0x5723cd[_0xb344('0x2e')]=_[_0xb344('0x43')](db[_0xb344('0x4c')][_0xb344('0x44')]);_0x5723cd['query']=_[_0xb344('0x43')](_0x1fe0f9[_0xb344('0x2f')]);_0x5723cd[_0xb344('0x30')]=_[_0xb344('0x31')](_0x5723cd[_0xb344('0x2e')],_0x5723cd['query']);_0x5dd478[_0xb344('0x33')]=_['intersection'](_0x5723cd[_0xb344('0x2e')],qs[_0xb344('0x32')](_0x1fe0f9[_0xb344('0x2f')][_0xb344('0x32')]));_0x5dd478['attributes']=_0x5dd478['attributes']['length']?_0x5dd478[_0xb344('0x33')]:_0x5723cd[_0xb344('0x2e')];_0x5dd478['order']=qs[_0xb344('0x38')](_0x1fe0f9[_0xb344('0x2f')]['sort']);_0x5dd478[_0xb344('0x39')]=qs[_0xb344('0x30')](_[_0xb344('0x3a')](_0x1fe0f9[_0xb344('0x2f')],_0x5723cd[_0xb344('0x30')]));if(_0x1fe0f9[_0xb344('0x2f')][_0xb344('0x4d')]){_0x5dd478[_0xb344('0x39')]=_['merge'](_0x5dd478[_0xb344('0x39')],{'$or':_['map'](_0x5dd478[_0xb344('0x33')],function(_0x13875f){var _0x10b750={};_0x10b750[_0x13875f]={'$like':'%'+_0x1fe0f9[_0xb344('0x2f')][_0xb344('0x4d')]+'%'};return _0x10b750;})});}_0x5dd478=_[_0xb344('0x3b')]({},_0x5dd478,_0x1fe0f9[_0xb344('0x45')]);return _0x240244[_0xb344('0x4f')](_0x5dd478);}})[_0xb344('0x25')](function(_0x2ab6e8){if(_0x2ab6e8){_0x1a0944=_0x2ab6e8['length'];if(!_0x1fe0f9[_0xb344('0x2f')][_0xb344('0x35')]('nolimit')){_0x5dd478[_0xb344('0x1b')]=qs[_0xb344('0x1b')](_0x1fe0f9['query'][_0xb344('0x1b')]);_0x5dd478[_0xb344('0x1a')]=qs[_0xb344('0x1a')](_0x1fe0f9[_0xb344('0x2f')]['offset']);}return _0x240244[_0xb344('0x4f')](_0x5dd478);}})[_0xb344('0x25')](function(_0x25cee2){if(_0x25cee2){return _0x25cee2?{'count':_0x1a0944,'rows':_0x25cee2}:null;}})[_0xb344('0x25')](respondWithResult(_0x3adc36,null))[_0xb344('0x47')](handleError(_0x3adc36,null));};