Built motion from commit 3c2ce842.|2.6.31
[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 _0xc613=['apply','save','update','then','destroy','end','error','name','send','index','map','FreshsalesAccount','rawAttributes','type','key','model','keys','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','merge','VIRTUAL','filter','includeAll','include','findAll','rows','catch','show','find','create','body','params','getConfigurations','findOne','FreshsalesConfiguration','options','AccountId','Subjects','getSubjects','Descriptions','getDescriptions','channel','getFields','apiKey','username','remoteUri','slice','lastIndexOf','GET','%s%s','users','email','statusCode','stringify','test','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','crypto','jsforce','desk.js','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','offset','undefined','count','limit','json'];(function(_0x45fc6a,_0x166adb){var _0x14bcfd=function(_0x3ba718){while(--_0x3ba718){_0x45fc6a['push'](_0x45fc6a['shift']());}};_0x14bcfd(++_0x166adb);}(_0xc613,0x161));var _0x3c61=function(_0x392302,_0x2be840){_0x392302=_0x392302-0x0;var _0x4268bf=_0xc613[_0x392302];return _0x4268bf;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3c61('0x0'));var zipdir=require(_0x3c61('0x1'));var jsonpatch=require(_0x3c61('0x2'));var rp=require(_0x3c61('0x3'));var moment=require(_0x3c61('0x4'));var BPromise=require(_0x3c61('0x5'));var Mustache=require(_0x3c61('0x6'));var util=require(_0x3c61('0x7'));var path=require(_0x3c61('0x8'));var sox=require(_0x3c61('0x9'));var csv=require(_0x3c61('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0x3c61('0xb'));var jsforce=require(_0x3c61('0xc'));var deskjs=require(_0x3c61('0xd'));var toCsv=require(_0x3c61('0xa'));var querystring=require('querystring');var Papa=require(_0x3c61('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x3c61('0xf'));var as=require(_0x3c61('0x10'));var hardwareService=require(_0x3c61('0x11'));var logger=require('../../config/logger')(_0x3c61('0x12'));var utils=require(_0x3c61('0x13'));var config=require(_0x3c61('0x14'));var licenseUtil=require(_0x3c61('0x15'));var db=require(_0x3c61('0x16'))['db'];var integrations=require(_0x3c61('0x17'));function respondWithStatusCode(_0x354c3f,_0x448509){_0x448509=_0x448509||0xcc;return function(_0x56f594){if(_0x56f594){return _0x354c3f[_0x3c61('0x18')](_0x448509);}return _0x354c3f['status'](_0x448509)['end']();};}function respondWithResult(_0x18fac2,_0x2d9e11){_0x2d9e11=_0x2d9e11||0xc8;return function(_0x51b1f4){if(_0x51b1f4){return _0x18fac2[_0x3c61('0x19')](_0x2d9e11)['json'](_0x51b1f4);}};}function respondWithFilteredResult(_0xee28f8,_0x15adce){return function(_0x2695dc){if(_0x2695dc){var _0x15f3bd=typeof _0x15adce[_0x3c61('0x1a')]==='undefined'&&typeof _0x15adce['limit']===_0x3c61('0x1b');var _0x48025f=_0x2695dc['count'];var _0x38638b=_0x15f3bd?0x0:_0x15adce['offset'];var _0x334add=_0x15f3bd?_0x2695dc[_0x3c61('0x1c')]:_0x15adce['offset']+_0x15adce[_0x3c61('0x1d')];var _0x54840f;if(_0x334add>=_0x48025f){_0x334add=_0x48025f;_0x54840f=0xc8;}else{_0x54840f=0xce;}_0xee28f8[_0x3c61('0x19')](_0x54840f);return _0xee28f8['set']('Content-Range',_0x38638b+'-'+_0x334add+'/'+_0x48025f)[_0x3c61('0x1e')](_0x2695dc);}return null;};}function patchUpdates(_0x59fb89){return function(_0x1c1461){try{jsonpatch[_0x3c61('0x1f')](_0x1c1461,_0x59fb89,!![]);}catch(_0x7cd5b5){return BPromise['reject'](_0x7cd5b5);}return _0x1c1461[_0x3c61('0x20')]();};}function saveUpdates(_0x3248ed,_0x4192d6){return function(_0x400a1d){if(_0x400a1d){return _0x400a1d[_0x3c61('0x21')](_0x3248ed)[_0x3c61('0x22')](function(_0xde6889){return _0xde6889;});}return null;};}function removeEntity(_0x4b3572,_0x1617e4){return function(_0x39b766){if(_0x39b766){return _0x39b766[_0x3c61('0x23')]()[_0x3c61('0x22')](function(){_0x4b3572[_0x3c61('0x19')](0xcc)[_0x3c61('0x24')]();});}};}function handleEntityNotFound(_0x4efa5a,_0x11e2bb){return function(_0x2f5c94){if(!_0x2f5c94){_0x4efa5a[_0x3c61('0x18')](0x194);}return _0x2f5c94;};}function handleError(_0x4f2458,_0x35ac12){_0x35ac12=_0x35ac12||0x1f4;return function(_0x1dd8ec){logger[_0x3c61('0x25')](_0x1dd8ec['stack']);if(_0x1dd8ec[_0x3c61('0x26')]){delete _0x1dd8ec['name'];}_0x4f2458[_0x3c61('0x19')](_0x35ac12)[_0x3c61('0x27')](_0x1dd8ec);};}exports[_0x3c61('0x28')]=function(_0xa76a6c,_0x4f7065){var _0xec9255={},_0x5c3d3d={},_0x23e6e9={'count':0x0,'rows':[]};var _0x64856f=_[_0x3c61('0x29')](db[_0x3c61('0x2a')][_0x3c61('0x2b')],function(_0x9c0cfb){return{'name':_0x9c0cfb['fieldName'],'type':_0x9c0cfb[_0x3c61('0x2c')][_0x3c61('0x2d')]};});_0x5c3d3d[_0x3c61('0x2e')]=_[_0x3c61('0x29')](_0x64856f,_0x3c61('0x26'));_0x5c3d3d['query']=_[_0x3c61('0x2f')](_0xa76a6c[_0x3c61('0x30')]);_0x5c3d3d['filters']=_[_0x3c61('0x31')](_0x5c3d3d[_0x3c61('0x2e')],_0x5c3d3d[_0x3c61('0x30')]);_0xec9255['attributes']=_[_0x3c61('0x31')](_0x5c3d3d[_0x3c61('0x2e')],qs[_0x3c61('0x32')](_0xa76a6c[_0x3c61('0x30')][_0x3c61('0x32')]));_0xec9255[_0x3c61('0x33')]=_0xec9255['attributes'][_0x3c61('0x34')]?_0xec9255[_0x3c61('0x33')]:_0x5c3d3d[_0x3c61('0x2e')];if(!_0xa76a6c[_0x3c61('0x30')][_0x3c61('0x35')](_0x3c61('0x36'))){_0xec9255[_0x3c61('0x1d')]=qs[_0x3c61('0x1d')](_0xa76a6c[_0x3c61('0x30')][_0x3c61('0x1d')]);_0xec9255[_0x3c61('0x1a')]=qs[_0x3c61('0x1a')](_0xa76a6c[_0x3c61('0x30')][_0x3c61('0x1a')]);}_0xec9255[_0x3c61('0x37')]=qs[_0x3c61('0x38')](_0xa76a6c['query']['sort']);_0xec9255[_0x3c61('0x39')]=qs['filters'](_[_0x3c61('0x3a')](_0xa76a6c[_0x3c61('0x30')],_0x5c3d3d[_0x3c61('0x3b')]),_0x64856f);if(_0xa76a6c[_0x3c61('0x30')]['filter']){_0xec9255[_0x3c61('0x39')]=_[_0x3c61('0x3c')](_0xec9255[_0x3c61('0x39')],{'$or':_['map'](_0x64856f,function(_0x13cc72){if(_0x13cc72[_0x3c61('0x2c')]!==_0x3c61('0x3d')){var _0x4b56a6={};_0x4b56a6[_0x13cc72[_0x3c61('0x26')]]={'$like':'%'+_0xa76a6c[_0x3c61('0x30')][_0x3c61('0x3e')]+'%'};return _0x4b56a6;}})});}_0xec9255=_[_0x3c61('0x3c')]({},_0xec9255,_0xa76a6c['options']);var _0x588562={'where':_0xec9255[_0x3c61('0x39')]};return db[_0x3c61('0x2a')][_0x3c61('0x1c')](_0x588562)[_0x3c61('0x22')](function(_0x5458be){_0x23e6e9[_0x3c61('0x1c')]=_0x5458be;if(_0xa76a6c[_0x3c61('0x30')][_0x3c61('0x3f')]){_0xec9255[_0x3c61('0x40')]=[{'all':!![]}];}return db[_0x3c61('0x2a')][_0x3c61('0x41')](_0xec9255);})[_0x3c61('0x22')](function(_0x4d8084){_0x23e6e9[_0x3c61('0x42')]=_0x4d8084;return _0x23e6e9;})[_0x3c61('0x22')](respondWithFilteredResult(_0x4f7065,_0xec9255))[_0x3c61('0x43')](handleError(_0x4f7065,null));};exports[_0x3c61('0x44')]=function(_0x2c06da,_0x112ab3){var _0x1c4b07={'raw':![],'where':{'id':_0x2c06da['params']['id']}},_0x5b9b0f={};_0x5b9b0f[_0x3c61('0x2e')]=_[_0x3c61('0x2f')](db[_0x3c61('0x2a')]['rawAttributes']);_0x5b9b0f[_0x3c61('0x30')]=_['keys'](_0x2c06da['query']);_0x5b9b0f['filters']=_[_0x3c61('0x31')](_0x5b9b0f[_0x3c61('0x2e')],_0x5b9b0f['query']);_0x1c4b07[_0x3c61('0x33')]=_[_0x3c61('0x31')](_0x5b9b0f[_0x3c61('0x2e')],qs['fields'](_0x2c06da['query'][_0x3c61('0x32')]));_0x1c4b07[_0x3c61('0x33')]=_0x1c4b07['attributes'][_0x3c61('0x34')]?_0x1c4b07[_0x3c61('0x33')]:_0x5b9b0f['model'];if(_0x2c06da[_0x3c61('0x30')]['includeAll']){_0x1c4b07['include']=[{'all':!![]}];}_0x1c4b07=_[_0x3c61('0x3c')]({},_0x1c4b07,_0x2c06da['options']);return db[_0x3c61('0x2a')][_0x3c61('0x45')](_0x1c4b07)[_0x3c61('0x22')](handleEntityNotFound(_0x112ab3,null))[_0x3c61('0x22')](respondWithResult(_0x112ab3,null))[_0x3c61('0x43')](handleError(_0x112ab3,null));};exports['create']=function(_0x5c7ed0,_0x39cff5){return db[_0x3c61('0x2a')][_0x3c61('0x46')](_0x5c7ed0[_0x3c61('0x47')],{})[_0x3c61('0x22')](respondWithResult(_0x39cff5,0xc9))[_0x3c61('0x43')](handleError(_0x39cff5,null));};exports[_0x3c61('0x21')]=function(_0x24c8c1,_0x1f572f){if(_0x24c8c1[_0x3c61('0x47')]['id']){delete _0x24c8c1[_0x3c61('0x47')]['id'];}return db[_0x3c61('0x2a')][_0x3c61('0x45')]({'where':{'id':_0x24c8c1[_0x3c61('0x48')]['id']}})[_0x3c61('0x22')](handleEntityNotFound(_0x1f572f,null))[_0x3c61('0x22')](saveUpdates(_0x24c8c1[_0x3c61('0x47')],null))[_0x3c61('0x22')](respondWithResult(_0x1f572f,null))[_0x3c61('0x43')](handleError(_0x1f572f,null));};exports[_0x3c61('0x23')]=function(_0xb63037,_0x50f8f7){return db[_0x3c61('0x2a')][_0x3c61('0x45')]({'where':{'id':_0xb63037['params']['id']}})[_0x3c61('0x22')](handleEntityNotFound(_0x50f8f7,null))['then'](removeEntity(_0x50f8f7,null))[_0x3c61('0x43')](handleError(_0x50f8f7,null));};exports[_0x3c61('0x49')]=function(_0x5094de,_0x382733,_0x5489e2){var _0x322a9a={};var _0x2b71c1={};var _0x27dd80;var _0x59daf2;return db[_0x3c61('0x2a')][_0x3c61('0x4a')]({'where':{'id':_0x5094de[_0x3c61('0x48')]['id']}})[_0x3c61('0x22')](handleEntityNotFound(_0x382733,null))[_0x3c61('0x22')](function(_0x2cb1df){if(_0x2cb1df){_0x27dd80=_0x2cb1df;_0x2b71c1[_0x3c61('0x2e')]=_[_0x3c61('0x2f')](db[_0x3c61('0x4b')][_0x3c61('0x2b')]);_0x2b71c1[_0x3c61('0x30')]=_[_0x3c61('0x2f')](_0x5094de[_0x3c61('0x30')]);_0x2b71c1[_0x3c61('0x3b')]=_['intersection'](_0x2b71c1[_0x3c61('0x2e')],_0x2b71c1[_0x3c61('0x30')]);_0x322a9a[_0x3c61('0x33')]=_[_0x3c61('0x31')](_0x2b71c1[_0x3c61('0x2e')],qs[_0x3c61('0x32')](_0x5094de[_0x3c61('0x30')][_0x3c61('0x32')]));_0x322a9a['attributes']=_0x322a9a[_0x3c61('0x33')][_0x3c61('0x34')]?_0x322a9a[_0x3c61('0x33')]:_0x2b71c1[_0x3c61('0x2e')];_0x322a9a[_0x3c61('0x37')]=qs[_0x3c61('0x38')](_0x5094de['query']['sort']);_0x322a9a[_0x3c61('0x39')]=qs[_0x3c61('0x3b')](_[_0x3c61('0x3a')](_0x5094de['query'],_0x2b71c1['filters']));if(_0x5094de[_0x3c61('0x30')][_0x3c61('0x3e')]){_0x322a9a[_0x3c61('0x39')]=_[_0x3c61('0x3c')](_0x322a9a[_0x3c61('0x39')],{'$or':_['map'](_0x322a9a[_0x3c61('0x33')],function(_0x2e686f){var _0x1fd2d2={};_0x1fd2d2[_0x2e686f]={'$like':'%'+_0x5094de[_0x3c61('0x30')][_0x3c61('0x3e')]+'%'};return _0x1fd2d2;})});}_0x322a9a=_['merge']({},_0x322a9a,_0x5094de[_0x3c61('0x4c')]);return _0x27dd80['getConfigurations'](_0x322a9a);}})[_0x3c61('0x22')](function(_0x3f31a6){if(_0x3f31a6){_0x59daf2=_0x3f31a6[_0x3c61('0x34')];if(!_0x5094de[_0x3c61('0x30')][_0x3c61('0x35')](_0x3c61('0x36'))){_0x322a9a[_0x3c61('0x1d')]=qs[_0x3c61('0x1d')](_0x5094de[_0x3c61('0x30')][_0x3c61('0x1d')]);_0x322a9a[_0x3c61('0x1a')]=qs['offset'](_0x5094de[_0x3c61('0x30')]['offset']);}return _0x27dd80[_0x3c61('0x49')](_0x322a9a);}})[_0x3c61('0x22')](function(_0x101417){if(_0x101417){return _0x101417?{'count':_0x59daf2,'rows':_0x101417}:null;}})['then'](respondWithResult(_0x382733,null))[_0x3c61('0x43')](handleError(_0x382733,null));};exports['addConfiguration']=function(_0x214f74,_0xd19da0,_0x101fa2){if(_0x214f74[_0x3c61('0x47')]['id']){delete _0x214f74[_0x3c61('0x47')]['id'];}return db[_0x3c61('0x2a')][_0x3c61('0x4a')]({'where':{'id':_0x214f74[_0x3c61('0x48')]['id']}})[_0x3c61('0x22')](handleEntityNotFound(_0xd19da0,null))[_0x3c61('0x22')](function(_0x771666){if(_0x771666){_0x214f74[_0x3c61('0x47')][_0x3c61('0x4d')]=_0x771666['id'];_0x214f74[_0x3c61('0x47')][_0x3c61('0x4e')]=integrations[_0x3c61('0x4f')](_0x214f74[_0x3c61('0x47')]['channel'],_0x214f74[_0x3c61('0x47')][_0x3c61('0x2c')]);_0x214f74[_0x3c61('0x47')][_0x3c61('0x50')]=integrations[_0x3c61('0x51')](_0x214f74[_0x3c61('0x47')][_0x3c61('0x52')],_0x214f74['body'][_0x3c61('0x2c')]);return db['FreshsalesConfiguration'][_0x3c61('0x46')](_0x214f74['body'],{'include':[{'model':db['FreshsalesField'],'as':'Subjects'},{'model':db['FreshsalesField'],'as':'Descriptions'}]});}return null;})['then'](respondWithResult(_0xd19da0,null))[_0x3c61('0x43')](handleError(_0xd19da0,null));};exports[_0x3c61('0x53')]=function(_0x11fd95,_0x19cfc2,_0x75e814){var _0x49f7ee='';var _0x3775ac='';return db[_0x3c61('0x2a')][_0x3c61('0x4a')]({'where':{'id':_0x11fd95[_0x3c61('0x48')]['id']},'attributes':['id','username','remoteUri',_0x3c61('0x54')]})[_0x3c61('0x22')](handleEntityNotFound(_0x19cfc2,null))[_0x3c61('0x22')](function(_0x1397a0){if(_0x1397a0){_0x3775ac=_0x1397a0[_0x3c61('0x55')];_0x49f7ee=_0x1397a0[_0x3c61('0x56')];var _0x123bbf=_0x1397a0[_0x3c61('0x56')][_0x3c61('0x57')](-0x1);if(_0x123bbf==='/'){_0x49f7ee=_0x49f7ee['substring'](0x0,_0x49f7ee[_0x3c61('0x58')](_0x123bbf));}return rp({'method':_0x3c61('0x59'),'uri':util['format'](_0x3c61('0x5a'),_0x49f7ee,'/api/selector/owners'),'headers':{'Authorization':'Token\x20token='+_0x1397a0[_0x3c61('0x54')]},'json':!![]});}})['then'](function(_0x429fa9){if(_0x429fa9){var _0xfe6463=_0x429fa9[_0x3c61('0x5b')];var _0x90228=![];var _0x11737e=null;for(_0x11737e=0x0;_0x11737e<_0xfe6463[_0x3c61('0x34')];_0x11737e++){if(_0xfe6463[_0x11737e][_0x3c61('0x5c')]===_0x3775ac){_0x90228=!![];}}if(_0x90228){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})['then'](respondWithResult(_0x19cfc2,null))['catch'](function(_0x22b1ef){var _0xa4c98=_0x11fd95[_0x3c61('0x30')]['test']?0x1f4:_0x22b1ef[_0x3c61('0x5d')]||0x1f4;logger[_0x3c61('0x25')]('getFields,\x20%s,\x20%s,\x20%s',_0x3c61('0x53'),_0xa4c98,JSON[_0x3c61('0x5e')](_0x22b1ef));delete _0x22b1ef[_0x3c61('0x26')];if(_0xa4c98===0x191){_0xa4c98=0x190;}_0x19cfc2[_0x3c61('0x19')](_0xa4c98)[_0x3c61('0x27')](_0x11fd95[_0x3c61('0x30')][_0x3c61('0x5f')]?{'message':'Wrong\x20credentials','statusCode':_0x22b1ef[_0x3c61('0x5d')]}:_0x22b1ef);});};