Built motion from commit 2b9af5da.|2.6.26
[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 _0x3cc5=['query','filters','intersection','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','findAll','rows','catch','params','fields','length','includeAll','include','find','create','body','getConfigurations','findOne','FreshsalesConfiguration','addConfiguration','AccountId','Subjects','channel','Descriptions','getDescriptions','FreshsalesField','getFields','username','remoteUri','apiKey','substring','lastIndexOf','GET','format','users','Requested\x20Resource\x20not\x20Found','statusCode','getFields,\x20%s,\x20%s,\x20%s','test','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','json','offset','undefined','count','limit','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','send','index','map','FreshsalesAccount','rawAttributes','fieldName','type','key','model','keys'];(function(_0x4ba627,_0x3f3404){var _0x5b7746=function(_0x20a32f){while(--_0x20a32f){_0x4ba627['push'](_0x4ba627['shift']());}};_0x5b7746(++_0x3f3404);}(_0x3cc5,0x169));var _0x53cc=function(_0x397eb2,_0x3a92f1){_0x397eb2=_0x397eb2-0x0;var _0x183633=_0x3cc5[_0x397eb2];return _0x183633;};'use strict';var emlformat=require(_0x53cc('0x0'));var rimraf=require(_0x53cc('0x1'));var zipdir=require(_0x53cc('0x2'));var jsonpatch=require(_0x53cc('0x3'));var rp=require(_0x53cc('0x4'));var moment=require(_0x53cc('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x53cc('0x6'));var util=require(_0x53cc('0x7'));var path=require(_0x53cc('0x8'));var sox=require(_0x53cc('0x9'));var csv=require(_0x53cc('0xa'));var ejs=require(_0x53cc('0xb'));var fs=require('fs');var fs_extra=require(_0x53cc('0xc'));var _=require(_0x53cc('0xd'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x53cc('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x53cc('0xa'));var querystring=require(_0x53cc('0xf'));var Papa=require(_0x53cc('0x10'));var Redis=require(_0x53cc('0x11'));var authService=require(_0x53cc('0x12'));var qs=require(_0x53cc('0x13'));var as=require(_0x53cc('0x14'));var hardwareService=require(_0x53cc('0x15'));var logger=require('../../config/logger')('api');var utils=require(_0x53cc('0x16'));var config=require(_0x53cc('0x17'));var licenseUtil=require(_0x53cc('0x18'));var db=require(_0x53cc('0x19'))['db'];var integrations=require(_0x53cc('0x1a'));function respondWithStatusCode(_0x5e74f4,_0x3aa91b){_0x3aa91b=_0x3aa91b||0xcc;return function(_0x26b509){if(_0x26b509){return _0x5e74f4[_0x53cc('0x1b')](_0x3aa91b);}return _0x5e74f4[_0x53cc('0x1c')](_0x3aa91b)['end']();};}function respondWithResult(_0x3f6c72,_0x5f36db){_0x5f36db=_0x5f36db||0xc8;return function(_0x4b1405){if(_0x4b1405){return _0x3f6c72['status'](_0x5f36db)[_0x53cc('0x1d')](_0x4b1405);}};}function respondWithFilteredResult(_0x300cfc,_0xeef3f7){return function(_0x25842c){if(_0x25842c){var _0x273080=typeof _0xeef3f7[_0x53cc('0x1e')]===_0x53cc('0x1f')&&typeof _0xeef3f7['limit']===_0x53cc('0x1f');var _0x9a0d2=_0x25842c[_0x53cc('0x20')];var _0x528b8c=_0x273080?0x0:_0xeef3f7['offset'];var _0x4c2b91=_0x273080?_0x25842c[_0x53cc('0x20')]:_0xeef3f7['offset']+_0xeef3f7[_0x53cc('0x21')];var _0x4fe077;if(_0x4c2b91>=_0x9a0d2){_0x4c2b91=_0x9a0d2;_0x4fe077=0xc8;}else{_0x4fe077=0xce;}_0x300cfc[_0x53cc('0x1c')](_0x4fe077);return _0x300cfc['set'](_0x53cc('0x22'),_0x528b8c+'-'+_0x4c2b91+'/'+_0x9a0d2)[_0x53cc('0x1d')](_0x25842c);}return null;};}function patchUpdates(_0x10af6d){return function(_0x2b9205){try{jsonpatch[_0x53cc('0x23')](_0x2b9205,_0x10af6d,!![]);}catch(_0x2c8f80){return BPromise[_0x53cc('0x24')](_0x2c8f80);}return _0x2b9205[_0x53cc('0x25')]();};}function saveUpdates(_0x3cc312,_0x662160){return function(_0x4bffa0){if(_0x4bffa0){return _0x4bffa0[_0x53cc('0x26')](_0x3cc312)[_0x53cc('0x27')](function(_0x5a7c80){return _0x5a7c80;});}return null;};}function removeEntity(_0x38c825,_0x4aafcf){return function(_0x9e702){if(_0x9e702){return _0x9e702[_0x53cc('0x28')]()[_0x53cc('0x27')](function(){_0x38c825[_0x53cc('0x1c')](0xcc)[_0x53cc('0x29')]();});}};}function handleEntityNotFound(_0x398b18,_0x39a7ff){return function(_0x30b217){if(!_0x30b217){_0x398b18['sendStatus'](0x194);}return _0x30b217;};}function handleError(_0x55a8c4,_0x38cbee){_0x38cbee=_0x38cbee||0x1f4;return function(_0x42b458){logger[_0x53cc('0x2a')](_0x42b458[_0x53cc('0x2b')]);if(_0x42b458[_0x53cc('0x2c')]){delete _0x42b458[_0x53cc('0x2c')];}_0x55a8c4[_0x53cc('0x1c')](_0x38cbee)[_0x53cc('0x2d')](_0x42b458);};}exports[_0x53cc('0x2e')]=function(_0x3f8f7e,_0x1f2193){var _0xcae511={},_0x439c30={},_0x4e565c={'count':0x0,'rows':[]};var _0x37a2f8=_[_0x53cc('0x2f')](db[_0x53cc('0x30')][_0x53cc('0x31')],function(_0x5d1ebd){return{'name':_0x5d1ebd[_0x53cc('0x32')],'type':_0x5d1ebd[_0x53cc('0x33')][_0x53cc('0x34')]};});_0x439c30[_0x53cc('0x35')]=_['map'](_0x37a2f8,_0x53cc('0x2c'));_0x439c30['query']=_[_0x53cc('0x36')](_0x3f8f7e[_0x53cc('0x37')]);_0x439c30[_0x53cc('0x38')]=_[_0x53cc('0x39')](_0x439c30[_0x53cc('0x35')],_0x439c30[_0x53cc('0x37')]);_0xcae511[_0x53cc('0x3a')]=_[_0x53cc('0x39')](_0x439c30[_0x53cc('0x35')],qs['fields'](_0x3f8f7e[_0x53cc('0x37')]['fields']));_0xcae511[_0x53cc('0x3a')]=_0xcae511[_0x53cc('0x3a')]['length']?_0xcae511[_0x53cc('0x3a')]:_0x439c30['model'];if(!_0x3f8f7e[_0x53cc('0x37')][_0x53cc('0x3b')](_0x53cc('0x3c'))){_0xcae511[_0x53cc('0x21')]=qs[_0x53cc('0x21')](_0x3f8f7e[_0x53cc('0x37')][_0x53cc('0x21')]);_0xcae511['offset']=qs[_0x53cc('0x1e')](_0x3f8f7e[_0x53cc('0x37')][_0x53cc('0x1e')]);}_0xcae511[_0x53cc('0x3d')]=qs['sort'](_0x3f8f7e['query'][_0x53cc('0x3e')]);_0xcae511[_0x53cc('0x3f')]=qs[_0x53cc('0x38')](_[_0x53cc('0x40')](_0x3f8f7e['query'],_0x439c30[_0x53cc('0x38')]),_0x37a2f8);if(_0x3f8f7e[_0x53cc('0x37')][_0x53cc('0x41')]){_0xcae511[_0x53cc('0x3f')]=_['merge'](_0xcae511[_0x53cc('0x3f')],{'$or':_[_0x53cc('0x2f')](_0x37a2f8,function(_0x236a19){if(_0x236a19['type']!==_0x53cc('0x42')){var _0x5e52a4={};_0x5e52a4[_0x236a19[_0x53cc('0x2c')]]={'$like':'%'+_0x3f8f7e['query'][_0x53cc('0x41')]+'%'};return _0x5e52a4;}})});}_0xcae511=_[_0x53cc('0x43')]({},_0xcae511,_0x3f8f7e[_0x53cc('0x44')]);var _0x494466={'where':_0xcae511['where']};return db[_0x53cc('0x30')][_0x53cc('0x20')](_0x494466)[_0x53cc('0x27')](function(_0x17f971){_0x4e565c['count']=_0x17f971;if(_0x3f8f7e['query']['includeAll']){_0xcae511['include']=[{'all':!![]}];}return db[_0x53cc('0x30')][_0x53cc('0x45')](_0xcae511);})[_0x53cc('0x27')](function(_0x7d8862){_0x4e565c[_0x53cc('0x46')]=_0x7d8862;return _0x4e565c;})[_0x53cc('0x27')](respondWithFilteredResult(_0x1f2193,_0xcae511))[_0x53cc('0x47')](handleError(_0x1f2193,null));};exports['show']=function(_0x5547dd,_0x5019b5){var _0x44fcd2={'raw':![],'where':{'id':_0x5547dd[_0x53cc('0x48')]['id']}},_0x9a64f4={};_0x9a64f4[_0x53cc('0x35')]=_[_0x53cc('0x36')](db[_0x53cc('0x30')][_0x53cc('0x31')]);_0x9a64f4['query']=_[_0x53cc('0x36')](_0x5547dd[_0x53cc('0x37')]);_0x9a64f4[_0x53cc('0x38')]=_[_0x53cc('0x39')](_0x9a64f4[_0x53cc('0x35')],_0x9a64f4['query']);_0x44fcd2['attributes']=_['intersection'](_0x9a64f4[_0x53cc('0x35')],qs[_0x53cc('0x49')](_0x5547dd['query'][_0x53cc('0x49')]));_0x44fcd2[_0x53cc('0x3a')]=_0x44fcd2[_0x53cc('0x3a')][_0x53cc('0x4a')]?_0x44fcd2[_0x53cc('0x3a')]:_0x9a64f4[_0x53cc('0x35')];if(_0x5547dd[_0x53cc('0x37')][_0x53cc('0x4b')]){_0x44fcd2[_0x53cc('0x4c')]=[{'all':!![]}];}_0x44fcd2=_[_0x53cc('0x43')]({},_0x44fcd2,_0x5547dd[_0x53cc('0x44')]);return db['FreshsalesAccount'][_0x53cc('0x4d')](_0x44fcd2)['then'](handleEntityNotFound(_0x5019b5,null))[_0x53cc('0x27')](respondWithResult(_0x5019b5,null))[_0x53cc('0x47')](handleError(_0x5019b5,null));};exports['create']=function(_0xc93d3d,_0x49ac8e){return db[_0x53cc('0x30')][_0x53cc('0x4e')](_0xc93d3d[_0x53cc('0x4f')],{})['then'](respondWithResult(_0x49ac8e,0xc9))[_0x53cc('0x47')](handleError(_0x49ac8e,null));};exports[_0x53cc('0x26')]=function(_0x23a7ef,_0x32857d){if(_0x23a7ef[_0x53cc('0x4f')]['id']){delete _0x23a7ef[_0x53cc('0x4f')]['id'];}return db['FreshsalesAccount'][_0x53cc('0x4d')]({'where':{'id':_0x23a7ef[_0x53cc('0x48')]['id']}})['then'](handleEntityNotFound(_0x32857d,null))[_0x53cc('0x27')](saveUpdates(_0x23a7ef[_0x53cc('0x4f')],null))[_0x53cc('0x27')](respondWithResult(_0x32857d,null))[_0x53cc('0x47')](handleError(_0x32857d,null));};exports[_0x53cc('0x28')]=function(_0xe820f0,_0x4208cc){return db[_0x53cc('0x30')][_0x53cc('0x4d')]({'where':{'id':_0xe820f0[_0x53cc('0x48')]['id']}})[_0x53cc('0x27')](handleEntityNotFound(_0x4208cc,null))[_0x53cc('0x27')](removeEntity(_0x4208cc,null))[_0x53cc('0x47')](handleError(_0x4208cc,null));};exports[_0x53cc('0x50')]=function(_0x8ecfe,_0x2711dd,_0x47fefb){var _0x3fd6e9={};var _0x1e348d={};var _0x44f120;var _0x311ce1;return db['FreshsalesAccount'][_0x53cc('0x51')]({'where':{'id':_0x8ecfe[_0x53cc('0x48')]['id']}})[_0x53cc('0x27')](handleEntityNotFound(_0x2711dd,null))['then'](function(_0x5f347e){if(_0x5f347e){_0x44f120=_0x5f347e;_0x1e348d[_0x53cc('0x35')]=_['keys'](db[_0x53cc('0x52')][_0x53cc('0x31')]);_0x1e348d['query']=_['keys'](_0x8ecfe['query']);_0x1e348d[_0x53cc('0x38')]=_['intersection'](_0x1e348d[_0x53cc('0x35')],_0x1e348d[_0x53cc('0x37')]);_0x3fd6e9['attributes']=_[_0x53cc('0x39')](_0x1e348d[_0x53cc('0x35')],qs['fields'](_0x8ecfe[_0x53cc('0x37')][_0x53cc('0x49')]));_0x3fd6e9['attributes']=_0x3fd6e9[_0x53cc('0x3a')]['length']?_0x3fd6e9[_0x53cc('0x3a')]:_0x1e348d[_0x53cc('0x35')];_0x3fd6e9[_0x53cc('0x3d')]=qs[_0x53cc('0x3e')](_0x8ecfe[_0x53cc('0x37')][_0x53cc('0x3e')]);_0x3fd6e9['where']=qs[_0x53cc('0x38')](_[_0x53cc('0x40')](_0x8ecfe[_0x53cc('0x37')],_0x1e348d[_0x53cc('0x38')]));if(_0x8ecfe['query']['filter']){_0x3fd6e9[_0x53cc('0x3f')]=_[_0x53cc('0x43')](_0x3fd6e9[_0x53cc('0x3f')],{'$or':_['map'](_0x3fd6e9[_0x53cc('0x3a')],function(_0x475b83){var _0xedae69={};_0xedae69[_0x475b83]={'$like':'%'+_0x8ecfe[_0x53cc('0x37')][_0x53cc('0x41')]+'%'};return _0xedae69;})});}_0x3fd6e9=_[_0x53cc('0x43')]({},_0x3fd6e9,_0x8ecfe['options']);return _0x44f120[_0x53cc('0x50')](_0x3fd6e9);}})[_0x53cc('0x27')](function(_0x5d5ade){if(_0x5d5ade){_0x311ce1=_0x5d5ade['length'];if(!_0x8ecfe[_0x53cc('0x37')]['hasOwnProperty'](_0x53cc('0x3c'))){_0x3fd6e9[_0x53cc('0x21')]=qs[_0x53cc('0x21')](_0x8ecfe[_0x53cc('0x37')][_0x53cc('0x21')]);_0x3fd6e9[_0x53cc('0x1e')]=qs[_0x53cc('0x1e')](_0x8ecfe['query'][_0x53cc('0x1e')]);}return _0x44f120[_0x53cc('0x50')](_0x3fd6e9);}})['then'](function(_0x3f46e6){if(_0x3f46e6){return _0x3f46e6?{'count':_0x311ce1,'rows':_0x3f46e6}:null;}})[_0x53cc('0x27')](respondWithResult(_0x2711dd,null))[_0x53cc('0x47')](handleError(_0x2711dd,null));};exports[_0x53cc('0x53')]=function(_0x8f88c2,_0x526278,_0x44c341){if(_0x8f88c2['body']['id']){delete _0x8f88c2[_0x53cc('0x4f')]['id'];}return db[_0x53cc('0x30')][_0x53cc('0x51')]({'where':{'id':_0x8f88c2[_0x53cc('0x48')]['id']}})[_0x53cc('0x27')](handleEntityNotFound(_0x526278,null))[_0x53cc('0x27')](function(_0x4c43bc){if(_0x4c43bc){_0x8f88c2[_0x53cc('0x4f')][_0x53cc('0x54')]=_0x4c43bc['id'];_0x8f88c2[_0x53cc('0x4f')][_0x53cc('0x55')]=integrations['getSubjects'](_0x8f88c2['body'][_0x53cc('0x56')],_0x8f88c2['body'][_0x53cc('0x33')]);_0x8f88c2[_0x53cc('0x4f')][_0x53cc('0x57')]=integrations[_0x53cc('0x58')](_0x8f88c2['body'][_0x53cc('0x56')],_0x8f88c2['body'][_0x53cc('0x33')]);return db[_0x53cc('0x52')][_0x53cc('0x4e')](_0x8f88c2[_0x53cc('0x4f')],{'include':[{'model':db[_0x53cc('0x59')],'as':_0x53cc('0x55')},{'model':db[_0x53cc('0x59')],'as':_0x53cc('0x57')}]});}return null;})['then'](respondWithResult(_0x526278,null))[_0x53cc('0x47')](handleError(_0x526278,null));};exports[_0x53cc('0x5a')]=function(_0x37f186,_0x2ad4c7,_0x22e276){var _0x231ddb='';var _0x484f57='';return db[_0x53cc('0x30')][_0x53cc('0x51')]({'where':{'id':_0x37f186[_0x53cc('0x48')]['id']},'attributes':['id',_0x53cc('0x5b'),_0x53cc('0x5c'),_0x53cc('0x5d')]})[_0x53cc('0x27')](handleEntityNotFound(_0x2ad4c7,null))[_0x53cc('0x27')](function(_0x5573ca){if(_0x5573ca){_0x484f57=_0x5573ca[_0x53cc('0x5b')];_0x231ddb=_0x5573ca[_0x53cc('0x5c')];var _0x41ea30=_0x5573ca[_0x53cc('0x5c')]['slice'](-0x1);if(_0x41ea30==='/'){_0x231ddb=_0x231ddb[_0x53cc('0x5e')](0x0,_0x231ddb[_0x53cc('0x5f')](_0x41ea30));}return rp({'method':_0x53cc('0x60'),'uri':util[_0x53cc('0x61')]('%s%s',_0x231ddb,'/api/selector/owners'),'headers':{'Authorization':'Token\x20token='+_0x5573ca[_0x53cc('0x5d')]},'json':!![]});}})[_0x53cc('0x27')](function(_0x36f496){if(_0x36f496){var _0x42d458=_0x36f496[_0x53cc('0x62')];var _0x13ba05=![];var _0x2e4a80=null;for(_0x2e4a80=0x0;_0x2e4a80<_0x42d458[_0x53cc('0x4a')];_0x2e4a80++){if(_0x42d458[_0x2e4a80]['email']===_0x484f57){_0x13ba05=!![];}}if(_0x13ba05){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x53cc('0x63')});}}})[_0x53cc('0x27')](respondWithResult(_0x2ad4c7,null))[_0x53cc('0x47')](function(_0x36582b){var _0x5ced2e=_0x37f186[_0x53cc('0x37')]['test']?0x1f4:_0x36582b[_0x53cc('0x64')]||0x1f4;logger[_0x53cc('0x2a')](_0x53cc('0x65'),'getFields',_0x5ced2e,JSON['stringify'](_0x36582b));delete _0x36582b['name'];if(_0x5ced2e===0x191){_0x5ced2e=0x190;}_0x2ad4c7[_0x53cc('0x1c')](_0x5ced2e)[_0x53cc('0x2d')](_0x37f186[_0x53cc('0x37')][_0x53cc('0x66')]?{'message':_0x53cc('0x67'),'statusCode':_0x36582b[_0x53cc('0x64')]}:_0x36582b);});};