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 _0xd873=['VIRTUAL','options','includeAll','include','findAll','rows','params','keys','find','create','body','getConfigurations','findOne','pick','nolimit','addConfiguration','Subjects','getSubjects','Descriptions','getDescriptions','channel','FreshsalesConfiguration','FreshsalesField','username','remoteUri','apiKey','slice','substring','lastIndexOf','format','%s%s','/api/selector/owners','Token\x20token=','users','Requested\x20Resource\x20not\x20Found','test','statusCode','getFields','Wrong\x20credentials','html-pdf','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../mysqldb','../../components/integrations/configuration','client','http','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','debug','FreshsalesAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','status','count','offset','limit','set','Content-Range','json','apply','reject','save','update','destroy','sendStatus','stack','name','send','map','FreshsalesAccount','rawAttributes','fieldName','type','key','model','query','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','filters','filter','merge'];(function(_0x126558,_0x143c9a){var _0x1f6d14=function(_0x2b0eea){while(--_0x2b0eea){_0x126558['push'](_0x126558['shift']());}};_0x1f6d14(++_0x143c9a);}(_0xd873,0x9c));var _0x3d87=function(_0x4ebab3,_0x49e7c2){_0x4ebab3=_0x4ebab3-0x0;var _0x340fe7=_0xd873[_0x4ebab3];return _0x340fe7;};'use strict';var pdf=require(_0x3d87('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x3d87('0x1'));var zipdir=require(_0x3d87('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3d87('0x3'));var moment=require(_0x3d87('0x4'));var BPromise=require(_0x3d87('0x5'));var Mustache=require(_0x3d87('0x6'));var util=require(_0x3d87('0x7'));var path=require(_0x3d87('0x8'));var sox=require('sox');var csv=require(_0x3d87('0x9'));var ejs=require(_0x3d87('0xa'));var fs=require('fs');var _=require(_0x3d87('0xb'));var squel=require(_0x3d87('0xc'));var crypto=require(_0x3d87('0xd'));var jsforce=require(_0x3d87('0xe'));var deskjs=require(_0x3d87('0xf'));var toCsv=require(_0x3d87('0x9'));var querystring=require(_0x3d87('0x10'));var Papa=require(_0x3d87('0x11'));var Redis=require(_0x3d87('0x12'));var authService=require(_0x3d87('0x13'));var qs=require(_0x3d87('0x14'));var as=require(_0x3d87('0x15'));var hardwareService=require(_0x3d87('0x16'));var logger=require('../../config/logger')(_0x3d87('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x3d87('0x18'))['db'];var integrations=require(_0x3d87('0x19'));var jayson=require('jayson/promise');var client=jayson[_0x3d87('0x1a')][_0x3d87('0x1b')]({'port':0x232a});function checkPasswordPattern(_0x1d7460,_0x30f1d5,_0x19f4d1){if(_0x19f4d1){var _0x4f87c1=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x4f87c1['test'](_0x30f1d5)){return _0x1d7460;}else{throw new db[(_0x3d87('0x1c'))][(_0x3d87('0x1d'))](_0x3d87('0x1e'));}}else{return _0x1d7460;}}function respondWithRpcPromise(_0x43c14e,_0x2db352,_0x135274,_0x174f31){return new BPromise(function(_0x454629,_0x469bab){var _0x3c4a85=_0x174f31||client;return _0x3c4a85[_0x3d87('0x1f')](_0x43c14e,_0x135274)[_0x3d87('0x20')](function(_0x1c366e){logger[_0x3d87('0x21')](_0x3d87('0x22'),_0x2db352,_0x3d87('0x23'));logger[_0x3d87('0x24')](_0x3d87('0x25'),_0x2db352,_0x3d87('0x23'),JSON[_0x3d87('0x26')](_0x1c366e));if(_0x1c366e[_0x3d87('0x27')]){if(_0x1c366e['error'][_0x3d87('0x28')]===0x1f4){logger['error'](_0x3d87('0x22'),_0x2db352,_0x1c366e['error']['message']);return _0x469bab(_0x1c366e['error'][_0x3d87('0x29')]);}logger['error'](_0x3d87('0x22'),_0x2db352,_0x1c366e[_0x3d87('0x27')]['message']);return _0x454629(_0x1c366e[_0x3d87('0x27')]['message']);}else{logger[_0x3d87('0x21')](_0x3d87('0x22'),_0x2db352,_0x3d87('0x23'));_0x454629(_0x1c366e['result'][_0x3d87('0x29')]);}})[_0x3d87('0x2a')](function(_0xcf8929){logger[_0x3d87('0x27')]('FreshsalesAccount,\x20%s,\x20%s',_0x2db352,_0xcf8929);_0x469bab(_0xcf8929);});});}function respondWithStatusCode(_0x1c33f8,_0x21a12d){_0x21a12d=_0x21a12d||0xcc;return function(_0x847eca){if(_0x847eca){return _0x1c33f8['sendStatus'](_0x21a12d);}return _0x1c33f8[_0x3d87('0x2b')](_0x21a12d)['end']();};}function respondWithResult(_0x21a01a,_0x55f748){_0x55f748=_0x55f748||0xc8;return function(_0x1d381e){if(_0x1d381e){return _0x21a01a[_0x3d87('0x2b')](_0x55f748)['json'](_0x1d381e);}};}function respondWithFilteredResult(_0x5579fb,_0x1f18e9){return function(_0x2c6603){if(_0x2c6603){var _0x3f3007=_0x2c6603[_0x3d87('0x2c')],_0x3d31e9=_0x1f18e9[_0x3d87('0x2d')],_0x40db38=_0x1f18e9[_0x3d87('0x2d')]+_0x1f18e9[_0x3d87('0x2e')],_0x3981e7;if(_0x40db38>=_0x3f3007){_0x40db38=_0x3f3007;_0x3981e7=0xc8;}else{_0x3981e7=0xce;}_0x5579fb[_0x3d87('0x2b')](_0x3981e7);return _0x5579fb[_0x3d87('0x2f')](_0x3d87('0x30'),_0x3d31e9+'-'+_0x40db38+'/'+_0x3f3007)[_0x3d87('0x31')](_0x2c6603);}return null;};}function patchUpdates(_0x293b82){return function(_0x4f05e1){try{jsonpatch[_0x3d87('0x32')](_0x4f05e1,_0x293b82,!![]);}catch(_0x446525){return BPromise[_0x3d87('0x33')](_0x446525);}return _0x4f05e1[_0x3d87('0x34')]();};}function saveUpdates(_0x28f719,_0x7f61c1){return function(_0x44d4cc){if(_0x44d4cc){return _0x44d4cc[_0x3d87('0x35')](_0x28f719)[_0x3d87('0x20')](function(_0x5a2614){return _0x5a2614;});}return null;};}function removeEntity(_0x28fa4c,_0x63c4d1){return function(_0x31706c){if(_0x31706c){return _0x31706c[_0x3d87('0x36')]()[_0x3d87('0x20')](function(){_0x28fa4c['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x260d9f,_0xe556f){return function(_0xfd0aa6){if(!_0xfd0aa6){_0x260d9f[_0x3d87('0x37')](0x194);}return _0xfd0aa6;};}function handleError(_0x4e9a4b,_0x5284f9){_0x5284f9=_0x5284f9||0x1f4;return function(_0x2bbab7){logger[_0x3d87('0x27')](_0x2bbab7[_0x3d87('0x38')]);if(_0x2bbab7[_0x3d87('0x39')]){delete _0x2bbab7[_0x3d87('0x39')];}_0x4e9a4b['status'](_0x5284f9)[_0x3d87('0x3a')](_0x2bbab7);};}exports['index']=function(_0x1046d1,_0x455076){var _0x5e87aa={},_0x332b8e={},_0x580618={'count':0x0,'rows':[]};var _0x3994c7=_[_0x3d87('0x3b')](db[_0x3d87('0x3c')][_0x3d87('0x3d')],function(_0x482794){return{'name':_0x482794[_0x3d87('0x3e')],'type':_0x482794[_0x3d87('0x3f')][_0x3d87('0x40')]};});_0x332b8e[_0x3d87('0x41')]=_['map'](_0x3994c7,_0x3d87('0x39'));_0x332b8e[_0x3d87('0x42')]=_['keys'](_0x1046d1[_0x3d87('0x42')]);_0x332b8e['filters']=_[_0x3d87('0x43')](_0x332b8e[_0x3d87('0x41')],_0x332b8e[_0x3d87('0x42')]);_0x5e87aa['attributes']=_[_0x3d87('0x43')](_0x332b8e[_0x3d87('0x41')],qs[_0x3d87('0x44')](_0x1046d1[_0x3d87('0x42')][_0x3d87('0x44')]));_0x5e87aa['attributes']=_0x5e87aa[_0x3d87('0x45')][_0x3d87('0x46')]?_0x5e87aa[_0x3d87('0x45')]:_0x332b8e[_0x3d87('0x41')];if(!_0x1046d1[_0x3d87('0x42')][_0x3d87('0x47')]('nolimit')){_0x5e87aa[_0x3d87('0x2e')]=qs[_0x3d87('0x2e')](_0x1046d1[_0x3d87('0x42')][_0x3d87('0x2e')]);_0x5e87aa[_0x3d87('0x2d')]=qs[_0x3d87('0x2d')](_0x1046d1[_0x3d87('0x42')]['offset']);}_0x5e87aa[_0x3d87('0x48')]=qs[_0x3d87('0x49')](_0x1046d1[_0x3d87('0x42')][_0x3d87('0x49')]);_0x5e87aa[_0x3d87('0x4a')]=qs[_0x3d87('0x4b')](_['pick'](_0x1046d1[_0x3d87('0x42')],_0x332b8e[_0x3d87('0x4b')]),_0x3994c7);if(_0x1046d1[_0x3d87('0x42')][_0x3d87('0x4c')]){_0x5e87aa['where']=_[_0x3d87('0x4d')](_0x5e87aa[_0x3d87('0x4a')],{'$or':_['map'](_0x3994c7,function(_0x492ba5){if(_0x492ba5[_0x3d87('0x3f')]!==_0x3d87('0x4e')){var _0x152b8a={};_0x152b8a[_0x492ba5['name']]={'$like':'%'+_0x1046d1[_0x3d87('0x42')][_0x3d87('0x4c')]+'%'};return _0x152b8a;}})});}_0x5e87aa=_[_0x3d87('0x4d')]({},_0x5e87aa,_0x1046d1[_0x3d87('0x4f')]);var _0x14d751={'where':_0x5e87aa['where']};return db[_0x3d87('0x3c')][_0x3d87('0x2c')](_0x14d751)[_0x3d87('0x20')](function(_0x53eee6){_0x580618[_0x3d87('0x2c')]=_0x53eee6;if(_0x1046d1[_0x3d87('0x42')][_0x3d87('0x50')]){_0x5e87aa[_0x3d87('0x51')]=[{'all':!![]}];}return db[_0x3d87('0x3c')][_0x3d87('0x52')](_0x5e87aa);})[_0x3d87('0x20')](function(_0x1bb2de){_0x580618[_0x3d87('0x53')]=_0x1bb2de;return _0x580618;})[_0x3d87('0x20')](respondWithFilteredResult(_0x455076,_0x5e87aa))[_0x3d87('0x2a')](handleError(_0x455076,null));};exports['show']=function(_0x52a46d,_0xd7ab35){var _0x341283={'raw':![],'where':{'id':_0x52a46d[_0x3d87('0x54')]['id']}},_0x412bf0={};_0x412bf0[_0x3d87('0x41')]=_[_0x3d87('0x55')](db[_0x3d87('0x3c')][_0x3d87('0x3d')]);_0x412bf0[_0x3d87('0x42')]=_[_0x3d87('0x55')](_0x52a46d[_0x3d87('0x42')]);_0x412bf0[_0x3d87('0x4b')]=_['intersection'](_0x412bf0['model'],_0x412bf0[_0x3d87('0x42')]);_0x341283[_0x3d87('0x45')]=_['intersection'](_0x412bf0[_0x3d87('0x41')],qs[_0x3d87('0x44')](_0x52a46d[_0x3d87('0x42')][_0x3d87('0x44')]));_0x341283[_0x3d87('0x45')]=_0x341283[_0x3d87('0x45')][_0x3d87('0x46')]?_0x341283[_0x3d87('0x45')]:_0x412bf0[_0x3d87('0x41')];if(_0x52a46d[_0x3d87('0x42')]['includeAll']){_0x341283[_0x3d87('0x51')]=[{'all':!![]}];}_0x341283=_['merge']({},_0x341283,_0x52a46d[_0x3d87('0x4f')]);return db[_0x3d87('0x3c')][_0x3d87('0x56')](_0x341283)['then'](handleEntityNotFound(_0xd7ab35,null))[_0x3d87('0x20')](respondWithResult(_0xd7ab35,null))[_0x3d87('0x2a')](handleError(_0xd7ab35,null));};exports[_0x3d87('0x57')]=function(_0x4f182d,_0x244511){return db[_0x3d87('0x3c')]['create'](_0x4f182d['body'],{})['then'](respondWithResult(_0x244511,0xc9))['catch'](handleError(_0x244511,null));};exports[_0x3d87('0x35')]=function(_0x51a687,_0x3b762d){if(_0x51a687['body']['id']){delete _0x51a687[_0x3d87('0x58')]['id'];}return db['FreshsalesAccount'][_0x3d87('0x56')]({'where':{'id':_0x51a687[_0x3d87('0x54')]['id']}})[_0x3d87('0x20')](handleEntityNotFound(_0x3b762d,null))[_0x3d87('0x20')](saveUpdates(_0x51a687[_0x3d87('0x58')],null))['then'](respondWithResult(_0x3b762d,null))[_0x3d87('0x2a')](handleError(_0x3b762d,null));};exports[_0x3d87('0x36')]=function(_0x71ea1,_0x5a6b3f){return db['FreshsalesAccount'][_0x3d87('0x56')]({'where':{'id':_0x71ea1[_0x3d87('0x54')]['id']}})[_0x3d87('0x20')](handleEntityNotFound(_0x5a6b3f,null))[_0x3d87('0x20')](removeEntity(_0x5a6b3f,null))[_0x3d87('0x2a')](handleError(_0x5a6b3f,null));};exports[_0x3d87('0x59')]=function(_0x5c5af2,_0x3cc81f,_0x47fc0f){var _0x17900b={};var _0x5ee4ae={};var _0x4f1d03;var _0x2e5a4b;return db[_0x3d87('0x3c')][_0x3d87('0x5a')]({'where':{'id':_0x5c5af2['params']['id']}})[_0x3d87('0x20')](handleEntityNotFound(_0x3cc81f,null))[_0x3d87('0x20')](function(_0x581c1e){if(_0x581c1e){_0x4f1d03=_0x581c1e;_0x5ee4ae[_0x3d87('0x41')]=_[_0x3d87('0x55')](db['FreshsalesConfiguration'][_0x3d87('0x3d')]);_0x5ee4ae['query']=_[_0x3d87('0x55')](_0x5c5af2[_0x3d87('0x42')]);_0x5ee4ae['filters']=_[_0x3d87('0x43')](_0x5ee4ae[_0x3d87('0x41')],_0x5ee4ae[_0x3d87('0x42')]);_0x17900b['attributes']=_[_0x3d87('0x43')](_0x5ee4ae['model'],qs[_0x3d87('0x44')](_0x5c5af2[_0x3d87('0x42')][_0x3d87('0x44')]));_0x17900b['attributes']=_0x17900b[_0x3d87('0x45')]['length']?_0x17900b[_0x3d87('0x45')]:_0x5ee4ae[_0x3d87('0x41')];_0x17900b[_0x3d87('0x48')]=qs[_0x3d87('0x49')](_0x5c5af2['query'][_0x3d87('0x49')]);_0x17900b[_0x3d87('0x4a')]=qs[_0x3d87('0x4b')](_[_0x3d87('0x5b')](_0x5c5af2['query'],_0x5ee4ae['filters']));if(_0x5c5af2[_0x3d87('0x42')][_0x3d87('0x4c')]){_0x17900b[_0x3d87('0x4a')]=_[_0x3d87('0x4d')](_0x17900b[_0x3d87('0x4a')],{'$or':_['map'](_0x17900b[_0x3d87('0x45')],function(_0x313103){var _0x45b5b9={};_0x45b5b9[_0x313103]={'$like':'%'+_0x5c5af2[_0x3d87('0x42')]['filter']+'%'};return _0x45b5b9;})});}_0x17900b=_[_0x3d87('0x4d')]({},_0x17900b,_0x5c5af2['options']);return _0x4f1d03['getConfigurations'](_0x17900b);}})[_0x3d87('0x20')](function(_0x23ed0b){if(_0x23ed0b){_0x2e5a4b=_0x23ed0b[_0x3d87('0x46')];if(!_0x5c5af2[_0x3d87('0x42')][_0x3d87('0x47')](_0x3d87('0x5c'))){_0x17900b['limit']=qs['limit'](_0x5c5af2[_0x3d87('0x42')]['limit']);_0x17900b[_0x3d87('0x2d')]=qs[_0x3d87('0x2d')](_0x5c5af2[_0x3d87('0x42')][_0x3d87('0x2d')]);}return _0x4f1d03['getConfigurations'](_0x17900b);}})[_0x3d87('0x20')](function(_0x57f87e){if(_0x57f87e){return _0x57f87e?{'count':_0x2e5a4b,'rows':_0x57f87e}:null;}})[_0x3d87('0x20')](respondWithResult(_0x3cc81f,null))[_0x3d87('0x2a')](handleError(_0x3cc81f,null));};exports[_0x3d87('0x5d')]=function(_0x151a6a,_0x2f7fe4,_0x398591){if(_0x151a6a[_0x3d87('0x58')]['id']){delete _0x151a6a[_0x3d87('0x58')]['id'];}return db[_0x3d87('0x3c')]['findOne']({'where':{'id':_0x151a6a[_0x3d87('0x54')]['id']}})[_0x3d87('0x20')](handleEntityNotFound(_0x2f7fe4,null))[_0x3d87('0x20')](function(_0x5d5a26){if(_0x5d5a26){_0x151a6a['body']['AccountId']=_0x5d5a26['id'];_0x151a6a[_0x3d87('0x58')][_0x3d87('0x5e')]=integrations[_0x3d87('0x5f')](_0x151a6a[_0x3d87('0x58')]['channel'],_0x151a6a['body'][_0x3d87('0x3f')]);_0x151a6a['body'][_0x3d87('0x60')]=integrations[_0x3d87('0x61')](_0x151a6a['body'][_0x3d87('0x62')],_0x151a6a[_0x3d87('0x58')]['type']);return db[_0x3d87('0x63')][_0x3d87('0x57')](_0x151a6a[_0x3d87('0x58')],{'include':[{'model':db[_0x3d87('0x64')],'as':_0x3d87('0x5e')},{'model':db[_0x3d87('0x64')],'as':_0x3d87('0x60')}]});}return null;})[_0x3d87('0x20')](respondWithResult(_0x2f7fe4,null))[_0x3d87('0x2a')](handleError(_0x2f7fe4,null));};exports['getFields']=function(_0x261ed9,_0x45f4c1,_0x258983){var _0x5b8520='';var _0x4c7d91='';return db[_0x3d87('0x3c')][_0x3d87('0x5a')]({'where':{'id':_0x261ed9[_0x3d87('0x54')]['id']},'attributes':['id',_0x3d87('0x65'),_0x3d87('0x66'),_0x3d87('0x67')]})['then'](handleEntityNotFound(_0x45f4c1,null))[_0x3d87('0x20')](function(_0x11e15d){if(_0x11e15d){_0x4c7d91=_0x11e15d['username'];_0x5b8520=_0x11e15d['remoteUri'];var _0x767d5e=_0x11e15d[_0x3d87('0x66')][_0x3d87('0x68')](-0x1);if(_0x767d5e==='/'){_0x5b8520=_0x5b8520[_0x3d87('0x69')](0x0,_0x5b8520[_0x3d87('0x6a')](_0x767d5e));}return rp({'method':'GET','uri':util[_0x3d87('0x6b')](_0x3d87('0x6c'),_0x5b8520,_0x3d87('0x6d')),'headers':{'Authorization':_0x3d87('0x6e')+_0x11e15d[_0x3d87('0x67')]},'json':!![]});}})[_0x3d87('0x20')](function(_0x502b5c){if(_0x502b5c){var _0x2a1bca=_0x502b5c[_0x3d87('0x6f')];var _0xe2b3ce=![];var _0x3b66d3=null;for(_0x3b66d3=0x0;_0x3b66d3<_0x2a1bca[_0x3d87('0x46')];_0x3b66d3++){if(_0x2a1bca[_0x3b66d3]['email']===_0x4c7d91){_0xe2b3ce=!![];}}if(_0xe2b3ce){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x3d87('0x70')});}}})[_0x3d87('0x20')](respondWithResult(_0x45f4c1,null))[_0x3d87('0x2a')](function(_0x2f450e){var _0x322910=_0x261ed9['query'][_0x3d87('0x71')]?0x1f4:_0x2f450e[_0x3d87('0x72')]||0x1f4;logger[_0x3d87('0x27')]('getFields,\x20%s,\x20%s,\x20%s',_0x3d87('0x73'),_0x322910,JSON[_0x3d87('0x26')](_0x2f450e));delete _0x2f450e[_0x3d87('0x39')];if(_0x322910===0x191){_0x322910=0x190;}_0x45f4c1['status'](_0x322910)[_0x3d87('0x3a')](_0x261ed9[_0x3d87('0x42')][_0x3d87('0x71')]?{'message':_0x3d87('0x74'),'statusCode':_0x2f450e[_0x3d87('0x72')]}:_0x2f450e);});};