Built motion from commit e6806ed6.|2.6.0
[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 _0x794c=['save','update','then','destroy','error','stack','name','send','map','FreshsalesAccount','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','include','findAll','rows','catch','show','params','options','find','create','body','getConfigurations','FreshsalesConfiguration','length','nolimit','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','FreshsalesField','getFields','findOne','username','remoteUri','slice','substring','lastIndexOf','GET','format','%s%s','/api/selector/owners','Token\x20token=','apiKey','users','email','Requested\x20Resource\x20not\x20Found','test','stringify','Wrong\x20credentials','statusCode','eml-format','rimraf','request-promise','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject'];(function(_0x42fe74,_0x9163b1){var _0x85edf2=function(_0x5df8ef){while(--_0x5df8ef){_0x42fe74['push'](_0x42fe74['shift']());}};_0x85edf2(++_0x9163b1);}(_0x794c,0x118));var _0xc794=function(_0x211632,_0x378e2e){_0x211632=_0x211632-0x0;var _0x5a1da1=_0x794c[_0x211632];return _0x5a1da1;};'use strict';var emlformat=require(_0xc794('0x0'));var rimraf=require(_0xc794('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xc794('0x2'));var moment=require('moment');var BPromise=require(_0xc794('0x3'));var Mustache=require(_0xc794('0x4'));var util=require(_0xc794('0x5'));var path=require('path');var sox=require(_0xc794('0x6'));var csv=require(_0xc794('0x7'));var ejs=require(_0xc794('0x8'));var fs=require('fs');var fs_extra=require(_0xc794('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xc794('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xc794('0xb'));var toCsv=require(_0xc794('0x7'));var querystring=require(_0xc794('0xc'));var Papa=require(_0xc794('0xd'));var Redis=require(_0xc794('0xe'));var authService=require('../../components/auth/service');var qs=require(_0xc794('0xf'));var as=require(_0xc794('0x10'));var hardwareService=require(_0xc794('0x11'));var logger=require(_0xc794('0x12'))(_0xc794('0x13'));var utils=require(_0xc794('0x14'));var config=require(_0xc794('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xc794('0x16'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x16211c,_0x2ea904){_0x2ea904=_0x2ea904||0xcc;return function(_0x203895){if(_0x203895){return _0x16211c[_0xc794('0x17')](_0x2ea904);}return _0x16211c[_0xc794('0x18')](_0x2ea904)[_0xc794('0x19')]();};}function respondWithResult(_0x163e39,_0x4fe590){_0x4fe590=_0x4fe590||0xc8;return function(_0x24fe01){if(_0x24fe01){return _0x163e39[_0xc794('0x18')](_0x4fe590)['json'](_0x24fe01);}};}function respondWithFilteredResult(_0x25c205,_0x1c4f67){return function(_0x238f41){if(_0x238f41){var _0x1225fd=typeof _0x1c4f67[_0xc794('0x1a')]===_0xc794('0x1b')&&typeof _0x1c4f67[_0xc794('0x1c')]==='undefined';var _0x35c9b3=_0x238f41[_0xc794('0x1d')];var _0x3ea908=_0x1225fd?0x0:_0x1c4f67['offset'];var _0x4cedcf=_0x1225fd?_0x238f41['count']:_0x1c4f67[_0xc794('0x1a')]+_0x1c4f67[_0xc794('0x1c')];var _0x18546f;if(_0x4cedcf>=_0x35c9b3){_0x4cedcf=_0x35c9b3;_0x18546f=0xc8;}else{_0x18546f=0xce;}_0x25c205[_0xc794('0x18')](_0x18546f);return _0x25c205[_0xc794('0x1e')](_0xc794('0x1f'),_0x3ea908+'-'+_0x4cedcf+'/'+_0x35c9b3)[_0xc794('0x20')](_0x238f41);}return null;};}function patchUpdates(_0x5a05f7){return function(_0x3c5dc2){try{jsonpatch[_0xc794('0x21')](_0x3c5dc2,_0x5a05f7,!![]);}catch(_0x2f18f8){return BPromise[_0xc794('0x22')](_0x2f18f8);}return _0x3c5dc2[_0xc794('0x23')]();};}function saveUpdates(_0x489c98,_0x3a98b8){return function(_0x1ed5d7){if(_0x1ed5d7){return _0x1ed5d7[_0xc794('0x24')](_0x489c98)[_0xc794('0x25')](function(_0x24ef61){return _0x24ef61;});}return null;};}function removeEntity(_0x36262c,_0x187345){return function(_0x32971b){if(_0x32971b){return _0x32971b[_0xc794('0x26')]()['then'](function(){_0x36262c[_0xc794('0x18')](0xcc)[_0xc794('0x19')]();});}};}function handleEntityNotFound(_0x52a20b,_0x114e4a){return function(_0x5c59d8){if(!_0x5c59d8){_0x52a20b[_0xc794('0x17')](0x194);}return _0x5c59d8;};}function handleError(_0x505da5,_0x16daad){_0x16daad=_0x16daad||0x1f4;return function(_0x51c0ac){logger[_0xc794('0x27')](_0x51c0ac[_0xc794('0x28')]);if(_0x51c0ac[_0xc794('0x29')]){delete _0x51c0ac[_0xc794('0x29')];}_0x505da5['status'](_0x16daad)[_0xc794('0x2a')](_0x51c0ac);};}exports['index']=function(_0x467c15,_0x1c2f69){var _0x21ffd9={},_0x2faad5={},_0x122306={'count':0x0,'rows':[]};var _0x2e70e1=_[_0xc794('0x2b')](db[_0xc794('0x2c')][_0xc794('0x2d')],function(_0xfbb0df){return{'name':_0xfbb0df['fieldName'],'type':_0xfbb0df[_0xc794('0x2e')][_0xc794('0x2f')]};});_0x2faad5[_0xc794('0x30')]=_['map'](_0x2e70e1,_0xc794('0x29'));_0x2faad5[_0xc794('0x31')]=_[_0xc794('0x32')](_0x467c15[_0xc794('0x31')]);_0x2faad5[_0xc794('0x33')]=_['intersection'](_0x2faad5['model'],_0x2faad5[_0xc794('0x31')]);_0x21ffd9['attributes']=_[_0xc794('0x34')](_0x2faad5[_0xc794('0x30')],qs[_0xc794('0x35')](_0x467c15[_0xc794('0x31')]['fields']));_0x21ffd9[_0xc794('0x36')]=_0x21ffd9[_0xc794('0x36')]['length']?_0x21ffd9[_0xc794('0x36')]:_0x2faad5[_0xc794('0x30')];if(!_0x467c15[_0xc794('0x31')][_0xc794('0x37')]('nolimit')){_0x21ffd9[_0xc794('0x1c')]=qs[_0xc794('0x1c')](_0x467c15[_0xc794('0x31')][_0xc794('0x1c')]);_0x21ffd9[_0xc794('0x1a')]=qs['offset'](_0x467c15[_0xc794('0x31')][_0xc794('0x1a')]);}_0x21ffd9[_0xc794('0x38')]=qs[_0xc794('0x39')](_0x467c15[_0xc794('0x31')][_0xc794('0x39')]);_0x21ffd9[_0xc794('0x3a')]=qs[_0xc794('0x33')](_[_0xc794('0x3b')](_0x467c15[_0xc794('0x31')],_0x2faad5[_0xc794('0x33')]),_0x2e70e1);if(_0x467c15[_0xc794('0x31')][_0xc794('0x3c')]){_0x21ffd9[_0xc794('0x3a')]=_[_0xc794('0x3d')](_0x21ffd9['where'],{'$or':_['map'](_0x2e70e1,function(_0x5bde7d){if(_0x5bde7d[_0xc794('0x2e')]!==_0xc794('0x3e')){var _0x41c4f2={};_0x41c4f2[_0x5bde7d[_0xc794('0x29')]]={'$like':'%'+_0x467c15[_0xc794('0x31')][_0xc794('0x3c')]+'%'};return _0x41c4f2;}})});}_0x21ffd9=_[_0xc794('0x3d')]({},_0x21ffd9,_0x467c15['options']);var _0x263f64={'where':_0x21ffd9[_0xc794('0x3a')]};return db[_0xc794('0x2c')][_0xc794('0x1d')](_0x263f64)[_0xc794('0x25')](function(_0x4265d1){_0x122306[_0xc794('0x1d')]=_0x4265d1;if(_0x467c15[_0xc794('0x31')]['includeAll']){_0x21ffd9[_0xc794('0x3f')]=[{'all':!![]}];}return db[_0xc794('0x2c')][_0xc794('0x40')](_0x21ffd9);})['then'](function(_0x25cce9){_0x122306[_0xc794('0x41')]=_0x25cce9;return _0x122306;})[_0xc794('0x25')](respondWithFilteredResult(_0x1c2f69,_0x21ffd9))[_0xc794('0x42')](handleError(_0x1c2f69,null));};exports[_0xc794('0x43')]=function(_0x5c0b0,_0x107f7b){var _0x3c2ede={'raw':![],'where':{'id':_0x5c0b0[_0xc794('0x44')]['id']}},_0x176a0f={};_0x176a0f['model']=_[_0xc794('0x32')](db[_0xc794('0x2c')][_0xc794('0x2d')]);_0x176a0f[_0xc794('0x31')]=_[_0xc794('0x32')](_0x5c0b0[_0xc794('0x31')]);_0x176a0f[_0xc794('0x33')]=_[_0xc794('0x34')](_0x176a0f['model'],_0x176a0f[_0xc794('0x31')]);_0x3c2ede[_0xc794('0x36')]=_[_0xc794('0x34')](_0x176a0f[_0xc794('0x30')],qs[_0xc794('0x35')](_0x5c0b0['query'][_0xc794('0x35')]));_0x3c2ede[_0xc794('0x36')]=_0x3c2ede['attributes']['length']?_0x3c2ede[_0xc794('0x36')]:_0x176a0f[_0xc794('0x30')];if(_0x5c0b0[_0xc794('0x31')]['includeAll']){_0x3c2ede['include']=[{'all':!![]}];}_0x3c2ede=_['merge']({},_0x3c2ede,_0x5c0b0[_0xc794('0x45')]);return db[_0xc794('0x2c')][_0xc794('0x46')](_0x3c2ede)[_0xc794('0x25')](handleEntityNotFound(_0x107f7b,null))['then'](respondWithResult(_0x107f7b,null))[_0xc794('0x42')](handleError(_0x107f7b,null));};exports[_0xc794('0x47')]=function(_0xea2be6,_0x1275d3){return db[_0xc794('0x2c')][_0xc794('0x47')](_0xea2be6['body'],{})[_0xc794('0x25')](respondWithResult(_0x1275d3,0xc9))[_0xc794('0x42')](handleError(_0x1275d3,null));};exports['update']=function(_0x1b5a8a,_0x253c51){if(_0x1b5a8a[_0xc794('0x48')]['id']){delete _0x1b5a8a[_0xc794('0x48')]['id'];}return db[_0xc794('0x2c')][_0xc794('0x46')]({'where':{'id':_0x1b5a8a['params']['id']}})[_0xc794('0x25')](handleEntityNotFound(_0x253c51,null))[_0xc794('0x25')](saveUpdates(_0x1b5a8a[_0xc794('0x48')],null))['then'](respondWithResult(_0x253c51,null))[_0xc794('0x42')](handleError(_0x253c51,null));};exports['destroy']=function(_0x317d5e,_0x51acd7){return db['FreshsalesAccount'][_0xc794('0x46')]({'where':{'id':_0x317d5e[_0xc794('0x44')]['id']}})[_0xc794('0x25')](handleEntityNotFound(_0x51acd7,null))['then'](removeEntity(_0x51acd7,null))[_0xc794('0x42')](handleError(_0x51acd7,null));};exports[_0xc794('0x49')]=function(_0x1834f3,_0x50eede,_0x355121){var _0x3b0cc2={};var _0x31f367={};var _0x1b91e1;var _0x1dcc0d;return db[_0xc794('0x2c')]['findOne']({'where':{'id':_0x1834f3['params']['id']}})[_0xc794('0x25')](handleEntityNotFound(_0x50eede,null))['then'](function(_0x2a9ec3){if(_0x2a9ec3){_0x1b91e1=_0x2a9ec3;_0x31f367[_0xc794('0x30')]=_[_0xc794('0x32')](db[_0xc794('0x4a')][_0xc794('0x2d')]);_0x31f367[_0xc794('0x31')]=_[_0xc794('0x32')](_0x1834f3[_0xc794('0x31')]);_0x31f367['filters']=_['intersection'](_0x31f367['model'],_0x31f367[_0xc794('0x31')]);_0x3b0cc2[_0xc794('0x36')]=_[_0xc794('0x34')](_0x31f367[_0xc794('0x30')],qs['fields'](_0x1834f3['query']['fields']));_0x3b0cc2[_0xc794('0x36')]=_0x3b0cc2[_0xc794('0x36')]['length']?_0x3b0cc2['attributes']:_0x31f367[_0xc794('0x30')];_0x3b0cc2[_0xc794('0x38')]=qs[_0xc794('0x39')](_0x1834f3['query'][_0xc794('0x39')]);_0x3b0cc2['where']=qs[_0xc794('0x33')](_[_0xc794('0x3b')](_0x1834f3[_0xc794('0x31')],_0x31f367[_0xc794('0x33')]));if(_0x1834f3[_0xc794('0x31')][_0xc794('0x3c')]){_0x3b0cc2[_0xc794('0x3a')]=_[_0xc794('0x3d')](_0x3b0cc2['where'],{'$or':_[_0xc794('0x2b')](_0x3b0cc2[_0xc794('0x36')],function(_0x29fbc7){var _0x364a57={};_0x364a57[_0x29fbc7]={'$like':'%'+_0x1834f3[_0xc794('0x31')][_0xc794('0x3c')]+'%'};return _0x364a57;})});}_0x3b0cc2=_['merge']({},_0x3b0cc2,_0x1834f3[_0xc794('0x45')]);return _0x1b91e1[_0xc794('0x49')](_0x3b0cc2);}})[_0xc794('0x25')](function(_0x5bfe62){if(_0x5bfe62){_0x1dcc0d=_0x5bfe62[_0xc794('0x4b')];if(!_0x1834f3[_0xc794('0x31')][_0xc794('0x37')](_0xc794('0x4c'))){_0x3b0cc2[_0xc794('0x1c')]=qs[_0xc794('0x1c')](_0x1834f3[_0xc794('0x31')][_0xc794('0x1c')]);_0x3b0cc2[_0xc794('0x1a')]=qs[_0xc794('0x1a')](_0x1834f3['query'][_0xc794('0x1a')]);}return _0x1b91e1[_0xc794('0x49')](_0x3b0cc2);}})[_0xc794('0x25')](function(_0x2a185f){if(_0x2a185f){return _0x2a185f?{'count':_0x1dcc0d,'rows':_0x2a185f}:null;}})['then'](respondWithResult(_0x50eede,null))['catch'](handleError(_0x50eede,null));};exports[_0xc794('0x4d')]=function(_0x2070ed,_0x2c4134,_0x11aa75){if(_0x2070ed[_0xc794('0x48')]['id']){delete _0x2070ed['body']['id'];}return db[_0xc794('0x2c')]['findOne']({'where':{'id':_0x2070ed['params']['id']}})[_0xc794('0x25')](handleEntityNotFound(_0x2c4134,null))[_0xc794('0x25')](function(_0x5928e2){if(_0x5928e2){_0x2070ed['body'][_0xc794('0x4e')]=_0x5928e2['id'];_0x2070ed['body'][_0xc794('0x4f')]=integrations[_0xc794('0x50')](_0x2070ed[_0xc794('0x48')][_0xc794('0x51')],_0x2070ed[_0xc794('0x48')][_0xc794('0x2e')]);_0x2070ed[_0xc794('0x48')][_0xc794('0x52')]=integrations[_0xc794('0x53')](_0x2070ed['body'][_0xc794('0x51')],_0x2070ed['body']['type']);return db['FreshsalesConfiguration'][_0xc794('0x47')](_0x2070ed[_0xc794('0x48')],{'include':[{'model':db[_0xc794('0x54')],'as':_0xc794('0x4f')},{'model':db[_0xc794('0x54')],'as':_0xc794('0x52')}]});}return null;})[_0xc794('0x25')](respondWithResult(_0x2c4134,null))[_0xc794('0x42')](handleError(_0x2c4134,null));};exports[_0xc794('0x55')]=function(_0x3947b4,_0x5c69df,_0x4270de){var _0x556f7a='';var _0x384639='';return db[_0xc794('0x2c')][_0xc794('0x56')]({'where':{'id':_0x3947b4[_0xc794('0x44')]['id']},'attributes':['id',_0xc794('0x57'),_0xc794('0x58'),'apiKey']})[_0xc794('0x25')](handleEntityNotFound(_0x5c69df,null))[_0xc794('0x25')](function(_0x8f2e6f){if(_0x8f2e6f){_0x384639=_0x8f2e6f[_0xc794('0x57')];_0x556f7a=_0x8f2e6f[_0xc794('0x58')];var _0x159750=_0x8f2e6f[_0xc794('0x58')][_0xc794('0x59')](-0x1);if(_0x159750==='/'){_0x556f7a=_0x556f7a[_0xc794('0x5a')](0x0,_0x556f7a[_0xc794('0x5b')](_0x159750));}return rp({'method':_0xc794('0x5c'),'uri':util[_0xc794('0x5d')](_0xc794('0x5e'),_0x556f7a,_0xc794('0x5f')),'headers':{'Authorization':_0xc794('0x60')+_0x8f2e6f[_0xc794('0x61')]},'json':!![]});}})['then'](function(_0x578a34){if(_0x578a34){var _0x177650=_0x578a34[_0xc794('0x62')];var _0x458b11=![];var _0x545578=null;for(_0x545578=0x0;_0x545578<_0x177650[_0xc794('0x4b')];_0x545578++){if(_0x177650[_0x545578][_0xc794('0x63')]===_0x384639){_0x458b11=!![];}}if(_0x458b11){return!![];}else{throw new Error({'statusCode':0x194,'message':_0xc794('0x64')});}}})['then'](respondWithResult(_0x5c69df,null))[_0xc794('0x42')](function(_0x659919){var _0x582268=_0x3947b4[_0xc794('0x31')][_0xc794('0x65')]?0x1f4:_0x659919['statusCode']||0x1f4;logger[_0xc794('0x27')]('getFields,\x20%s,\x20%s,\x20%s',_0xc794('0x55'),_0x582268,JSON[_0xc794('0x66')](_0x659919));delete _0x659919[_0xc794('0x29')];if(_0x582268===0x191){_0x582268=0x190;}_0x5c69df[_0xc794('0x18')](_0x582268)[_0xc794('0x2a')](_0x3947b4[_0xc794('0x31')][_0xc794('0x65')]?{'message':_0xc794('0x67'),'statusCode':_0x659919[_0xc794('0x68')]}:_0x659919);});};