Built motion from commit (unavailable).|2.5.17
[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 _0xeffd=['to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','jayson/promise','http','request','then','info','FreshsalesAccount,\x20%s,\x20%s','request\x20sent','error','code','message','result','catch','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','save','update','destroy','stack','name','send','index','map','FreshsalesAccount','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','intersection','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','fields','length','find','create','body','params','findOne','getConfigurations','addConfiguration','Subjects','getSubjects','channel','getDescriptions','FreshsalesConfiguration','FreshsalesField','Descriptions','getFields','username','apiKey','remoteUri','slice','substring','lastIndexOf','format','%s%s','Token\x20token=','users','email','Requested\x20Resource\x20not\x20Found','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox'];(function(_0x36ee3a,_0xa9d627){var _0x3264b9=function(_0x5784cb){while(--_0x5784cb){_0x36ee3a['push'](_0x36ee3a['shift']());}};_0x3264b9(++_0xa9d627);}(_0xeffd,0x6b));var _0xdeff=function(_0xd372ed,_0x4a3a92){_0xd372ed=_0xd372ed-0x0;var _0x1c47fe=_0xeffd[_0xd372ed];return _0x1c47fe;};'use strict';var pdf=require(_0xdeff('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xdeff('0x1'));var zipdir=require(_0xdeff('0x2'));var jsonpatch=require(_0xdeff('0x3'));var rp=require(_0xdeff('0x4'));var moment=require(_0xdeff('0x5'));var BPromise=require(_0xdeff('0x6'));var Mustache=require(_0xdeff('0x7'));var util=require(_0xdeff('0x8'));var path=require(_0xdeff('0x9'));var sox=require(_0xdeff('0xa'));var csv=require(_0xdeff('0xb'));var ejs=require(_0xdeff('0xc'));var fs=require('fs');var _=require(_0xdeff('0xd'));var squel=require(_0xdeff('0xe'));var crypto=require(_0xdeff('0xf'));var jsforce=require(_0xdeff('0x10'));var deskjs=require(_0xdeff('0x11'));var toCsv=require('to-csv');var querystring=require(_0xdeff('0x12'));var Papa=require(_0xdeff('0x13'));var Redis=require(_0xdeff('0x14'));var authService=require('../../components/auth/service');var qs=require(_0xdeff('0x15'));var as=require(_0xdeff('0x16'));var hardwareService=require(_0xdeff('0x17'));var logger=require(_0xdeff('0x18'))(_0xdeff('0x19'));var utils=require(_0xdeff('0x1a'));var config=require(_0xdeff('0x1b'));var licenseUtil=require(_0xdeff('0x1c'));var db=require('../../mysqldb')['db'];var integrations=require(_0xdeff('0x1d'));var jayson=require(_0xdeff('0x1e'));var client=jayson['client'][_0xdeff('0x1f')]({'port':0x232a});function respondWithRpcPromise(_0x4e7526,_0x4d411e,_0x3e56a1,_0x47410f){return new BPromise(function(_0x1585e8,_0xb4bc82){var _0x48f0e8=_0x47410f||client;return _0x48f0e8[_0xdeff('0x20')](_0x4e7526,_0x3e56a1)[_0xdeff('0x21')](function(_0xea6c4){logger[_0xdeff('0x22')](_0xdeff('0x23'),_0x4d411e,_0xdeff('0x24'));logger['debug']('FreshsalesAccount,\x20%s,\x20%s,\x20%s',_0x4d411e,_0xdeff('0x24'),JSON['stringify'](_0xea6c4));if(_0xea6c4['error']){if(_0xea6c4[_0xdeff('0x25')][_0xdeff('0x26')]===0x1f4){logger['error'](_0xdeff('0x23'),_0x4d411e,_0xea6c4[_0xdeff('0x25')][_0xdeff('0x27')]);return _0xb4bc82(_0xea6c4[_0xdeff('0x25')][_0xdeff('0x27')]);}logger[_0xdeff('0x25')](_0xdeff('0x23'),_0x4d411e,_0xea6c4[_0xdeff('0x25')]['message']);return _0x1585e8(_0xea6c4['error']['message']);}else{logger[_0xdeff('0x22')]('FreshsalesAccount,\x20%s,\x20%s',_0x4d411e,_0xdeff('0x24'));_0x1585e8(_0xea6c4[_0xdeff('0x28')]['message']);}})[_0xdeff('0x29')](function(_0x21981e){logger['error']('FreshsalesAccount,\x20%s,\x20%s',_0x4d411e,_0x21981e);_0xb4bc82(_0x21981e);});});}function respondWithStatusCode(_0x3b2554,_0x15c425){_0x15c425=_0x15c425||0xcc;return function(_0x253eed){if(_0x253eed){return _0x3b2554[_0xdeff('0x2a')](_0x15c425);}return _0x3b2554[_0xdeff('0x2b')](_0x15c425)['end']();};}function respondWithResult(_0xb08f19,_0x412db3){_0x412db3=_0x412db3||0xc8;return function(_0x3741fb){if(_0x3741fb){return _0xb08f19[_0xdeff('0x2b')](_0x412db3)[_0xdeff('0x2c')](_0x3741fb);}};}function respondWithFilteredResult(_0x35823c,_0x3d0111){return function(_0x52ea5d){if(_0x52ea5d){var _0x31bb72=_0x52ea5d[_0xdeff('0x2d')],_0x1a546c=_0x3d0111[_0xdeff('0x2e')],_0x53b168=_0x3d0111[_0xdeff('0x2e')]+_0x3d0111[_0xdeff('0x2f')],_0x4dd366;if(_0x53b168>=_0x31bb72){_0x53b168=_0x31bb72;_0x4dd366=0xc8;}else{_0x4dd366=0xce;}_0x35823c[_0xdeff('0x2b')](_0x4dd366);return _0x35823c[_0xdeff('0x30')](_0xdeff('0x31'),_0x1a546c+'-'+_0x53b168+'/'+_0x31bb72)['json'](_0x52ea5d);}return null;};}function patchUpdates(_0x331ddc){return function(_0x167e07){try{jsonpatch[_0xdeff('0x32')](_0x167e07,_0x331ddc,!![]);}catch(_0x5045b8){return BPromise['reject'](_0x5045b8);}return _0x167e07[_0xdeff('0x33')]();};}function saveUpdates(_0x505e3f,_0x69842a){return function(_0x145d8b){if(_0x145d8b){return _0x145d8b[_0xdeff('0x34')](_0x505e3f)['then'](function(_0x189a51){return _0x189a51;});}return null;};}function removeEntity(_0x563eba,_0x4ba2b2){return function(_0x45fcde){if(_0x45fcde){return _0x45fcde[_0xdeff('0x35')]()[_0xdeff('0x21')](function(){_0x563eba[_0xdeff('0x2b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3f91d8,_0x1f5ea9){return function(_0x31f6c7){if(!_0x31f6c7){_0x3f91d8[_0xdeff('0x2a')](0x194);}return _0x31f6c7;};}function handleError(_0x1ae013,_0x78382e){_0x78382e=_0x78382e||0x1f4;return function(_0x321ef0){logger['error'](_0x321ef0[_0xdeff('0x36')]);if(_0x321ef0['name']){delete _0x321ef0[_0xdeff('0x37')];}_0x1ae013[_0xdeff('0x2b')](_0x78382e)[_0xdeff('0x38')](_0x321ef0);};}exports[_0xdeff('0x39')]=function(_0x210dd6,_0x965c5b){var _0x52baf5={},_0x25801b={},_0x3bf462={'count':0x0,'rows':[]};var _0x4e97cf=_[_0xdeff('0x3a')](db[_0xdeff('0x3b')][_0xdeff('0x3c')],function(_0x387c19){return{'name':_0x387c19[_0xdeff('0x3d')],'type':_0x387c19[_0xdeff('0x3e')][_0xdeff('0x3f')]};});_0x25801b[_0xdeff('0x40')]=_['map'](_0x4e97cf,_0xdeff('0x37'));_0x25801b['query']=_[_0xdeff('0x41')](_0x210dd6[_0xdeff('0x42')]);_0x25801b[_0xdeff('0x43')]=_['intersection'](_0x25801b[_0xdeff('0x40')],_0x25801b[_0xdeff('0x42')]);_0x52baf5[_0xdeff('0x44')]=_[_0xdeff('0x45')](_0x25801b[_0xdeff('0x40')],qs['fields'](_0x210dd6[_0xdeff('0x42')]['fields']));_0x52baf5[_0xdeff('0x44')]=_0x52baf5[_0xdeff('0x44')]['length']?_0x52baf5[_0xdeff('0x44')]:_0x25801b[_0xdeff('0x40')];if(!_0x210dd6[_0xdeff('0x42')][_0xdeff('0x46')](_0xdeff('0x47'))){_0x52baf5['limit']=qs[_0xdeff('0x2f')](_0x210dd6[_0xdeff('0x42')][_0xdeff('0x2f')]);_0x52baf5[_0xdeff('0x2e')]=qs[_0xdeff('0x2e')](_0x210dd6['query']['offset']);}_0x52baf5[_0xdeff('0x48')]=qs[_0xdeff('0x49')](_0x210dd6[_0xdeff('0x42')][_0xdeff('0x49')]);_0x52baf5[_0xdeff('0x4a')]=qs[_0xdeff('0x43')](_[_0xdeff('0x4b')](_0x210dd6['query'],_0x25801b[_0xdeff('0x43')]),_0x4e97cf);if(_0x210dd6[_0xdeff('0x42')][_0xdeff('0x4c')]){_0x52baf5['where']=_[_0xdeff('0x4d')](_0x52baf5[_0xdeff('0x4a')],{'$or':_[_0xdeff('0x3a')](_0x4e97cf,function(_0x43f457){if(_0x43f457['type']!==_0xdeff('0x4e')){var _0x362f99={};_0x362f99[_0x43f457[_0xdeff('0x37')]]={'$like':'%'+_0x210dd6[_0xdeff('0x42')][_0xdeff('0x4c')]+'%'};return _0x362f99;}})});}_0x52baf5=_[_0xdeff('0x4d')]({},_0x52baf5,_0x210dd6[_0xdeff('0x4f')]);var _0x460965={'where':_0x52baf5['where']};return db[_0xdeff('0x3b')][_0xdeff('0x2d')](_0x460965)[_0xdeff('0x21')](function(_0x473d32){_0x3bf462[_0xdeff('0x2d')]=_0x473d32;if(_0x210dd6['query'][_0xdeff('0x50')]){_0x52baf5[_0xdeff('0x51')]=[{'all':!![]}];}return db[_0xdeff('0x3b')][_0xdeff('0x52')](_0x52baf5);})[_0xdeff('0x21')](function(_0x5cddcc){_0x3bf462[_0xdeff('0x53')]=_0x5cddcc;return _0x3bf462;})['then'](respondWithFilteredResult(_0x965c5b,_0x52baf5))[_0xdeff('0x29')](handleError(_0x965c5b,null));};exports[_0xdeff('0x54')]=function(_0x1bf17c,_0x46c428){var _0xf58aa6={'raw':![],'where':{'id':_0x1bf17c['params']['id']}},_0x15b02c={};_0x15b02c['model']=_[_0xdeff('0x41')](db[_0xdeff('0x3b')][_0xdeff('0x3c')]);_0x15b02c['query']=_['keys'](_0x1bf17c[_0xdeff('0x42')]);_0x15b02c[_0xdeff('0x43')]=_['intersection'](_0x15b02c[_0xdeff('0x40')],_0x15b02c[_0xdeff('0x42')]);_0xf58aa6[_0xdeff('0x44')]=_['intersection'](_0x15b02c[_0xdeff('0x40')],qs[_0xdeff('0x55')](_0x1bf17c[_0xdeff('0x42')]['fields']));_0xf58aa6[_0xdeff('0x44')]=_0xf58aa6[_0xdeff('0x44')][_0xdeff('0x56')]?_0xf58aa6[_0xdeff('0x44')]:_0x15b02c[_0xdeff('0x40')];if(_0x1bf17c[_0xdeff('0x42')][_0xdeff('0x50')]){_0xf58aa6['include']=[{'all':!![]}];}_0xf58aa6=_[_0xdeff('0x4d')]({},_0xf58aa6,_0x1bf17c[_0xdeff('0x4f')]);return db['FreshsalesAccount'][_0xdeff('0x57')](_0xf58aa6)[_0xdeff('0x21')](handleEntityNotFound(_0x46c428,null))[_0xdeff('0x21')](respondWithResult(_0x46c428,null))[_0xdeff('0x29')](handleError(_0x46c428,null));};exports[_0xdeff('0x58')]=function(_0xfb097c,_0x473d9d){return db[_0xdeff('0x3b')]['create'](_0xfb097c[_0xdeff('0x59')],{})[_0xdeff('0x21')](respondWithResult(_0x473d9d,0xc9))[_0xdeff('0x29')](handleError(_0x473d9d,null));};exports['update']=function(_0x4e78db,_0x1e43a6){if(_0x4e78db[_0xdeff('0x59')]['id']){delete _0x4e78db[_0xdeff('0x59')]['id'];}return db[_0xdeff('0x3b')][_0xdeff('0x57')]({'where':{'id':_0x4e78db[_0xdeff('0x5a')]['id']}})['then'](handleEntityNotFound(_0x1e43a6,null))['then'](saveUpdates(_0x4e78db[_0xdeff('0x59')],null))[_0xdeff('0x21')](respondWithResult(_0x1e43a6,null))['catch'](handleError(_0x1e43a6,null));};exports['destroy']=function(_0x3b3276,_0x407001){return db['FreshsalesAccount'][_0xdeff('0x57')]({'where':{'id':_0x3b3276[_0xdeff('0x5a')]['id']}})['then'](handleEntityNotFound(_0x407001,null))[_0xdeff('0x21')](removeEntity(_0x407001,null))[_0xdeff('0x29')](handleError(_0x407001,null));};exports['getConfigurations']=function(_0x3087ea,_0x339717,_0x5439a4){var _0x388b81={};var _0x152187={};var _0x2a83ac;var _0x592ea6;return db['FreshsalesAccount'][_0xdeff('0x5b')]({'where':{'id':_0x3087ea['params']['id']}})[_0xdeff('0x21')](handleEntityNotFound(_0x339717,null))[_0xdeff('0x21')](function(_0x80035d){if(_0x80035d){_0x2a83ac=_0x80035d;_0x152187[_0xdeff('0x40')]=_[_0xdeff('0x41')](db['FreshsalesConfiguration']['rawAttributes']);_0x152187[_0xdeff('0x42')]=_[_0xdeff('0x41')](_0x3087ea[_0xdeff('0x42')]);_0x152187[_0xdeff('0x43')]=_[_0xdeff('0x45')](_0x152187[_0xdeff('0x40')],_0x152187['query']);_0x388b81[_0xdeff('0x44')]=_['intersection'](_0x152187[_0xdeff('0x40')],qs[_0xdeff('0x55')](_0x3087ea[_0xdeff('0x42')][_0xdeff('0x55')]));_0x388b81[_0xdeff('0x44')]=_0x388b81[_0xdeff('0x44')][_0xdeff('0x56')]?_0x388b81[_0xdeff('0x44')]:_0x152187[_0xdeff('0x40')];_0x388b81['order']=qs[_0xdeff('0x49')](_0x3087ea['query'][_0xdeff('0x49')]);_0x388b81[_0xdeff('0x4a')]=qs['filters'](_[_0xdeff('0x4b')](_0x3087ea['query'],_0x152187[_0xdeff('0x43')]));if(_0x3087ea['query']['filter']){_0x388b81[_0xdeff('0x4a')]=_[_0xdeff('0x4d')](_0x388b81['where'],{'$or':_[_0xdeff('0x3a')](_0x388b81[_0xdeff('0x44')],function(_0x98552f){var _0x3a04fd={};_0x3a04fd[_0x98552f]={'$like':'%'+_0x3087ea[_0xdeff('0x42')][_0xdeff('0x4c')]+'%'};return _0x3a04fd;})});}_0x388b81=_[_0xdeff('0x4d')]({},_0x388b81,_0x3087ea[_0xdeff('0x4f')]);return _0x2a83ac[_0xdeff('0x5c')](_0x388b81);}})['then'](function(_0x1f71ee){if(_0x1f71ee){_0x592ea6=_0x1f71ee[_0xdeff('0x56')];if(!_0x3087ea['query']['hasOwnProperty'](_0xdeff('0x47'))){_0x388b81[_0xdeff('0x2f')]=qs['limit'](_0x3087ea[_0xdeff('0x42')][_0xdeff('0x2f')]);_0x388b81[_0xdeff('0x2e')]=qs[_0xdeff('0x2e')](_0x3087ea[_0xdeff('0x42')][_0xdeff('0x2e')]);}return _0x2a83ac[_0xdeff('0x5c')](_0x388b81);}})[_0xdeff('0x21')](function(_0x15cfb4){if(_0x15cfb4){return _0x15cfb4?{'count':_0x592ea6,'rows':_0x15cfb4}:null;}})[_0xdeff('0x21')](respondWithResult(_0x339717,null))['catch'](handleError(_0x339717,null));};exports[_0xdeff('0x5d')]=function(_0x169145,_0x190191,_0x44bad3){if(_0x169145[_0xdeff('0x59')]['id']){delete _0x169145['body']['id'];}return db['FreshsalesAccount']['findOne']({'where':{'id':_0x169145[_0xdeff('0x5a')]['id']}})[_0xdeff('0x21')](handleEntityNotFound(_0x190191,null))[_0xdeff('0x21')](function(_0x5e85dc){if(_0x5e85dc){_0x169145['body']['AccountId']=_0x5e85dc['id'];_0x169145[_0xdeff('0x59')][_0xdeff('0x5e')]=integrations[_0xdeff('0x5f')](_0x169145[_0xdeff('0x59')][_0xdeff('0x60')],_0x169145[_0xdeff('0x59')][_0xdeff('0x3e')]);_0x169145[_0xdeff('0x59')]['Descriptions']=integrations[_0xdeff('0x61')](_0x169145[_0xdeff('0x59')][_0xdeff('0x60')],_0x169145[_0xdeff('0x59')][_0xdeff('0x3e')]);return db[_0xdeff('0x62')][_0xdeff('0x58')](_0x169145[_0xdeff('0x59')],{'include':[{'model':db[_0xdeff('0x63')],'as':_0xdeff('0x5e')},{'model':db[_0xdeff('0x63')],'as':_0xdeff('0x64')}]});}return null;})['then'](respondWithResult(_0x190191,null))[_0xdeff('0x29')](handleError(_0x190191,null));};exports[_0xdeff('0x65')]=function(_0x1fa20b,_0x54adce,_0x17c78a){var _0x302e78='';var _0x39416='';return db[_0xdeff('0x3b')]['findOne']({'where':{'id':_0x1fa20b[_0xdeff('0x5a')]['id']},'attributes':['id',_0xdeff('0x66'),'remoteUri',_0xdeff('0x67')]})[_0xdeff('0x21')](handleEntityNotFound(_0x54adce,null))[_0xdeff('0x21')](function(_0x1cc1d3){if(_0x1cc1d3){_0x39416=_0x1cc1d3[_0xdeff('0x66')];_0x302e78=_0x1cc1d3['remoteUri'];var _0x1ee669=_0x1cc1d3[_0xdeff('0x68')][_0xdeff('0x69')](-0x1);if(_0x1ee669==='/'){_0x302e78=_0x302e78[_0xdeff('0x6a')](0x0,_0x302e78[_0xdeff('0x6b')](_0x1ee669));}return rp({'method':'GET','uri':util[_0xdeff('0x6c')](_0xdeff('0x6d'),_0x302e78,'/api/selector/owners'),'headers':{'Authorization':_0xdeff('0x6e')+_0x1cc1d3[_0xdeff('0x67')]},'json':!![]});}})[_0xdeff('0x21')](function(_0x59d357){if(_0x59d357){var _0x2495f7=_0x59d357[_0xdeff('0x6f')];var _0x50fead=![];var _0x1d51a9=null;for(_0x1d51a9=0x0;_0x1d51a9<_0x2495f7[_0xdeff('0x56')];_0x1d51a9++){if(_0x2495f7[_0x1d51a9][_0xdeff('0x70')]===_0x39416){_0x50fead=!![];}}if(_0x50fead){return!![];}else{throw new Error({'statusCode':0x194,'message':_0xdeff('0x71')});}}})['then'](respondWithResult(_0x54adce,null))[_0xdeff('0x29')](function(_0x3b8f20){var _0x14a77f=_0x1fa20b[_0xdeff('0x42')][_0xdeff('0x72')]?0x1f4:_0x3b8f20[_0xdeff('0x73')]||0x1f4;logger[_0xdeff('0x25')](_0xdeff('0x74'),_0xdeff('0x65'),_0x14a77f,JSON['stringify'](_0x3b8f20));delete _0x3b8f20[_0xdeff('0x37')];if(_0x14a77f===0x191){_0x14a77f=0x190;}_0x54adce['status'](_0x14a77f)[_0xdeff('0x38')](_0x1fa20b['query']['test']?{'message':_0xdeff('0x75'),'statusCode':_0x3b8f20[_0xdeff('0x73')]}:_0x3b8f20);});};