Built motion from commit 85328c08.|2.5.50
[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 _0x48b5=['substring','lastIndexOf','GET','format','%s%s','/api/selector/owners','apiKey','email','Requested\x20Resource\x20not\x20Found','test','statusCode','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','path','sox','lodash','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','status','end','json','undefined','count','offset','set','apply','reject','update','then','destroy','sendStatus','error','name','send','index','map','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','length','nolimit','limit','order','sort','where','filters','filter','merge','VIRTUAL','options','FreshsalesAccount','includeAll','include','findAll','catch','params','find','create','body','getConfigurations','findOne','FreshsalesConfiguration','pick','hasOwnProperty','addConfiguration','AccountId','Subjects','getSubjects','type','Descriptions','getDescriptions','channel','FreshsalesField','getFields','remoteUri','username','slice'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x48b5,0xdb));var _0x548b=function(_0xa148b7,_0x2f3eb2){_0xa148b7=_0xa148b7-0x0;var _0x51efd3=_0x48b5[_0xa148b7];return _0x51efd3;};'use strict';var emlformat=require(_0x548b('0x0'));var rimraf=require(_0x548b('0x1'));var zipdir=require(_0x548b('0x2'));var jsonpatch=require(_0x548b('0x3'));var rp=require('request-promise');var moment=require(_0x548b('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x548b('0x5'));var util=require('util');var path=require(_0x548b('0x6'));var sox=require(_0x548b('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x548b('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x548b('0x9'));var deskjs=require(_0x548b('0xa'));var toCsv=require(_0x548b('0xb'));var querystring=require(_0x548b('0xc'));var Papa=require(_0x548b('0xd'));var Redis=require(_0x548b('0xe'));var authService=require(_0x548b('0xf'));var qs=require(_0x548b('0x10'));var as=require(_0x548b('0x11'));var hardwareService=require(_0x548b('0x12'));var logger=require(_0x548b('0x13'))(_0x548b('0x14'));var utils=require('../../config/utils');var config=require(_0x548b('0x15'));var licenseUtil=require(_0x548b('0x16'));var db=require(_0x548b('0x17'))['db'];var integrations=require(_0x548b('0x18'));function respondWithStatusCode(_0x2ef534,_0x10d50d){_0x10d50d=_0x10d50d||0xcc;return function(_0x6d192a){if(_0x6d192a){return _0x2ef534['sendStatus'](_0x10d50d);}return _0x2ef534[_0x548b('0x19')](_0x10d50d)[_0x548b('0x1a')]();};}function respondWithResult(_0x2a189b,_0x1e57d5){_0x1e57d5=_0x1e57d5||0xc8;return function(_0x4cd25d){if(_0x4cd25d){return _0x2a189b[_0x548b('0x19')](_0x1e57d5)[_0x548b('0x1b')](_0x4cd25d);}};}function respondWithFilteredResult(_0x2ae370,_0x478ca2){return function(_0x15f5f8){if(_0x15f5f8){var _0x3e0416=typeof _0x478ca2['offset']===_0x548b('0x1c')&&typeof _0x478ca2['limit']===_0x548b('0x1c');var _0xb0417f=_0x15f5f8[_0x548b('0x1d')];var _0x43a6ae=_0x3e0416?0x0:_0x478ca2[_0x548b('0x1e')];var _0x21b998=_0x3e0416?_0x15f5f8['count']:_0x478ca2['offset']+_0x478ca2['limit'];var _0x3f61f1;if(_0x21b998>=_0xb0417f){_0x21b998=_0xb0417f;_0x3f61f1=0xc8;}else{_0x3f61f1=0xce;}_0x2ae370[_0x548b('0x19')](_0x3f61f1);return _0x2ae370[_0x548b('0x1f')]('Content-Range',_0x43a6ae+'-'+_0x21b998+'/'+_0xb0417f)[_0x548b('0x1b')](_0x15f5f8);}return null;};}function patchUpdates(_0x2be0e0){return function(_0x12be36){try{jsonpatch[_0x548b('0x20')](_0x12be36,_0x2be0e0,!![]);}catch(_0x207982){return BPromise[_0x548b('0x21')](_0x207982);}return _0x12be36['save']();};}function saveUpdates(_0x57092c,_0x43497b){return function(_0x5eb8b7){if(_0x5eb8b7){return _0x5eb8b7[_0x548b('0x22')](_0x57092c)[_0x548b('0x23')](function(_0x2eb5c1){return _0x2eb5c1;});}return null;};}function removeEntity(_0x453f56,_0x1c1fbf){return function(_0x47bc1e){if(_0x47bc1e){return _0x47bc1e[_0x548b('0x24')]()[_0x548b('0x23')](function(){_0x453f56[_0x548b('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x186ef4,_0x49789a){return function(_0x14ee89){if(!_0x14ee89){_0x186ef4[_0x548b('0x25')](0x194);}return _0x14ee89;};}function handleError(_0x51c9e1,_0x54f43b){_0x54f43b=_0x54f43b||0x1f4;return function(_0x16737c){logger[_0x548b('0x26')](_0x16737c['stack']);if(_0x16737c['name']){delete _0x16737c[_0x548b('0x27')];}_0x51c9e1['status'](_0x54f43b)[_0x548b('0x28')](_0x16737c);};}exports[_0x548b('0x29')]=function(_0x574494,_0x335528){var _0x118812={},_0x40bf54={},_0x2533c6={'count':0x0,'rows':[]};var _0x1ce141=_[_0x548b('0x2a')](db['FreshsalesAccount'][_0x548b('0x2b')],function(_0x56ab55){return{'name':_0x56ab55[_0x548b('0x2c')],'type':_0x56ab55['type'][_0x548b('0x2d')]};});_0x40bf54[_0x548b('0x2e')]=_[_0x548b('0x2a')](_0x1ce141,_0x548b('0x27'));_0x40bf54[_0x548b('0x2f')]=_[_0x548b('0x30')](_0x574494['query']);_0x40bf54['filters']=_[_0x548b('0x31')](_0x40bf54[_0x548b('0x2e')],_0x40bf54[_0x548b('0x2f')]);_0x118812[_0x548b('0x32')]=_['intersection'](_0x40bf54[_0x548b('0x2e')],qs[_0x548b('0x33')](_0x574494[_0x548b('0x2f')][_0x548b('0x33')]));_0x118812['attributes']=_0x118812[_0x548b('0x32')][_0x548b('0x34')]?_0x118812[_0x548b('0x32')]:_0x40bf54[_0x548b('0x2e')];if(!_0x574494[_0x548b('0x2f')]['hasOwnProperty'](_0x548b('0x35'))){_0x118812[_0x548b('0x36')]=qs[_0x548b('0x36')](_0x574494[_0x548b('0x2f')]['limit']);_0x118812[_0x548b('0x1e')]=qs[_0x548b('0x1e')](_0x574494['query']['offset']);}_0x118812[_0x548b('0x37')]=qs[_0x548b('0x38')](_0x574494[_0x548b('0x2f')][_0x548b('0x38')]);_0x118812[_0x548b('0x39')]=qs[_0x548b('0x3a')](_['pick'](_0x574494[_0x548b('0x2f')],_0x40bf54[_0x548b('0x3a')]),_0x1ce141);if(_0x574494['query'][_0x548b('0x3b')]){_0x118812[_0x548b('0x39')]=_[_0x548b('0x3c')](_0x118812['where'],{'$or':_[_0x548b('0x2a')](_0x1ce141,function(_0x55ce16){if(_0x55ce16['type']!==_0x548b('0x3d')){var _0x1792ab={};_0x1792ab[_0x55ce16[_0x548b('0x27')]]={'$like':'%'+_0x574494[_0x548b('0x2f')][_0x548b('0x3b')]+'%'};return _0x1792ab;}})});}_0x118812=_[_0x548b('0x3c')]({},_0x118812,_0x574494[_0x548b('0x3e')]);var _0xa16a01={'where':_0x118812[_0x548b('0x39')]};return db[_0x548b('0x3f')][_0x548b('0x1d')](_0xa16a01)[_0x548b('0x23')](function(_0x22541a){_0x2533c6[_0x548b('0x1d')]=_0x22541a;if(_0x574494[_0x548b('0x2f')][_0x548b('0x40')]){_0x118812[_0x548b('0x41')]=[{'all':!![]}];}return db[_0x548b('0x3f')][_0x548b('0x42')](_0x118812);})[_0x548b('0x23')](function(_0x5d4a5f){_0x2533c6['rows']=_0x5d4a5f;return _0x2533c6;})[_0x548b('0x23')](respondWithFilteredResult(_0x335528,_0x118812))[_0x548b('0x43')](handleError(_0x335528,null));};exports['show']=function(_0x11651d,_0xfb5ce0){var _0x47fd1f={'raw':![],'where':{'id':_0x11651d[_0x548b('0x44')]['id']}},_0x18cca9={};_0x18cca9[_0x548b('0x2e')]=_[_0x548b('0x30')](db[_0x548b('0x3f')][_0x548b('0x2b')]);_0x18cca9[_0x548b('0x2f')]=_[_0x548b('0x30')](_0x11651d[_0x548b('0x2f')]);_0x18cca9[_0x548b('0x3a')]=_['intersection'](_0x18cca9['model'],_0x18cca9[_0x548b('0x2f')]);_0x47fd1f['attributes']=_['intersection'](_0x18cca9[_0x548b('0x2e')],qs[_0x548b('0x33')](_0x11651d[_0x548b('0x2f')][_0x548b('0x33')]));_0x47fd1f[_0x548b('0x32')]=_0x47fd1f[_0x548b('0x32')][_0x548b('0x34')]?_0x47fd1f[_0x548b('0x32')]:_0x18cca9[_0x548b('0x2e')];if(_0x11651d[_0x548b('0x2f')][_0x548b('0x40')]){_0x47fd1f['include']=[{'all':!![]}];}_0x47fd1f=_[_0x548b('0x3c')]({},_0x47fd1f,_0x11651d[_0x548b('0x3e')]);return db['FreshsalesAccount'][_0x548b('0x45')](_0x47fd1f)[_0x548b('0x23')](handleEntityNotFound(_0xfb5ce0,null))[_0x548b('0x23')](respondWithResult(_0xfb5ce0,null))[_0x548b('0x43')](handleError(_0xfb5ce0,null));};exports[_0x548b('0x46')]=function(_0xfd9d93,_0x43b44d){return db['FreshsalesAccount'][_0x548b('0x46')](_0xfd9d93[_0x548b('0x47')],{})[_0x548b('0x23')](respondWithResult(_0x43b44d,0xc9))[_0x548b('0x43')](handleError(_0x43b44d,null));};exports['update']=function(_0x39a359,_0xe68e02){if(_0x39a359[_0x548b('0x47')]['id']){delete _0x39a359['body']['id'];}return db[_0x548b('0x3f')][_0x548b('0x45')]({'where':{'id':_0x39a359['params']['id']}})['then'](handleEntityNotFound(_0xe68e02,null))[_0x548b('0x23')](saveUpdates(_0x39a359[_0x548b('0x47')],null))[_0x548b('0x23')](respondWithResult(_0xe68e02,null))['catch'](handleError(_0xe68e02,null));};exports[_0x548b('0x24')]=function(_0x567365,_0x534abf){return db['FreshsalesAccount'][_0x548b('0x45')]({'where':{'id':_0x567365[_0x548b('0x44')]['id']}})[_0x548b('0x23')](handleEntityNotFound(_0x534abf,null))[_0x548b('0x23')](removeEntity(_0x534abf,null))[_0x548b('0x43')](handleError(_0x534abf,null));};exports[_0x548b('0x48')]=function(_0x58d9e0,_0x2c7511,_0x16fced){var _0x3d375c={};var _0x3ae2ff={};var _0x187d7a;var _0x1fe098;return db[_0x548b('0x3f')][_0x548b('0x49')]({'where':{'id':_0x58d9e0[_0x548b('0x44')]['id']}})[_0x548b('0x23')](handleEntityNotFound(_0x2c7511,null))[_0x548b('0x23')](function(_0x8de99f){if(_0x8de99f){_0x187d7a=_0x8de99f;_0x3ae2ff[_0x548b('0x2e')]=_[_0x548b('0x30')](db[_0x548b('0x4a')][_0x548b('0x2b')]);_0x3ae2ff['query']=_['keys'](_0x58d9e0[_0x548b('0x2f')]);_0x3ae2ff[_0x548b('0x3a')]=_[_0x548b('0x31')](_0x3ae2ff[_0x548b('0x2e')],_0x3ae2ff[_0x548b('0x2f')]);_0x3d375c[_0x548b('0x32')]=_[_0x548b('0x31')](_0x3ae2ff['model'],qs[_0x548b('0x33')](_0x58d9e0['query'][_0x548b('0x33')]));_0x3d375c[_0x548b('0x32')]=_0x3d375c['attributes'][_0x548b('0x34')]?_0x3d375c[_0x548b('0x32')]:_0x3ae2ff[_0x548b('0x2e')];_0x3d375c[_0x548b('0x37')]=qs[_0x548b('0x38')](_0x58d9e0['query']['sort']);_0x3d375c[_0x548b('0x39')]=qs['filters'](_[_0x548b('0x4b')](_0x58d9e0[_0x548b('0x2f')],_0x3ae2ff[_0x548b('0x3a')]));if(_0x58d9e0[_0x548b('0x2f')]['filter']){_0x3d375c[_0x548b('0x39')]=_[_0x548b('0x3c')](_0x3d375c[_0x548b('0x39')],{'$or':_[_0x548b('0x2a')](_0x3d375c[_0x548b('0x32')],function(_0x17edd7){var _0x87bee1={};_0x87bee1[_0x17edd7]={'$like':'%'+_0x58d9e0['query']['filter']+'%'};return _0x87bee1;})});}_0x3d375c=_['merge']({},_0x3d375c,_0x58d9e0[_0x548b('0x3e')]);return _0x187d7a[_0x548b('0x48')](_0x3d375c);}})[_0x548b('0x23')](function(_0x232acb){if(_0x232acb){_0x1fe098=_0x232acb['length'];if(!_0x58d9e0['query'][_0x548b('0x4c')](_0x548b('0x35'))){_0x3d375c[_0x548b('0x36')]=qs[_0x548b('0x36')](_0x58d9e0['query'][_0x548b('0x36')]);_0x3d375c[_0x548b('0x1e')]=qs[_0x548b('0x1e')](_0x58d9e0[_0x548b('0x2f')]['offset']);}return _0x187d7a[_0x548b('0x48')](_0x3d375c);}})[_0x548b('0x23')](function(_0x3b2896){if(_0x3b2896){return _0x3b2896?{'count':_0x1fe098,'rows':_0x3b2896}:null;}})['then'](respondWithResult(_0x2c7511,null))['catch'](handleError(_0x2c7511,null));};exports[_0x548b('0x4d')]=function(_0x1035f9,_0x43999b,_0x164428){if(_0x1035f9['body']['id']){delete _0x1035f9[_0x548b('0x47')]['id'];}return db['FreshsalesAccount'][_0x548b('0x49')]({'where':{'id':_0x1035f9['params']['id']}})[_0x548b('0x23')](handleEntityNotFound(_0x43999b,null))[_0x548b('0x23')](function(_0x42a95e){if(_0x42a95e){_0x1035f9[_0x548b('0x47')][_0x548b('0x4e')]=_0x42a95e['id'];_0x1035f9[_0x548b('0x47')][_0x548b('0x4f')]=integrations[_0x548b('0x50')](_0x1035f9['body']['channel'],_0x1035f9[_0x548b('0x47')][_0x548b('0x51')]);_0x1035f9[_0x548b('0x47')][_0x548b('0x52')]=integrations[_0x548b('0x53')](_0x1035f9[_0x548b('0x47')][_0x548b('0x54')],_0x1035f9[_0x548b('0x47')][_0x548b('0x51')]);return db[_0x548b('0x4a')]['create'](_0x1035f9['body'],{'include':[{'model':db[_0x548b('0x55')],'as':_0x548b('0x4f')},{'model':db[_0x548b('0x55')],'as':_0x548b('0x52')}]});}return null;})[_0x548b('0x23')](respondWithResult(_0x43999b,null))[_0x548b('0x43')](handleError(_0x43999b,null));};exports[_0x548b('0x56')]=function(_0x362e73,_0x5ad32e,_0xd4d7c0){var _0x449b67='';var _0x191080='';return db[_0x548b('0x3f')][_0x548b('0x49')]({'where':{'id':_0x362e73[_0x548b('0x44')]['id']},'attributes':['id','username',_0x548b('0x57'),'apiKey']})['then'](handleEntityNotFound(_0x5ad32e,null))[_0x548b('0x23')](function(_0x478233){if(_0x478233){_0x191080=_0x478233[_0x548b('0x58')];_0x449b67=_0x478233['remoteUri'];var _0x70396=_0x478233[_0x548b('0x57')][_0x548b('0x59')](-0x1);if(_0x70396==='/'){_0x449b67=_0x449b67[_0x548b('0x5a')](0x0,_0x449b67[_0x548b('0x5b')](_0x70396));}return rp({'method':_0x548b('0x5c'),'uri':util[_0x548b('0x5d')](_0x548b('0x5e'),_0x449b67,_0x548b('0x5f')),'headers':{'Authorization':'Token\x20token='+_0x478233[_0x548b('0x60')]},'json':!![]});}})[_0x548b('0x23')](function(_0xb9172c){if(_0xb9172c){var _0xf46bb8=_0xb9172c['users'];var _0x2a76f1=![];var _0x1e288a=null;for(_0x1e288a=0x0;_0x1e288a<_0xf46bb8[_0x548b('0x34')];_0x1e288a++){if(_0xf46bb8[_0x1e288a][_0x548b('0x61')]===_0x191080){_0x2a76f1=!![];}}if(_0x2a76f1){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x548b('0x62')});}}})[_0x548b('0x23')](respondWithResult(_0x5ad32e,null))[_0x548b('0x43')](function(_0x59f8cb){var _0x1c09e1=_0x362e73[_0x548b('0x2f')][_0x548b('0x63')]?0x1f4:_0x59f8cb[_0x548b('0x64')]||0x1f4;logger[_0x548b('0x26')]('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x1c09e1,JSON[_0x548b('0x65')](_0x59f8cb));delete _0x59f8cb['name'];if(_0x1c09e1===0x191){_0x1c09e1=0x190;}_0x5ad32e['status'](_0x1c09e1)[_0x548b('0x28')](_0x362e73['query'][_0x548b('0x63')]?{'message':_0x548b('0x66'),'statusCode':_0x59f8cb['statusCode']}:_0x59f8cb);});};