Built motion from commit (unavailable).|2.5.7
[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 _0xbee3=['bluebird','mustache','util','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','FreshsalesAccount,\x20%s,\x20%s','request\x20sent','stringify','error','message','info','result','catch','status','end','json','count','offset','limit','Content-Range','apply','save','destroy','then','sendStatus','stack','send','index','map','FreshsalesAccount','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','VIRTUAL','name','options','includeAll','findAll','show','rawAttributes','merge','create','body','update','find','getConfigurations','findOne','params','FreshsalesConfiguration','pick','filter','AccountId','Subjects','getSubjects','Descriptions','getDescriptions','channel','FreshsalesField','getFields','username','remoteUri','apiKey','slice','lastIndexOf','format','%s%s','/api/selector/owners','users','email','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','eml-format','fast-json-patch','request-promise'];(function(_0x2f3287,_0x1130fb){var _0x47dfab=function(_0x4bfbc8){while(--_0x4bfbc8){_0x2f3287['push'](_0x2f3287['shift']());}};_0x47dfab(++_0x1130fb);}(_0xbee3,0xd5));var _0x3bee=function(_0x3b4b2f,_0x2d46d8){_0x3b4b2f=_0x3b4b2f-0x0;var _0x422c84=_0xbee3[_0x3b4b2f];return _0x422c84;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x3bee('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x3bee('0x1'));var rp=require(_0x3bee('0x2'));var moment=require('moment');var BPromise=require(_0x3bee('0x3'));var Mustache=require(_0x3bee('0x4'));var util=require(_0x3bee('0x5'));var path=require('path');var sox=require(_0x3bee('0x6'));var csv=require(_0x3bee('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x3bee('0x8'));var squel=require(_0x3bee('0x9'));var crypto=require(_0x3bee('0xa'));var jsforce=require(_0x3bee('0xb'));var deskjs=require(_0x3bee('0xc'));var toCsv=require(_0x3bee('0x7'));var querystring=require(_0x3bee('0xd'));var Papa=require('papaparse');var Redis=require(_0x3bee('0xe'));var authService=require(_0x3bee('0xf'));var qs=require(_0x3bee('0x10'));var as=require(_0x3bee('0x11'));var hardwareService=require(_0x3bee('0x12'));var logger=require(_0x3bee('0x13'))('api');var utils=require(_0x3bee('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x3bee('0x15'));var db=require(_0x3bee('0x16'))['db'];var integrations=require(_0x3bee('0x17'));var jayson=require(_0x3bee('0x18'));var client=jayson[_0x3bee('0x19')][_0x3bee('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0xc8c1f0,_0x49b721,_0xad01f9,_0x33504d){return new BPromise(function(_0x31ac52,_0x237110){var _0x3a0396=_0x33504d||client;return _0x3a0396['request'](_0xc8c1f0,_0xad01f9)['then'](function(_0x346767){logger['info'](_0x3bee('0x1b'),_0x49b721,_0x3bee('0x1c'));logger['debug']('FreshsalesAccount,\x20%s,\x20%s,\x20%s',_0x49b721,_0x3bee('0x1c'),JSON[_0x3bee('0x1d')](_0x346767));if(_0x346767[_0x3bee('0x1e')]){if(_0x346767[_0x3bee('0x1e')]['code']===0x1f4){logger[_0x3bee('0x1e')](_0x3bee('0x1b'),_0x49b721,_0x346767[_0x3bee('0x1e')][_0x3bee('0x1f')]);return _0x237110(_0x346767[_0x3bee('0x1e')][_0x3bee('0x1f')]);}logger[_0x3bee('0x1e')]('FreshsalesAccount,\x20%s,\x20%s',_0x49b721,_0x346767['error'][_0x3bee('0x1f')]);return _0x31ac52(_0x346767[_0x3bee('0x1e')]['message']);}else{logger[_0x3bee('0x20')](_0x3bee('0x1b'),_0x49b721,_0x3bee('0x1c'));_0x31ac52(_0x346767[_0x3bee('0x21')][_0x3bee('0x1f')]);}})[_0x3bee('0x22')](function(_0x473d61){logger['error'](_0x3bee('0x1b'),_0x49b721,_0x473d61);_0x237110(_0x473d61);});});}function respondWithStatusCode(_0x1ed0c1,_0x1fed5a){_0x1fed5a=_0x1fed5a||0xcc;return function(_0x3bb884){if(_0x3bb884){return _0x1ed0c1['sendStatus'](_0x1fed5a);}return _0x1ed0c1[_0x3bee('0x23')](_0x1fed5a)[_0x3bee('0x24')]();};}function respondWithResult(_0x1e0111,_0x4b4cd4){_0x4b4cd4=_0x4b4cd4||0xc8;return function(_0x5ed022){if(_0x5ed022){return _0x1e0111[_0x3bee('0x23')](_0x4b4cd4)[_0x3bee('0x25')](_0x5ed022);}};}function respondWithFilteredResult(_0x5341e2,_0x2c0e50){return function(_0x1b4ce0){if(_0x1b4ce0){var _0x2e666a=_0x1b4ce0[_0x3bee('0x26')],_0x5b1eec=_0x2c0e50['offset'],_0x1984c4=_0x2c0e50[_0x3bee('0x27')]+_0x2c0e50[_0x3bee('0x28')],_0x355b64;if(_0x1984c4>=_0x2e666a){_0x1984c4=_0x2e666a;_0x355b64=0xc8;}else{_0x355b64=0xce;}_0x5341e2[_0x3bee('0x23')](_0x355b64);return _0x5341e2['set'](_0x3bee('0x29'),_0x5b1eec+'-'+_0x1984c4+'/'+_0x2e666a)[_0x3bee('0x25')](_0x1b4ce0);}return null;};}function patchUpdates(_0x27ed99){return function(_0xda5745){try{jsonpatch[_0x3bee('0x2a')](_0xda5745,_0x27ed99,!![]);}catch(_0x559c2b){return BPromise['reject'](_0x559c2b);}return _0xda5745[_0x3bee('0x2b')]();};}function saveUpdates(_0x1e1529,_0x10bae0){return function(_0x11e07d){if(_0x11e07d){return _0x11e07d['update'](_0x1e1529)['then'](function(_0x38f93c){return _0x38f93c;});}return null;};}function removeEntity(_0x42cb58,_0x4f5b58){return function(_0x51be99){if(_0x51be99){return _0x51be99[_0x3bee('0x2c')]()[_0x3bee('0x2d')](function(){_0x42cb58[_0x3bee('0x23')](0xcc)[_0x3bee('0x24')]();});}};}function handleEntityNotFound(_0x845f21,_0x2cfb4b){return function(_0x2790ce){if(!_0x2790ce){_0x845f21[_0x3bee('0x2e')](0x194);}return _0x2790ce;};}function handleError(_0xd6fd53,_0x42291d){_0x42291d=_0x42291d||0x1f4;return function(_0x569675){logger['error'](_0x569675[_0x3bee('0x2f')]);if(_0x569675['name']){delete _0x569675['name'];}_0xd6fd53[_0x3bee('0x23')](_0x42291d)[_0x3bee('0x30')](_0x569675);};}exports[_0x3bee('0x31')]=function(_0x474cf5,_0xd926f8){var _0x232fac={},_0x2a50a6={},_0x10ace5={'count':0x0,'rows':[]};var _0x56917a=_[_0x3bee('0x32')](db[_0x3bee('0x33')]['rawAttributes'],function(_0x3711e4){return{'name':_0x3711e4[_0x3bee('0x34')],'type':_0x3711e4[_0x3bee('0x35')][_0x3bee('0x36')]};});_0x2a50a6[_0x3bee('0x37')]=_['map'](_0x56917a,'name');_0x2a50a6[_0x3bee('0x38')]=_[_0x3bee('0x39')](_0x474cf5[_0x3bee('0x38')]);_0x2a50a6[_0x3bee('0x3a')]=_[_0x3bee('0x3b')](_0x2a50a6[_0x3bee('0x37')],_0x2a50a6[_0x3bee('0x38')]);_0x232fac[_0x3bee('0x3c')]=_[_0x3bee('0x3b')](_0x2a50a6[_0x3bee('0x37')],qs[_0x3bee('0x3d')](_0x474cf5[_0x3bee('0x38')]['fields']));_0x232fac[_0x3bee('0x3c')]=_0x232fac[_0x3bee('0x3c')][_0x3bee('0x3e')]?_0x232fac[_0x3bee('0x3c')]:_0x2a50a6[_0x3bee('0x37')];if(!_0x474cf5[_0x3bee('0x38')][_0x3bee('0x3f')](_0x3bee('0x40'))){_0x232fac[_0x3bee('0x28')]=qs[_0x3bee('0x28')](_0x474cf5[_0x3bee('0x38')][_0x3bee('0x28')]);_0x232fac[_0x3bee('0x27')]=qs['offset'](_0x474cf5[_0x3bee('0x38')][_0x3bee('0x27')]);}_0x232fac[_0x3bee('0x41')]=qs[_0x3bee('0x42')](_0x474cf5[_0x3bee('0x38')][_0x3bee('0x42')]);_0x232fac[_0x3bee('0x43')]=qs[_0x3bee('0x3a')](_['pick'](_0x474cf5[_0x3bee('0x38')],_0x2a50a6[_0x3bee('0x3a')]),_0x56917a);if(_0x474cf5[_0x3bee('0x38')]['filter']){_0x232fac[_0x3bee('0x43')]=_['merge'](_0x232fac[_0x3bee('0x43')],{'$or':_['map'](_0x56917a,function(_0x5717d3){if(_0x5717d3[_0x3bee('0x35')]!==_0x3bee('0x44')){var _0x2b5c93={};_0x2b5c93[_0x5717d3[_0x3bee('0x45')]]={'$like':'%'+_0x474cf5[_0x3bee('0x38')]['filter']+'%'};return _0x2b5c93;}})});}_0x232fac=_['merge']({},_0x232fac,_0x474cf5[_0x3bee('0x46')]);var _0x5a9db2={'where':_0x232fac[_0x3bee('0x43')]};return db['FreshsalesAccount'][_0x3bee('0x26')](_0x5a9db2)['then'](function(_0x1b8218){_0x10ace5[_0x3bee('0x26')]=_0x1b8218;if(_0x474cf5[_0x3bee('0x38')][_0x3bee('0x47')]){_0x232fac['include']=[{'all':!![]}];}return db['FreshsalesAccount'][_0x3bee('0x48')](_0x232fac);})['then'](function(_0x51c0bf){_0x10ace5['rows']=_0x51c0bf;return _0x10ace5;})[_0x3bee('0x2d')](respondWithFilteredResult(_0xd926f8,_0x232fac))['catch'](handleError(_0xd926f8,null));};exports[_0x3bee('0x49')]=function(_0x33d615,_0xd87fd2){var _0x593427={'raw':![],'where':{'id':_0x33d615['params']['id']}},_0x449f0a={};_0x449f0a[_0x3bee('0x37')]=_['keys'](db[_0x3bee('0x33')][_0x3bee('0x4a')]);_0x449f0a[_0x3bee('0x38')]=_['keys'](_0x33d615[_0x3bee('0x38')]);_0x449f0a[_0x3bee('0x3a')]=_[_0x3bee('0x3b')](_0x449f0a['model'],_0x449f0a['query']);_0x593427[_0x3bee('0x3c')]=_[_0x3bee('0x3b')](_0x449f0a[_0x3bee('0x37')],qs[_0x3bee('0x3d')](_0x33d615[_0x3bee('0x38')][_0x3bee('0x3d')]));_0x593427[_0x3bee('0x3c')]=_0x593427['attributes'][_0x3bee('0x3e')]?_0x593427[_0x3bee('0x3c')]:_0x449f0a['model'];if(_0x33d615['query'][_0x3bee('0x47')]){_0x593427['include']=[{'all':!![]}];}_0x593427=_[_0x3bee('0x4b')]({},_0x593427,_0x33d615[_0x3bee('0x46')]);return db[_0x3bee('0x33')]['find'](_0x593427)[_0x3bee('0x2d')](handleEntityNotFound(_0xd87fd2,null))[_0x3bee('0x2d')](respondWithResult(_0xd87fd2,null))[_0x3bee('0x22')](handleError(_0xd87fd2,null));};exports['create']=function(_0x1ee4f0,_0x33850e){return db['FreshsalesAccount'][_0x3bee('0x4c')](_0x1ee4f0[_0x3bee('0x4d')],{})['then'](respondWithResult(_0x33850e,0xc9))[_0x3bee('0x22')](handleError(_0x33850e,null));};exports[_0x3bee('0x4e')]=function(_0x15fc34,_0x25cb9d){if(_0x15fc34[_0x3bee('0x4d')]['id']){delete _0x15fc34[_0x3bee('0x4d')]['id'];}return db[_0x3bee('0x33')][_0x3bee('0x4f')]({'where':{'id':_0x15fc34['params']['id']}})['then'](handleEntityNotFound(_0x25cb9d,null))[_0x3bee('0x2d')](saveUpdates(_0x15fc34['body'],null))[_0x3bee('0x2d')](respondWithResult(_0x25cb9d,null))[_0x3bee('0x22')](handleError(_0x25cb9d,null));};exports[_0x3bee('0x2c')]=function(_0x488cf8,_0x23fce3){return db[_0x3bee('0x33')][_0x3bee('0x4f')]({'where':{'id':_0x488cf8['params']['id']}})[_0x3bee('0x2d')](handleEntityNotFound(_0x23fce3,null))['then'](removeEntity(_0x23fce3,null))[_0x3bee('0x22')](handleError(_0x23fce3,null));};exports[_0x3bee('0x50')]=function(_0x404730,_0x4facff,_0x2cb9cd){var _0x19123e={};var _0x282300={};var _0x526551;var _0x5d95a7;return db[_0x3bee('0x33')][_0x3bee('0x51')]({'where':{'id':_0x404730[_0x3bee('0x52')]['id']}})['then'](handleEntityNotFound(_0x4facff,null))['then'](function(_0x2799e3){if(_0x2799e3){_0x526551=_0x2799e3;_0x282300['model']=_['keys'](db[_0x3bee('0x53')][_0x3bee('0x4a')]);_0x282300[_0x3bee('0x38')]=_['keys'](_0x404730['query']);_0x282300[_0x3bee('0x3a')]=_[_0x3bee('0x3b')](_0x282300['model'],_0x282300[_0x3bee('0x38')]);_0x19123e['attributes']=_[_0x3bee('0x3b')](_0x282300[_0x3bee('0x37')],qs[_0x3bee('0x3d')](_0x404730[_0x3bee('0x38')][_0x3bee('0x3d')]));_0x19123e[_0x3bee('0x3c')]=_0x19123e[_0x3bee('0x3c')][_0x3bee('0x3e')]?_0x19123e[_0x3bee('0x3c')]:_0x282300[_0x3bee('0x37')];_0x19123e[_0x3bee('0x41')]=qs['sort'](_0x404730['query']['sort']);_0x19123e[_0x3bee('0x43')]=qs[_0x3bee('0x3a')](_[_0x3bee('0x54')](_0x404730[_0x3bee('0x38')],_0x282300['filters']));if(_0x404730[_0x3bee('0x38')][_0x3bee('0x55')]){_0x19123e['where']=_['merge'](_0x19123e[_0x3bee('0x43')],{'$or':_[_0x3bee('0x32')](_0x19123e[_0x3bee('0x3c')],function(_0x5c3b2c){var _0x44212e={};_0x44212e[_0x5c3b2c]={'$like':'%'+_0x404730[_0x3bee('0x38')][_0x3bee('0x55')]+'%'};return _0x44212e;})});}_0x19123e=_['merge']({},_0x19123e,_0x404730[_0x3bee('0x46')]);return _0x526551[_0x3bee('0x50')](_0x19123e);}})[_0x3bee('0x2d')](function(_0x2d6715){if(_0x2d6715){_0x5d95a7=_0x2d6715['length'];if(!_0x404730['query'][_0x3bee('0x3f')](_0x3bee('0x40'))){_0x19123e[_0x3bee('0x28')]=qs[_0x3bee('0x28')](_0x404730[_0x3bee('0x38')]['limit']);_0x19123e[_0x3bee('0x27')]=qs['offset'](_0x404730[_0x3bee('0x38')][_0x3bee('0x27')]);}return _0x526551[_0x3bee('0x50')](_0x19123e);}})[_0x3bee('0x2d')](function(_0x15ec8d){if(_0x15ec8d){return _0x15ec8d?{'count':_0x5d95a7,'rows':_0x15ec8d}:null;}})[_0x3bee('0x2d')](respondWithResult(_0x4facff,null))[_0x3bee('0x22')](handleError(_0x4facff,null));};exports['addConfiguration']=function(_0x25f936,_0x28c16e,_0x42045d){if(_0x25f936[_0x3bee('0x4d')]['id']){delete _0x25f936['body']['id'];}return db[_0x3bee('0x33')][_0x3bee('0x51')]({'where':{'id':_0x25f936[_0x3bee('0x52')]['id']}})[_0x3bee('0x2d')](handleEntityNotFound(_0x28c16e,null))[_0x3bee('0x2d')](function(_0x2d71fa){if(_0x2d71fa){_0x25f936[_0x3bee('0x4d')][_0x3bee('0x56')]=_0x2d71fa['id'];_0x25f936['body'][_0x3bee('0x57')]=integrations[_0x3bee('0x58')](_0x25f936[_0x3bee('0x4d')]['channel'],_0x25f936[_0x3bee('0x4d')][_0x3bee('0x35')]);_0x25f936[_0x3bee('0x4d')][_0x3bee('0x59')]=integrations[_0x3bee('0x5a')](_0x25f936[_0x3bee('0x4d')][_0x3bee('0x5b')],_0x25f936[_0x3bee('0x4d')][_0x3bee('0x35')]);return db[_0x3bee('0x53')][_0x3bee('0x4c')](_0x25f936[_0x3bee('0x4d')],{'include':[{'model':db[_0x3bee('0x5c')],'as':_0x3bee('0x57')},{'model':db[_0x3bee('0x5c')],'as':_0x3bee('0x59')}]});}return null;})[_0x3bee('0x2d')](respondWithResult(_0x28c16e,null))[_0x3bee('0x22')](handleError(_0x28c16e,null));};exports[_0x3bee('0x5d')]=function(_0x30e979,_0x3c5600,_0x464355){var _0x316a5a='';var _0x44c0c3='';return db[_0x3bee('0x33')]['findOne']({'where':{'id':_0x30e979[_0x3bee('0x52')]['id']},'attributes':['id',_0x3bee('0x5e'),_0x3bee('0x5f'),_0x3bee('0x60')]})[_0x3bee('0x2d')](handleEntityNotFound(_0x3c5600,null))[_0x3bee('0x2d')](function(_0x2d6a3d){if(_0x2d6a3d){_0x44c0c3=_0x2d6a3d[_0x3bee('0x5e')];_0x316a5a=_0x2d6a3d[_0x3bee('0x5f')];var _0x4e5bf6=_0x2d6a3d[_0x3bee('0x5f')][_0x3bee('0x61')](-0x1);if(_0x4e5bf6==='/'){_0x316a5a=_0x316a5a['substring'](0x0,_0x316a5a[_0x3bee('0x62')](_0x4e5bf6));}return rp({'method':'GET','uri':util[_0x3bee('0x63')](_0x3bee('0x64'),_0x316a5a,_0x3bee('0x65')),'headers':{'Authorization':'Token\x20token='+_0x2d6a3d['apiKey']},'json':!![]});}})[_0x3bee('0x2d')](function(_0x2220a6){if(_0x2220a6){var _0x3c055b=_0x2220a6[_0x3bee('0x66')];var _0x29950f=![];var _0x337d75=null;for(_0x337d75=0x0;_0x337d75<_0x3c055b[_0x3bee('0x3e')];_0x337d75++){if(_0x3c055b[_0x337d75][_0x3bee('0x67')]===_0x44c0c3){_0x29950f=!![];}}if(_0x29950f){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})[_0x3bee('0x2d')](respondWithResult(_0x3c5600,null))[_0x3bee('0x22')](function(_0x22d336){var _0x470ea8=_0x30e979[_0x3bee('0x38')][_0x3bee('0x68')]?0x1f4:_0x22d336[_0x3bee('0x69')]||0x1f4;logger['error'](_0x3bee('0x6a'),_0x3bee('0x5d'),_0x470ea8,JSON['stringify'](_0x22d336));delete _0x22d336[_0x3bee('0x45')];if(_0x470ea8===0x191){_0x470ea8=0x190;}_0x3c5600[_0x3bee('0x23')](_0x470ea8)['send'](_0x30e979[_0x3bee('0x38')]['test']?{'message':_0x3bee('0x6b'),'statusCode':_0x22d336[_0x3bee('0x69')]}:_0x22d336);});};