Built motion from commit 511216ff.|2.6.34
[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 _0xec3a=['lastIndexOf','GET','format','%s%s','/api/selector/owners','Token\x20token=','email','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','send','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','status','offset','undefined','limit','count','set','json','apply','save','then','end','error','stack','name','index','map','FreshsalesAccount','fieldName','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','sort','where','pick','filter','type','VIRTUAL','merge','options','includeAll','include','catch','params','length','find','create','body','update','destroy','getConfigurations','findOne','FreshsalesConfiguration','rawAttributes','order','nolimit','addConfiguration','AccountId','channel','getDescriptions','FreshsalesField','Subjects','Descriptions','getFields','username','remoteUri','apiKey','substring'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0xec3a,0x1ec));var _0xaec3=function(_0x2aa0e7,_0x4e5145){_0x2aa0e7=_0x2aa0e7-0x0;var _0x1472c0=_0xec3a[_0x2aa0e7];return _0x1472c0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xaec3('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xaec3('0x1'));var rp=require(_0xaec3('0x2'));var moment=require(_0xaec3('0x3'));var BPromise=require(_0xaec3('0x4'));var Mustache=require(_0xaec3('0x5'));var util=require(_0xaec3('0x6'));var path=require('path');var sox=require(_0xaec3('0x7'));var csv=require(_0xaec3('0x8'));var ejs=require(_0xaec3('0x9'));var fs=require('fs');var fs_extra=require(_0xaec3('0xa'));var _=require(_0xaec3('0xb'));var squel=require('squel');var crypto=require(_0xaec3('0xc'));var jsforce=require(_0xaec3('0xd'));var deskjs=require(_0xaec3('0xe'));var toCsv=require(_0xaec3('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xaec3('0xf'));var authService=require(_0xaec3('0x10'));var qs=require(_0xaec3('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xaec3('0x12'));var logger=require('../../config/logger')(_0xaec3('0x13'));var utils=require(_0xaec3('0x14'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x5b95ec,_0x26401a){_0x26401a=_0x26401a||0xcc;return function(_0x409ea4){if(_0x409ea4){return _0x5b95ec['sendStatus'](_0x26401a);}return _0x5b95ec[_0xaec3('0x15')](_0x26401a)['end']();};}function respondWithResult(_0x1f5d67,_0x3a7ec4){_0x3a7ec4=_0x3a7ec4||0xc8;return function(_0x5dc285){if(_0x5dc285){return _0x1f5d67[_0xaec3('0x15')](_0x3a7ec4)['json'](_0x5dc285);}};}function respondWithFilteredResult(_0x540713,_0x3299c4){return function(_0x2c752a){if(_0x2c752a){var _0x5a33e3=typeof _0x3299c4[_0xaec3('0x16')]===_0xaec3('0x17')&&typeof _0x3299c4[_0xaec3('0x18')]==='undefined';var _0x2b6461=_0x2c752a['count'];var _0x167f12=_0x5a33e3?0x0:_0x3299c4[_0xaec3('0x16')];var _0x309d7b=_0x5a33e3?_0x2c752a[_0xaec3('0x19')]:_0x3299c4[_0xaec3('0x16')]+_0x3299c4[_0xaec3('0x18')];var _0x2cadc8;if(_0x309d7b>=_0x2b6461){_0x309d7b=_0x2b6461;_0x2cadc8=0xc8;}else{_0x2cadc8=0xce;}_0x540713['status'](_0x2cadc8);return _0x540713[_0xaec3('0x1a')]('Content-Range',_0x167f12+'-'+_0x309d7b+'/'+_0x2b6461)[_0xaec3('0x1b')](_0x2c752a);}return null;};}function patchUpdates(_0x205861){return function(_0x22c708){try{jsonpatch[_0xaec3('0x1c')](_0x22c708,_0x205861,!![]);}catch(_0x2cdea8){return BPromise['reject'](_0x2cdea8);}return _0x22c708[_0xaec3('0x1d')]();};}function saveUpdates(_0x1e8ad2,_0x24ee25){return function(_0xf8174a){if(_0xf8174a){return _0xf8174a['update'](_0x1e8ad2)[_0xaec3('0x1e')](function(_0xeab123){return _0xeab123;});}return null;};}function removeEntity(_0x404da4,_0x3af4a3){return function(_0x247f62){if(_0x247f62){return _0x247f62['destroy']()[_0xaec3('0x1e')](function(){_0x404da4['status'](0xcc)[_0xaec3('0x1f')]();});}};}function handleEntityNotFound(_0x2ecb93,_0x2e7584){return function(_0x50b7ca){if(!_0x50b7ca){_0x2ecb93['sendStatus'](0x194);}return _0x50b7ca;};}function handleError(_0x34a562,_0x591d99){_0x591d99=_0x591d99||0x1f4;return function(_0x24aff0){logger[_0xaec3('0x20')](_0x24aff0[_0xaec3('0x21')]);if(_0x24aff0[_0xaec3('0x22')]){delete _0x24aff0[_0xaec3('0x22')];}_0x34a562[_0xaec3('0x15')](_0x591d99)['send'](_0x24aff0);};}exports[_0xaec3('0x23')]=function(_0x352bd6,_0x456807){var _0xc86a36={},_0x22ecdb={},_0x1ac08f={'count':0x0,'rows':[]};var _0x18d937=_[_0xaec3('0x24')](db[_0xaec3('0x25')]['rawAttributes'],function(_0x3620ad){return{'name':_0x3620ad[_0xaec3('0x26')],'type':_0x3620ad['type'][_0xaec3('0x27')]};});_0x22ecdb[_0xaec3('0x28')]=_[_0xaec3('0x24')](_0x18d937,_0xaec3('0x22'));_0x22ecdb[_0xaec3('0x29')]=_[_0xaec3('0x2a')](_0x352bd6['query']);_0x22ecdb[_0xaec3('0x2b')]=_['intersection'](_0x22ecdb['model'],_0x22ecdb[_0xaec3('0x29')]);_0xc86a36['attributes']=_[_0xaec3('0x2c')](_0x22ecdb[_0xaec3('0x28')],qs[_0xaec3('0x2d')](_0x352bd6[_0xaec3('0x29')]['fields']));_0xc86a36[_0xaec3('0x2e')]=_0xc86a36[_0xaec3('0x2e')]['length']?_0xc86a36[_0xaec3('0x2e')]:_0x22ecdb[_0xaec3('0x28')];if(!_0x352bd6[_0xaec3('0x29')][_0xaec3('0x2f')]('nolimit')){_0xc86a36['limit']=qs[_0xaec3('0x18')](_0x352bd6[_0xaec3('0x29')][_0xaec3('0x18')]);_0xc86a36[_0xaec3('0x16')]=qs[_0xaec3('0x16')](_0x352bd6['query'][_0xaec3('0x16')]);}_0xc86a36['order']=qs[_0xaec3('0x30')](_0x352bd6[_0xaec3('0x29')][_0xaec3('0x30')]);_0xc86a36[_0xaec3('0x31')]=qs[_0xaec3('0x2b')](_[_0xaec3('0x32')](_0x352bd6[_0xaec3('0x29')],_0x22ecdb['filters']),_0x18d937);if(_0x352bd6['query'][_0xaec3('0x33')]){_0xc86a36[_0xaec3('0x31')]=_['merge'](_0xc86a36[_0xaec3('0x31')],{'$or':_['map'](_0x18d937,function(_0x5c3b76){if(_0x5c3b76[_0xaec3('0x34')]!==_0xaec3('0x35')){var _0x4355e6={};_0x4355e6[_0x5c3b76['name']]={'$like':'%'+_0x352bd6[_0xaec3('0x29')]['filter']+'%'};return _0x4355e6;}})});}_0xc86a36=_[_0xaec3('0x36')]({},_0xc86a36,_0x352bd6[_0xaec3('0x37')]);var _0x3bf1ab={'where':_0xc86a36[_0xaec3('0x31')]};return db[_0xaec3('0x25')][_0xaec3('0x19')](_0x3bf1ab)[_0xaec3('0x1e')](function(_0x274ba6){_0x1ac08f['count']=_0x274ba6;if(_0x352bd6[_0xaec3('0x29')][_0xaec3('0x38')]){_0xc86a36[_0xaec3('0x39')]=[{'all':!![]}];}return db[_0xaec3('0x25')]['findAll'](_0xc86a36);})[_0xaec3('0x1e')](function(_0xef5946){_0x1ac08f['rows']=_0xef5946;return _0x1ac08f;})[_0xaec3('0x1e')](respondWithFilteredResult(_0x456807,_0xc86a36))[_0xaec3('0x3a')](handleError(_0x456807,null));};exports['show']=function(_0x152654,_0x36162e){var _0x3022fd={'raw':![],'where':{'id':_0x152654[_0xaec3('0x3b')]['id']}},_0x10fba6={};_0x10fba6[_0xaec3('0x28')]=_['keys'](db[_0xaec3('0x25')]['rawAttributes']);_0x10fba6[_0xaec3('0x29')]=_[_0xaec3('0x2a')](_0x152654[_0xaec3('0x29')]);_0x10fba6[_0xaec3('0x2b')]=_[_0xaec3('0x2c')](_0x10fba6[_0xaec3('0x28')],_0x10fba6['query']);_0x3022fd[_0xaec3('0x2e')]=_['intersection'](_0x10fba6[_0xaec3('0x28')],qs[_0xaec3('0x2d')](_0x152654[_0xaec3('0x29')][_0xaec3('0x2d')]));_0x3022fd[_0xaec3('0x2e')]=_0x3022fd[_0xaec3('0x2e')][_0xaec3('0x3c')]?_0x3022fd[_0xaec3('0x2e')]:_0x10fba6['model'];if(_0x152654[_0xaec3('0x29')][_0xaec3('0x38')]){_0x3022fd[_0xaec3('0x39')]=[{'all':!![]}];}_0x3022fd=_[_0xaec3('0x36')]({},_0x3022fd,_0x152654[_0xaec3('0x37')]);return db[_0xaec3('0x25')][_0xaec3('0x3d')](_0x3022fd)[_0xaec3('0x1e')](handleEntityNotFound(_0x36162e,null))[_0xaec3('0x1e')](respondWithResult(_0x36162e,null))[_0xaec3('0x3a')](handleError(_0x36162e,null));};exports[_0xaec3('0x3e')]=function(_0x1d9f26,_0x24d0f8){return db[_0xaec3('0x25')][_0xaec3('0x3e')](_0x1d9f26[_0xaec3('0x3f')],{})[_0xaec3('0x1e')](respondWithResult(_0x24d0f8,0xc9))[_0xaec3('0x3a')](handleError(_0x24d0f8,null));};exports[_0xaec3('0x40')]=function(_0x3e5bb2,_0x1aa91e){if(_0x3e5bb2[_0xaec3('0x3f')]['id']){delete _0x3e5bb2[_0xaec3('0x3f')]['id'];}return db[_0xaec3('0x25')][_0xaec3('0x3d')]({'where':{'id':_0x3e5bb2[_0xaec3('0x3b')]['id']}})[_0xaec3('0x1e')](handleEntityNotFound(_0x1aa91e,null))[_0xaec3('0x1e')](saveUpdates(_0x3e5bb2['body'],null))['then'](respondWithResult(_0x1aa91e,null))['catch'](handleError(_0x1aa91e,null));};exports[_0xaec3('0x41')]=function(_0x17584d,_0x1aca90){return db[_0xaec3('0x25')][_0xaec3('0x3d')]({'where':{'id':_0x17584d['params']['id']}})['then'](handleEntityNotFound(_0x1aca90,null))['then'](removeEntity(_0x1aca90,null))[_0xaec3('0x3a')](handleError(_0x1aca90,null));};exports[_0xaec3('0x42')]=function(_0x57f72c,_0x566747,_0x56e128){var _0x267526={};var _0x6cbe0f={};var _0xb783fb;var _0x432d17;return db[_0xaec3('0x25')][_0xaec3('0x43')]({'where':{'id':_0x57f72c['params']['id']}})[_0xaec3('0x1e')](handleEntityNotFound(_0x566747,null))[_0xaec3('0x1e')](function(_0x1c966b){if(_0x1c966b){_0xb783fb=_0x1c966b;_0x6cbe0f[_0xaec3('0x28')]=_[_0xaec3('0x2a')](db[_0xaec3('0x44')][_0xaec3('0x45')]);_0x6cbe0f[_0xaec3('0x29')]=_[_0xaec3('0x2a')](_0x57f72c[_0xaec3('0x29')]);_0x6cbe0f['filters']=_[_0xaec3('0x2c')](_0x6cbe0f[_0xaec3('0x28')],_0x6cbe0f[_0xaec3('0x29')]);_0x267526[_0xaec3('0x2e')]=_[_0xaec3('0x2c')](_0x6cbe0f[_0xaec3('0x28')],qs['fields'](_0x57f72c[_0xaec3('0x29')][_0xaec3('0x2d')]));_0x267526[_0xaec3('0x2e')]=_0x267526[_0xaec3('0x2e')][_0xaec3('0x3c')]?_0x267526[_0xaec3('0x2e')]:_0x6cbe0f[_0xaec3('0x28')];_0x267526[_0xaec3('0x46')]=qs[_0xaec3('0x30')](_0x57f72c[_0xaec3('0x29')]['sort']);_0x267526[_0xaec3('0x31')]=qs[_0xaec3('0x2b')](_['pick'](_0x57f72c['query'],_0x6cbe0f[_0xaec3('0x2b')]));if(_0x57f72c[_0xaec3('0x29')][_0xaec3('0x33')]){_0x267526[_0xaec3('0x31')]=_[_0xaec3('0x36')](_0x267526[_0xaec3('0x31')],{'$or':_['map'](_0x267526[_0xaec3('0x2e')],function(_0x21b2e8){var _0x5d003d={};_0x5d003d[_0x21b2e8]={'$like':'%'+_0x57f72c['query'][_0xaec3('0x33')]+'%'};return _0x5d003d;})});}_0x267526=_[_0xaec3('0x36')]({},_0x267526,_0x57f72c['options']);return _0xb783fb[_0xaec3('0x42')](_0x267526);}})[_0xaec3('0x1e')](function(_0x1679fc){if(_0x1679fc){_0x432d17=_0x1679fc['length'];if(!_0x57f72c['query']['hasOwnProperty'](_0xaec3('0x47'))){_0x267526[_0xaec3('0x18')]=qs[_0xaec3('0x18')](_0x57f72c['query'][_0xaec3('0x18')]);_0x267526[_0xaec3('0x16')]=qs[_0xaec3('0x16')](_0x57f72c['query']['offset']);}return _0xb783fb[_0xaec3('0x42')](_0x267526);}})[_0xaec3('0x1e')](function(_0x10571e){if(_0x10571e){return _0x10571e?{'count':_0x432d17,'rows':_0x10571e}:null;}})[_0xaec3('0x1e')](respondWithResult(_0x566747,null))[_0xaec3('0x3a')](handleError(_0x566747,null));};exports[_0xaec3('0x48')]=function(_0x1e561a,_0xfb6a57,_0x57750f){if(_0x1e561a[_0xaec3('0x3f')]['id']){delete _0x1e561a['body']['id'];}return db['FreshsalesAccount'][_0xaec3('0x43')]({'where':{'id':_0x1e561a['params']['id']}})['then'](handleEntityNotFound(_0xfb6a57,null))['then'](function(_0x3c8bed){if(_0x3c8bed){_0x1e561a[_0xaec3('0x3f')][_0xaec3('0x49')]=_0x3c8bed['id'];_0x1e561a[_0xaec3('0x3f')]['Subjects']=integrations['getSubjects'](_0x1e561a[_0xaec3('0x3f')][_0xaec3('0x4a')],_0x1e561a[_0xaec3('0x3f')][_0xaec3('0x34')]);_0x1e561a[_0xaec3('0x3f')]['Descriptions']=integrations[_0xaec3('0x4b')](_0x1e561a[_0xaec3('0x3f')][_0xaec3('0x4a')],_0x1e561a[_0xaec3('0x3f')][_0xaec3('0x34')]);return db[_0xaec3('0x44')][_0xaec3('0x3e')](_0x1e561a['body'],{'include':[{'model':db[_0xaec3('0x4c')],'as':_0xaec3('0x4d')},{'model':db[_0xaec3('0x4c')],'as':_0xaec3('0x4e')}]});}return null;})[_0xaec3('0x1e')](respondWithResult(_0xfb6a57,null))[_0xaec3('0x3a')](handleError(_0xfb6a57,null));};exports[_0xaec3('0x4f')]=function(_0x2e5602,_0x10a119,_0x24cc6e){var _0x20ccff='';var _0x40fd73='';return db[_0xaec3('0x25')][_0xaec3('0x43')]({'where':{'id':_0x2e5602['params']['id']},'attributes':['id',_0xaec3('0x50'),_0xaec3('0x51'),_0xaec3('0x52')]})[_0xaec3('0x1e')](handleEntityNotFound(_0x10a119,null))[_0xaec3('0x1e')](function(_0x5a57fb){if(_0x5a57fb){_0x40fd73=_0x5a57fb[_0xaec3('0x50')];_0x20ccff=_0x5a57fb['remoteUri'];var _0x248bd6=_0x5a57fb[_0xaec3('0x51')]['slice'](-0x1);if(_0x248bd6==='/'){_0x20ccff=_0x20ccff[_0xaec3('0x53')](0x0,_0x20ccff[_0xaec3('0x54')](_0x248bd6));}return rp({'method':_0xaec3('0x55'),'uri':util[_0xaec3('0x56')](_0xaec3('0x57'),_0x20ccff,_0xaec3('0x58')),'headers':{'Authorization':_0xaec3('0x59')+_0x5a57fb[_0xaec3('0x52')]},'json':!![]});}})['then'](function(_0x201082){if(_0x201082){var _0x30e218=_0x201082['users'];var _0x6e55f3=![];var _0x262522=null;for(_0x262522=0x0;_0x262522<_0x30e218[_0xaec3('0x3c')];_0x262522++){if(_0x30e218[_0x262522][_0xaec3('0x5a')]===_0x40fd73){_0x6e55f3=!![];}}if(_0x6e55f3){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})[_0xaec3('0x1e')](respondWithResult(_0x10a119,null))['catch'](function(_0x5e87c8){var _0x3dfe7a=_0x2e5602['query'][_0xaec3('0x5b')]?0x1f4:_0x5e87c8[_0xaec3('0x5c')]||0x1f4;logger['error'](_0xaec3('0x5d'),_0xaec3('0x4f'),_0x3dfe7a,JSON[_0xaec3('0x5e')](_0x5e87c8));delete _0x5e87c8['name'];if(_0x3dfe7a===0x191){_0x3dfe7a=0x190;}_0x10a119[_0xaec3('0x15')](_0x3dfe7a)[_0xaec3('0x5f')](_0x2e5602['query'][_0xaec3('0x5b')]?{'message':'Wrong\x20credentials','statusCode':_0x5e87c8[_0xaec3('0x5c')]}:_0x5e87c8);});};