Built motion from commit (unavailable).|2.5.14
[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 _0x8ce3=['http','then','info','FreshsalesAccount,\x20%s,\x20%s','debug','FreshsalesAccount,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','result','catch','status','end','json','count','offset','set','apply','save','update','stack','name','send','index','map','FreshsalesAccount','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','merge','filter','options','rows','show','params','includeAll','include','find','create','body','destroy','getConfigurations','findOne','FreshsalesConfiguration','pick','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','FreshsalesField','getFields','username','apiKey','slice','substring','GET','format','%s%s','/api/selector/owners','email','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','squel','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client'];(function(_0x6df2,_0x79c807){var _0x16d6b7=function(_0x538627){while(--_0x538627){_0x6df2['push'](_0x6df2['shift']());}};_0x16d6b7(++_0x79c807);}(_0x8ce3,0xc3));var _0x38ce=function(_0x3a2e49,_0x21ebea){_0x3a2e49=_0x3a2e49-0x0;var _0x257140=_0x8ce3[_0x3a2e49];return _0x257140;};'use strict';var pdf=require(_0x38ce('0x0'));var emlformat=require(_0x38ce('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x38ce('0x2'));var jsonpatch=require(_0x38ce('0x3'));var rp=require(_0x38ce('0x4'));var moment=require(_0x38ce('0x5'));var BPromise=require(_0x38ce('0x6'));var Mustache=require(_0x38ce('0x7'));var util=require(_0x38ce('0x8'));var path=require(_0x38ce('0x9'));var sox=require('sox');var csv=require(_0x38ce('0xa'));var ejs=require(_0x38ce('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x38ce('0xc'));var crypto=require(_0x38ce('0xd'));var jsforce=require(_0x38ce('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x38ce('0xa'));var querystring=require('querystring');var Papa=require(_0x38ce('0xf'));var Redis=require('ioredis');var authService=require(_0x38ce('0x10'));var qs=require(_0x38ce('0x11'));var as=require(_0x38ce('0x12'));var hardwareService=require(_0x38ce('0x13'));var logger=require(_0x38ce('0x14'))(_0x38ce('0x15'));var utils=require(_0x38ce('0x16'));var config=require(_0x38ce('0x17'));var licenseUtil=require(_0x38ce('0x18'));var db=require(_0x38ce('0x19'))['db'];var integrations=require(_0x38ce('0x1a'));var jayson=require(_0x38ce('0x1b'));var client=jayson[_0x38ce('0x1c')][_0x38ce('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x2e661b,_0x2cf066,_0x56a09f,_0x48ba7c){return new BPromise(function(_0x3c4d7f,_0x2aabd8){var _0x2369f3=_0x48ba7c||client;return _0x2369f3['request'](_0x2e661b,_0x56a09f)[_0x38ce('0x1e')](function(_0x54fcd3){logger[_0x38ce('0x1f')](_0x38ce('0x20'),_0x2cf066,'request\x20sent');logger[_0x38ce('0x21')](_0x38ce('0x22'),_0x2cf066,_0x38ce('0x23'),JSON['stringify'](_0x54fcd3));if(_0x54fcd3[_0x38ce('0x24')]){if(_0x54fcd3[_0x38ce('0x24')][_0x38ce('0x25')]===0x1f4){logger[_0x38ce('0x24')](_0x38ce('0x20'),_0x2cf066,_0x54fcd3[_0x38ce('0x24')][_0x38ce('0x26')]);return _0x2aabd8(_0x54fcd3['error'][_0x38ce('0x26')]);}logger[_0x38ce('0x24')](_0x38ce('0x20'),_0x2cf066,_0x54fcd3[_0x38ce('0x24')][_0x38ce('0x26')]);return _0x3c4d7f(_0x54fcd3[_0x38ce('0x24')][_0x38ce('0x26')]);}else{logger[_0x38ce('0x1f')](_0x38ce('0x20'),_0x2cf066,_0x38ce('0x23'));_0x3c4d7f(_0x54fcd3[_0x38ce('0x27')]['message']);}})[_0x38ce('0x28')](function(_0x28c37e){logger[_0x38ce('0x24')](_0x38ce('0x20'),_0x2cf066,_0x28c37e);_0x2aabd8(_0x28c37e);});});}function respondWithStatusCode(_0x4a56b0,_0x2c85e6){_0x2c85e6=_0x2c85e6||0xcc;return function(_0x1d192d){if(_0x1d192d){return _0x4a56b0['sendStatus'](_0x2c85e6);}return _0x4a56b0[_0x38ce('0x29')](_0x2c85e6)[_0x38ce('0x2a')]();};}function respondWithResult(_0x43b479,_0x5b330c){_0x5b330c=_0x5b330c||0xc8;return function(_0x4a7e8e){if(_0x4a7e8e){return _0x43b479[_0x38ce('0x29')](_0x5b330c)[_0x38ce('0x2b')](_0x4a7e8e);}};}function respondWithFilteredResult(_0x142d72,_0x21d4e7){return function(_0x264cf0){if(_0x264cf0){var _0x2a59fe=_0x264cf0[_0x38ce('0x2c')],_0x13e2fc=_0x21d4e7[_0x38ce('0x2d')],_0xce1f64=_0x21d4e7[_0x38ce('0x2d')]+_0x21d4e7['limit'],_0x405d7d;if(_0xce1f64>=_0x2a59fe){_0xce1f64=_0x2a59fe;_0x405d7d=0xc8;}else{_0x405d7d=0xce;}_0x142d72[_0x38ce('0x29')](_0x405d7d);return _0x142d72[_0x38ce('0x2e')]('Content-Range',_0x13e2fc+'-'+_0xce1f64+'/'+_0x2a59fe)[_0x38ce('0x2b')](_0x264cf0);}return null;};}function patchUpdates(_0x3cbead){return function(_0x561f69){try{jsonpatch[_0x38ce('0x2f')](_0x561f69,_0x3cbead,!![]);}catch(_0x282ee4){return BPromise['reject'](_0x282ee4);}return _0x561f69[_0x38ce('0x30')]();};}function saveUpdates(_0x53f2c9,_0x1aa8fb){return function(_0x336f8c){if(_0x336f8c){return _0x336f8c[_0x38ce('0x31')](_0x53f2c9)[_0x38ce('0x1e')](function(_0x444b93){return _0x444b93;});}return null;};}function removeEntity(_0x23019f,_0x34262a){return function(_0x2f5695){if(_0x2f5695){return _0x2f5695['destroy']()['then'](function(){_0x23019f[_0x38ce('0x29')](0xcc)[_0x38ce('0x2a')]();});}};}function handleEntityNotFound(_0x3cba20,_0x34cb97){return function(_0x3fe430){if(!_0x3fe430){_0x3cba20['sendStatus'](0x194);}return _0x3fe430;};}function handleError(_0x23208f,_0x12c68b){_0x12c68b=_0x12c68b||0x1f4;return function(_0x37f696){logger[_0x38ce('0x24')](_0x37f696[_0x38ce('0x32')]);if(_0x37f696[_0x38ce('0x33')]){delete _0x37f696[_0x38ce('0x33')];}_0x23208f['status'](_0x12c68b)[_0x38ce('0x34')](_0x37f696);};}exports[_0x38ce('0x35')]=function(_0x5b8c69,_0x3069aa){var _0x190000={},_0x40c4ae={},_0x3e236d={'count':0x0,'rows':[]};var _0x1eb47e=_[_0x38ce('0x36')](db[_0x38ce('0x37')][_0x38ce('0x38')],function(_0x4b779b){return{'name':_0x4b779b[_0x38ce('0x39')],'type':_0x4b779b[_0x38ce('0x3a')][_0x38ce('0x3b')]};});_0x40c4ae[_0x38ce('0x3c')]=_['map'](_0x1eb47e,_0x38ce('0x33'));_0x40c4ae['query']=_[_0x38ce('0x3d')](_0x5b8c69[_0x38ce('0x3e')]);_0x40c4ae[_0x38ce('0x3f')]=_[_0x38ce('0x40')](_0x40c4ae[_0x38ce('0x3c')],_0x40c4ae[_0x38ce('0x3e')]);_0x190000['attributes']=_[_0x38ce('0x40')](_0x40c4ae['model'],qs[_0x38ce('0x41')](_0x5b8c69[_0x38ce('0x3e')][_0x38ce('0x41')]));_0x190000[_0x38ce('0x42')]=_0x190000[_0x38ce('0x42')][_0x38ce('0x43')]?_0x190000['attributes']:_0x40c4ae[_0x38ce('0x3c')];if(!_0x5b8c69[_0x38ce('0x3e')][_0x38ce('0x44')](_0x38ce('0x45'))){_0x190000[_0x38ce('0x46')]=qs[_0x38ce('0x46')](_0x5b8c69['query']['limit']);_0x190000[_0x38ce('0x2d')]=qs[_0x38ce('0x2d')](_0x5b8c69[_0x38ce('0x3e')][_0x38ce('0x2d')]);}_0x190000[_0x38ce('0x47')]=qs[_0x38ce('0x48')](_0x5b8c69[_0x38ce('0x3e')]['sort']);_0x190000[_0x38ce('0x49')]=qs[_0x38ce('0x3f')](_['pick'](_0x5b8c69[_0x38ce('0x3e')],_0x40c4ae[_0x38ce('0x3f')]),_0x1eb47e);if(_0x5b8c69[_0x38ce('0x3e')]['filter']){_0x190000[_0x38ce('0x49')]=_[_0x38ce('0x4a')](_0x190000[_0x38ce('0x49')],{'$or':_[_0x38ce('0x36')](_0x1eb47e,function(_0x24cf78){if(_0x24cf78[_0x38ce('0x3a')]!=='VIRTUAL'){var _0x9f9ae={};_0x9f9ae[_0x24cf78[_0x38ce('0x33')]]={'$like':'%'+_0x5b8c69[_0x38ce('0x3e')][_0x38ce('0x4b')]+'%'};return _0x9f9ae;}})});}_0x190000=_[_0x38ce('0x4a')]({},_0x190000,_0x5b8c69[_0x38ce('0x4c')]);var _0x4b63d3={'where':_0x190000[_0x38ce('0x49')]};return db[_0x38ce('0x37')]['count'](_0x4b63d3)['then'](function(_0x5833a2){_0x3e236d[_0x38ce('0x2c')]=_0x5833a2;if(_0x5b8c69[_0x38ce('0x3e')]['includeAll']){_0x190000['include']=[{'all':!![]}];}return db[_0x38ce('0x37')]['findAll'](_0x190000);})[_0x38ce('0x1e')](function(_0x50b5fe){_0x3e236d[_0x38ce('0x4d')]=_0x50b5fe;return _0x3e236d;})[_0x38ce('0x1e')](respondWithFilteredResult(_0x3069aa,_0x190000))['catch'](handleError(_0x3069aa,null));};exports[_0x38ce('0x4e')]=function(_0x17a8cf,_0x507d40){var _0x20c542={'raw':![],'where':{'id':_0x17a8cf[_0x38ce('0x4f')]['id']}},_0x3bbd00={};_0x3bbd00[_0x38ce('0x3c')]=_[_0x38ce('0x3d')](db[_0x38ce('0x37')]['rawAttributes']);_0x3bbd00[_0x38ce('0x3e')]=_[_0x38ce('0x3d')](_0x17a8cf['query']);_0x3bbd00[_0x38ce('0x3f')]=_[_0x38ce('0x40')](_0x3bbd00[_0x38ce('0x3c')],_0x3bbd00[_0x38ce('0x3e')]);_0x20c542[_0x38ce('0x42')]=_[_0x38ce('0x40')](_0x3bbd00[_0x38ce('0x3c')],qs['fields'](_0x17a8cf[_0x38ce('0x3e')][_0x38ce('0x41')]));_0x20c542[_0x38ce('0x42')]=_0x20c542[_0x38ce('0x42')][_0x38ce('0x43')]?_0x20c542[_0x38ce('0x42')]:_0x3bbd00['model'];if(_0x17a8cf['query'][_0x38ce('0x50')]){_0x20c542[_0x38ce('0x51')]=[{'all':!![]}];}_0x20c542=_[_0x38ce('0x4a')]({},_0x20c542,_0x17a8cf[_0x38ce('0x4c')]);return db[_0x38ce('0x37')][_0x38ce('0x52')](_0x20c542)['then'](handleEntityNotFound(_0x507d40,null))['then'](respondWithResult(_0x507d40,null))[_0x38ce('0x28')](handleError(_0x507d40,null));};exports['create']=function(_0x5a2348,_0x2f51b4){return db[_0x38ce('0x37')][_0x38ce('0x53')](_0x5a2348[_0x38ce('0x54')],{})[_0x38ce('0x1e')](respondWithResult(_0x2f51b4,0xc9))['catch'](handleError(_0x2f51b4,null));};exports[_0x38ce('0x31')]=function(_0x36a513,_0x42ef27){if(_0x36a513[_0x38ce('0x54')]['id']){delete _0x36a513[_0x38ce('0x54')]['id'];}return db[_0x38ce('0x37')][_0x38ce('0x52')]({'where':{'id':_0x36a513[_0x38ce('0x4f')]['id']}})[_0x38ce('0x1e')](handleEntityNotFound(_0x42ef27,null))[_0x38ce('0x1e')](saveUpdates(_0x36a513[_0x38ce('0x54')],null))['then'](respondWithResult(_0x42ef27,null))['catch'](handleError(_0x42ef27,null));};exports[_0x38ce('0x55')]=function(_0x2ff4b4,_0x131b5a){return db[_0x38ce('0x37')]['find']({'where':{'id':_0x2ff4b4[_0x38ce('0x4f')]['id']}})[_0x38ce('0x1e')](handleEntityNotFound(_0x131b5a,null))[_0x38ce('0x1e')](removeEntity(_0x131b5a,null))[_0x38ce('0x28')](handleError(_0x131b5a,null));};exports[_0x38ce('0x56')]=function(_0x32cde8,_0x1534ca,_0x55527d){var _0x7f2eea={};var _0xd20254={};var _0x4ee43c;var _0x596f71;return db[_0x38ce('0x37')][_0x38ce('0x57')]({'where':{'id':_0x32cde8[_0x38ce('0x4f')]['id']}})['then'](handleEntityNotFound(_0x1534ca,null))['then'](function(_0x201016){if(_0x201016){_0x4ee43c=_0x201016;_0xd20254['model']=_[_0x38ce('0x3d')](db[_0x38ce('0x58')][_0x38ce('0x38')]);_0xd20254[_0x38ce('0x3e')]=_['keys'](_0x32cde8[_0x38ce('0x3e')]);_0xd20254[_0x38ce('0x3f')]=_[_0x38ce('0x40')](_0xd20254['model'],_0xd20254[_0x38ce('0x3e')]);_0x7f2eea[_0x38ce('0x42')]=_[_0x38ce('0x40')](_0xd20254['model'],qs[_0x38ce('0x41')](_0x32cde8['query'][_0x38ce('0x41')]));_0x7f2eea['attributes']=_0x7f2eea[_0x38ce('0x42')][_0x38ce('0x43')]?_0x7f2eea[_0x38ce('0x42')]:_0xd20254[_0x38ce('0x3c')];_0x7f2eea['order']=qs[_0x38ce('0x48')](_0x32cde8[_0x38ce('0x3e')][_0x38ce('0x48')]);_0x7f2eea[_0x38ce('0x49')]=qs[_0x38ce('0x3f')](_[_0x38ce('0x59')](_0x32cde8['query'],_0xd20254[_0x38ce('0x3f')]));if(_0x32cde8['query'][_0x38ce('0x4b')]){_0x7f2eea[_0x38ce('0x49')]=_[_0x38ce('0x4a')](_0x7f2eea[_0x38ce('0x49')],{'$or':_[_0x38ce('0x36')](_0x7f2eea[_0x38ce('0x42')],function(_0x3ac154){var _0x13d2b3={};_0x13d2b3[_0x3ac154]={'$like':'%'+_0x32cde8['query'][_0x38ce('0x4b')]+'%'};return _0x13d2b3;})});}_0x7f2eea=_[_0x38ce('0x4a')]({},_0x7f2eea,_0x32cde8[_0x38ce('0x4c')]);return _0x4ee43c[_0x38ce('0x56')](_0x7f2eea);}})[_0x38ce('0x1e')](function(_0x1ece74){if(_0x1ece74){_0x596f71=_0x1ece74[_0x38ce('0x43')];if(!_0x32cde8[_0x38ce('0x3e')][_0x38ce('0x44')](_0x38ce('0x45'))){_0x7f2eea[_0x38ce('0x46')]=qs[_0x38ce('0x46')](_0x32cde8[_0x38ce('0x3e')][_0x38ce('0x46')]);_0x7f2eea[_0x38ce('0x2d')]=qs[_0x38ce('0x2d')](_0x32cde8[_0x38ce('0x3e')][_0x38ce('0x2d')]);}return _0x4ee43c[_0x38ce('0x56')](_0x7f2eea);}})[_0x38ce('0x1e')](function(_0x537c6f){if(_0x537c6f){return _0x537c6f?{'count':_0x596f71,'rows':_0x537c6f}:null;}})[_0x38ce('0x1e')](respondWithResult(_0x1534ca,null))[_0x38ce('0x28')](handleError(_0x1534ca,null));};exports[_0x38ce('0x5a')]=function(_0x5c569e,_0x4e849d,_0x437933){if(_0x5c569e[_0x38ce('0x54')]['id']){delete _0x5c569e['body']['id'];}return db[_0x38ce('0x37')][_0x38ce('0x57')]({'where':{'id':_0x5c569e['params']['id']}})['then'](handleEntityNotFound(_0x4e849d,null))[_0x38ce('0x1e')](function(_0x24ccfe){if(_0x24ccfe){_0x5c569e['body'][_0x38ce('0x5b')]=_0x24ccfe['id'];_0x5c569e[_0x38ce('0x54')][_0x38ce('0x5c')]=integrations[_0x38ce('0x5d')](_0x5c569e[_0x38ce('0x54')][_0x38ce('0x5e')],_0x5c569e[_0x38ce('0x54')][_0x38ce('0x3a')]);_0x5c569e['body'][_0x38ce('0x5f')]=integrations[_0x38ce('0x60')](_0x5c569e[_0x38ce('0x54')][_0x38ce('0x5e')],_0x5c569e[_0x38ce('0x54')][_0x38ce('0x3a')]);return db[_0x38ce('0x58')]['create'](_0x5c569e['body'],{'include':[{'model':db['FreshsalesField'],'as':_0x38ce('0x5c')},{'model':db[_0x38ce('0x61')],'as':_0x38ce('0x5f')}]});}return null;})[_0x38ce('0x1e')](respondWithResult(_0x4e849d,null))[_0x38ce('0x28')](handleError(_0x4e849d,null));};exports[_0x38ce('0x62')]=function(_0x41bcdf,_0x4b2dfb,_0x6d24ef){var _0x4dca11='';var _0x5893c7='';return db['FreshsalesAccount'][_0x38ce('0x57')]({'where':{'id':_0x41bcdf[_0x38ce('0x4f')]['id']},'attributes':['id',_0x38ce('0x63'),'remoteUri',_0x38ce('0x64')]})[_0x38ce('0x1e')](handleEntityNotFound(_0x4b2dfb,null))[_0x38ce('0x1e')](function(_0x1b5793){if(_0x1b5793){_0x5893c7=_0x1b5793[_0x38ce('0x63')];_0x4dca11=_0x1b5793['remoteUri'];var _0x19b414=_0x1b5793['remoteUri'][_0x38ce('0x65')](-0x1);if(_0x19b414==='/'){_0x4dca11=_0x4dca11[_0x38ce('0x66')](0x0,_0x4dca11['lastIndexOf'](_0x19b414));}return rp({'method':_0x38ce('0x67'),'uri':util[_0x38ce('0x68')](_0x38ce('0x69'),_0x4dca11,_0x38ce('0x6a')),'headers':{'Authorization':'Token\x20token='+_0x1b5793['apiKey']},'json':!![]});}})['then'](function(_0x491b0f){if(_0x491b0f){var _0x4961b8=_0x491b0f['users'];var _0x34974f=![];var _0xd19f6f=null;for(_0xd19f6f=0x0;_0xd19f6f<_0x4961b8[_0x38ce('0x43')];_0xd19f6f++){if(_0x4961b8[_0xd19f6f][_0x38ce('0x6b')]===_0x5893c7){_0x34974f=!![];}}if(_0x34974f){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})[_0x38ce('0x1e')](respondWithResult(_0x4b2dfb,null))[_0x38ce('0x28')](function(_0x49584f){var _0x2b34b2=_0x41bcdf[_0x38ce('0x3e')][_0x38ce('0x6c')]?0x1f4:_0x49584f[_0x38ce('0x6d')]||0x1f4;logger[_0x38ce('0x24')](_0x38ce('0x6e'),_0x38ce('0x62'),_0x2b34b2,JSON[_0x38ce('0x6f')](_0x49584f));delete _0x49584f[_0x38ce('0x33')];if(_0x2b34b2===0x191){_0x2b34b2=0x190;}_0x4b2dfb['status'](_0x2b34b2)[_0x38ce('0x34')](_0x41bcdf[_0x38ce('0x3e')][_0x38ce('0x6c')]?{'message':'Wrong\x20credentials','statusCode':_0x49584f['statusCode']}:_0x49584f);});};