Built motion from commit 449495f6.|2.6.27
[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 _0x8ef2=['end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','then','destroy','stack','name','send','index','map','FreshsalesAccount','fieldName','type','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','includeAll','include','findAll','rows','params','rawAttributes','catch','create','body','find','FreshsalesConfiguration','order','getConfigurations','addConfiguration','findOne','AccountId','Subjects','getSubjects','channel','getDescriptions','FreshsalesField','Descriptions','getFields','username','remoteUri','apiKey','slice','lastIndexOf','GET','format','%s%s','users','email','test','statusCode','error','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','rimraf','zip-dir','fast-json-patch','mustache','path','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x8ef2,0x1db));var _0x28ef=function(_0x133851,_0x4d6780){_0x133851=_0x133851-0x0;var _0x188215=_0x8ef2[_0x133851];return _0x188215;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x28ef('0x0'));var zipdir=require(_0x28ef('0x1'));var jsonpatch=require(_0x28ef('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x28ef('0x3'));var util=require('util');var path=require(_0x28ef('0x4'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x28ef('0x5'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x28ef('0x6'));var squel=require(_0x28ef('0x7'));var crypto=require(_0x28ef('0x8'));var jsforce=require(_0x28ef('0x9'));var deskjs=require(_0x28ef('0xa'));var toCsv=require(_0x28ef('0xb'));var querystring=require(_0x28ef('0xc'));var Papa=require(_0x28ef('0xd'));var Redis=require('ioredis');var authService=require(_0x28ef('0xe'));var qs=require(_0x28ef('0xf'));var as=require(_0x28ef('0x10'));var hardwareService=require(_0x28ef('0x11'));var logger=require('../../config/logger')(_0x28ef('0x12'));var utils=require(_0x28ef('0x13'));var config=require(_0x28ef('0x14'));var licenseUtil=require(_0x28ef('0x15'));var db=require(_0x28ef('0x16'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x1c066a,_0x2c6adb){_0x2c6adb=_0x2c6adb||0xcc;return function(_0x5c1fb3){if(_0x5c1fb3){return _0x1c066a[_0x28ef('0x17')](_0x2c6adb);}return _0x1c066a[_0x28ef('0x18')](_0x2c6adb)[_0x28ef('0x19')]();};}function respondWithResult(_0x2a04ee,_0x2f1327){_0x2f1327=_0x2f1327||0xc8;return function(_0x287649){if(_0x287649){return _0x2a04ee[_0x28ef('0x18')](_0x2f1327)[_0x28ef('0x1a')](_0x287649);}};}function respondWithFilteredResult(_0x372b4,_0x2bfdd6){return function(_0xc6bf3c){if(_0xc6bf3c){var _0x3b3c48=typeof _0x2bfdd6[_0x28ef('0x1b')]===_0x28ef('0x1c')&&typeof _0x2bfdd6[_0x28ef('0x1d')]===_0x28ef('0x1c');var _0x2728b1=_0xc6bf3c[_0x28ef('0x1e')];var _0x45fd12=_0x3b3c48?0x0:_0x2bfdd6['offset'];var _0x16f3f8=_0x3b3c48?_0xc6bf3c[_0x28ef('0x1e')]:_0x2bfdd6[_0x28ef('0x1b')]+_0x2bfdd6[_0x28ef('0x1d')];var _0x4858a8;if(_0x16f3f8>=_0x2728b1){_0x16f3f8=_0x2728b1;_0x4858a8=0xc8;}else{_0x4858a8=0xce;}_0x372b4[_0x28ef('0x18')](_0x4858a8);return _0x372b4[_0x28ef('0x1f')](_0x28ef('0x20'),_0x45fd12+'-'+_0x16f3f8+'/'+_0x2728b1)['json'](_0xc6bf3c);}return null;};}function patchUpdates(_0x3a8c50){return function(_0xa703d9){try{jsonpatch[_0x28ef('0x21')](_0xa703d9,_0x3a8c50,!![]);}catch(_0x1051e5){return BPromise[_0x28ef('0x22')](_0x1051e5);}return _0xa703d9['save']();};}function saveUpdates(_0x4b62ff,_0x38820){return function(_0x39f40a){if(_0x39f40a){return _0x39f40a['update'](_0x4b62ff)[_0x28ef('0x23')](function(_0x122d83){return _0x122d83;});}return null;};}function removeEntity(_0x3dd7a8,_0x13a79d){return function(_0x5b6b74){if(_0x5b6b74){return _0x5b6b74[_0x28ef('0x24')]()[_0x28ef('0x23')](function(){_0x3dd7a8[_0x28ef('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x304866,_0x4def8a){return function(_0x554a7d){if(!_0x554a7d){_0x304866[_0x28ef('0x17')](0x194);}return _0x554a7d;};}function handleError(_0x2b4112,_0x53a6e5){_0x53a6e5=_0x53a6e5||0x1f4;return function(_0x5b6c7a){logger['error'](_0x5b6c7a[_0x28ef('0x25')]);if(_0x5b6c7a[_0x28ef('0x26')]){delete _0x5b6c7a['name'];}_0x2b4112[_0x28ef('0x18')](_0x53a6e5)[_0x28ef('0x27')](_0x5b6c7a);};}exports[_0x28ef('0x28')]=function(_0x48ec0f,_0x41f88c){var _0x4ad501={},_0x1642db={},_0x2f8f1b={'count':0x0,'rows':[]};var _0x49cfa7=_[_0x28ef('0x29')](db[_0x28ef('0x2a')]['rawAttributes'],function(_0x508d5b){return{'name':_0x508d5b[_0x28ef('0x2b')],'type':_0x508d5b[_0x28ef('0x2c')]['key']};});_0x1642db[_0x28ef('0x2d')]=_[_0x28ef('0x29')](_0x49cfa7,_0x28ef('0x26'));_0x1642db[_0x28ef('0x2e')]=_[_0x28ef('0x2f')](_0x48ec0f[_0x28ef('0x2e')]);_0x1642db[_0x28ef('0x30')]=_[_0x28ef('0x31')](_0x1642db[_0x28ef('0x2d')],_0x1642db[_0x28ef('0x2e')]);_0x4ad501['attributes']=_[_0x28ef('0x31')](_0x1642db[_0x28ef('0x2d')],qs[_0x28ef('0x32')](_0x48ec0f[_0x28ef('0x2e')][_0x28ef('0x32')]));_0x4ad501['attributes']=_0x4ad501[_0x28ef('0x33')][_0x28ef('0x34')]?_0x4ad501[_0x28ef('0x33')]:_0x1642db[_0x28ef('0x2d')];if(!_0x48ec0f['query'][_0x28ef('0x35')](_0x28ef('0x36'))){_0x4ad501[_0x28ef('0x1d')]=qs[_0x28ef('0x1d')](_0x48ec0f[_0x28ef('0x2e')][_0x28ef('0x1d')]);_0x4ad501['offset']=qs[_0x28ef('0x1b')](_0x48ec0f[_0x28ef('0x2e')]['offset']);}_0x4ad501['order']=qs[_0x28ef('0x37')](_0x48ec0f[_0x28ef('0x2e')][_0x28ef('0x37')]);_0x4ad501[_0x28ef('0x38')]=qs[_0x28ef('0x30')](_[_0x28ef('0x39')](_0x48ec0f['query'],_0x1642db[_0x28ef('0x30')]),_0x49cfa7);if(_0x48ec0f[_0x28ef('0x2e')][_0x28ef('0x3a')]){_0x4ad501[_0x28ef('0x38')]=_[_0x28ef('0x3b')](_0x4ad501['where'],{'$or':_['map'](_0x49cfa7,function(_0x5dcbea){if(_0x5dcbea[_0x28ef('0x2c')]!=='VIRTUAL'){var _0x285b62={};_0x285b62[_0x5dcbea[_0x28ef('0x26')]]={'$like':'%'+_0x48ec0f[_0x28ef('0x2e')]['filter']+'%'};return _0x285b62;}})});}_0x4ad501=_[_0x28ef('0x3b')]({},_0x4ad501,_0x48ec0f[_0x28ef('0x3c')]);var _0x420366={'where':_0x4ad501['where']};return db[_0x28ef('0x2a')]['count'](_0x420366)[_0x28ef('0x23')](function(_0x589f90){_0x2f8f1b[_0x28ef('0x1e')]=_0x589f90;if(_0x48ec0f[_0x28ef('0x2e')][_0x28ef('0x3d')]){_0x4ad501[_0x28ef('0x3e')]=[{'all':!![]}];}return db['FreshsalesAccount'][_0x28ef('0x3f')](_0x4ad501);})['then'](function(_0xe70f6b){_0x2f8f1b[_0x28ef('0x40')]=_0xe70f6b;return _0x2f8f1b;})[_0x28ef('0x23')](respondWithFilteredResult(_0x41f88c,_0x4ad501))['catch'](handleError(_0x41f88c,null));};exports['show']=function(_0x3dd215,_0x1481a){var _0xac528e={'raw':![],'where':{'id':_0x3dd215[_0x28ef('0x41')]['id']}},_0x465f40={};_0x465f40[_0x28ef('0x2d')]=_['keys'](db[_0x28ef('0x2a')][_0x28ef('0x42')]);_0x465f40[_0x28ef('0x2e')]=_[_0x28ef('0x2f')](_0x3dd215[_0x28ef('0x2e')]);_0x465f40[_0x28ef('0x30')]=_[_0x28ef('0x31')](_0x465f40[_0x28ef('0x2d')],_0x465f40['query']);_0xac528e[_0x28ef('0x33')]=_[_0x28ef('0x31')](_0x465f40[_0x28ef('0x2d')],qs[_0x28ef('0x32')](_0x3dd215[_0x28ef('0x2e')][_0x28ef('0x32')]));_0xac528e[_0x28ef('0x33')]=_0xac528e['attributes'][_0x28ef('0x34')]?_0xac528e['attributes']:_0x465f40[_0x28ef('0x2d')];if(_0x3dd215[_0x28ef('0x2e')]['includeAll']){_0xac528e[_0x28ef('0x3e')]=[{'all':!![]}];}_0xac528e=_[_0x28ef('0x3b')]({},_0xac528e,_0x3dd215[_0x28ef('0x3c')]);return db[_0x28ef('0x2a')]['find'](_0xac528e)['then'](handleEntityNotFound(_0x1481a,null))[_0x28ef('0x23')](respondWithResult(_0x1481a,null))[_0x28ef('0x43')](handleError(_0x1481a,null));};exports[_0x28ef('0x44')]=function(_0x30c1a1,_0x23db80){return db['FreshsalesAccount'][_0x28ef('0x44')](_0x30c1a1[_0x28ef('0x45')],{})[_0x28ef('0x23')](respondWithResult(_0x23db80,0xc9))[_0x28ef('0x43')](handleError(_0x23db80,null));};exports['update']=function(_0x6a06c2,_0x363c47){if(_0x6a06c2[_0x28ef('0x45')]['id']){delete _0x6a06c2[_0x28ef('0x45')]['id'];}return db[_0x28ef('0x2a')][_0x28ef('0x46')]({'where':{'id':_0x6a06c2[_0x28ef('0x41')]['id']}})[_0x28ef('0x23')](handleEntityNotFound(_0x363c47,null))[_0x28ef('0x23')](saveUpdates(_0x6a06c2[_0x28ef('0x45')],null))[_0x28ef('0x23')](respondWithResult(_0x363c47,null))[_0x28ef('0x43')](handleError(_0x363c47,null));};exports[_0x28ef('0x24')]=function(_0x20b973,_0x43277b){return db[_0x28ef('0x2a')][_0x28ef('0x46')]({'where':{'id':_0x20b973[_0x28ef('0x41')]['id']}})[_0x28ef('0x23')](handleEntityNotFound(_0x43277b,null))[_0x28ef('0x23')](removeEntity(_0x43277b,null))[_0x28ef('0x43')](handleError(_0x43277b,null));};exports['getConfigurations']=function(_0x2eac2e,_0x4496ea,_0x3131da){var _0x2ced38={};var _0x467409={};var _0x5a58da;var _0x2a31ce;return db[_0x28ef('0x2a')]['findOne']({'where':{'id':_0x2eac2e['params']['id']}})['then'](handleEntityNotFound(_0x4496ea,null))['then'](function(_0x5ce646){if(_0x5ce646){_0x5a58da=_0x5ce646;_0x467409[_0x28ef('0x2d')]=_[_0x28ef('0x2f')](db[_0x28ef('0x47')][_0x28ef('0x42')]);_0x467409[_0x28ef('0x2e')]=_[_0x28ef('0x2f')](_0x2eac2e[_0x28ef('0x2e')]);_0x467409['filters']=_[_0x28ef('0x31')](_0x467409[_0x28ef('0x2d')],_0x467409['query']);_0x2ced38[_0x28ef('0x33')]=_[_0x28ef('0x31')](_0x467409[_0x28ef('0x2d')],qs[_0x28ef('0x32')](_0x2eac2e[_0x28ef('0x2e')][_0x28ef('0x32')]));_0x2ced38[_0x28ef('0x33')]=_0x2ced38['attributes'][_0x28ef('0x34')]?_0x2ced38[_0x28ef('0x33')]:_0x467409[_0x28ef('0x2d')];_0x2ced38[_0x28ef('0x48')]=qs[_0x28ef('0x37')](_0x2eac2e[_0x28ef('0x2e')][_0x28ef('0x37')]);_0x2ced38['where']=qs[_0x28ef('0x30')](_[_0x28ef('0x39')](_0x2eac2e[_0x28ef('0x2e')],_0x467409[_0x28ef('0x30')]));if(_0x2eac2e[_0x28ef('0x2e')]['filter']){_0x2ced38[_0x28ef('0x38')]=_['merge'](_0x2ced38[_0x28ef('0x38')],{'$or':_[_0x28ef('0x29')](_0x2ced38[_0x28ef('0x33')],function(_0x4382d1){var _0x235c60={};_0x235c60[_0x4382d1]={'$like':'%'+_0x2eac2e[_0x28ef('0x2e')][_0x28ef('0x3a')]+'%'};return _0x235c60;})});}_0x2ced38=_[_0x28ef('0x3b')]({},_0x2ced38,_0x2eac2e['options']);return _0x5a58da[_0x28ef('0x49')](_0x2ced38);}})[_0x28ef('0x23')](function(_0x2de122){if(_0x2de122){_0x2a31ce=_0x2de122[_0x28ef('0x34')];if(!_0x2eac2e[_0x28ef('0x2e')][_0x28ef('0x35')](_0x28ef('0x36'))){_0x2ced38[_0x28ef('0x1d')]=qs[_0x28ef('0x1d')](_0x2eac2e[_0x28ef('0x2e')][_0x28ef('0x1d')]);_0x2ced38['offset']=qs[_0x28ef('0x1b')](_0x2eac2e[_0x28ef('0x2e')][_0x28ef('0x1b')]);}return _0x5a58da[_0x28ef('0x49')](_0x2ced38);}})[_0x28ef('0x23')](function(_0x189067){if(_0x189067){return _0x189067?{'count':_0x2a31ce,'rows':_0x189067}:null;}})['then'](respondWithResult(_0x4496ea,null))[_0x28ef('0x43')](handleError(_0x4496ea,null));};exports[_0x28ef('0x4a')]=function(_0x1dde05,_0xb52e6,_0x58380b){if(_0x1dde05[_0x28ef('0x45')]['id']){delete _0x1dde05[_0x28ef('0x45')]['id'];}return db['FreshsalesAccount'][_0x28ef('0x4b')]({'where':{'id':_0x1dde05[_0x28ef('0x41')]['id']}})[_0x28ef('0x23')](handleEntityNotFound(_0xb52e6,null))[_0x28ef('0x23')](function(_0x314358){if(_0x314358){_0x1dde05[_0x28ef('0x45')][_0x28ef('0x4c')]=_0x314358['id'];_0x1dde05[_0x28ef('0x45')][_0x28ef('0x4d')]=integrations[_0x28ef('0x4e')](_0x1dde05[_0x28ef('0x45')][_0x28ef('0x4f')],_0x1dde05['body'][_0x28ef('0x2c')]);_0x1dde05[_0x28ef('0x45')]['Descriptions']=integrations[_0x28ef('0x50')](_0x1dde05[_0x28ef('0x45')]['channel'],_0x1dde05[_0x28ef('0x45')][_0x28ef('0x2c')]);return db['FreshsalesConfiguration'][_0x28ef('0x44')](_0x1dde05['body'],{'include':[{'model':db[_0x28ef('0x51')],'as':_0x28ef('0x4d')},{'model':db['FreshsalesField'],'as':_0x28ef('0x52')}]});}return null;})[_0x28ef('0x23')](respondWithResult(_0xb52e6,null))[_0x28ef('0x43')](handleError(_0xb52e6,null));};exports[_0x28ef('0x53')]=function(_0x5a0bbf,_0x72db3a,_0x1149d8){var _0xb5960d='';var _0x40abd7='';return db[_0x28ef('0x2a')][_0x28ef('0x4b')]({'where':{'id':_0x5a0bbf[_0x28ef('0x41')]['id']},'attributes':['id',_0x28ef('0x54'),_0x28ef('0x55'),_0x28ef('0x56')]})[_0x28ef('0x23')](handleEntityNotFound(_0x72db3a,null))[_0x28ef('0x23')](function(_0x26b602){if(_0x26b602){_0x40abd7=_0x26b602['username'];_0xb5960d=_0x26b602['remoteUri'];var _0xe29008=_0x26b602[_0x28ef('0x55')][_0x28ef('0x57')](-0x1);if(_0xe29008==='/'){_0xb5960d=_0xb5960d['substring'](0x0,_0xb5960d[_0x28ef('0x58')](_0xe29008));}return rp({'method':_0x28ef('0x59'),'uri':util[_0x28ef('0x5a')](_0x28ef('0x5b'),_0xb5960d,'/api/selector/owners'),'headers':{'Authorization':'Token\x20token='+_0x26b602['apiKey']},'json':!![]});}})[_0x28ef('0x23')](function(_0x652fcb){if(_0x652fcb){var _0x1e75a1=_0x652fcb[_0x28ef('0x5c')];var _0x11cd9f=![];var _0x11d2e6=null;for(_0x11d2e6=0x0;_0x11d2e6<_0x1e75a1[_0x28ef('0x34')];_0x11d2e6++){if(_0x1e75a1[_0x11d2e6][_0x28ef('0x5d')]===_0x40abd7){_0x11cd9f=!![];}}if(_0x11cd9f){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})[_0x28ef('0x23')](respondWithResult(_0x72db3a,null))[_0x28ef('0x43')](function(_0x3cc826){var _0x5f4c98=_0x5a0bbf[_0x28ef('0x2e')][_0x28ef('0x5e')]?0x1f4:_0x3cc826[_0x28ef('0x5f')]||0x1f4;logger[_0x28ef('0x60')](_0x28ef('0x61'),_0x28ef('0x53'),_0x5f4c98,JSON[_0x28ef('0x62')](_0x3cc826));delete _0x3cc826[_0x28ef('0x26')];if(_0x5f4c98===0x191){_0x5f4c98=0x190;}_0x72db3a[_0x28ef('0x18')](_0x5f4c98)[_0x28ef('0x27')](_0x5a0bbf['query']['test']?{'message':_0x28ef('0x63'),'statusCode':_0x3cc826[_0x28ef('0x5f')]}:_0x3cc826);});};