Built motion from commit (unavailable).|2.5.4
[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 _0xb701=['body','update','getConfigurations','FreshsalesConfiguration','sort','options','addConfiguration','AccountId','Descriptions','getDescriptions','channel','Subjects','getFields','findOne','remoteUri','apiKey','username','slice','substring','lastIndexOf','GET','format','/api/selector/owners','email','Requested\x20Resource\x20not\x20Found','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','html-pdf','eml-format','fast-json-patch','bluebird','mustache','util','path','sox','ejs','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../components/integrations/configuration','jayson/promise','client','http','test','Sequelize','ValidationError','request','then','info','FreshsalesAccount,\x20%s,\x20%s','request\x20sent','FreshsalesAccount,\x20%s,\x20%s,\x20%s','error','code','message','result','sendStatus','status','json','count','offset','limit','Content-Range','apply','reject','save','destroy','stack','name','send','index','map','FreshsalesAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','fields','hasOwnProperty','nolimit','order','where','pick','filter','merge','include','findAll','rows','catch','show','params','intersection','length','includeAll','find','create'];(function(_0x5b4e34,_0x20551e){var _0x3ca50d=function(_0x4f3f2c){while(--_0x4f3f2c){_0x5b4e34['push'](_0x5b4e34['shift']());}};_0x3ca50d(++_0x20551e);}(_0xb701,0x16d));var _0x1b70=function(_0x19950b,_0x53d0d7){_0x19950b=_0x19950b-0x0;var _0x3c6b41=_0xb701[_0x19950b];return _0x3c6b41;};'use strict';var pdf=require(_0x1b70('0x0'));var emlformat=require(_0x1b70('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x1b70('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x1b70('0x3'));var Mustache=require(_0x1b70('0x4'));var util=require(_0x1b70('0x5'));var path=require(_0x1b70('0x6'));var sox=require(_0x1b70('0x7'));var csv=require('to-csv');var ejs=require(_0x1b70('0x8'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x1b70('0x9'));var jsforce=require(_0x1b70('0xa'));var deskjs=require(_0x1b70('0xb'));var toCsv=require('to-csv');var querystring=require(_0x1b70('0xc'));var Papa=require(_0x1b70('0xd'));var Redis=require(_0x1b70('0xe'));var authService=require(_0x1b70('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x1b70('0x10'));var hardwareService=require(_0x1b70('0x11'));var logger=require('../../config/logger')(_0x1b70('0x12'));var utils=require(_0x1b70('0x13'));var config=require(_0x1b70('0x14'));var db=require('../../mysqldb')['db'];var integrations=require(_0x1b70('0x15'));var jayson=require(_0x1b70('0x16'));var client=jayson[_0x1b70('0x17')][_0x1b70('0x18')]({'port':0x232a});function checkPasswordPattern(_0x266100,_0x58ce0a,_0x472dc8){if(_0x472dc8){var _0x7551b9=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x7551b9[_0x1b70('0x19')](_0x58ce0a)){return _0x266100;}else{throw new db[(_0x1b70('0x1a'))][(_0x1b70('0x1b'))]('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x266100;}}function respondWithRpcPromise(_0x15c37f,_0x2490dd,_0x2bd600,_0x5f5a32){return new BPromise(function(_0x3d43f9,_0x4d3f30){var _0x4e54bc=_0x5f5a32||client;return _0x4e54bc[_0x1b70('0x1c')](_0x15c37f,_0x2bd600)[_0x1b70('0x1d')](function(_0x1c2e47){logger[_0x1b70('0x1e')](_0x1b70('0x1f'),_0x2490dd,_0x1b70('0x20'));logger['debug'](_0x1b70('0x21'),_0x2490dd,_0x1b70('0x20'),JSON['stringify'](_0x1c2e47));if(_0x1c2e47[_0x1b70('0x22')]){if(_0x1c2e47[_0x1b70('0x22')][_0x1b70('0x23')]===0x1f4){logger[_0x1b70('0x22')](_0x1b70('0x1f'),_0x2490dd,_0x1c2e47['error']['message']);return _0x4d3f30(_0x1c2e47['error'][_0x1b70('0x24')]);}logger['error'](_0x1b70('0x1f'),_0x2490dd,_0x1c2e47['error'][_0x1b70('0x24')]);return _0x3d43f9(_0x1c2e47['error'][_0x1b70('0x24')]);}else{logger[_0x1b70('0x1e')](_0x1b70('0x1f'),_0x2490dd,'request\x20sent');_0x3d43f9(_0x1c2e47[_0x1b70('0x25')][_0x1b70('0x24')]);}})['catch'](function(_0x9d5fd5){logger['error'](_0x1b70('0x1f'),_0x2490dd,_0x9d5fd5);_0x4d3f30(_0x9d5fd5);});});}function respondWithStatusCode(_0x4006f8,_0x56ffcf){_0x56ffcf=_0x56ffcf||0xcc;return function(_0x5bf1d0){if(_0x5bf1d0){return _0x4006f8[_0x1b70('0x26')](_0x56ffcf);}return _0x4006f8['status'](_0x56ffcf)['end']();};}function respondWithResult(_0x41bf5d,_0x5ed3d){_0x5ed3d=_0x5ed3d||0xc8;return function(_0x3297d9){if(_0x3297d9){return _0x41bf5d[_0x1b70('0x27')](_0x5ed3d)[_0x1b70('0x28')](_0x3297d9);}};}function respondWithFilteredResult(_0x9636ba,_0x4c781a){return function(_0x4d5251){if(_0x4d5251){var _0x3e5ca9=_0x4d5251[_0x1b70('0x29')],_0x14c209=_0x4c781a[_0x1b70('0x2a')],_0x3d4dba=_0x4c781a[_0x1b70('0x2a')]+_0x4c781a[_0x1b70('0x2b')],_0x4648c6;if(_0x3d4dba>=_0x3e5ca9){_0x3d4dba=_0x3e5ca9;_0x4648c6=0xc8;}else{_0x4648c6=0xce;}_0x9636ba[_0x1b70('0x27')](_0x4648c6);return _0x9636ba['set'](_0x1b70('0x2c'),_0x14c209+'-'+_0x3d4dba+'/'+_0x3e5ca9)['json'](_0x4d5251);}return null;};}function patchUpdates(_0x366994){return function(_0x2acba0){try{jsonpatch[_0x1b70('0x2d')](_0x2acba0,_0x366994,!![]);}catch(_0x147083){return BPromise[_0x1b70('0x2e')](_0x147083);}return _0x2acba0[_0x1b70('0x2f')]();};}function saveUpdates(_0x269ef5,_0x16ad28){return function(_0x560fc6){if(_0x560fc6){return _0x560fc6['update'](_0x269ef5)['then'](function(_0x41d800){return _0x41d800;});}return null;};}function removeEntity(_0x5c188c,_0x379f73){return function(_0xafb439){if(_0xafb439){return _0xafb439[_0x1b70('0x30')]()[_0x1b70('0x1d')](function(){_0x5c188c[_0x1b70('0x27')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2bba0a,_0x1aee8a){return function(_0x51081b){if(!_0x51081b){_0x2bba0a[_0x1b70('0x26')](0x194);}return _0x51081b;};}function handleError(_0x5418e5,_0x57d226){_0x57d226=_0x57d226||0x1f4;return function(_0x5b20e8){logger[_0x1b70('0x22')](_0x5b20e8[_0x1b70('0x31')]);if(_0x5b20e8['name']){delete _0x5b20e8[_0x1b70('0x32')];}_0x5418e5[_0x1b70('0x27')](_0x57d226)[_0x1b70('0x33')](_0x5b20e8);};}exports[_0x1b70('0x34')]=function(_0x4f90c1,_0x2d40ff){var _0x420e23={},_0x11ec08={},_0x1df04b={'count':0x0,'rows':[]};var _0x41fa8e=_[_0x1b70('0x35')](db[_0x1b70('0x36')][_0x1b70('0x37')],function(_0x973691){return{'name':_0x973691[_0x1b70('0x38')],'type':_0x973691[_0x1b70('0x39')][_0x1b70('0x3a')]};});_0x11ec08[_0x1b70('0x3b')]=_['map'](_0x41fa8e,_0x1b70('0x32'));_0x11ec08[_0x1b70('0x3c')]=_[_0x1b70('0x3d')](_0x4f90c1[_0x1b70('0x3c')]);_0x11ec08[_0x1b70('0x3e')]=_['intersection'](_0x11ec08['model'],_0x11ec08[_0x1b70('0x3c')]);_0x420e23[_0x1b70('0x3f')]=_['intersection'](_0x11ec08[_0x1b70('0x3b')],qs[_0x1b70('0x40')](_0x4f90c1[_0x1b70('0x3c')][_0x1b70('0x40')]));_0x420e23['attributes']=_0x420e23[_0x1b70('0x3f')]['length']?_0x420e23[_0x1b70('0x3f')]:_0x11ec08[_0x1b70('0x3b')];if(!_0x4f90c1[_0x1b70('0x3c')][_0x1b70('0x41')](_0x1b70('0x42'))){_0x420e23['limit']=qs[_0x1b70('0x2b')](_0x4f90c1['query'][_0x1b70('0x2b')]);_0x420e23[_0x1b70('0x2a')]=qs[_0x1b70('0x2a')](_0x4f90c1[_0x1b70('0x3c')][_0x1b70('0x2a')]);}_0x420e23[_0x1b70('0x43')]=qs['sort'](_0x4f90c1['query']['sort']);_0x420e23[_0x1b70('0x44')]=qs[_0x1b70('0x3e')](_[_0x1b70('0x45')](_0x4f90c1[_0x1b70('0x3c')],_0x11ec08[_0x1b70('0x3e')]),_0x41fa8e);if(_0x4f90c1[_0x1b70('0x3c')][_0x1b70('0x46')]){_0x420e23[_0x1b70('0x44')]=_['merge'](_0x420e23[_0x1b70('0x44')],{'$or':_[_0x1b70('0x35')](_0x41fa8e,function(_0x17755d){if(_0x17755d['type']!=='VIRTUAL'){var _0x19bafc={};_0x19bafc[_0x17755d[_0x1b70('0x32')]]={'$like':'%'+_0x4f90c1[_0x1b70('0x3c')][_0x1b70('0x46')]+'%'};return _0x19bafc;}})});}_0x420e23=_[_0x1b70('0x47')]({},_0x420e23,_0x4f90c1['options']);var _0x3ff3c={'where':_0x420e23[_0x1b70('0x44')]};return db[_0x1b70('0x36')][_0x1b70('0x29')](_0x3ff3c)[_0x1b70('0x1d')](function(_0x36940d){_0x1df04b['count']=_0x36940d;if(_0x4f90c1[_0x1b70('0x3c')]['includeAll']){_0x420e23[_0x1b70('0x48')]=[{'all':!![]}];}return db[_0x1b70('0x36')][_0x1b70('0x49')](_0x420e23);})[_0x1b70('0x1d')](function(_0x4caecc){_0x1df04b[_0x1b70('0x4a')]=_0x4caecc;return _0x1df04b;})[_0x1b70('0x1d')](respondWithFilteredResult(_0x2d40ff,_0x420e23))[_0x1b70('0x4b')](handleError(_0x2d40ff,null));};exports[_0x1b70('0x4c')]=function(_0xe4bf93,_0x1bbc5e){var _0x5027b1={'raw':![],'where':{'id':_0xe4bf93[_0x1b70('0x4d')]['id']}},_0xaa06c6={};_0xaa06c6[_0x1b70('0x3b')]=_['keys'](db[_0x1b70('0x36')][_0x1b70('0x37')]);_0xaa06c6['query']=_[_0x1b70('0x3d')](_0xe4bf93['query']);_0xaa06c6[_0x1b70('0x3e')]=_['intersection'](_0xaa06c6[_0x1b70('0x3b')],_0xaa06c6[_0x1b70('0x3c')]);_0x5027b1['attributes']=_[_0x1b70('0x4e')](_0xaa06c6[_0x1b70('0x3b')],qs['fields'](_0xe4bf93['query'][_0x1b70('0x40')]));_0x5027b1['attributes']=_0x5027b1[_0x1b70('0x3f')][_0x1b70('0x4f')]?_0x5027b1[_0x1b70('0x3f')]:_0xaa06c6['model'];if(_0xe4bf93[_0x1b70('0x3c')][_0x1b70('0x50')]){_0x5027b1[_0x1b70('0x48')]=[{'all':!![]}];}_0x5027b1=_[_0x1b70('0x47')]({},_0x5027b1,_0xe4bf93['options']);return db[_0x1b70('0x36')][_0x1b70('0x51')](_0x5027b1)[_0x1b70('0x1d')](handleEntityNotFound(_0x1bbc5e,null))[_0x1b70('0x1d')](respondWithResult(_0x1bbc5e,null))[_0x1b70('0x4b')](handleError(_0x1bbc5e,null));};exports['create']=function(_0x4b317a,_0x17f503){return db[_0x1b70('0x36')][_0x1b70('0x52')](_0x4b317a[_0x1b70('0x53')],{})[_0x1b70('0x1d')](respondWithResult(_0x17f503,0xc9))[_0x1b70('0x4b')](handleError(_0x17f503,null));};exports[_0x1b70('0x54')]=function(_0x247d5e,_0x29f999){if(_0x247d5e[_0x1b70('0x53')]['id']){delete _0x247d5e['body']['id'];}return db['FreshsalesAccount'][_0x1b70('0x51')]({'where':{'id':_0x247d5e[_0x1b70('0x4d')]['id']}})['then'](handleEntityNotFound(_0x29f999,null))['then'](saveUpdates(_0x247d5e[_0x1b70('0x53')],null))[_0x1b70('0x1d')](respondWithResult(_0x29f999,null))['catch'](handleError(_0x29f999,null));};exports['destroy']=function(_0xa67ed4,_0xd94045){return db['FreshsalesAccount'][_0x1b70('0x51')]({'where':{'id':_0xa67ed4[_0x1b70('0x4d')]['id']}})['then'](handleEntityNotFound(_0xd94045,null))[_0x1b70('0x1d')](removeEntity(_0xd94045,null))[_0x1b70('0x4b')](handleError(_0xd94045,null));};exports[_0x1b70('0x55')]=function(_0x5cb4ab,_0x3b6445,_0x279cfb){var _0x3a4bb7={};var _0x38abe4={};var _0x5399c4;var _0x2b153d;return db[_0x1b70('0x36')]['findOne']({'where':{'id':_0x5cb4ab[_0x1b70('0x4d')]['id']}})[_0x1b70('0x1d')](handleEntityNotFound(_0x3b6445,null))[_0x1b70('0x1d')](function(_0x2d862a){if(_0x2d862a){_0x5399c4=_0x2d862a;_0x38abe4[_0x1b70('0x3b')]=_[_0x1b70('0x3d')](db[_0x1b70('0x56')][_0x1b70('0x37')]);_0x38abe4['query']=_[_0x1b70('0x3d')](_0x5cb4ab[_0x1b70('0x3c')]);_0x38abe4['filters']=_[_0x1b70('0x4e')](_0x38abe4['model'],_0x38abe4[_0x1b70('0x3c')]);_0x3a4bb7[_0x1b70('0x3f')]=_[_0x1b70('0x4e')](_0x38abe4['model'],qs[_0x1b70('0x40')](_0x5cb4ab[_0x1b70('0x3c')][_0x1b70('0x40')]));_0x3a4bb7[_0x1b70('0x3f')]=_0x3a4bb7[_0x1b70('0x3f')][_0x1b70('0x4f')]?_0x3a4bb7[_0x1b70('0x3f')]:_0x38abe4[_0x1b70('0x3b')];_0x3a4bb7[_0x1b70('0x43')]=qs[_0x1b70('0x57')](_0x5cb4ab[_0x1b70('0x3c')][_0x1b70('0x57')]);_0x3a4bb7[_0x1b70('0x44')]=qs['filters'](_[_0x1b70('0x45')](_0x5cb4ab[_0x1b70('0x3c')],_0x38abe4[_0x1b70('0x3e')]));if(_0x5cb4ab[_0x1b70('0x3c')][_0x1b70('0x46')]){_0x3a4bb7['where']=_['merge'](_0x3a4bb7[_0x1b70('0x44')],{'$or':_[_0x1b70('0x35')](_0x3a4bb7[_0x1b70('0x3f')],function(_0x4648ad){var _0x75d35d={};_0x75d35d[_0x4648ad]={'$like':'%'+_0x5cb4ab[_0x1b70('0x3c')][_0x1b70('0x46')]+'%'};return _0x75d35d;})});}_0x3a4bb7=_[_0x1b70('0x47')]({},_0x3a4bb7,_0x5cb4ab[_0x1b70('0x58')]);return _0x5399c4[_0x1b70('0x55')](_0x3a4bb7);}})['then'](function(_0x543a52){if(_0x543a52){_0x2b153d=_0x543a52[_0x1b70('0x4f')];if(!_0x5cb4ab['query']['hasOwnProperty']('nolimit')){_0x3a4bb7[_0x1b70('0x2b')]=qs[_0x1b70('0x2b')](_0x5cb4ab[_0x1b70('0x3c')][_0x1b70('0x2b')]);_0x3a4bb7['offset']=qs[_0x1b70('0x2a')](_0x5cb4ab[_0x1b70('0x3c')][_0x1b70('0x2a')]);}return _0x5399c4[_0x1b70('0x55')](_0x3a4bb7);}})[_0x1b70('0x1d')](function(_0x37a0cf){if(_0x37a0cf){return _0x37a0cf?{'count':_0x2b153d,'rows':_0x37a0cf}:null;}})[_0x1b70('0x1d')](respondWithResult(_0x3b6445,null))[_0x1b70('0x4b')](handleError(_0x3b6445,null));};exports[_0x1b70('0x59')]=function(_0x3024ea,_0x4936e5,_0x2e55c0){if(_0x3024ea[_0x1b70('0x53')]['id']){delete _0x3024ea[_0x1b70('0x53')]['id'];}return db[_0x1b70('0x36')]['findOne']({'where':{'id':_0x3024ea[_0x1b70('0x4d')]['id']}})['then'](handleEntityNotFound(_0x4936e5,null))['then'](function(_0x1f1cfd){if(_0x1f1cfd){_0x3024ea[_0x1b70('0x53')][_0x1b70('0x5a')]=_0x1f1cfd['id'];_0x3024ea[_0x1b70('0x53')]['Subjects']=integrations['getSubjects'](_0x3024ea[_0x1b70('0x53')]['channel'],_0x3024ea[_0x1b70('0x53')][_0x1b70('0x39')]);_0x3024ea['body'][_0x1b70('0x5b')]=integrations[_0x1b70('0x5c')](_0x3024ea[_0x1b70('0x53')][_0x1b70('0x5d')],_0x3024ea['body'][_0x1b70('0x39')]);return db['FreshsalesConfiguration'][_0x1b70('0x52')](_0x3024ea[_0x1b70('0x53')],{'include':[{'model':db['FreshsalesField'],'as':_0x1b70('0x5e')},{'model':db['FreshsalesField'],'as':_0x1b70('0x5b')}]});}return null;})['then'](respondWithResult(_0x4936e5,null))[_0x1b70('0x4b')](handleError(_0x4936e5,null));};exports[_0x1b70('0x5f')]=function(_0x4fc05a,_0x3d3ca6,_0x5c81d5){var _0x342240='';var _0xd7bfcc='';return db['FreshsalesAccount'][_0x1b70('0x60')]({'where':{'id':_0x4fc05a[_0x1b70('0x4d')]['id']},'attributes':['id','username',_0x1b70('0x61'),_0x1b70('0x62')]})[_0x1b70('0x1d')](handleEntityNotFound(_0x3d3ca6,null))[_0x1b70('0x1d')](function(_0x538707){if(_0x538707){_0xd7bfcc=_0x538707[_0x1b70('0x63')];_0x342240=_0x538707[_0x1b70('0x61')];var _0x511eca=_0x538707[_0x1b70('0x61')][_0x1b70('0x64')](-0x1);if(_0x511eca==='/'){_0x342240=_0x342240[_0x1b70('0x65')](0x0,_0x342240[_0x1b70('0x66')](_0x511eca));}return rp({'method':_0x1b70('0x67'),'uri':util[_0x1b70('0x68')]('%s%s',_0x342240,_0x1b70('0x69')),'headers':{'Authorization':'Token\x20token='+_0x538707['apiKey']},'json':!![]});}})['then'](function(_0x4309dc){if(_0x4309dc){var _0x44b205=_0x4309dc['users'];var _0x707c37=![];var _0x490407=null;for(_0x490407=0x0;_0x490407<_0x44b205[_0x1b70('0x4f')];_0x490407++){if(_0x44b205[_0x490407][_0x1b70('0x6a')]===_0xd7bfcc){_0x707c37=!![];}}if(_0x707c37){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x1b70('0x6b')});}}})[_0x1b70('0x1d')](respondWithResult(_0x3d3ca6,null))[_0x1b70('0x4b')](function(_0x4dddef){var _0x3f9b02=_0x4fc05a[_0x1b70('0x3c')]['test']?0x1f4:_0x4dddef[_0x1b70('0x6c')]||0x1f4;logger[_0x1b70('0x22')](_0x1b70('0x6d'),'getFields',_0x3f9b02,JSON[_0x1b70('0x6e')](_0x4dddef));delete _0x4dddef[_0x1b70('0x32')];if(_0x3f9b02===0x191){_0x3f9b02=0x190;}_0x3d3ca6['status'](_0x3f9b02)[_0x1b70('0x33')](_0x4fc05a[_0x1b70('0x3c')][_0x1b70('0x19')]?{'message':_0x1b70('0x6f'),'statusCode':_0x4dddef[_0x1b70('0x6c')]}:_0x4dddef);});};