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 _0x2136=['username','slice','substring','lastIndexOf','GET','%s%s','/api/selector/owners','Token\x20token=','users','email','Requested\x20Resource\x20not\x20Found','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','http','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','FreshsalesAccount,\x20%s,\x20%s','request\x20sent','FreshsalesAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','stack','name','index','map','FreshsalesAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','show','params','options','find','create','body','getConfigurations','findOne','FreshsalesConfiguration','nolimit','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','FreshsalesField','getFields','remoteUri','apiKey'];(function(_0xa514f8,_0x8aed66){var _0x343faa=function(_0x4d480f){while(--_0x4d480f){_0xa514f8['push'](_0xa514f8['shift']());}};_0x343faa(++_0x8aed66);}(_0x2136,0xf0));var _0x6213=function(_0x3bceea,_0x58af75){_0x3bceea=_0x3bceea-0x0;var _0x30a8d3=_0x2136[_0x3bceea];return _0x30a8d3;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x6213('0x0'));var rimraf=require(_0x6213('0x1'));var zipdir=require(_0x6213('0x2'));var jsonpatch=require(_0x6213('0x3'));var rp=require('request-promise');var moment=require(_0x6213('0x4'));var BPromise=require(_0x6213('0x5'));var Mustache=require(_0x6213('0x6'));var util=require(_0x6213('0x7'));var path=require('path');var sox=require(_0x6213('0x8'));var csv=require(_0x6213('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x6213('0xa'));var squel=require(_0x6213('0xb'));var crypto=require(_0x6213('0xc'));var jsforce=require(_0x6213('0xd'));var deskjs=require(_0x6213('0xe'));var toCsv=require(_0x6213('0x9'));var querystring=require('querystring');var Papa=require(_0x6213('0xf'));var Redis=require(_0x6213('0x10'));var authService=require(_0x6213('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6213('0x12'));var logger=require(_0x6213('0x13'))(_0x6213('0x14'));var utils=require(_0x6213('0x15'));var config=require(_0x6213('0x16'));var db=require(_0x6213('0x17'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0x6213('0x18'));var client=jayson['client'][_0x6213('0x19')]({'port':0x232a});function checkPasswordPattern(_0x5db562,_0x410622,_0x20231b){if(_0x20231b){var _0x8c76fd=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x8c76fd[_0x6213('0x1a')](_0x410622)){return _0x5db562;}else{throw new db[(_0x6213('0x1b'))][(_0x6213('0x1c'))](_0x6213('0x1d'));}}else{return _0x5db562;}}function respondWithRpcPromise(_0x2e5978,_0x1a0678,_0x87687d,_0x4473b4){return new BPromise(function(_0x4d227a,_0x5ce9d4){var _0x16d1b7=_0x4473b4||client;return _0x16d1b7[_0x6213('0x1e')](_0x2e5978,_0x87687d)[_0x6213('0x1f')](function(_0x36fc1b){logger[_0x6213('0x20')](_0x6213('0x21'),_0x1a0678,_0x6213('0x22'));logger['debug'](_0x6213('0x23'),_0x1a0678,_0x6213('0x22'),JSON[_0x6213('0x24')](_0x36fc1b));if(_0x36fc1b[_0x6213('0x25')]){if(_0x36fc1b[_0x6213('0x25')]['code']===0x1f4){logger[_0x6213('0x25')](_0x6213('0x21'),_0x1a0678,_0x36fc1b[_0x6213('0x25')][_0x6213('0x26')]);return _0x5ce9d4(_0x36fc1b['error'][_0x6213('0x26')]);}logger[_0x6213('0x25')](_0x6213('0x21'),_0x1a0678,_0x36fc1b[_0x6213('0x25')]['message']);return _0x4d227a(_0x36fc1b['error'][_0x6213('0x26')]);}else{logger['info'](_0x6213('0x21'),_0x1a0678,_0x6213('0x22'));_0x4d227a(_0x36fc1b[_0x6213('0x27')][_0x6213('0x26')]);}})[_0x6213('0x28')](function(_0x3af862){logger['error'](_0x6213('0x21'),_0x1a0678,_0x3af862);_0x5ce9d4(_0x3af862);});});}function respondWithStatusCode(_0x4e19e6,_0x1d3f9b){_0x1d3f9b=_0x1d3f9b||0xcc;return function(_0x424c7f){if(_0x424c7f){return _0x4e19e6[_0x6213('0x29')](_0x1d3f9b);}return _0x4e19e6[_0x6213('0x2a')](_0x1d3f9b)[_0x6213('0x2b')]();};}function respondWithResult(_0x59f0c3,_0x33d3bc){_0x33d3bc=_0x33d3bc||0xc8;return function(_0x15363b){if(_0x15363b){return _0x59f0c3[_0x6213('0x2a')](_0x33d3bc)['json'](_0x15363b);}};}function respondWithFilteredResult(_0x1469a5,_0xf4eef2){return function(_0x5c953a){if(_0x5c953a){var _0x1f9ae1=_0x5c953a[_0x6213('0x2c')],_0x224ad3=_0xf4eef2[_0x6213('0x2d')],_0x3f90d4=_0xf4eef2[_0x6213('0x2d')]+_0xf4eef2[_0x6213('0x2e')],_0x49921e;if(_0x3f90d4>=_0x1f9ae1){_0x3f90d4=_0x1f9ae1;_0x49921e=0xc8;}else{_0x49921e=0xce;}_0x1469a5[_0x6213('0x2a')](_0x49921e);return _0x1469a5[_0x6213('0x2f')](_0x6213('0x30'),_0x224ad3+'-'+_0x3f90d4+'/'+_0x1f9ae1)[_0x6213('0x31')](_0x5c953a);}return null;};}function patchUpdates(_0x29fa48){return function(_0x1df55d){try{jsonpatch[_0x6213('0x32')](_0x1df55d,_0x29fa48,!![]);}catch(_0x5431c4){return BPromise[_0x6213('0x33')](_0x5431c4);}return _0x1df55d[_0x6213('0x34')]();};}function saveUpdates(_0x24210d,_0x378cdb){return function(_0x19c644){if(_0x19c644){return _0x19c644[_0x6213('0x35')](_0x24210d)[_0x6213('0x1f')](function(_0x1d1f83){return _0x1d1f83;});}return null;};}function removeEntity(_0x1c4562,_0x43e4f4){return function(_0x2e3b81){if(_0x2e3b81){return _0x2e3b81['destroy']()[_0x6213('0x1f')](function(){_0x1c4562[_0x6213('0x2a')](0xcc)[_0x6213('0x2b')]();});}};}function handleEntityNotFound(_0x4ed959,_0x1f1cf0){return function(_0x56cd9a){if(!_0x56cd9a){_0x4ed959[_0x6213('0x29')](0x194);}return _0x56cd9a;};}function handleError(_0xc02770,_0x2870a3){_0x2870a3=_0x2870a3||0x1f4;return function(_0x288433){logger['error'](_0x288433[_0x6213('0x36')]);if(_0x288433[_0x6213('0x37')]){delete _0x288433['name'];}_0xc02770[_0x6213('0x2a')](_0x2870a3)['send'](_0x288433);};}exports[_0x6213('0x38')]=function(_0x3e444f,_0x46a474){var _0xb92646={},_0x59d1ed={},_0x2a6dad={'count':0x0,'rows':[]};var _0x510703=_[_0x6213('0x39')](db[_0x6213('0x3a')][_0x6213('0x3b')],function(_0x47502a){return{'name':_0x47502a[_0x6213('0x3c')],'type':_0x47502a[_0x6213('0x3d')][_0x6213('0x3e')]};});_0x59d1ed[_0x6213('0x3f')]=_[_0x6213('0x39')](_0x510703,_0x6213('0x37'));_0x59d1ed[_0x6213('0x40')]=_[_0x6213('0x41')](_0x3e444f[_0x6213('0x40')]);_0x59d1ed[_0x6213('0x42')]=_[_0x6213('0x43')](_0x59d1ed[_0x6213('0x3f')],_0x59d1ed[_0x6213('0x40')]);_0xb92646[_0x6213('0x44')]=_[_0x6213('0x43')](_0x59d1ed[_0x6213('0x3f')],qs[_0x6213('0x45')](_0x3e444f['query']['fields']));_0xb92646[_0x6213('0x44')]=_0xb92646[_0x6213('0x44')][_0x6213('0x46')]?_0xb92646[_0x6213('0x44')]:_0x59d1ed[_0x6213('0x3f')];if(!_0x3e444f[_0x6213('0x40')]['hasOwnProperty']('nolimit')){_0xb92646[_0x6213('0x2e')]=qs['limit'](_0x3e444f[_0x6213('0x40')][_0x6213('0x2e')]);_0xb92646[_0x6213('0x2d')]=qs[_0x6213('0x2d')](_0x3e444f['query'][_0x6213('0x2d')]);}_0xb92646[_0x6213('0x47')]=qs[_0x6213('0x48')](_0x3e444f[_0x6213('0x40')][_0x6213('0x48')]);_0xb92646[_0x6213('0x49')]=qs['filters'](_[_0x6213('0x4a')](_0x3e444f[_0x6213('0x40')],_0x59d1ed[_0x6213('0x42')]),_0x510703);if(_0x3e444f[_0x6213('0x40')][_0x6213('0x4b')]){_0xb92646[_0x6213('0x49')]=_[_0x6213('0x4c')](_0xb92646['where'],{'$or':_[_0x6213('0x39')](_0x510703,function(_0xd17b4a){if(_0xd17b4a[_0x6213('0x3d')]!==_0x6213('0x4d')){var _0x58c63b={};_0x58c63b[_0xd17b4a[_0x6213('0x37')]]={'$like':'%'+_0x3e444f[_0x6213('0x40')][_0x6213('0x4b')]+'%'};return _0x58c63b;}})});}_0xb92646=_[_0x6213('0x4c')]({},_0xb92646,_0x3e444f['options']);var _0x3689dd={'where':_0xb92646[_0x6213('0x49')]};return db[_0x6213('0x3a')][_0x6213('0x2c')](_0x3689dd)[_0x6213('0x1f')](function(_0x41389d){_0x2a6dad[_0x6213('0x2c')]=_0x41389d;if(_0x3e444f[_0x6213('0x40')][_0x6213('0x4e')]){_0xb92646[_0x6213('0x4f')]=[{'all':!![]}];}return db[_0x6213('0x3a')][_0x6213('0x50')](_0xb92646);})[_0x6213('0x1f')](function(_0x3c6336){_0x2a6dad[_0x6213('0x51')]=_0x3c6336;return _0x2a6dad;})['then'](respondWithFilteredResult(_0x46a474,_0xb92646))[_0x6213('0x28')](handleError(_0x46a474,null));};exports[_0x6213('0x52')]=function(_0x3091b7,_0x405745){var _0x289b42={'raw':![],'where':{'id':_0x3091b7[_0x6213('0x53')]['id']}},_0x4c5d1a={};_0x4c5d1a['model']=_[_0x6213('0x41')](db[_0x6213('0x3a')][_0x6213('0x3b')]);_0x4c5d1a[_0x6213('0x40')]=_[_0x6213('0x41')](_0x3091b7[_0x6213('0x40')]);_0x4c5d1a['filters']=_[_0x6213('0x43')](_0x4c5d1a[_0x6213('0x3f')],_0x4c5d1a[_0x6213('0x40')]);_0x289b42[_0x6213('0x44')]=_[_0x6213('0x43')](_0x4c5d1a[_0x6213('0x3f')],qs[_0x6213('0x45')](_0x3091b7['query']['fields']));_0x289b42[_0x6213('0x44')]=_0x289b42[_0x6213('0x44')][_0x6213('0x46')]?_0x289b42[_0x6213('0x44')]:_0x4c5d1a[_0x6213('0x3f')];if(_0x3091b7[_0x6213('0x40')][_0x6213('0x4e')]){_0x289b42[_0x6213('0x4f')]=[{'all':!![]}];}_0x289b42=_[_0x6213('0x4c')]({},_0x289b42,_0x3091b7[_0x6213('0x54')]);return db['FreshsalesAccount'][_0x6213('0x55')](_0x289b42)[_0x6213('0x1f')](handleEntityNotFound(_0x405745,null))[_0x6213('0x1f')](respondWithResult(_0x405745,null))[_0x6213('0x28')](handleError(_0x405745,null));};exports[_0x6213('0x56')]=function(_0x307032,_0x25183c){return db[_0x6213('0x3a')]['create'](_0x307032[_0x6213('0x57')],{})[_0x6213('0x1f')](respondWithResult(_0x25183c,0xc9))['catch'](handleError(_0x25183c,null));};exports[_0x6213('0x35')]=function(_0x1e7f68,_0x2a11ce){if(_0x1e7f68[_0x6213('0x57')]['id']){delete _0x1e7f68[_0x6213('0x57')]['id'];}return db[_0x6213('0x3a')][_0x6213('0x55')]({'where':{'id':_0x1e7f68[_0x6213('0x53')]['id']}})['then'](handleEntityNotFound(_0x2a11ce,null))[_0x6213('0x1f')](saveUpdates(_0x1e7f68[_0x6213('0x57')],null))[_0x6213('0x1f')](respondWithResult(_0x2a11ce,null))[_0x6213('0x28')](handleError(_0x2a11ce,null));};exports['destroy']=function(_0x1d1a8f,_0x4482a7){return db[_0x6213('0x3a')][_0x6213('0x55')]({'where':{'id':_0x1d1a8f[_0x6213('0x53')]['id']}})['then'](handleEntityNotFound(_0x4482a7,null))[_0x6213('0x1f')](removeEntity(_0x4482a7,null))['catch'](handleError(_0x4482a7,null));};exports[_0x6213('0x58')]=function(_0x56f920,_0xa05500,_0x6f34f2){var _0x4fe16c={};var _0x5439f1={};var _0x213f23;var _0x15456c;return db[_0x6213('0x3a')][_0x6213('0x59')]({'where':{'id':_0x56f920[_0x6213('0x53')]['id']}})[_0x6213('0x1f')](handleEntityNotFound(_0xa05500,null))[_0x6213('0x1f')](function(_0x2246f6){if(_0x2246f6){_0x213f23=_0x2246f6;_0x5439f1[_0x6213('0x3f')]=_[_0x6213('0x41')](db[_0x6213('0x5a')]['rawAttributes']);_0x5439f1[_0x6213('0x40')]=_[_0x6213('0x41')](_0x56f920['query']);_0x5439f1[_0x6213('0x42')]=_[_0x6213('0x43')](_0x5439f1['model'],_0x5439f1[_0x6213('0x40')]);_0x4fe16c['attributes']=_[_0x6213('0x43')](_0x5439f1[_0x6213('0x3f')],qs[_0x6213('0x45')](_0x56f920[_0x6213('0x40')][_0x6213('0x45')]));_0x4fe16c['attributes']=_0x4fe16c[_0x6213('0x44')][_0x6213('0x46')]?_0x4fe16c[_0x6213('0x44')]:_0x5439f1[_0x6213('0x3f')];_0x4fe16c['order']=qs[_0x6213('0x48')](_0x56f920['query']['sort']);_0x4fe16c[_0x6213('0x49')]=qs[_0x6213('0x42')](_['pick'](_0x56f920[_0x6213('0x40')],_0x5439f1['filters']));if(_0x56f920['query']['filter']){_0x4fe16c[_0x6213('0x49')]=_['merge'](_0x4fe16c[_0x6213('0x49')],{'$or':_[_0x6213('0x39')](_0x4fe16c[_0x6213('0x44')],function(_0x402978){var _0x179643={};_0x179643[_0x402978]={'$like':'%'+_0x56f920[_0x6213('0x40')]['filter']+'%'};return _0x179643;})});}_0x4fe16c=_[_0x6213('0x4c')]({},_0x4fe16c,_0x56f920[_0x6213('0x54')]);return _0x213f23[_0x6213('0x58')](_0x4fe16c);}})[_0x6213('0x1f')](function(_0x9d3445){if(_0x9d3445){_0x15456c=_0x9d3445['length'];if(!_0x56f920[_0x6213('0x40')]['hasOwnProperty'](_0x6213('0x5b'))){_0x4fe16c['limit']=qs[_0x6213('0x2e')](_0x56f920[_0x6213('0x40')]['limit']);_0x4fe16c['offset']=qs[_0x6213('0x2d')](_0x56f920['query'][_0x6213('0x2d')]);}return _0x213f23['getConfigurations'](_0x4fe16c);}})[_0x6213('0x1f')](function(_0xea825a){if(_0xea825a){return _0xea825a?{'count':_0x15456c,'rows':_0xea825a}:null;}})[_0x6213('0x1f')](respondWithResult(_0xa05500,null))['catch'](handleError(_0xa05500,null));};exports[_0x6213('0x5c')]=function(_0x2d3c75,_0x5bfe63,_0x123cc5){if(_0x2d3c75[_0x6213('0x57')]['id']){delete _0x2d3c75[_0x6213('0x57')]['id'];}return db[_0x6213('0x3a')][_0x6213('0x59')]({'where':{'id':_0x2d3c75[_0x6213('0x53')]['id']}})[_0x6213('0x1f')](handleEntityNotFound(_0x5bfe63,null))[_0x6213('0x1f')](function(_0x4bdc6b){if(_0x4bdc6b){_0x2d3c75[_0x6213('0x57')][_0x6213('0x5d')]=_0x4bdc6b['id'];_0x2d3c75[_0x6213('0x57')][_0x6213('0x5e')]=integrations[_0x6213('0x5f')](_0x2d3c75['body'][_0x6213('0x60')],_0x2d3c75[_0x6213('0x57')][_0x6213('0x3d')]);_0x2d3c75[_0x6213('0x57')][_0x6213('0x61')]=integrations['getDescriptions'](_0x2d3c75[_0x6213('0x57')][_0x6213('0x60')],_0x2d3c75['body'][_0x6213('0x3d')]);return db['FreshsalesConfiguration'][_0x6213('0x56')](_0x2d3c75[_0x6213('0x57')],{'include':[{'model':db[_0x6213('0x62')],'as':_0x6213('0x5e')},{'model':db[_0x6213('0x62')],'as':_0x6213('0x61')}]});}return null;})['then'](respondWithResult(_0x5bfe63,null))[_0x6213('0x28')](handleError(_0x5bfe63,null));};exports[_0x6213('0x63')]=function(_0x5c47eb,_0x166839,_0x512b24){var _0x32d185='';var _0x56186c='';return db[_0x6213('0x3a')]['findOne']({'where':{'id':_0x5c47eb[_0x6213('0x53')]['id']},'attributes':['id','username',_0x6213('0x64'),_0x6213('0x65')]})[_0x6213('0x1f')](handleEntityNotFound(_0x166839,null))[_0x6213('0x1f')](function(_0x2cc324){if(_0x2cc324){_0x56186c=_0x2cc324[_0x6213('0x66')];_0x32d185=_0x2cc324[_0x6213('0x64')];var _0x31238e=_0x2cc324[_0x6213('0x64')][_0x6213('0x67')](-0x1);if(_0x31238e==='/'){_0x32d185=_0x32d185[_0x6213('0x68')](0x0,_0x32d185[_0x6213('0x69')](_0x31238e));}return rp({'method':_0x6213('0x6a'),'uri':util['format'](_0x6213('0x6b'),_0x32d185,_0x6213('0x6c')),'headers':{'Authorization':_0x6213('0x6d')+_0x2cc324[_0x6213('0x65')]},'json':!![]});}})[_0x6213('0x1f')](function(_0x2a5deb){if(_0x2a5deb){var _0x482528=_0x2a5deb[_0x6213('0x6e')];var _0x21d121=![];var _0x400f84=null;for(_0x400f84=0x0;_0x400f84<_0x482528[_0x6213('0x46')];_0x400f84++){if(_0x482528[_0x400f84][_0x6213('0x6f')]===_0x56186c){_0x21d121=!![];}}if(_0x21d121){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x6213('0x70')});}}})[_0x6213('0x1f')](respondWithResult(_0x166839,null))[_0x6213('0x28')](function(_0x2a15f0){var _0x5c066b=_0x5c47eb[_0x6213('0x40')][_0x6213('0x1a')]?0x1f4:_0x2a15f0['statusCode']||0x1f4;logger['error']('getFields,\x20%s,\x20%s,\x20%s',_0x6213('0x63'),_0x5c066b,JSON[_0x6213('0x24')](_0x2a15f0));delete _0x2a15f0['name'];if(_0x5c066b===0x191){_0x5c066b=0x190;}_0x166839[_0x6213('0x2a')](_0x5c066b)['send'](_0x5c47eb[_0x6213('0x40')][_0x6213('0x1a')]?{'message':_0x6213('0x71'),'statusCode':_0x2a15f0['statusCode']}:_0x2a15f0);});};