Built motion from commit ab870f9e.|2.5.44
[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 _0x547c=['%s%s','/api/selector/owners','Token\x20token=','users','email','test','error','stringify','Wrong\x20credentials','rimraf','mustache','util','path','sox','ejs','fs-extra','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','then','destroy','stack','name','send','index','FreshsalesAccount','rawAttributes','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','type','VIRTUAL','filter','includeAll','include','findAll','rows','show','find','catch','create','body','update','params','getConfigurations','findOne','FreshsalesConfiguration','merge','options','addConfiguration','AccountId','Subjects','channel','Descriptions','FreshsalesField','getFields','username','remoteUri','apiKey','slice','substring','GET','format'];(function(_0x3c265f,_0x5fefd1){var _0x2eadcd=function(_0x417a04){while(--_0x417a04){_0x3c265f['push'](_0x3c265f['shift']());}};_0x2eadcd(++_0x5fefd1);}(_0x547c,0x1e4));var _0xc547=function(_0x40aa4e,_0x5ad1fa){_0x40aa4e=_0x40aa4e-0x0;var _0x9e21ee=_0x547c[_0x40aa4e];return _0x9e21ee;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc547('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xc547('0x1'));var util=require(_0xc547('0x2'));var path=require(_0xc547('0x3'));var sox=require(_0xc547('0x4'));var csv=require('to-csv');var ejs=require(_0xc547('0x5'));var fs=require('fs');var fs_extra=require(_0xc547('0x6'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xc547('0x7'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xc547('0x8'));var Papa=require(_0xc547('0x9'));var Redis=require(_0xc547('0xa'));var authService=require(_0xc547('0xb'));var qs=require(_0xc547('0xc'));var as=require(_0xc547('0xd'));var hardwareService=require(_0xc547('0xe'));var logger=require('../../config/logger')(_0xc547('0xf'));var utils=require(_0xc547('0x10'));var config=require(_0xc547('0x11'));var licenseUtil=require('../../config/license/util');var db=require(_0xc547('0x12'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0xebb186,_0x182942){_0x182942=_0x182942||0xcc;return function(_0x1e7d75){if(_0x1e7d75){return _0xebb186[_0xc547('0x13')](_0x182942);}return _0xebb186[_0xc547('0x14')](_0x182942)[_0xc547('0x15')]();};}function respondWithResult(_0x1f592a,_0x4319d8){_0x4319d8=_0x4319d8||0xc8;return function(_0x49e55d){if(_0x49e55d){return _0x1f592a[_0xc547('0x14')](_0x4319d8)[_0xc547('0x16')](_0x49e55d);}};}function respondWithFilteredResult(_0x214be1,_0x106bfb){return function(_0x19acb3){if(_0x19acb3){var _0x44bf25=typeof _0x106bfb[_0xc547('0x17')]===_0xc547('0x18')&&typeof _0x106bfb[_0xc547('0x19')]===_0xc547('0x18');var _0x1a203e=_0x19acb3['count'];var _0xb71190=_0x44bf25?0x0:_0x106bfb[_0xc547('0x17')];var _0x130677=_0x44bf25?_0x19acb3[_0xc547('0x1a')]:_0x106bfb['offset']+_0x106bfb[_0xc547('0x19')];var _0x2403df;if(_0x130677>=_0x1a203e){_0x130677=_0x1a203e;_0x2403df=0xc8;}else{_0x2403df=0xce;}_0x214be1[_0xc547('0x14')](_0x2403df);return _0x214be1[_0xc547('0x1b')]('Content-Range',_0xb71190+'-'+_0x130677+'/'+_0x1a203e)[_0xc547('0x16')](_0x19acb3);}return null;};}function patchUpdates(_0x143ef2){return function(_0x32d9fa){try{jsonpatch[_0xc547('0x1c')](_0x32d9fa,_0x143ef2,!![]);}catch(_0x3b4fe4){return BPromise[_0xc547('0x1d')](_0x3b4fe4);}return _0x32d9fa['save']();};}function saveUpdates(_0x5c7999,_0x13f342){return function(_0x59ce15){if(_0x59ce15){return _0x59ce15['update'](_0x5c7999)[_0xc547('0x1e')](function(_0x98f1b7){return _0x98f1b7;});}return null;};}function removeEntity(_0x37f9f0,_0x3f3156){return function(_0x203d5f){if(_0x203d5f){return _0x203d5f[_0xc547('0x1f')]()['then'](function(){_0x37f9f0[_0xc547('0x14')](0xcc)[_0xc547('0x15')]();});}};}function handleEntityNotFound(_0x572457,_0xe173c6){return function(_0x29f156){if(!_0x29f156){_0x572457[_0xc547('0x13')](0x194);}return _0x29f156;};}function handleError(_0x4990de,_0x109916){_0x109916=_0x109916||0x1f4;return function(_0x3a8cd8){logger['error'](_0x3a8cd8[_0xc547('0x20')]);if(_0x3a8cd8[_0xc547('0x21')]){delete _0x3a8cd8[_0xc547('0x21')];}_0x4990de['status'](_0x109916)[_0xc547('0x22')](_0x3a8cd8);};}exports[_0xc547('0x23')]=function(_0xd51088,_0x1f510d){var _0x3b43a8={},_0x60e638={},_0x478a74={'count':0x0,'rows':[]};var _0x2bdd75=_['map'](db[_0xc547('0x24')][_0xc547('0x25')],function(_0x3a4c56){return{'name':_0x3a4c56['fieldName'],'type':_0x3a4c56['type']['key']};});_0x60e638[_0xc547('0x26')]=_[_0xc547('0x27')](_0x2bdd75,'name');_0x60e638[_0xc547('0x28')]=_[_0xc547('0x29')](_0xd51088[_0xc547('0x28')]);_0x60e638[_0xc547('0x2a')]=_[_0xc547('0x2b')](_0x60e638[_0xc547('0x26')],_0x60e638[_0xc547('0x28')]);_0x3b43a8[_0xc547('0x2c')]=_['intersection'](_0x60e638['model'],qs[_0xc547('0x2d')](_0xd51088['query'][_0xc547('0x2d')]));_0x3b43a8[_0xc547('0x2c')]=_0x3b43a8[_0xc547('0x2c')][_0xc547('0x2e')]?_0x3b43a8['attributes']:_0x60e638['model'];if(!_0xd51088[_0xc547('0x28')][_0xc547('0x2f')](_0xc547('0x30'))){_0x3b43a8[_0xc547('0x19')]=qs[_0xc547('0x19')](_0xd51088['query'][_0xc547('0x19')]);_0x3b43a8['offset']=qs['offset'](_0xd51088[_0xc547('0x28')]['offset']);}_0x3b43a8[_0xc547('0x31')]=qs[_0xc547('0x32')](_0xd51088[_0xc547('0x28')][_0xc547('0x32')]);_0x3b43a8['where']=qs['filters'](_[_0xc547('0x33')](_0xd51088[_0xc547('0x28')],_0x60e638[_0xc547('0x2a')]),_0x2bdd75);if(_0xd51088[_0xc547('0x28')]['filter']){_0x3b43a8[_0xc547('0x34')]=_['merge'](_0x3b43a8[_0xc547('0x34')],{'$or':_[_0xc547('0x27')](_0x2bdd75,function(_0x1678fd){if(_0x1678fd[_0xc547('0x35')]!==_0xc547('0x36')){var _0x4fc077={};_0x4fc077[_0x1678fd[_0xc547('0x21')]]={'$like':'%'+_0xd51088[_0xc547('0x28')][_0xc547('0x37')]+'%'};return _0x4fc077;}})});}_0x3b43a8=_['merge']({},_0x3b43a8,_0xd51088['options']);var _0x156a50={'where':_0x3b43a8[_0xc547('0x34')]};return db[_0xc547('0x24')][_0xc547('0x1a')](_0x156a50)[_0xc547('0x1e')](function(_0x5a76ae){_0x478a74[_0xc547('0x1a')]=_0x5a76ae;if(_0xd51088['query'][_0xc547('0x38')]){_0x3b43a8[_0xc547('0x39')]=[{'all':!![]}];}return db[_0xc547('0x24')][_0xc547('0x3a')](_0x3b43a8);})[_0xc547('0x1e')](function(_0x3e8654){_0x478a74[_0xc547('0x3b')]=_0x3e8654;return _0x478a74;})[_0xc547('0x1e')](respondWithFilteredResult(_0x1f510d,_0x3b43a8))['catch'](handleError(_0x1f510d,null));};exports[_0xc547('0x3c')]=function(_0x514532,_0xb76e38){var _0xf519b1={'raw':![],'where':{'id':_0x514532['params']['id']}},_0x4333a5={};_0x4333a5[_0xc547('0x26')]=_['keys'](db['FreshsalesAccount'][_0xc547('0x25')]);_0x4333a5[_0xc547('0x28')]=_[_0xc547('0x29')](_0x514532['query']);_0x4333a5[_0xc547('0x2a')]=_[_0xc547('0x2b')](_0x4333a5[_0xc547('0x26')],_0x4333a5[_0xc547('0x28')]);_0xf519b1['attributes']=_[_0xc547('0x2b')](_0x4333a5[_0xc547('0x26')],qs['fields'](_0x514532[_0xc547('0x28')][_0xc547('0x2d')]));_0xf519b1[_0xc547('0x2c')]=_0xf519b1[_0xc547('0x2c')][_0xc547('0x2e')]?_0xf519b1[_0xc547('0x2c')]:_0x4333a5[_0xc547('0x26')];if(_0x514532[_0xc547('0x28')][_0xc547('0x38')]){_0xf519b1[_0xc547('0x39')]=[{'all':!![]}];}_0xf519b1=_['merge']({},_0xf519b1,_0x514532['options']);return db[_0xc547('0x24')][_0xc547('0x3d')](_0xf519b1)[_0xc547('0x1e')](handleEntityNotFound(_0xb76e38,null))['then'](respondWithResult(_0xb76e38,null))[_0xc547('0x3e')](handleError(_0xb76e38,null));};exports[_0xc547('0x3f')]=function(_0x123574,_0x378dd5){return db[_0xc547('0x24')]['create'](_0x123574[_0xc547('0x40')],{})[_0xc547('0x1e')](respondWithResult(_0x378dd5,0xc9))['catch'](handleError(_0x378dd5,null));};exports[_0xc547('0x41')]=function(_0x41ae08,_0x2d6d7f){if(_0x41ae08[_0xc547('0x40')]['id']){delete _0x41ae08[_0xc547('0x40')]['id'];}return db['FreshsalesAccount']['find']({'where':{'id':_0x41ae08['params']['id']}})[_0xc547('0x1e')](handleEntityNotFound(_0x2d6d7f,null))[_0xc547('0x1e')](saveUpdates(_0x41ae08[_0xc547('0x40')],null))[_0xc547('0x1e')](respondWithResult(_0x2d6d7f,null))[_0xc547('0x3e')](handleError(_0x2d6d7f,null));};exports[_0xc547('0x1f')]=function(_0x2d7c88,_0x1e06f1){return db[_0xc547('0x24')][_0xc547('0x3d')]({'where':{'id':_0x2d7c88[_0xc547('0x42')]['id']}})['then'](handleEntityNotFound(_0x1e06f1,null))[_0xc547('0x1e')](removeEntity(_0x1e06f1,null))[_0xc547('0x3e')](handleError(_0x1e06f1,null));};exports[_0xc547('0x43')]=function(_0x388f68,_0x461494,_0x4f8574){var _0x3925d7={};var _0x38dbbf={};var _0xe89ef7;var _0xba937b;return db[_0xc547('0x24')][_0xc547('0x44')]({'where':{'id':_0x388f68[_0xc547('0x42')]['id']}})[_0xc547('0x1e')](handleEntityNotFound(_0x461494,null))['then'](function(_0x5341e3){if(_0x5341e3){_0xe89ef7=_0x5341e3;_0x38dbbf[_0xc547('0x26')]=_[_0xc547('0x29')](db[_0xc547('0x45')][_0xc547('0x25')]);_0x38dbbf[_0xc547('0x28')]=_[_0xc547('0x29')](_0x388f68[_0xc547('0x28')]);_0x38dbbf['filters']=_[_0xc547('0x2b')](_0x38dbbf[_0xc547('0x26')],_0x38dbbf['query']);_0x3925d7[_0xc547('0x2c')]=_[_0xc547('0x2b')](_0x38dbbf['model'],qs[_0xc547('0x2d')](_0x388f68['query'][_0xc547('0x2d')]));_0x3925d7[_0xc547('0x2c')]=_0x3925d7[_0xc547('0x2c')]['length']?_0x3925d7[_0xc547('0x2c')]:_0x38dbbf['model'];_0x3925d7[_0xc547('0x31')]=qs[_0xc547('0x32')](_0x388f68[_0xc547('0x28')]['sort']);_0x3925d7[_0xc547('0x34')]=qs[_0xc547('0x2a')](_[_0xc547('0x33')](_0x388f68['query'],_0x38dbbf['filters']));if(_0x388f68[_0xc547('0x28')][_0xc547('0x37')]){_0x3925d7[_0xc547('0x34')]=_[_0xc547('0x46')](_0x3925d7['where'],{'$or':_[_0xc547('0x27')](_0x3925d7[_0xc547('0x2c')],function(_0x1800d4){var _0x8e14d7={};_0x8e14d7[_0x1800d4]={'$like':'%'+_0x388f68[_0xc547('0x28')][_0xc547('0x37')]+'%'};return _0x8e14d7;})});}_0x3925d7=_[_0xc547('0x46')]({},_0x3925d7,_0x388f68[_0xc547('0x47')]);return _0xe89ef7[_0xc547('0x43')](_0x3925d7);}})[_0xc547('0x1e')](function(_0x21af97){if(_0x21af97){_0xba937b=_0x21af97[_0xc547('0x2e')];if(!_0x388f68['query'][_0xc547('0x2f')](_0xc547('0x30'))){_0x3925d7['limit']=qs['limit'](_0x388f68[_0xc547('0x28')][_0xc547('0x19')]);_0x3925d7[_0xc547('0x17')]=qs[_0xc547('0x17')](_0x388f68[_0xc547('0x28')]['offset']);}return _0xe89ef7[_0xc547('0x43')](_0x3925d7);}})[_0xc547('0x1e')](function(_0x4fca78){if(_0x4fca78){return _0x4fca78?{'count':_0xba937b,'rows':_0x4fca78}:null;}})[_0xc547('0x1e')](respondWithResult(_0x461494,null))[_0xc547('0x3e')](handleError(_0x461494,null));};exports[_0xc547('0x48')]=function(_0x11b261,_0x2ab720,_0x4e716d){if(_0x11b261[_0xc547('0x40')]['id']){delete _0x11b261[_0xc547('0x40')]['id'];}return db[_0xc547('0x24')][_0xc547('0x44')]({'where':{'id':_0x11b261['params']['id']}})[_0xc547('0x1e')](handleEntityNotFound(_0x2ab720,null))[_0xc547('0x1e')](function(_0x530de2){if(_0x530de2){_0x11b261[_0xc547('0x40')][_0xc547('0x49')]=_0x530de2['id'];_0x11b261[_0xc547('0x40')][_0xc547('0x4a')]=integrations['getSubjects'](_0x11b261[_0xc547('0x40')][_0xc547('0x4b')],_0x11b261[_0xc547('0x40')][_0xc547('0x35')]);_0x11b261['body'][_0xc547('0x4c')]=integrations['getDescriptions'](_0x11b261[_0xc547('0x40')][_0xc547('0x4b')],_0x11b261[_0xc547('0x40')][_0xc547('0x35')]);return db[_0xc547('0x45')][_0xc547('0x3f')](_0x11b261['body'],{'include':[{'model':db[_0xc547('0x4d')],'as':_0xc547('0x4a')},{'model':db[_0xc547('0x4d')],'as':_0xc547('0x4c')}]});}return null;})['then'](respondWithResult(_0x2ab720,null))[_0xc547('0x3e')](handleError(_0x2ab720,null));};exports[_0xc547('0x4e')]=function(_0x5c59fe,_0x3d8f4c,_0x256377){var _0x548176='';var _0x17d08d='';return db[_0xc547('0x24')]['findOne']({'where':{'id':_0x5c59fe['params']['id']},'attributes':['id',_0xc547('0x4f'),_0xc547('0x50'),_0xc547('0x51')]})[_0xc547('0x1e')](handleEntityNotFound(_0x3d8f4c,null))['then'](function(_0x3d62d4){if(_0x3d62d4){_0x17d08d=_0x3d62d4[_0xc547('0x4f')];_0x548176=_0x3d62d4[_0xc547('0x50')];var _0x3af035=_0x3d62d4[_0xc547('0x50')][_0xc547('0x52')](-0x1);if(_0x3af035==='/'){_0x548176=_0x548176[_0xc547('0x53')](0x0,_0x548176['lastIndexOf'](_0x3af035));}return rp({'method':_0xc547('0x54'),'uri':util[_0xc547('0x55')](_0xc547('0x56'),_0x548176,_0xc547('0x57')),'headers':{'Authorization':_0xc547('0x58')+_0x3d62d4[_0xc547('0x51')]},'json':!![]});}})[_0xc547('0x1e')](function(_0x3c2000){if(_0x3c2000){var _0x291360=_0x3c2000[_0xc547('0x59')];var _0xba02b1=![];var _0x3d34c7=null;for(_0x3d34c7=0x0;_0x3d34c7<_0x291360[_0xc547('0x2e')];_0x3d34c7++){if(_0x291360[_0x3d34c7][_0xc547('0x5a')]===_0x17d08d){_0xba02b1=!![];}}if(_0xba02b1){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})[_0xc547('0x1e')](respondWithResult(_0x3d8f4c,null))['catch'](function(_0x1a6883){var _0x48040c=_0x5c59fe['query'][_0xc547('0x5b')]?0x1f4:_0x1a6883['statusCode']||0x1f4;logger[_0xc547('0x5c')]('getFields,\x20%s,\x20%s,\x20%s',_0xc547('0x4e'),_0x48040c,JSON[_0xc547('0x5d')](_0x1a6883));delete _0x1a6883[_0xc547('0x21')];if(_0x48040c===0x191){_0x48040c=0x190;}_0x3d8f4c['status'](_0x48040c)[_0xc547('0x22')](_0x5c59fe[_0xc547('0x28')][_0xc547('0x5b')]?{'message':_0xc547('0x5e'),'statusCode':_0x1a6883['statusCode']}:_0x1a6883);});};