Built motion from commit (unavailable).|2.5.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 _0xf337=['key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','limit','sort','where','filter','merge','type','VIRTUAL','options','findAll','rows','params','includeAll','find','create','body','getConfigurations','findOne','FreshsalesConfiguration','order','pick','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','FreshsalesField','getFields','username','remoteUri','apiKey','slice','lastIndexOf','format','%s%s','/api/selector/owners','Token\x20token=','users','Requested\x20Resource\x20not\x20Found','test','getFields,\x20%s,\x20%s,\x20%s','stringify','send','Wrong\x20credentials','eml-format','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','FreshsalesAccount,\x20%s,\x20%s','request\x20sent','debug','error','message','catch','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','index','map','FreshsalesAccount','rawAttributes'];(function(_0x4959bb,_0xc0df8e){var _0x137f1f=function(_0x41a5c3){while(--_0x41a5c3){_0x4959bb['push'](_0x4959bb['shift']());}};_0x137f1f(++_0xc0df8e);}(_0xf337,0x174));var _0x7f33=function(_0x3344d9,_0x3bb535){_0x3344d9=_0x3344d9-0x0;var _0x4319f8=_0xf337[_0x3344d9];return _0x4319f8;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x7f33('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x7f33('0x1'));var rp=require(_0x7f33('0x2'));var moment=require('moment');var BPromise=require(_0x7f33('0x3'));var Mustache=require(_0x7f33('0x4'));var util=require(_0x7f33('0x5'));var path=require(_0x7f33('0x6'));var sox=require(_0x7f33('0x7'));var csv=require(_0x7f33('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x7f33('0x9'));var squel=require(_0x7f33('0xa'));var crypto=require(_0x7f33('0xb'));var jsforce=require(_0x7f33('0xc'));var deskjs=require(_0x7f33('0xd'));var toCsv=require(_0x7f33('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x7f33('0xe'));var authService=require(_0x7f33('0xf'));var qs=require(_0x7f33('0x10'));var as=require(_0x7f33('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7f33('0x12'))('api');var utils=require(_0x7f33('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x7f33('0x14'));var db=require(_0x7f33('0x15'))['db'];var integrations=require(_0x7f33('0x16'));var jayson=require(_0x7f33('0x17'));var client=jayson[_0x7f33('0x18')][_0x7f33('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x53b778,_0x20adbf,_0x22f4d6,_0x17f699){return new BPromise(function(_0x5c23e2,_0x59d09e){var _0x5a72b3=_0x17f699||client;return _0x5a72b3['request'](_0x53b778,_0x22f4d6)['then'](function(_0x1f0ec8){logger['info'](_0x7f33('0x1a'),_0x20adbf,_0x7f33('0x1b'));logger[_0x7f33('0x1c')]('FreshsalesAccount,\x20%s,\x20%s,\x20%s',_0x20adbf,_0x7f33('0x1b'),JSON['stringify'](_0x1f0ec8));if(_0x1f0ec8[_0x7f33('0x1d')]){if(_0x1f0ec8[_0x7f33('0x1d')]['code']===0x1f4){logger['error'](_0x7f33('0x1a'),_0x20adbf,_0x1f0ec8[_0x7f33('0x1d')][_0x7f33('0x1e')]);return _0x59d09e(_0x1f0ec8[_0x7f33('0x1d')][_0x7f33('0x1e')]);}logger[_0x7f33('0x1d')](_0x7f33('0x1a'),_0x20adbf,_0x1f0ec8[_0x7f33('0x1d')][_0x7f33('0x1e')]);return _0x5c23e2(_0x1f0ec8[_0x7f33('0x1d')][_0x7f33('0x1e')]);}else{logger['info'](_0x7f33('0x1a'),_0x20adbf,_0x7f33('0x1b'));_0x5c23e2(_0x1f0ec8['result'][_0x7f33('0x1e')]);}})[_0x7f33('0x1f')](function(_0x465665){logger[_0x7f33('0x1d')](_0x7f33('0x1a'),_0x20adbf,_0x465665);_0x59d09e(_0x465665);});});}function respondWithStatusCode(_0x137cb0,_0x1961a3){_0x1961a3=_0x1961a3||0xcc;return function(_0x5f4ad4){if(_0x5f4ad4){return _0x137cb0[_0x7f33('0x20')](_0x1961a3);}return _0x137cb0[_0x7f33('0x21')](_0x1961a3)[_0x7f33('0x22')]();};}function respondWithResult(_0x154966,_0x1f80ad){_0x1f80ad=_0x1f80ad||0xc8;return function(_0x17a00f){if(_0x17a00f){return _0x154966[_0x7f33('0x21')](_0x1f80ad)[_0x7f33('0x23')](_0x17a00f);}};}function respondWithFilteredResult(_0x576f50,_0x4f1498){return function(_0x34a249){if(_0x34a249){var _0x3be048=_0x34a249[_0x7f33('0x24')],_0x1dd9c9=_0x4f1498['offset'],_0x27f715=_0x4f1498[_0x7f33('0x25')]+_0x4f1498['limit'],_0x24b8d4;if(_0x27f715>=_0x3be048){_0x27f715=_0x3be048;_0x24b8d4=0xc8;}else{_0x24b8d4=0xce;}_0x576f50[_0x7f33('0x21')](_0x24b8d4);return _0x576f50[_0x7f33('0x26')](_0x7f33('0x27'),_0x1dd9c9+'-'+_0x27f715+'/'+_0x3be048)['json'](_0x34a249);}return null;};}function patchUpdates(_0x519ac8){return function(_0x53acdc){try{jsonpatch[_0x7f33('0x28')](_0x53acdc,_0x519ac8,!![]);}catch(_0x32b0ab){return BPromise[_0x7f33('0x29')](_0x32b0ab);}return _0x53acdc[_0x7f33('0x2a')]();};}function saveUpdates(_0x1d0987,_0x2715bd){return function(_0x457ffb){if(_0x457ffb){return _0x457ffb[_0x7f33('0x2b')](_0x1d0987)[_0x7f33('0x2c')](function(_0x35df32){return _0x35df32;});}return null;};}function removeEntity(_0x3df556,_0xb2d4ec){return function(_0x2b1f30){if(_0x2b1f30){return _0x2b1f30[_0x7f33('0x2d')]()[_0x7f33('0x2c')](function(){_0x3df556['status'](0xcc)[_0x7f33('0x22')]();});}};}function handleEntityNotFound(_0x137186,_0x201ae9){return function(_0x13653d){if(!_0x13653d){_0x137186[_0x7f33('0x20')](0x194);}return _0x13653d;};}function handleError(_0x4cc5ea,_0x1ef055){_0x1ef055=_0x1ef055||0x1f4;return function(_0x3d2b84){logger['error'](_0x3d2b84[_0x7f33('0x2e')]);if(_0x3d2b84[_0x7f33('0x2f')]){delete _0x3d2b84[_0x7f33('0x2f')];}_0x4cc5ea[_0x7f33('0x21')](_0x1ef055)['send'](_0x3d2b84);};}exports[_0x7f33('0x30')]=function(_0x128e51,_0x1e4cac){var _0x36c1a0={},_0x5c3918={},_0x5bfae9={'count':0x0,'rows':[]};var _0x16b018=_[_0x7f33('0x31')](db[_0x7f33('0x32')][_0x7f33('0x33')],function(_0x399618){return{'name':_0x399618['fieldName'],'type':_0x399618['type'][_0x7f33('0x34')]};});_0x5c3918[_0x7f33('0x35')]=_['map'](_0x16b018,'name');_0x5c3918[_0x7f33('0x36')]=_[_0x7f33('0x37')](_0x128e51[_0x7f33('0x36')]);_0x5c3918[_0x7f33('0x38')]=_[_0x7f33('0x39')](_0x5c3918['model'],_0x5c3918[_0x7f33('0x36')]);_0x36c1a0[_0x7f33('0x3a')]=_[_0x7f33('0x39')](_0x5c3918[_0x7f33('0x35')],qs[_0x7f33('0x3b')](_0x128e51[_0x7f33('0x36')][_0x7f33('0x3b')]));_0x36c1a0[_0x7f33('0x3a')]=_0x36c1a0[_0x7f33('0x3a')][_0x7f33('0x3c')]?_0x36c1a0[_0x7f33('0x3a')]:_0x5c3918['model'];if(!_0x128e51[_0x7f33('0x36')]['hasOwnProperty'](_0x7f33('0x3d'))){_0x36c1a0[_0x7f33('0x3e')]=qs[_0x7f33('0x3e')](_0x128e51[_0x7f33('0x36')][_0x7f33('0x3e')]);_0x36c1a0['offset']=qs[_0x7f33('0x25')](_0x128e51[_0x7f33('0x36')]['offset']);}_0x36c1a0['order']=qs[_0x7f33('0x3f')](_0x128e51[_0x7f33('0x36')][_0x7f33('0x3f')]);_0x36c1a0[_0x7f33('0x40')]=qs[_0x7f33('0x38')](_['pick'](_0x128e51[_0x7f33('0x36')],_0x5c3918[_0x7f33('0x38')]),_0x16b018);if(_0x128e51['query'][_0x7f33('0x41')]){_0x36c1a0[_0x7f33('0x40')]=_[_0x7f33('0x42')](_0x36c1a0[_0x7f33('0x40')],{'$or':_[_0x7f33('0x31')](_0x16b018,function(_0x4095af){if(_0x4095af[_0x7f33('0x43')]!==_0x7f33('0x44')){var _0x23a445={};_0x23a445[_0x4095af[_0x7f33('0x2f')]]={'$like':'%'+_0x128e51[_0x7f33('0x36')][_0x7f33('0x41')]+'%'};return _0x23a445;}})});}_0x36c1a0=_['merge']({},_0x36c1a0,_0x128e51[_0x7f33('0x45')]);var _0x5bf38d={'where':_0x36c1a0[_0x7f33('0x40')]};return db[_0x7f33('0x32')][_0x7f33('0x24')](_0x5bf38d)[_0x7f33('0x2c')](function(_0x55478b){_0x5bfae9[_0x7f33('0x24')]=_0x55478b;if(_0x128e51['query']['includeAll']){_0x36c1a0['include']=[{'all':!![]}];}return db[_0x7f33('0x32')][_0x7f33('0x46')](_0x36c1a0);})[_0x7f33('0x2c')](function(_0x50bf97){_0x5bfae9[_0x7f33('0x47')]=_0x50bf97;return _0x5bfae9;})['then'](respondWithFilteredResult(_0x1e4cac,_0x36c1a0))[_0x7f33('0x1f')](handleError(_0x1e4cac,null));};exports['show']=function(_0x4d42cb,_0x21cded){var _0x40d0a2={'raw':![],'where':{'id':_0x4d42cb[_0x7f33('0x48')]['id']}},_0x4901dd={};_0x4901dd[_0x7f33('0x35')]=_['keys'](db['FreshsalesAccount'][_0x7f33('0x33')]);_0x4901dd[_0x7f33('0x36')]=_['keys'](_0x4d42cb[_0x7f33('0x36')]);_0x4901dd['filtears']=_[_0x7f33('0x39')](_0x4901dd[_0x7f33('0x35')],_0x4901dd[_0x7f33('0x36')]);_0x40d0a2[_0x7f33('0x3a')]=_[_0x7f33('0x39')](_0x4901dd[_0x7f33('0x35')],qs['fields'](_0x4d42cb[_0x7f33('0x36')]['fields']));_0x40d0a2[_0x7f33('0x3a')]=_0x40d0a2[_0x7f33('0x3a')]['length']?_0x40d0a2[_0x7f33('0x3a')]:_0x4901dd[_0x7f33('0x35')];if(_0x4d42cb['query'][_0x7f33('0x49')]){_0x40d0a2['include']=[{'all':!![]}];}_0x40d0a2=_['merge']({},_0x40d0a2,_0x4d42cb[_0x7f33('0x45')]);return db[_0x7f33('0x32')][_0x7f33('0x4a')](_0x40d0a2)[_0x7f33('0x2c')](handleEntityNotFound(_0x21cded,null))[_0x7f33('0x2c')](respondWithResult(_0x21cded,null))[_0x7f33('0x1f')](handleError(_0x21cded,null));};exports[_0x7f33('0x4b')]=function(_0x3686fc,_0x45afe4){return db[_0x7f33('0x32')][_0x7f33('0x4b')](_0x3686fc[_0x7f33('0x4c')],{})['then'](respondWithResult(_0x45afe4,0xc9))[_0x7f33('0x1f')](handleError(_0x45afe4,null));};exports[_0x7f33('0x2b')]=function(_0x1e875e,_0x427df2){if(_0x1e875e[_0x7f33('0x4c')]['id']){delete _0x1e875e[_0x7f33('0x4c')]['id'];}return db[_0x7f33('0x32')][_0x7f33('0x4a')]({'where':{'id':_0x1e875e[_0x7f33('0x48')]['id']}})[_0x7f33('0x2c')](handleEntityNotFound(_0x427df2,null))['then'](saveUpdates(_0x1e875e[_0x7f33('0x4c')],null))[_0x7f33('0x2c')](respondWithResult(_0x427df2,null))[_0x7f33('0x1f')](handleError(_0x427df2,null));};exports[_0x7f33('0x2d')]=function(_0x5085a0,_0xccde6a){return db[_0x7f33('0x32')][_0x7f33('0x4a')]({'where':{'id':_0x5085a0[_0x7f33('0x48')]['id']}})[_0x7f33('0x2c')](handleEntityNotFound(_0xccde6a,null))['then'](removeEntity(_0xccde6a,null))[_0x7f33('0x1f')](handleError(_0xccde6a,null));};exports[_0x7f33('0x4d')]=function(_0x45fef3,_0xcfba59,_0xd9dbde){var _0x27724a={};var _0x592ddf={};var _0x5f5c5c;var _0x14690a;return db[_0x7f33('0x32')][_0x7f33('0x4e')]({'where':{'id':_0x45fef3[_0x7f33('0x48')]['id']}})[_0x7f33('0x2c')](handleEntityNotFound(_0xcfba59,null))[_0x7f33('0x2c')](function(_0x2fdb0c){if(_0x2fdb0c){_0x5f5c5c=_0x2fdb0c;_0x592ddf[_0x7f33('0x35')]=_[_0x7f33('0x37')](db[_0x7f33('0x4f')][_0x7f33('0x33')]);_0x592ddf[_0x7f33('0x36')]=_[_0x7f33('0x37')](_0x45fef3[_0x7f33('0x36')]);_0x592ddf['filters']=_['intersection'](_0x592ddf[_0x7f33('0x35')],_0x592ddf[_0x7f33('0x36')]);_0x27724a[_0x7f33('0x3a')]=_['intersection'](_0x592ddf['model'],qs[_0x7f33('0x3b')](_0x45fef3[_0x7f33('0x36')][_0x7f33('0x3b')]));_0x27724a['attributes']=_0x27724a[_0x7f33('0x3a')][_0x7f33('0x3c')]?_0x27724a[_0x7f33('0x3a')]:_0x592ddf[_0x7f33('0x35')];_0x27724a[_0x7f33('0x50')]=qs[_0x7f33('0x3f')](_0x45fef3[_0x7f33('0x36')][_0x7f33('0x3f')]);_0x27724a['where']=qs[_0x7f33('0x38')](_[_0x7f33('0x51')](_0x45fef3['query'],_0x592ddf['filters']));if(_0x45fef3[_0x7f33('0x36')][_0x7f33('0x41')]){_0x27724a['where']=_['merge'](_0x27724a[_0x7f33('0x40')],{'$or':_[_0x7f33('0x31')](_0x27724a[_0x7f33('0x3a')],function(_0x869d58){var _0x4c0b89={};_0x4c0b89[_0x869d58]={'$like':'%'+_0x45fef3[_0x7f33('0x36')][_0x7f33('0x41')]+'%'};return _0x4c0b89;})});}_0x27724a=_[_0x7f33('0x42')]({},_0x27724a,_0x45fef3[_0x7f33('0x45')]);return _0x5f5c5c['getConfigurations'](_0x27724a);}})['then'](function(_0x170268){if(_0x170268){_0x14690a=_0x170268['length'];if(!_0x45fef3[_0x7f33('0x36')]['hasOwnProperty']('nolimit')){_0x27724a[_0x7f33('0x3e')]=qs['limit'](_0x45fef3[_0x7f33('0x36')][_0x7f33('0x3e')]);_0x27724a[_0x7f33('0x25')]=qs[_0x7f33('0x25')](_0x45fef3[_0x7f33('0x36')][_0x7f33('0x25')]);}return _0x5f5c5c[_0x7f33('0x4d')](_0x27724a);}})[_0x7f33('0x2c')](function(_0x278512){if(_0x278512){return _0x278512?{'count':_0x14690a,'rows':_0x278512}:null;}})['then'](respondWithResult(_0xcfba59,null))['catch'](handleError(_0xcfba59,null));};exports['addConfiguration']=function(_0x11363e,_0x35a19e,_0x1fa0a7){if(_0x11363e[_0x7f33('0x4c')]['id']){delete _0x11363e['body']['id'];}return db['FreshsalesAccount']['findOne']({'where':{'id':_0x11363e[_0x7f33('0x48')]['id']}})['then'](handleEntityNotFound(_0x35a19e,null))[_0x7f33('0x2c')](function(_0x447410){if(_0x447410){_0x11363e[_0x7f33('0x4c')][_0x7f33('0x52')]=_0x447410['id'];_0x11363e[_0x7f33('0x4c')][_0x7f33('0x53')]=integrations[_0x7f33('0x54')](_0x11363e[_0x7f33('0x4c')][_0x7f33('0x55')],_0x11363e[_0x7f33('0x4c')][_0x7f33('0x43')]);_0x11363e[_0x7f33('0x4c')][_0x7f33('0x56')]=integrations[_0x7f33('0x57')](_0x11363e[_0x7f33('0x4c')][_0x7f33('0x55')],_0x11363e[_0x7f33('0x4c')]['type']);return db['FreshsalesConfiguration'][_0x7f33('0x4b')](_0x11363e[_0x7f33('0x4c')],{'include':[{'model':db[_0x7f33('0x58')],'as':_0x7f33('0x53')},{'model':db[_0x7f33('0x58')],'as':_0x7f33('0x56')}]});}return null;})[_0x7f33('0x2c')](respondWithResult(_0x35a19e,null))[_0x7f33('0x1f')](handleError(_0x35a19e,null));};exports[_0x7f33('0x59')]=function(_0x45d06e,_0x30dda4,_0x594f91){var _0x22466e='';var _0x1cc46f='';return db[_0x7f33('0x32')][_0x7f33('0x4e')]({'where':{'id':_0x45d06e[_0x7f33('0x48')]['id']},'attributes':['id',_0x7f33('0x5a'),_0x7f33('0x5b'),_0x7f33('0x5c')]})['then'](handleEntityNotFound(_0x30dda4,null))['then'](function(_0x290ba0){if(_0x290ba0){_0x1cc46f=_0x290ba0[_0x7f33('0x5a')];_0x22466e=_0x290ba0[_0x7f33('0x5b')];var _0x388e9b=_0x290ba0[_0x7f33('0x5b')][_0x7f33('0x5d')](-0x1);if(_0x388e9b==='/'){_0x22466e=_0x22466e['substring'](0x0,_0x22466e[_0x7f33('0x5e')](_0x388e9b));}return rp({'method':'GET','uri':util[_0x7f33('0x5f')](_0x7f33('0x60'),_0x22466e,_0x7f33('0x61')),'headers':{'Authorization':_0x7f33('0x62')+_0x290ba0[_0x7f33('0x5c')]},'json':!![]});}})[_0x7f33('0x2c')](function(_0x21f6c9){if(_0x21f6c9){var _0x6be040=_0x21f6c9[_0x7f33('0x63')];var _0x2ddd29=![];var _0x1c554e=null;for(_0x1c554e=0x0;_0x1c554e<_0x6be040[_0x7f33('0x3c')];_0x1c554e++){if(_0x6be040[_0x1c554e]['email']===_0x1cc46f){_0x2ddd29=!![];}}if(_0x2ddd29){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x7f33('0x64')});}}})['then'](respondWithResult(_0x30dda4,null))[_0x7f33('0x1f')](function(_0x9b2a3){var _0x3f7cfe=_0x45d06e[_0x7f33('0x36')][_0x7f33('0x65')]?0x1f4:_0x9b2a3['statusCode']||0x1f4;logger['error'](_0x7f33('0x66'),'getFields',_0x3f7cfe,JSON[_0x7f33('0x67')](_0x9b2a3));delete _0x9b2a3[_0x7f33('0x2f')];if(_0x3f7cfe===0x191){_0x3f7cfe=0x190;}_0x30dda4['status'](_0x3f7cfe)[_0x7f33('0x68')](_0x45d06e['query'][_0x7f33('0x65')]?{'message':_0x7f33('0x69'),'statusCode':_0x9b2a3['statusCode']}:_0x9b2a3);});};