564bf140ffe5e2b27ab378bcd5d9fc4393190e4f
[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 _0x4fdb=['order','sort','pick','where','merge','map','VIRTUAL','filter','options','includeAll','rows','catch','show','keys','include','find','create','body','params','findOne','FreshsalesConfiguration','getConfigurations','AccountId','Subjects','channel','getDescriptions','FreshsalesField','getFields','username','remoteUri','apiKey','substring','lastIndexOf','GET','format','%s%s','/api/selector/owners','Token\x20token=','users','email','Requested\x20Resource\x20not\x20Found','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','client','http','request','then','info','FreshsalesAccount,\x20%s,\x20%s','request\x20sent','debug','FreshsalesAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','sendStatus','status','end','count','offset','limit','set','Content-Range','reject','save','update','destroy','stack','name','send','FreshsalesAccount','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit'];(function(_0x9c827c,_0x37a04a){var _0x270532=function(_0x297ccb){while(--_0x297ccb){_0x9c827c['push'](_0x9c827c['shift']());}};_0x270532(++_0x37a04a);}(_0x4fdb,0x9c));var _0xb4fd=function(_0x334174,_0x3694c2){_0x334174=_0x334174-0x0;var _0x5aa1a8=_0x4fdb[_0x334174];return _0x5aa1a8;};'use strict';var pdf=require(_0xb4fd('0x0'));var emlformat=require(_0xb4fd('0x1'));var rimraf=require(_0xb4fd('0x2'));var zipdir=require(_0xb4fd('0x3'));var jsonpatch=require(_0xb4fd('0x4'));var rp=require(_0xb4fd('0x5'));var moment=require(_0xb4fd('0x6'));var BPromise=require(_0xb4fd('0x7'));var Mustache=require(_0xb4fd('0x8'));var util=require('util');var path=require(_0xb4fd('0x9'));var sox=require('sox');var csv=require(_0xb4fd('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xb4fd('0xb'));var crypto=require(_0xb4fd('0xc'));var jsforce=require(_0xb4fd('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xb4fd('0xe'));var Papa=require(_0xb4fd('0xf'));var Redis=require(_0xb4fd('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xb4fd('0x11'));var as=require(_0xb4fd('0x12'));var hardwareService=require(_0xb4fd('0x13'));var logger=require(_0xb4fd('0x14'))(_0xb4fd('0x15'));var utils=require('../../config/utils');var config=require(_0xb4fd('0x16'));var licenseUtil=require(_0xb4fd('0x17'));var db=require(_0xb4fd('0x18'))['db'];var integrations=require(_0xb4fd('0x19'));var jayson=require('jayson/promise');var client=jayson[_0xb4fd('0x1a')][_0xb4fd('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x345d35,_0x47b196,_0x399756,_0x1234d7){return new BPromise(function(_0xc35d8d,_0x41e21a){var _0x36e88f=_0x1234d7||client;return _0x36e88f[_0xb4fd('0x1c')](_0x345d35,_0x399756)[_0xb4fd('0x1d')](function(_0x47e288){logger[_0xb4fd('0x1e')](_0xb4fd('0x1f'),_0x47b196,_0xb4fd('0x20'));logger[_0xb4fd('0x21')](_0xb4fd('0x22'),_0x47b196,_0xb4fd('0x20'),JSON[_0xb4fd('0x23')](_0x47e288));if(_0x47e288[_0xb4fd('0x24')]){if(_0x47e288[_0xb4fd('0x24')][_0xb4fd('0x25')]===0x1f4){logger[_0xb4fd('0x24')]('FreshsalesAccount,\x20%s,\x20%s',_0x47b196,_0x47e288['error']['message']);return _0x41e21a(_0x47e288['error'][_0xb4fd('0x26')]);}logger[_0xb4fd('0x24')](_0xb4fd('0x1f'),_0x47b196,_0x47e288[_0xb4fd('0x24')][_0xb4fd('0x26')]);return _0xc35d8d(_0x47e288[_0xb4fd('0x24')][_0xb4fd('0x26')]);}else{logger['info']('FreshsalesAccount,\x20%s,\x20%s',_0x47b196,_0xb4fd('0x20'));_0xc35d8d(_0x47e288[_0xb4fd('0x27')][_0xb4fd('0x26')]);}})['catch'](function(_0x7c578b){logger['error'](_0xb4fd('0x1f'),_0x47b196,_0x7c578b);_0x41e21a(_0x7c578b);});});}function respondWithStatusCode(_0x4f5032,_0x2a9c8c){_0x2a9c8c=_0x2a9c8c||0xcc;return function(_0x2c2d8d){if(_0x2c2d8d){return _0x4f5032[_0xb4fd('0x28')](_0x2a9c8c);}return _0x4f5032[_0xb4fd('0x29')](_0x2a9c8c)[_0xb4fd('0x2a')]();};}function respondWithResult(_0x456f35,_0x4f5971){_0x4f5971=_0x4f5971||0xc8;return function(_0x3498ad){if(_0x3498ad){return _0x456f35['status'](_0x4f5971)['json'](_0x3498ad);}};}function respondWithFilteredResult(_0x4baf02,_0x453982){return function(_0x4bad85){if(_0x4bad85){var _0x3617b2=_0x4bad85[_0xb4fd('0x2b')],_0x5e9d2b=_0x453982[_0xb4fd('0x2c')],_0x5738c2=_0x453982['offset']+_0x453982[_0xb4fd('0x2d')],_0x282fe4;if(_0x5738c2>=_0x3617b2){_0x5738c2=_0x3617b2;_0x282fe4=0xc8;}else{_0x282fe4=0xce;}_0x4baf02[_0xb4fd('0x29')](_0x282fe4);return _0x4baf02[_0xb4fd('0x2e')](_0xb4fd('0x2f'),_0x5e9d2b+'-'+_0x5738c2+'/'+_0x3617b2)['json'](_0x4bad85);}return null;};}function patchUpdates(_0xd72bc3){return function(_0x263d6f){try{jsonpatch['apply'](_0x263d6f,_0xd72bc3,!![]);}catch(_0x3e5060){return BPromise[_0xb4fd('0x30')](_0x3e5060);}return _0x263d6f[_0xb4fd('0x31')]();};}function saveUpdates(_0x597874,_0xe73e10){return function(_0x2f564f){if(_0x2f564f){return _0x2f564f[_0xb4fd('0x32')](_0x597874)['then'](function(_0x55eed3){return _0x55eed3;});}return null;};}function removeEntity(_0x4d7a63,_0x5f36e4){return function(_0x1eeb9c){if(_0x1eeb9c){return _0x1eeb9c[_0xb4fd('0x33')]()[_0xb4fd('0x1d')](function(){_0x4d7a63[_0xb4fd('0x29')](0xcc)[_0xb4fd('0x2a')]();});}};}function handleEntityNotFound(_0xf79ebb,_0xbf95eb){return function(_0x1a0457){if(!_0x1a0457){_0xf79ebb[_0xb4fd('0x28')](0x194);}return _0x1a0457;};}function handleError(_0x408f85,_0x3f7688){_0x3f7688=_0x3f7688||0x1f4;return function(_0x37415b){logger[_0xb4fd('0x24')](_0x37415b[_0xb4fd('0x34')]);if(_0x37415b[_0xb4fd('0x35')]){delete _0x37415b[_0xb4fd('0x35')];}_0x408f85[_0xb4fd('0x29')](_0x3f7688)[_0xb4fd('0x36')](_0x37415b);};}exports['index']=function(_0x4fadd4,_0x930751){var _0xca8c59={},_0x3832fc={},_0x24ae37={'count':0x0,'rows':[]};var _0x1a9d19=_['map'](db[_0xb4fd('0x37')][_0xb4fd('0x38')],function(_0x3bc638){return{'name':_0x3bc638[_0xb4fd('0x39')],'type':_0x3bc638[_0xb4fd('0x3a')]['key']};});_0x3832fc[_0xb4fd('0x3b')]=_['map'](_0x1a9d19,_0xb4fd('0x35'));_0x3832fc[_0xb4fd('0x3c')]=_['keys'](_0x4fadd4['query']);_0x3832fc[_0xb4fd('0x3d')]=_[_0xb4fd('0x3e')](_0x3832fc[_0xb4fd('0x3b')],_0x3832fc[_0xb4fd('0x3c')]);_0xca8c59[_0xb4fd('0x3f')]=_[_0xb4fd('0x3e')](_0x3832fc['model'],qs[_0xb4fd('0x40')](_0x4fadd4[_0xb4fd('0x3c')]['fields']));_0xca8c59[_0xb4fd('0x3f')]=_0xca8c59[_0xb4fd('0x3f')][_0xb4fd('0x41')]?_0xca8c59[_0xb4fd('0x3f')]:_0x3832fc['model'];if(!_0x4fadd4[_0xb4fd('0x3c')][_0xb4fd('0x42')](_0xb4fd('0x43'))){_0xca8c59[_0xb4fd('0x2d')]=qs[_0xb4fd('0x2d')](_0x4fadd4[_0xb4fd('0x3c')]['limit']);_0xca8c59[_0xb4fd('0x2c')]=qs[_0xb4fd('0x2c')](_0x4fadd4['query'][_0xb4fd('0x2c')]);}_0xca8c59[_0xb4fd('0x44')]=qs[_0xb4fd('0x45')](_0x4fadd4[_0xb4fd('0x3c')][_0xb4fd('0x45')]);_0xca8c59['where']=qs[_0xb4fd('0x3d')](_[_0xb4fd('0x46')](_0x4fadd4[_0xb4fd('0x3c')],_0x3832fc['filters']),_0x1a9d19);if(_0x4fadd4[_0xb4fd('0x3c')]['filter']){_0xca8c59[_0xb4fd('0x47')]=_[_0xb4fd('0x48')](_0xca8c59['where'],{'$or':_[_0xb4fd('0x49')](_0x1a9d19,function(_0x4fbc36){if(_0x4fbc36[_0xb4fd('0x3a')]!==_0xb4fd('0x4a')){var _0x23c67f={};_0x23c67f[_0x4fbc36['name']]={'$like':'%'+_0x4fadd4[_0xb4fd('0x3c')][_0xb4fd('0x4b')]+'%'};return _0x23c67f;}})});}_0xca8c59=_[_0xb4fd('0x48')]({},_0xca8c59,_0x4fadd4[_0xb4fd('0x4c')]);var _0x36948b={'where':_0xca8c59[_0xb4fd('0x47')]};return db[_0xb4fd('0x37')]['count'](_0x36948b)['then'](function(_0x1595f2){_0x24ae37[_0xb4fd('0x2b')]=_0x1595f2;if(_0x4fadd4[_0xb4fd('0x3c')][_0xb4fd('0x4d')]){_0xca8c59['include']=[{'all':!![]}];}return db[_0xb4fd('0x37')]['findAll'](_0xca8c59);})['then'](function(_0x18b264){_0x24ae37[_0xb4fd('0x4e')]=_0x18b264;return _0x24ae37;})['then'](respondWithFilteredResult(_0x930751,_0xca8c59))[_0xb4fd('0x4f')](handleError(_0x930751,null));};exports[_0xb4fd('0x50')]=function(_0x4b7fa0,_0xea231f){var _0x208430={'raw':![],'where':{'id':_0x4b7fa0['params']['id']}},_0x3b6014={};_0x3b6014['model']=_[_0xb4fd('0x51')](db[_0xb4fd('0x37')][_0xb4fd('0x38')]);_0x3b6014[_0xb4fd('0x3c')]=_['keys'](_0x4b7fa0[_0xb4fd('0x3c')]);_0x3b6014[_0xb4fd('0x3d')]=_['intersection'](_0x3b6014[_0xb4fd('0x3b')],_0x3b6014[_0xb4fd('0x3c')]);_0x208430[_0xb4fd('0x3f')]=_['intersection'](_0x3b6014[_0xb4fd('0x3b')],qs[_0xb4fd('0x40')](_0x4b7fa0['query'][_0xb4fd('0x40')]));_0x208430['attributes']=_0x208430['attributes'][_0xb4fd('0x41')]?_0x208430[_0xb4fd('0x3f')]:_0x3b6014[_0xb4fd('0x3b')];if(_0x4b7fa0[_0xb4fd('0x3c')][_0xb4fd('0x4d')]){_0x208430[_0xb4fd('0x52')]=[{'all':!![]}];}_0x208430=_[_0xb4fd('0x48')]({},_0x208430,_0x4b7fa0[_0xb4fd('0x4c')]);return db[_0xb4fd('0x37')][_0xb4fd('0x53')](_0x208430)[_0xb4fd('0x1d')](handleEntityNotFound(_0xea231f,null))[_0xb4fd('0x1d')](respondWithResult(_0xea231f,null))[_0xb4fd('0x4f')](handleError(_0xea231f,null));};exports[_0xb4fd('0x54')]=function(_0xbf4686,_0x492234){return db['FreshsalesAccount'][_0xb4fd('0x54')](_0xbf4686[_0xb4fd('0x55')],{})[_0xb4fd('0x1d')](respondWithResult(_0x492234,0xc9))[_0xb4fd('0x4f')](handleError(_0x492234,null));};exports[_0xb4fd('0x32')]=function(_0x5d1625,_0x53c9db){if(_0x5d1625[_0xb4fd('0x55')]['id']){delete _0x5d1625[_0xb4fd('0x55')]['id'];}return db['FreshsalesAccount']['find']({'where':{'id':_0x5d1625['params']['id']}})[_0xb4fd('0x1d')](handleEntityNotFound(_0x53c9db,null))[_0xb4fd('0x1d')](saveUpdates(_0x5d1625[_0xb4fd('0x55')],null))[_0xb4fd('0x1d')](respondWithResult(_0x53c9db,null))['catch'](handleError(_0x53c9db,null));};exports['destroy']=function(_0x380638,_0x265ae6){return db[_0xb4fd('0x37')]['find']({'where':{'id':_0x380638[_0xb4fd('0x56')]['id']}})[_0xb4fd('0x1d')](handleEntityNotFound(_0x265ae6,null))[_0xb4fd('0x1d')](removeEntity(_0x265ae6,null))[_0xb4fd('0x4f')](handleError(_0x265ae6,null));};exports['getConfigurations']=function(_0x423112,_0x16c8e6,_0x5758ae){var _0x340ef2={};var _0x49efc4={};var _0x3b8b71;var _0x5887bc;return db[_0xb4fd('0x37')][_0xb4fd('0x57')]({'where':{'id':_0x423112[_0xb4fd('0x56')]['id']}})[_0xb4fd('0x1d')](handleEntityNotFound(_0x16c8e6,null))[_0xb4fd('0x1d')](function(_0x2fb0d4){if(_0x2fb0d4){_0x3b8b71=_0x2fb0d4;_0x49efc4[_0xb4fd('0x3b')]=_[_0xb4fd('0x51')](db[_0xb4fd('0x58')][_0xb4fd('0x38')]);_0x49efc4[_0xb4fd('0x3c')]=_[_0xb4fd('0x51')](_0x423112[_0xb4fd('0x3c')]);_0x49efc4[_0xb4fd('0x3d')]=_['intersection'](_0x49efc4[_0xb4fd('0x3b')],_0x49efc4['query']);_0x340ef2[_0xb4fd('0x3f')]=_['intersection'](_0x49efc4[_0xb4fd('0x3b')],qs[_0xb4fd('0x40')](_0x423112[_0xb4fd('0x3c')][_0xb4fd('0x40')]));_0x340ef2['attributes']=_0x340ef2['attributes'][_0xb4fd('0x41')]?_0x340ef2['attributes']:_0x49efc4[_0xb4fd('0x3b')];_0x340ef2[_0xb4fd('0x44')]=qs[_0xb4fd('0x45')](_0x423112['query'][_0xb4fd('0x45')]);_0x340ef2['where']=qs[_0xb4fd('0x3d')](_[_0xb4fd('0x46')](_0x423112[_0xb4fd('0x3c')],_0x49efc4[_0xb4fd('0x3d')]));if(_0x423112['query'][_0xb4fd('0x4b')]){_0x340ef2['where']=_[_0xb4fd('0x48')](_0x340ef2[_0xb4fd('0x47')],{'$or':_[_0xb4fd('0x49')](_0x340ef2['attributes'],function(_0x5dccc0){var _0x571571={};_0x571571[_0x5dccc0]={'$like':'%'+_0x423112[_0xb4fd('0x3c')]['filter']+'%'};return _0x571571;})});}_0x340ef2=_[_0xb4fd('0x48')]({},_0x340ef2,_0x423112['options']);return _0x3b8b71[_0xb4fd('0x59')](_0x340ef2);}})[_0xb4fd('0x1d')](function(_0x9e830e){if(_0x9e830e){_0x5887bc=_0x9e830e[_0xb4fd('0x41')];if(!_0x423112['query'][_0xb4fd('0x42')](_0xb4fd('0x43'))){_0x340ef2[_0xb4fd('0x2d')]=qs[_0xb4fd('0x2d')](_0x423112[_0xb4fd('0x3c')]['limit']);_0x340ef2[_0xb4fd('0x2c')]=qs[_0xb4fd('0x2c')](_0x423112['query'][_0xb4fd('0x2c')]);}return _0x3b8b71[_0xb4fd('0x59')](_0x340ef2);}})[_0xb4fd('0x1d')](function(_0x201460){if(_0x201460){return _0x201460?{'count':_0x5887bc,'rows':_0x201460}:null;}})[_0xb4fd('0x1d')](respondWithResult(_0x16c8e6,null))[_0xb4fd('0x4f')](handleError(_0x16c8e6,null));};exports['addConfiguration']=function(_0x256ca5,_0x2dc0f0,_0x2b93e3){if(_0x256ca5[_0xb4fd('0x55')]['id']){delete _0x256ca5[_0xb4fd('0x55')]['id'];}return db[_0xb4fd('0x37')][_0xb4fd('0x57')]({'where':{'id':_0x256ca5[_0xb4fd('0x56')]['id']}})[_0xb4fd('0x1d')](handleEntityNotFound(_0x2dc0f0,null))[_0xb4fd('0x1d')](function(_0x3f9380){if(_0x3f9380){_0x256ca5[_0xb4fd('0x55')][_0xb4fd('0x5a')]=_0x3f9380['id'];_0x256ca5[_0xb4fd('0x55')][_0xb4fd('0x5b')]=integrations['getSubjects'](_0x256ca5[_0xb4fd('0x55')][_0xb4fd('0x5c')],_0x256ca5[_0xb4fd('0x55')]['type']);_0x256ca5[_0xb4fd('0x55')]['Descriptions']=integrations[_0xb4fd('0x5d')](_0x256ca5['body']['channel'],_0x256ca5['body'][_0xb4fd('0x3a')]);return db['FreshsalesConfiguration']['create'](_0x256ca5[_0xb4fd('0x55')],{'include':[{'model':db['FreshsalesField'],'as':'Subjects'},{'model':db[_0xb4fd('0x5e')],'as':'Descriptions'}]});}return null;})[_0xb4fd('0x1d')](respondWithResult(_0x2dc0f0,null))[_0xb4fd('0x4f')](handleError(_0x2dc0f0,null));};exports[_0xb4fd('0x5f')]=function(_0x109dd9,_0x45aafc,_0x53e3db){var _0x4ebf6f='';var _0x15f9d5='';return db[_0xb4fd('0x37')]['findOne']({'where':{'id':_0x109dd9[_0xb4fd('0x56')]['id']},'attributes':['id',_0xb4fd('0x60'),_0xb4fd('0x61'),_0xb4fd('0x62')]})['then'](handleEntityNotFound(_0x45aafc,null))[_0xb4fd('0x1d')](function(_0x2fdd50){if(_0x2fdd50){_0x15f9d5=_0x2fdd50[_0xb4fd('0x60')];_0x4ebf6f=_0x2fdd50['remoteUri'];var _0x158c14=_0x2fdd50[_0xb4fd('0x61')]['slice'](-0x1);if(_0x158c14==='/'){_0x4ebf6f=_0x4ebf6f[_0xb4fd('0x63')](0x0,_0x4ebf6f[_0xb4fd('0x64')](_0x158c14));}return rp({'method':_0xb4fd('0x65'),'uri':util[_0xb4fd('0x66')](_0xb4fd('0x67'),_0x4ebf6f,_0xb4fd('0x68')),'headers':{'Authorization':_0xb4fd('0x69')+_0x2fdd50[_0xb4fd('0x62')]},'json':!![]});}})[_0xb4fd('0x1d')](function(_0x174883){if(_0x174883){var _0x50e53c=_0x174883[_0xb4fd('0x6a')];var _0x511072=![];var _0x2d5b9b=null;for(_0x2d5b9b=0x0;_0x2d5b9b<_0x50e53c[_0xb4fd('0x41')];_0x2d5b9b++){if(_0x50e53c[_0x2d5b9b][_0xb4fd('0x6b')]===_0x15f9d5){_0x511072=!![];}}if(_0x511072){return!![];}else{throw new Error({'statusCode':0x194,'message':_0xb4fd('0x6c')});}}})[_0xb4fd('0x1d')](respondWithResult(_0x45aafc,null))[_0xb4fd('0x4f')](function(_0xdaa89c){var _0x3eaed2=_0x109dd9[_0xb4fd('0x3c')][_0xb4fd('0x6d')]?0x1f4:_0xdaa89c[_0xb4fd('0x6e')]||0x1f4;logger[_0xb4fd('0x24')](_0xb4fd('0x6f'),_0xb4fd('0x5f'),_0x3eaed2,JSON['stringify'](_0xdaa89c));delete _0xdaa89c[_0xb4fd('0x35')];if(_0x3eaed2===0x191){_0x3eaed2=0x190;}_0x45aafc['status'](_0x3eaed2)[_0xb4fd('0x36')](_0x109dd9['query'][_0xb4fd('0x6d')]?{'message':'Wrong\x20credentials','statusCode':_0xdaa89c[_0xb4fd('0x6e')]}:_0xdaa89c);});};