Built motion from commit da617fac.|2.6.6
[motion2.git] / server / api / intFreshsalesAccount / intFreshsalesAccount.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 _0xac3e=['undefined','count','set','apply','save','then','destroy','error','name','send','index','FreshsalesAccount','rawAttributes','fieldName','type','model','map','query','keys','intersection','attributes','fields','nolimit','order','sort','filters','pick','where','filter','merge','includeAll','include','findAll','show','params','length','options','find','catch','create','body','update','getConfigurations','findOne','FreshsalesConfiguration','hasOwnProperty','addConfiguration','AccountId','Subjects','channel','Descriptions','getDescriptions','FreshsalesField','username','remoteUri','apiKey','slice','substring','lastIndexOf','GET','%s%s','Token\x20token=','users','Requested\x20Resource\x20not\x20Found','test','statusCode','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit'];(function(_0x4fbdc0,_0x5bf025){var _0x2ed5b4=function(_0x1d87f0){while(--_0x1d87f0){_0x4fbdc0['push'](_0x4fbdc0['shift']());}};_0x2ed5b4(++_0x5bf025);}(_0xac3e,0x164));var _0xeac3=function(_0x5db99b,_0xdee23a){_0x5db99b=_0x5db99b-0x0;var _0x4b2d0e=_0xac3e[_0x5db99b];return _0x4b2d0e;};'use strict';var emlformat=require(_0xeac3('0x0'));var rimraf=require(_0xeac3('0x1'));var zipdir=require(_0xeac3('0x2'));var jsonpatch=require(_0xeac3('0x3'));var rp=require('request-promise');var moment=require(_0xeac3('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xeac3('0x5'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xeac3('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xeac3('0x7'));var squel=require(_0xeac3('0x8'));var crypto=require(_0xeac3('0x9'));var jsforce=require(_0xeac3('0xa'));var deskjs=require(_0xeac3('0xb'));var toCsv=require(_0xeac3('0xc'));var querystring=require(_0xeac3('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xeac3('0xe'));var qs=require(_0xeac3('0xf'));var as=require(_0xeac3('0x10'));var hardwareService=require(_0xeac3('0x11'));var logger=require('../../config/logger')(_0xeac3('0x12'));var utils=require('../../config/utils');var config=require(_0xeac3('0x13'));var licenseUtil=require(_0xeac3('0x14'));var db=require(_0xeac3('0x15'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x2c381f,_0x502d92){_0x502d92=_0x502d92||0xcc;return function(_0x31d63d){if(_0x31d63d){return _0x2c381f[_0xeac3('0x16')](_0x502d92);}return _0x2c381f[_0xeac3('0x17')](_0x502d92)[_0xeac3('0x18')]();};}function respondWithResult(_0x58c186,_0xcf2ac4){_0xcf2ac4=_0xcf2ac4||0xc8;return function(_0x4285b8){if(_0x4285b8){return _0x58c186['status'](_0xcf2ac4)[_0xeac3('0x19')](_0x4285b8);}};}function respondWithFilteredResult(_0x444ded,_0x2e4daa){return function(_0x44b082){if(_0x44b082){var _0x10152b=typeof _0x2e4daa[_0xeac3('0x1a')]==='undefined'&&typeof _0x2e4daa[_0xeac3('0x1b')]===_0xeac3('0x1c');var _0x199108=_0x44b082[_0xeac3('0x1d')];var _0x3404ed=_0x10152b?0x0:_0x2e4daa[_0xeac3('0x1a')];var _0x2267a8=_0x10152b?_0x44b082[_0xeac3('0x1d')]:_0x2e4daa[_0xeac3('0x1a')]+_0x2e4daa['limit'];var _0x43c321;if(_0x2267a8>=_0x199108){_0x2267a8=_0x199108;_0x43c321=0xc8;}else{_0x43c321=0xce;}_0x444ded[_0xeac3('0x17')](_0x43c321);return _0x444ded[_0xeac3('0x1e')]('Content-Range',_0x3404ed+'-'+_0x2267a8+'/'+_0x199108)[_0xeac3('0x19')](_0x44b082);}return null;};}function patchUpdates(_0x269d2c){return function(_0x4d2e66){try{jsonpatch[_0xeac3('0x1f')](_0x4d2e66,_0x269d2c,!![]);}catch(_0xf4a0c3){return BPromise['reject'](_0xf4a0c3);}return _0x4d2e66[_0xeac3('0x20')]();};}function saveUpdates(_0x20e3c2,_0x5efa9e){return function(_0x3ee41e){if(_0x3ee41e){return _0x3ee41e['update'](_0x20e3c2)[_0xeac3('0x21')](function(_0xa82d4b){return _0xa82d4b;});}return null;};}function removeEntity(_0x2a6df0,_0xa66171){return function(_0x3c85a7){if(_0x3c85a7){return _0x3c85a7[_0xeac3('0x22')]()[_0xeac3('0x21')](function(){_0x2a6df0[_0xeac3('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5c8172,_0x15813e){return function(_0x163f7d){if(!_0x163f7d){_0x5c8172[_0xeac3('0x16')](0x194);}return _0x163f7d;};}function handleError(_0x2fd0a9,_0x28340e){_0x28340e=_0x28340e||0x1f4;return function(_0x34ad48){logger[_0xeac3('0x23')](_0x34ad48['stack']);if(_0x34ad48['name']){delete _0x34ad48[_0xeac3('0x24')];}_0x2fd0a9['status'](_0x28340e)[_0xeac3('0x25')](_0x34ad48);};}exports[_0xeac3('0x26')]=function(_0x30aea,_0x1218a7){var _0x67ec2e={},_0x1d3df3={},_0x213374={'count':0x0,'rows':[]};var _0x53fc59=_['map'](db[_0xeac3('0x27')][_0xeac3('0x28')],function(_0x57d89f){return{'name':_0x57d89f[_0xeac3('0x29')],'type':_0x57d89f[_0xeac3('0x2a')]['key']};});_0x1d3df3[_0xeac3('0x2b')]=_[_0xeac3('0x2c')](_0x53fc59,_0xeac3('0x24'));_0x1d3df3[_0xeac3('0x2d')]=_[_0xeac3('0x2e')](_0x30aea[_0xeac3('0x2d')]);_0x1d3df3['filters']=_[_0xeac3('0x2f')](_0x1d3df3[_0xeac3('0x2b')],_0x1d3df3['query']);_0x67ec2e[_0xeac3('0x30')]=_[_0xeac3('0x2f')](_0x1d3df3[_0xeac3('0x2b')],qs[_0xeac3('0x31')](_0x30aea[_0xeac3('0x2d')][_0xeac3('0x31')]));_0x67ec2e['attributes']=_0x67ec2e[_0xeac3('0x30')]['length']?_0x67ec2e[_0xeac3('0x30')]:_0x1d3df3['model'];if(!_0x30aea['query']['hasOwnProperty'](_0xeac3('0x32'))){_0x67ec2e[_0xeac3('0x1b')]=qs[_0xeac3('0x1b')](_0x30aea[_0xeac3('0x2d')][_0xeac3('0x1b')]);_0x67ec2e[_0xeac3('0x1a')]=qs[_0xeac3('0x1a')](_0x30aea[_0xeac3('0x2d')][_0xeac3('0x1a')]);}_0x67ec2e[_0xeac3('0x33')]=qs[_0xeac3('0x34')](_0x30aea[_0xeac3('0x2d')][_0xeac3('0x34')]);_0x67ec2e['where']=qs[_0xeac3('0x35')](_[_0xeac3('0x36')](_0x30aea[_0xeac3('0x2d')],_0x1d3df3[_0xeac3('0x35')]),_0x53fc59);if(_0x30aea[_0xeac3('0x2d')]['filter']){_0x67ec2e[_0xeac3('0x37')]=_['merge'](_0x67ec2e['where'],{'$or':_[_0xeac3('0x2c')](_0x53fc59,function(_0x1ea804){if(_0x1ea804['type']!=='VIRTUAL'){var _0x30f0d7={};_0x30f0d7[_0x1ea804[_0xeac3('0x24')]]={'$like':'%'+_0x30aea['query'][_0xeac3('0x38')]+'%'};return _0x30f0d7;}})});}_0x67ec2e=_[_0xeac3('0x39')]({},_0x67ec2e,_0x30aea['options']);var _0x150875={'where':_0x67ec2e[_0xeac3('0x37')]};return db['FreshsalesAccount']['count'](_0x150875)[_0xeac3('0x21')](function(_0x83a7fe){_0x213374[_0xeac3('0x1d')]=_0x83a7fe;if(_0x30aea[_0xeac3('0x2d')][_0xeac3('0x3a')]){_0x67ec2e[_0xeac3('0x3b')]=[{'all':!![]}];}return db[_0xeac3('0x27')][_0xeac3('0x3c')](_0x67ec2e);})['then'](function(_0x20295f){_0x213374['rows']=_0x20295f;return _0x213374;})[_0xeac3('0x21')](respondWithFilteredResult(_0x1218a7,_0x67ec2e))['catch'](handleError(_0x1218a7,null));};exports[_0xeac3('0x3d')]=function(_0x51e9ad,_0x248ba1){var _0xbb6c4e={'raw':![],'where':{'id':_0x51e9ad[_0xeac3('0x3e')]['id']}},_0x52be66={};_0x52be66[_0xeac3('0x2b')]=_['keys'](db[_0xeac3('0x27')][_0xeac3('0x28')]);_0x52be66[_0xeac3('0x2d')]=_[_0xeac3('0x2e')](_0x51e9ad[_0xeac3('0x2d')]);_0x52be66[_0xeac3('0x35')]=_['intersection'](_0x52be66[_0xeac3('0x2b')],_0x52be66[_0xeac3('0x2d')]);_0xbb6c4e['attributes']=_[_0xeac3('0x2f')](_0x52be66[_0xeac3('0x2b')],qs[_0xeac3('0x31')](_0x51e9ad[_0xeac3('0x2d')][_0xeac3('0x31')]));_0xbb6c4e['attributes']=_0xbb6c4e[_0xeac3('0x30')][_0xeac3('0x3f')]?_0xbb6c4e[_0xeac3('0x30')]:_0x52be66[_0xeac3('0x2b')];if(_0x51e9ad[_0xeac3('0x2d')][_0xeac3('0x3a')]){_0xbb6c4e[_0xeac3('0x3b')]=[{'all':!![]}];}_0xbb6c4e=_['merge']({},_0xbb6c4e,_0x51e9ad[_0xeac3('0x40')]);return db['FreshsalesAccount'][_0xeac3('0x41')](_0xbb6c4e)[_0xeac3('0x21')](handleEntityNotFound(_0x248ba1,null))[_0xeac3('0x21')](respondWithResult(_0x248ba1,null))[_0xeac3('0x42')](handleError(_0x248ba1,null));};exports['create']=function(_0x319a79,_0x3d9b73){return db[_0xeac3('0x27')][_0xeac3('0x43')](_0x319a79[_0xeac3('0x44')],{})[_0xeac3('0x21')](respondWithResult(_0x3d9b73,0xc9))[_0xeac3('0x42')](handleError(_0x3d9b73,null));};exports[_0xeac3('0x45')]=function(_0x18eac7,_0x343a58){if(_0x18eac7[_0xeac3('0x44')]['id']){delete _0x18eac7[_0xeac3('0x44')]['id'];}return db[_0xeac3('0x27')][_0xeac3('0x41')]({'where':{'id':_0x18eac7[_0xeac3('0x3e')]['id']}})[_0xeac3('0x21')](handleEntityNotFound(_0x343a58,null))[_0xeac3('0x21')](saveUpdates(_0x18eac7[_0xeac3('0x44')],null))[_0xeac3('0x21')](respondWithResult(_0x343a58,null))['catch'](handleError(_0x343a58,null));};exports['destroy']=function(_0x1b4691,_0x21ab1e){return db[_0xeac3('0x27')][_0xeac3('0x41')]({'where':{'id':_0x1b4691[_0xeac3('0x3e')]['id']}})['then'](handleEntityNotFound(_0x21ab1e,null))[_0xeac3('0x21')](removeEntity(_0x21ab1e,null))[_0xeac3('0x42')](handleError(_0x21ab1e,null));};exports[_0xeac3('0x46')]=function(_0x36f83c,_0x8796e5,_0x27c7b2){var _0x1c8852={};var _0x520c66={};var _0x1243ec;var _0x3f3f50;return db['FreshsalesAccount'][_0xeac3('0x47')]({'where':{'id':_0x36f83c[_0xeac3('0x3e')]['id']}})[_0xeac3('0x21')](handleEntityNotFound(_0x8796e5,null))['then'](function(_0x263b6b){if(_0x263b6b){_0x1243ec=_0x263b6b;_0x520c66[_0xeac3('0x2b')]=_[_0xeac3('0x2e')](db[_0xeac3('0x48')]['rawAttributes']);_0x520c66[_0xeac3('0x2d')]=_[_0xeac3('0x2e')](_0x36f83c[_0xeac3('0x2d')]);_0x520c66[_0xeac3('0x35')]=_[_0xeac3('0x2f')](_0x520c66[_0xeac3('0x2b')],_0x520c66['query']);_0x1c8852[_0xeac3('0x30')]=_[_0xeac3('0x2f')](_0x520c66[_0xeac3('0x2b')],qs[_0xeac3('0x31')](_0x36f83c[_0xeac3('0x2d')][_0xeac3('0x31')]));_0x1c8852[_0xeac3('0x30')]=_0x1c8852['attributes'][_0xeac3('0x3f')]?_0x1c8852[_0xeac3('0x30')]:_0x520c66[_0xeac3('0x2b')];_0x1c8852[_0xeac3('0x33')]=qs[_0xeac3('0x34')](_0x36f83c['query'][_0xeac3('0x34')]);_0x1c8852[_0xeac3('0x37')]=qs[_0xeac3('0x35')](_['pick'](_0x36f83c[_0xeac3('0x2d')],_0x520c66[_0xeac3('0x35')]));if(_0x36f83c['query']['filter']){_0x1c8852[_0xeac3('0x37')]=_[_0xeac3('0x39')](_0x1c8852[_0xeac3('0x37')],{'$or':_['map'](_0x1c8852[_0xeac3('0x30')],function(_0x526755){var _0x3fb593={};_0x3fb593[_0x526755]={'$like':'%'+_0x36f83c[_0xeac3('0x2d')]['filter']+'%'};return _0x3fb593;})});}_0x1c8852=_[_0xeac3('0x39')]({},_0x1c8852,_0x36f83c[_0xeac3('0x40')]);return _0x1243ec[_0xeac3('0x46')](_0x1c8852);}})[_0xeac3('0x21')](function(_0x266afe){if(_0x266afe){_0x3f3f50=_0x266afe[_0xeac3('0x3f')];if(!_0x36f83c[_0xeac3('0x2d')][_0xeac3('0x49')](_0xeac3('0x32'))){_0x1c8852['limit']=qs[_0xeac3('0x1b')](_0x36f83c[_0xeac3('0x2d')]['limit']);_0x1c8852[_0xeac3('0x1a')]=qs[_0xeac3('0x1a')](_0x36f83c[_0xeac3('0x2d')]['offset']);}return _0x1243ec[_0xeac3('0x46')](_0x1c8852);}})[_0xeac3('0x21')](function(_0x5d2972){if(_0x5d2972){return _0x5d2972?{'count':_0x3f3f50,'rows':_0x5d2972}:null;}})[_0xeac3('0x21')](respondWithResult(_0x8796e5,null))['catch'](handleError(_0x8796e5,null));};exports[_0xeac3('0x4a')]=function(_0x407de9,_0x4b3f71,_0x47eb58){if(_0x407de9['body']['id']){delete _0x407de9[_0xeac3('0x44')]['id'];}return db[_0xeac3('0x27')][_0xeac3('0x47')]({'where':{'id':_0x407de9[_0xeac3('0x3e')]['id']}})['then'](handleEntityNotFound(_0x4b3f71,null))[_0xeac3('0x21')](function(_0x18bc03){if(_0x18bc03){_0x407de9['body'][_0xeac3('0x4b')]=_0x18bc03['id'];_0x407de9[_0xeac3('0x44')][_0xeac3('0x4c')]=integrations['getSubjects'](_0x407de9[_0xeac3('0x44')][_0xeac3('0x4d')],_0x407de9[_0xeac3('0x44')]['type']);_0x407de9[_0xeac3('0x44')][_0xeac3('0x4e')]=integrations[_0xeac3('0x4f')](_0x407de9[_0xeac3('0x44')][_0xeac3('0x4d')],_0x407de9['body'][_0xeac3('0x2a')]);return db[_0xeac3('0x48')][_0xeac3('0x43')](_0x407de9[_0xeac3('0x44')],{'include':[{'model':db[_0xeac3('0x50')],'as':'Subjects'},{'model':db['FreshsalesField'],'as':'Descriptions'}]});}return null;})[_0xeac3('0x21')](respondWithResult(_0x4b3f71,null))[_0xeac3('0x42')](handleError(_0x4b3f71,null));};exports['getFields']=function(_0x501314,_0x488ff3,_0x5c1002){var _0x398eae='';var _0x4e8a96='';return db[_0xeac3('0x27')][_0xeac3('0x47')]({'where':{'id':_0x501314[_0xeac3('0x3e')]['id']},'attributes':['id',_0xeac3('0x51'),_0xeac3('0x52'),_0xeac3('0x53')]})[_0xeac3('0x21')](handleEntityNotFound(_0x488ff3,null))['then'](function(_0x3e0852){if(_0x3e0852){_0x4e8a96=_0x3e0852[_0xeac3('0x51')];_0x398eae=_0x3e0852[_0xeac3('0x52')];var _0x1c8cfa=_0x3e0852[_0xeac3('0x52')][_0xeac3('0x54')](-0x1);if(_0x1c8cfa==='/'){_0x398eae=_0x398eae[_0xeac3('0x55')](0x0,_0x398eae[_0xeac3('0x56')](_0x1c8cfa));}return rp({'method':_0xeac3('0x57'),'uri':util['format'](_0xeac3('0x58'),_0x398eae,'/api/selector/owners'),'headers':{'Authorization':_0xeac3('0x59')+_0x3e0852[_0xeac3('0x53')]},'json':!![]});}})[_0xeac3('0x21')](function(_0x566f03){if(_0x566f03){var _0x2a970f=_0x566f03[_0xeac3('0x5a')];var _0x580584=![];var _0x445fcb=null;for(_0x445fcb=0x0;_0x445fcb<_0x2a970f['length'];_0x445fcb++){if(_0x2a970f[_0x445fcb]['email']===_0x4e8a96){_0x580584=!![];}}if(_0x580584){return!![];}else{throw new Error({'statusCode':0x194,'message':_0xeac3('0x5b')});}}})[_0xeac3('0x21')](respondWithResult(_0x488ff3,null))[_0xeac3('0x42')](function(_0x312a10){var _0x4cbefc=_0x501314[_0xeac3('0x2d')][_0xeac3('0x5c')]?0x1f4:_0x312a10[_0xeac3('0x5d')]||0x1f4;logger[_0xeac3('0x23')]('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x4cbefc,JSON[_0xeac3('0x5e')](_0x312a10));delete _0x312a10['name'];if(_0x4cbefc===0x191){_0x4cbefc=0x190;}_0x488ff3['status'](_0x4cbefc)[_0xeac3('0x25')](_0x501314[_0xeac3('0x2d')][_0xeac3('0x5c')]?{'message':_0xeac3('0x5f'),'statusCode':_0x312a10[_0xeac3('0x5d')]}:_0x312a10);});};