Built motion from commit d5e4af8c.|2.6.23
[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 _0xeca5=['request-promise','moment','bluebird','mustache','util','to-csv','fs-extra','squel','jsforce','querystring','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','then','error','stack','name','send','map','FreshsalesAccount','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','find','create','body','catch','destroy','findOne','FreshsalesConfiguration','getConfigurations','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','FreshsalesField','getFields','username','remoteUri','slice','substring','lastIndexOf','GET','/api/selector/owners','Token\x20token=','apiKey','email','Requested\x20Resource\x20not\x20Found','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','zip-dir','fast-json-patch'];(function(_0x49e2b8,_0x5cf700){var _0x1f2213=function(_0x51f2bb){while(--_0x51f2bb){_0x49e2b8['push'](_0x49e2b8['shift']());}};_0x1f2213(++_0x5cf700);}(_0xeca5,0xc9));var _0x5eca=function(_0xe9a692,_0x3a68f3){_0xe9a692=_0xe9a692-0x0;var _0x319fab=_0xeca5[_0xe9a692];return _0x319fab;};'use strict';var emlformat=require(_0x5eca('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x5eca('0x1'));var jsonpatch=require(_0x5eca('0x2'));var rp=require(_0x5eca('0x3'));var moment=require(_0x5eca('0x4'));var BPromise=require(_0x5eca('0x5'));var Mustache=require(_0x5eca('0x6'));var util=require(_0x5eca('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x5eca('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x5eca('0x9'));var _=require('lodash');var squel=require(_0x5eca('0xa'));var crypto=require('crypto');var jsforce=require(_0x5eca('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x5eca('0xc'));var Papa=require(_0x5eca('0xd'));var Redis=require('ioredis');var authService=require(_0x5eca('0xe'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5eca('0xf'));var logger=require(_0x5eca('0x10'))(_0x5eca('0x11'));var utils=require(_0x5eca('0x12'));var config=require(_0x5eca('0x13'));var licenseUtil=require(_0x5eca('0x14'));var db=require(_0x5eca('0x15'))['db'];var integrations=require(_0x5eca('0x16'));function respondWithStatusCode(_0x19f660,_0x5032ee){_0x5032ee=_0x5032ee||0xcc;return function(_0xa8af6f){if(_0xa8af6f){return _0x19f660[_0x5eca('0x17')](_0x5032ee);}return _0x19f660[_0x5eca('0x18')](_0x5032ee)[_0x5eca('0x19')]();};}function respondWithResult(_0x1371f6,_0x1b518f){_0x1b518f=_0x1b518f||0xc8;return function(_0x1851ee){if(_0x1851ee){return _0x1371f6[_0x5eca('0x18')](_0x1b518f)[_0x5eca('0x1a')](_0x1851ee);}};}function respondWithFilteredResult(_0x4b4eb8,_0x4f7f1e){return function(_0x2d34f5){if(_0x2d34f5){var _0x576f3c=typeof _0x4f7f1e[_0x5eca('0x1b')]===_0x5eca('0x1c')&&typeof _0x4f7f1e[_0x5eca('0x1d')]===_0x5eca('0x1c');var _0x2e8a39=_0x2d34f5[_0x5eca('0x1e')];var _0x2c115e=_0x576f3c?0x0:_0x4f7f1e['offset'];var _0x431e80=_0x576f3c?_0x2d34f5['count']:_0x4f7f1e[_0x5eca('0x1b')]+_0x4f7f1e['limit'];var _0xeac6ce;if(_0x431e80>=_0x2e8a39){_0x431e80=_0x2e8a39;_0xeac6ce=0xc8;}else{_0xeac6ce=0xce;}_0x4b4eb8['status'](_0xeac6ce);return _0x4b4eb8[_0x5eca('0x1f')](_0x5eca('0x20'),_0x2c115e+'-'+_0x431e80+'/'+_0x2e8a39)[_0x5eca('0x1a')](_0x2d34f5);}return null;};}function patchUpdates(_0x294b40){return function(_0x2e6453){try{jsonpatch[_0x5eca('0x21')](_0x2e6453,_0x294b40,!![]);}catch(_0x5517d9){return BPromise['reject'](_0x5517d9);}return _0x2e6453[_0x5eca('0x22')]();};}function saveUpdates(_0x227981,_0x48deaf){return function(_0x1e297d){if(_0x1e297d){return _0x1e297d[_0x5eca('0x23')](_0x227981)[_0x5eca('0x24')](function(_0x91009d){return _0x91009d;});}return null;};}function removeEntity(_0x1f6bcb,_0xabd62f){return function(_0x100671){if(_0x100671){return _0x100671['destroy']()[_0x5eca('0x24')](function(){_0x1f6bcb[_0x5eca('0x18')](0xcc)[_0x5eca('0x19')]();});}};}function handleEntityNotFound(_0x36a0cc,_0x36c18f){return function(_0x487c07){if(!_0x487c07){_0x36a0cc['sendStatus'](0x194);}return _0x487c07;};}function handleError(_0x3b9c28,_0x56ba83){_0x56ba83=_0x56ba83||0x1f4;return function(_0x398190){logger[_0x5eca('0x25')](_0x398190[_0x5eca('0x26')]);if(_0x398190[_0x5eca('0x27')]){delete _0x398190['name'];}_0x3b9c28[_0x5eca('0x18')](_0x56ba83)[_0x5eca('0x28')](_0x398190);};}exports['index']=function(_0x450af5,_0x2c0944){var _0x487b8c={},_0xddf804={},_0x42f023={'count':0x0,'rows':[]};var _0x4f18b1=_[_0x5eca('0x29')](db[_0x5eca('0x2a')][_0x5eca('0x2b')],function(_0x281ed6){return{'name':_0x281ed6['fieldName'],'type':_0x281ed6[_0x5eca('0x2c')][_0x5eca('0x2d')]};});_0xddf804[_0x5eca('0x2e')]=_['map'](_0x4f18b1,_0x5eca('0x27'));_0xddf804[_0x5eca('0x2f')]=_[_0x5eca('0x30')](_0x450af5[_0x5eca('0x2f')]);_0xddf804[_0x5eca('0x31')]=_[_0x5eca('0x32')](_0xddf804[_0x5eca('0x2e')],_0xddf804[_0x5eca('0x2f')]);_0x487b8c[_0x5eca('0x33')]=_[_0x5eca('0x32')](_0xddf804[_0x5eca('0x2e')],qs['fields'](_0x450af5['query'][_0x5eca('0x34')]));_0x487b8c[_0x5eca('0x33')]=_0x487b8c[_0x5eca('0x33')][_0x5eca('0x35')]?_0x487b8c[_0x5eca('0x33')]:_0xddf804['model'];if(!_0x450af5[_0x5eca('0x2f')][_0x5eca('0x36')](_0x5eca('0x37'))){_0x487b8c['limit']=qs[_0x5eca('0x1d')](_0x450af5['query'][_0x5eca('0x1d')]);_0x487b8c[_0x5eca('0x1b')]=qs[_0x5eca('0x1b')](_0x450af5[_0x5eca('0x2f')][_0x5eca('0x1b')]);}_0x487b8c[_0x5eca('0x38')]=qs['sort'](_0x450af5[_0x5eca('0x2f')][_0x5eca('0x39')]);_0x487b8c['where']=qs[_0x5eca('0x31')](_[_0x5eca('0x3a')](_0x450af5[_0x5eca('0x2f')],_0xddf804[_0x5eca('0x31')]),_0x4f18b1);if(_0x450af5[_0x5eca('0x2f')][_0x5eca('0x3b')]){_0x487b8c[_0x5eca('0x3c')]=_[_0x5eca('0x3d')](_0x487b8c['where'],{'$or':_['map'](_0x4f18b1,function(_0x270c8c){if(_0x270c8c['type']!==_0x5eca('0x3e')){var _0x5adcfc={};_0x5adcfc[_0x270c8c[_0x5eca('0x27')]]={'$like':'%'+_0x450af5['query'][_0x5eca('0x3b')]+'%'};return _0x5adcfc;}})});}_0x487b8c=_[_0x5eca('0x3d')]({},_0x487b8c,_0x450af5[_0x5eca('0x3f')]);var _0x243828={'where':_0x487b8c[_0x5eca('0x3c')]};return db[_0x5eca('0x2a')][_0x5eca('0x1e')](_0x243828)[_0x5eca('0x24')](function(_0x196b61){_0x42f023[_0x5eca('0x1e')]=_0x196b61;if(_0x450af5[_0x5eca('0x2f')][_0x5eca('0x40')]){_0x487b8c[_0x5eca('0x41')]=[{'all':!![]}];}return db[_0x5eca('0x2a')][_0x5eca('0x42')](_0x487b8c);})[_0x5eca('0x24')](function(_0x5b0bc8){_0x42f023[_0x5eca('0x43')]=_0x5b0bc8;return _0x42f023;})[_0x5eca('0x24')](respondWithFilteredResult(_0x2c0944,_0x487b8c))['catch'](handleError(_0x2c0944,null));};exports[_0x5eca('0x44')]=function(_0x4dbb33,_0x481b48){var _0x8a1477={'raw':![],'where':{'id':_0x4dbb33[_0x5eca('0x45')]['id']}},_0x484fb0={};_0x484fb0[_0x5eca('0x2e')]=_[_0x5eca('0x30')](db['FreshsalesAccount'][_0x5eca('0x2b')]);_0x484fb0[_0x5eca('0x2f')]=_[_0x5eca('0x30')](_0x4dbb33[_0x5eca('0x2f')]);_0x484fb0[_0x5eca('0x31')]=_[_0x5eca('0x32')](_0x484fb0[_0x5eca('0x2e')],_0x484fb0[_0x5eca('0x2f')]);_0x8a1477[_0x5eca('0x33')]=_[_0x5eca('0x32')](_0x484fb0['model'],qs[_0x5eca('0x34')](_0x4dbb33[_0x5eca('0x2f')]['fields']));_0x8a1477['attributes']=_0x8a1477['attributes']['length']?_0x8a1477['attributes']:_0x484fb0[_0x5eca('0x2e')];if(_0x4dbb33[_0x5eca('0x2f')][_0x5eca('0x40')]){_0x8a1477[_0x5eca('0x41')]=[{'all':!![]}];}_0x8a1477=_['merge']({},_0x8a1477,_0x4dbb33[_0x5eca('0x3f')]);return db[_0x5eca('0x2a')][_0x5eca('0x46')](_0x8a1477)['then'](handleEntityNotFound(_0x481b48,null))[_0x5eca('0x24')](respondWithResult(_0x481b48,null))['catch'](handleError(_0x481b48,null));};exports['create']=function(_0x39b931,_0x5e8e79){return db[_0x5eca('0x2a')][_0x5eca('0x47')](_0x39b931[_0x5eca('0x48')],{})[_0x5eca('0x24')](respondWithResult(_0x5e8e79,0xc9))[_0x5eca('0x49')](handleError(_0x5e8e79,null));};exports[_0x5eca('0x23')]=function(_0x548ab4,_0x1110d3){if(_0x548ab4[_0x5eca('0x48')]['id']){delete _0x548ab4[_0x5eca('0x48')]['id'];}return db[_0x5eca('0x2a')][_0x5eca('0x46')]({'where':{'id':_0x548ab4[_0x5eca('0x45')]['id']}})[_0x5eca('0x24')](handleEntityNotFound(_0x1110d3,null))[_0x5eca('0x24')](saveUpdates(_0x548ab4['body'],null))[_0x5eca('0x24')](respondWithResult(_0x1110d3,null))[_0x5eca('0x49')](handleError(_0x1110d3,null));};exports[_0x5eca('0x4a')]=function(_0x53d0da,_0x238198){return db[_0x5eca('0x2a')][_0x5eca('0x46')]({'where':{'id':_0x53d0da[_0x5eca('0x45')]['id']}})[_0x5eca('0x24')](handleEntityNotFound(_0x238198,null))[_0x5eca('0x24')](removeEntity(_0x238198,null))[_0x5eca('0x49')](handleError(_0x238198,null));};exports['getConfigurations']=function(_0x521cdd,_0x20eb29,_0x2461e1){var _0x1433c0={};var _0x3df328={};var _0x4f74ba;var _0x16f583;return db['FreshsalesAccount'][_0x5eca('0x4b')]({'where':{'id':_0x521cdd[_0x5eca('0x45')]['id']}})['then'](handleEntityNotFound(_0x20eb29,null))[_0x5eca('0x24')](function(_0x5c7894){if(_0x5c7894){_0x4f74ba=_0x5c7894;_0x3df328['model']=_[_0x5eca('0x30')](db[_0x5eca('0x4c')][_0x5eca('0x2b')]);_0x3df328[_0x5eca('0x2f')]=_[_0x5eca('0x30')](_0x521cdd[_0x5eca('0x2f')]);_0x3df328['filters']=_['intersection'](_0x3df328[_0x5eca('0x2e')],_0x3df328[_0x5eca('0x2f')]);_0x1433c0['attributes']=_[_0x5eca('0x32')](_0x3df328[_0x5eca('0x2e')],qs[_0x5eca('0x34')](_0x521cdd['query'][_0x5eca('0x34')]));_0x1433c0['attributes']=_0x1433c0[_0x5eca('0x33')]['length']?_0x1433c0[_0x5eca('0x33')]:_0x3df328['model'];_0x1433c0[_0x5eca('0x38')]=qs[_0x5eca('0x39')](_0x521cdd[_0x5eca('0x2f')][_0x5eca('0x39')]);_0x1433c0['where']=qs[_0x5eca('0x31')](_[_0x5eca('0x3a')](_0x521cdd[_0x5eca('0x2f')],_0x3df328[_0x5eca('0x31')]));if(_0x521cdd['query'][_0x5eca('0x3b')]){_0x1433c0[_0x5eca('0x3c')]=_['merge'](_0x1433c0[_0x5eca('0x3c')],{'$or':_[_0x5eca('0x29')](_0x1433c0[_0x5eca('0x33')],function(_0x24f1b0){var _0x1e2406={};_0x1e2406[_0x24f1b0]={'$like':'%'+_0x521cdd[_0x5eca('0x2f')]['filter']+'%'};return _0x1e2406;})});}_0x1433c0=_['merge']({},_0x1433c0,_0x521cdd[_0x5eca('0x3f')]);return _0x4f74ba[_0x5eca('0x4d')](_0x1433c0);}})[_0x5eca('0x24')](function(_0x411153){if(_0x411153){_0x16f583=_0x411153[_0x5eca('0x35')];if(!_0x521cdd[_0x5eca('0x2f')]['hasOwnProperty']('nolimit')){_0x1433c0[_0x5eca('0x1d')]=qs[_0x5eca('0x1d')](_0x521cdd[_0x5eca('0x2f')][_0x5eca('0x1d')]);_0x1433c0[_0x5eca('0x1b')]=qs[_0x5eca('0x1b')](_0x521cdd['query']['offset']);}return _0x4f74ba['getConfigurations'](_0x1433c0);}})[_0x5eca('0x24')](function(_0xc65aaf){if(_0xc65aaf){return _0xc65aaf?{'count':_0x16f583,'rows':_0xc65aaf}:null;}})['then'](respondWithResult(_0x20eb29,null))['catch'](handleError(_0x20eb29,null));};exports['addConfiguration']=function(_0x320574,_0xadd124,_0x251c09){if(_0x320574['body']['id']){delete _0x320574['body']['id'];}return db[_0x5eca('0x2a')][_0x5eca('0x4b')]({'where':{'id':_0x320574[_0x5eca('0x45')]['id']}})[_0x5eca('0x24')](handleEntityNotFound(_0xadd124,null))['then'](function(_0x5825a0){if(_0x5825a0){_0x320574[_0x5eca('0x48')][_0x5eca('0x4e')]=_0x5825a0['id'];_0x320574[_0x5eca('0x48')][_0x5eca('0x4f')]=integrations[_0x5eca('0x50')](_0x320574['body'][_0x5eca('0x51')],_0x320574[_0x5eca('0x48')][_0x5eca('0x2c')]);_0x320574[_0x5eca('0x48')][_0x5eca('0x52')]=integrations[_0x5eca('0x53')](_0x320574[_0x5eca('0x48')]['channel'],_0x320574['body']['type']);return db[_0x5eca('0x4c')]['create'](_0x320574[_0x5eca('0x48')],{'include':[{'model':db[_0x5eca('0x54')],'as':_0x5eca('0x4f')},{'model':db[_0x5eca('0x54')],'as':_0x5eca('0x52')}]});}return null;})['then'](respondWithResult(_0xadd124,null))['catch'](handleError(_0xadd124,null));};exports[_0x5eca('0x55')]=function(_0x35399e,_0x136849,_0x17ef05){var _0x470c90='';var _0x1232e2='';return db[_0x5eca('0x2a')]['findOne']({'where':{'id':_0x35399e[_0x5eca('0x45')]['id']},'attributes':['id',_0x5eca('0x56'),_0x5eca('0x57'),'apiKey']})[_0x5eca('0x24')](handleEntityNotFound(_0x136849,null))['then'](function(_0xea4c84){if(_0xea4c84){_0x1232e2=_0xea4c84[_0x5eca('0x56')];_0x470c90=_0xea4c84['remoteUri'];var _0x1f4e38=_0xea4c84[_0x5eca('0x57')][_0x5eca('0x58')](-0x1);if(_0x1f4e38==='/'){_0x470c90=_0x470c90[_0x5eca('0x59')](0x0,_0x470c90[_0x5eca('0x5a')](_0x1f4e38));}return rp({'method':_0x5eca('0x5b'),'uri':util['format']('%s%s',_0x470c90,_0x5eca('0x5c')),'headers':{'Authorization':_0x5eca('0x5d')+_0xea4c84[_0x5eca('0x5e')]},'json':!![]});}})[_0x5eca('0x24')](function(_0x3b9ae4){if(_0x3b9ae4){var _0x4d4dbb=_0x3b9ae4['users'];var _0x612408=![];var _0x40f53b=null;for(_0x40f53b=0x0;_0x40f53b<_0x4d4dbb[_0x5eca('0x35')];_0x40f53b++){if(_0x4d4dbb[_0x40f53b][_0x5eca('0x5f')]===_0x1232e2){_0x612408=!![];}}if(_0x612408){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x5eca('0x60')});}}})[_0x5eca('0x24')](respondWithResult(_0x136849,null))[_0x5eca('0x49')](function(_0x3a6a0b){var _0x18d10d=_0x35399e['query'][_0x5eca('0x61')]?0x1f4:_0x3a6a0b[_0x5eca('0x62')]||0x1f4;logger['error'](_0x5eca('0x63'),'getFields',_0x18d10d,JSON[_0x5eca('0x64')](_0x3a6a0b));delete _0x3a6a0b['name'];if(_0x18d10d===0x191){_0x18d10d=0x190;}_0x136849[_0x5eca('0x18')](_0x18d10d)[_0x5eca('0x28')](_0x35399e[_0x5eca('0x2f')]['test']?{'message':_0x5eca('0x65'),'statusCode':_0x3a6a0b[_0x5eca('0x62')]}:_0x3a6a0b);});};