eda75aa42dc813aabc1b9978b5df001c06ce21b1
[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 _0x82b7=['getFields,\x20%s,\x20%s,\x20%s','send','Wrong\x20credentials','statusCode','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','sox','ejs','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','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','FreshsalesAccount,\x20%s,\x20%s','debug','FreshsalesAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','info','result','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','update','then','stack','name','index','map','FreshsalesAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','intersection','catch','create','body','find','FreshsalesConfiguration','where','getConfigurations','addConfiguration','findOne','AccountId','channel','FreshsalesField','Subjects','Descriptions','getFields','username','remoteUri','apiKey','substring','lastIndexOf','GET','format','%s%s','/api/selector/owners','Token\x20token=','users','email','Requested\x20Resource\x20not\x20Found'];(function(_0x264781,_0x27bf68){var _0x382f5a=function(_0x5628a9){while(--_0x5628a9){_0x264781['push'](_0x264781['shift']());}};_0x382f5a(++_0x27bf68);}(_0x82b7,0xec));var _0x782b=function(_0x185545,_0x3b53bf){_0x185545=_0x185545-0x0;var _0x4591b6=_0x82b7[_0x185545];return _0x4591b6;};'use strict';var pdf=require(_0x782b('0x0'));var emlformat=require(_0x782b('0x1'));var rimraf=require(_0x782b('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x782b('0x3'));var rp=require(_0x782b('0x4'));var moment=require(_0x782b('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x782b('0x6'));var util=require(_0x782b('0x7'));var path=require('path');var sox=require(_0x782b('0x8'));var csv=require('to-csv');var ejs=require(_0x782b('0x9'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x782b('0xa'));var jsforce=require(_0x782b('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x782b('0xc'));var Papa=require(_0x782b('0xd'));var Redis=require(_0x782b('0xe'));var authService=require(_0x782b('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x782b('0x10'));var logger=require(_0x782b('0x11'))(_0x782b('0x12'));var utils=require(_0x782b('0x13'));var config=require(_0x782b('0x14'));var db=require(_0x782b('0x15'))['db'];var integrations=require(_0x782b('0x16'));var jayson=require(_0x782b('0x17'));var client=jayson['client'][_0x782b('0x18')]({'port':0x232a});function checkPasswordPattern(_0x491df3,_0x56a277,_0x6becb2){if(_0x6becb2){var _0x12e9a4=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x12e9a4[_0x782b('0x19')](_0x56a277)){return _0x491df3;}else{throw new db[(_0x782b('0x1a'))][(_0x782b('0x1b'))](_0x782b('0x1c'));}}else{return _0x491df3;}}function respondWithRpcPromise(_0x58bd0d,_0x4a28b0,_0x165318,_0x388bd9){return new BPromise(function(_0x1c31fe,_0x2b05a8){var _0x577be4=_0x388bd9||client;return _0x577be4[_0x782b('0x1d')](_0x58bd0d,_0x165318)['then'](function(_0x3c3fb4){logger['info'](_0x782b('0x1e'),_0x4a28b0,'request\x20sent');logger[_0x782b('0x1f')](_0x782b('0x20'),_0x4a28b0,_0x782b('0x21'),JSON[_0x782b('0x22')](_0x3c3fb4));if(_0x3c3fb4[_0x782b('0x23')]){if(_0x3c3fb4[_0x782b('0x23')][_0x782b('0x24')]===0x1f4){logger[_0x782b('0x23')](_0x782b('0x1e'),_0x4a28b0,_0x3c3fb4[_0x782b('0x23')][_0x782b('0x25')]);return _0x2b05a8(_0x3c3fb4[_0x782b('0x23')]['message']);}logger['error'](_0x782b('0x1e'),_0x4a28b0,_0x3c3fb4[_0x782b('0x23')][_0x782b('0x25')]);return _0x1c31fe(_0x3c3fb4[_0x782b('0x23')][_0x782b('0x25')]);}else{logger[_0x782b('0x26')](_0x782b('0x1e'),_0x4a28b0,_0x782b('0x21'));_0x1c31fe(_0x3c3fb4[_0x782b('0x27')][_0x782b('0x25')]);}})['catch'](function(_0x40487c){logger['error'](_0x782b('0x1e'),_0x4a28b0,_0x40487c);_0x2b05a8(_0x40487c);});});}function respondWithStatusCode(_0xdb6e1e,_0x5902df){_0x5902df=_0x5902df||0xcc;return function(_0x47c84e){if(_0x47c84e){return _0xdb6e1e[_0x782b('0x28')](_0x5902df);}return _0xdb6e1e[_0x782b('0x29')](_0x5902df)['end']();};}function respondWithResult(_0x455815,_0x1617f8){_0x1617f8=_0x1617f8||0xc8;return function(_0x593a2c){if(_0x593a2c){return _0x455815[_0x782b('0x29')](_0x1617f8)[_0x782b('0x2a')](_0x593a2c);}};}function respondWithFilteredResult(_0x58f5a8,_0x36ff36){return function(_0x21a967){if(_0x21a967){var _0x5defac=_0x21a967[_0x782b('0x2b')],_0x556f8=_0x36ff36[_0x782b('0x2c')],_0x472fe1=_0x36ff36[_0x782b('0x2c')]+_0x36ff36[_0x782b('0x2d')],_0x504ed3;if(_0x472fe1>=_0x5defac){_0x472fe1=_0x5defac;_0x504ed3=0xc8;}else{_0x504ed3=0xce;}_0x58f5a8[_0x782b('0x29')](_0x504ed3);return _0x58f5a8[_0x782b('0x2e')](_0x782b('0x2f'),_0x556f8+'-'+_0x472fe1+'/'+_0x5defac)['json'](_0x21a967);}return null;};}function patchUpdates(_0x6b8704){return function(_0x4f3d36){try{jsonpatch[_0x782b('0x30')](_0x4f3d36,_0x6b8704,!![]);}catch(_0x5dbf9a){return BPromise[_0x782b('0x31')](_0x5dbf9a);}return _0x4f3d36['save']();};}function saveUpdates(_0x3f1598,_0xad068d){return function(_0x5f3f54){if(_0x5f3f54){return _0x5f3f54[_0x782b('0x32')](_0x3f1598)['then'](function(_0x3d9cf7){return _0x3d9cf7;});}return null;};}function removeEntity(_0x3edd04,_0x49fe5d){return function(_0x149854){if(_0x149854){return _0x149854['destroy']()[_0x782b('0x33')](function(){_0x3edd04[_0x782b('0x29')](0xcc)['end']();});}};}function handleEntityNotFound(_0x303c2e,_0x1914d0){return function(_0x181865){if(!_0x181865){_0x303c2e[_0x782b('0x28')](0x194);}return _0x181865;};}function handleError(_0x8fa739,_0x15d7b4){_0x15d7b4=_0x15d7b4||0x1f4;return function(_0x5e5cc5){logger[_0x782b('0x23')](_0x5e5cc5[_0x782b('0x34')]);if(_0x5e5cc5[_0x782b('0x35')]){delete _0x5e5cc5[_0x782b('0x35')];}_0x8fa739[_0x782b('0x29')](_0x15d7b4)['send'](_0x5e5cc5);};}exports[_0x782b('0x36')]=function(_0x2eb6c6,_0x5f1499){var _0x3459eb={},_0x3385c3={},_0x3ba98e={'count':0x0,'rows':[]};var _0x3c6951=_[_0x782b('0x37')](db[_0x782b('0x38')][_0x782b('0x39')],function(_0x3c9c55){return{'name':_0x3c9c55[_0x782b('0x3a')],'type':_0x3c9c55[_0x782b('0x3b')][_0x782b('0x3c')]};});_0x3385c3[_0x782b('0x3d')]=_['map'](_0x3c6951,'name');_0x3385c3[_0x782b('0x3e')]=_[_0x782b('0x3f')](_0x2eb6c6[_0x782b('0x3e')]);_0x3385c3[_0x782b('0x40')]=_['intersection'](_0x3385c3[_0x782b('0x3d')],_0x3385c3[_0x782b('0x3e')]);_0x3459eb[_0x782b('0x41')]=_['intersection'](_0x3385c3[_0x782b('0x3d')],qs[_0x782b('0x42')](_0x2eb6c6[_0x782b('0x3e')]['fields']));_0x3459eb[_0x782b('0x41')]=_0x3459eb['attributes'][_0x782b('0x43')]?_0x3459eb[_0x782b('0x41')]:_0x3385c3[_0x782b('0x3d')];if(!_0x2eb6c6[_0x782b('0x3e')][_0x782b('0x44')](_0x782b('0x45'))){_0x3459eb[_0x782b('0x2d')]=qs[_0x782b('0x2d')](_0x2eb6c6['query'][_0x782b('0x2d')]);_0x3459eb['offset']=qs[_0x782b('0x2c')](_0x2eb6c6['query']['offset']);}_0x3459eb[_0x782b('0x46')]=qs[_0x782b('0x47')](_0x2eb6c6[_0x782b('0x3e')]['sort']);_0x3459eb['where']=qs[_0x782b('0x40')](_[_0x782b('0x48')](_0x2eb6c6[_0x782b('0x3e')],_0x3385c3[_0x782b('0x40')]));if(_0x2eb6c6[_0x782b('0x3e')][_0x782b('0x49')]){_0x3459eb['where']=_[_0x782b('0x4a')](_0x3459eb['where'],{'$or':_[_0x782b('0x37')](_0x3c6951,function(_0x2b89fc){if(_0x2b89fc[_0x782b('0x3b')]!==_0x782b('0x4b')){var _0x4aa5d9={};_0x4aa5d9[_0x2b89fc[_0x782b('0x35')]]={'$like':'%'+_0x2eb6c6[_0x782b('0x3e')]['filter']+'%'};return _0x4aa5d9;}})});}_0x3459eb=_[_0x782b('0x4a')]({},_0x3459eb,_0x2eb6c6[_0x782b('0x4c')]);var _0x361631={'where':_0x3459eb['where']};return db['FreshsalesAccount'][_0x782b('0x2b')](_0x361631)[_0x782b('0x33')](function(_0x266bac){_0x3ba98e[_0x782b('0x2b')]=_0x266bac;if(_0x2eb6c6[_0x782b('0x3e')][_0x782b('0x4d')]){_0x3459eb[_0x782b('0x4e')]=[{'all':!![]}];}return db[_0x782b('0x38')][_0x782b('0x4f')](_0x3459eb);})[_0x782b('0x33')](function(_0x5ec018){_0x3ba98e[_0x782b('0x50')]=_0x5ec018;return _0x3ba98e;})[_0x782b('0x33')](respondWithFilteredResult(_0x5f1499,_0x3459eb))['catch'](handleError(_0x5f1499,null));};exports[_0x782b('0x51')]=function(_0xac09ec,_0x42c69d){var _0x3e439a={'raw':![],'where':{'id':_0xac09ec[_0x782b('0x52')]['id']}},_0x3f4476={};_0x3f4476[_0x782b('0x3d')]=_[_0x782b('0x3f')](db[_0x782b('0x38')][_0x782b('0x39')]);_0x3f4476[_0x782b('0x3e')]=_[_0x782b('0x3f')](_0xac09ec[_0x782b('0x3e')]);_0x3f4476['filters']=_[_0x782b('0x53')](_0x3f4476[_0x782b('0x3d')],_0x3f4476[_0x782b('0x3e')]);_0x3e439a[_0x782b('0x41')]=_[_0x782b('0x53')](_0x3f4476[_0x782b('0x3d')],qs['fields'](_0xac09ec[_0x782b('0x3e')]['fields']));_0x3e439a[_0x782b('0x41')]=_0x3e439a[_0x782b('0x41')]['length']?_0x3e439a[_0x782b('0x41')]:_0x3f4476[_0x782b('0x3d')];if(_0xac09ec['query'][_0x782b('0x4d')]){_0x3e439a[_0x782b('0x4e')]=[{'all':!![]}];}_0x3e439a=_[_0x782b('0x4a')]({},_0x3e439a,_0xac09ec[_0x782b('0x4c')]);return db[_0x782b('0x38')]['find'](_0x3e439a)[_0x782b('0x33')](handleEntityNotFound(_0x42c69d,null))[_0x782b('0x33')](respondWithResult(_0x42c69d,null))[_0x782b('0x54')](handleError(_0x42c69d,null));};exports[_0x782b('0x55')]=function(_0x4cb6a5,_0x23f055){return db[_0x782b('0x38')][_0x782b('0x55')](_0x4cb6a5[_0x782b('0x56')],{})[_0x782b('0x33')](respondWithResult(_0x23f055,0xc9))['catch'](handleError(_0x23f055,null));};exports[_0x782b('0x32')]=function(_0x17b5fa,_0x955ecd){if(_0x17b5fa[_0x782b('0x56')]['id']){delete _0x17b5fa[_0x782b('0x56')]['id'];}return db[_0x782b('0x38')][_0x782b('0x57')]({'where':{'id':_0x17b5fa['params']['id']}})[_0x782b('0x33')](handleEntityNotFound(_0x955ecd,null))[_0x782b('0x33')](saveUpdates(_0x17b5fa[_0x782b('0x56')],null))[_0x782b('0x33')](respondWithResult(_0x955ecd,null))[_0x782b('0x54')](handleError(_0x955ecd,null));};exports['destroy']=function(_0x3e8132,_0x34e3b5){return db[_0x782b('0x38')][_0x782b('0x57')]({'where':{'id':_0x3e8132[_0x782b('0x52')]['id']}})[_0x782b('0x33')](handleEntityNotFound(_0x34e3b5,null))[_0x782b('0x33')](removeEntity(_0x34e3b5,null))[_0x782b('0x54')](handleError(_0x34e3b5,null));};exports['getConfigurations']=function(_0xcefbbc,_0x59cd32,_0x125ed4){var _0x2fe693={};var _0x2612da={};var _0x48dde2;var _0x5bba4d;return db[_0x782b('0x38')]['findOne']({'where':{'id':_0xcefbbc[_0x782b('0x52')]['id']}})['then'](handleEntityNotFound(_0x59cd32,null))[_0x782b('0x33')](function(_0x212f7f){if(_0x212f7f){_0x48dde2=_0x212f7f;_0x2612da[_0x782b('0x3d')]=_[_0x782b('0x3f')](db[_0x782b('0x58')]['rawAttributes']);_0x2612da[_0x782b('0x3e')]=_[_0x782b('0x3f')](_0xcefbbc[_0x782b('0x3e')]);_0x2612da[_0x782b('0x40')]=_[_0x782b('0x53')](_0x2612da[_0x782b('0x3d')],_0x2612da[_0x782b('0x3e')]);_0x2fe693['attributes']=_['intersection'](_0x2612da[_0x782b('0x3d')],qs[_0x782b('0x42')](_0xcefbbc[_0x782b('0x3e')][_0x782b('0x42')]));_0x2fe693[_0x782b('0x41')]=_0x2fe693[_0x782b('0x41')][_0x782b('0x43')]?_0x2fe693['attributes']:_0x2612da[_0x782b('0x3d')];_0x2fe693[_0x782b('0x46')]=qs[_0x782b('0x47')](_0xcefbbc['query'][_0x782b('0x47')]);_0x2fe693[_0x782b('0x59')]=qs[_0x782b('0x40')](_[_0x782b('0x48')](_0xcefbbc[_0x782b('0x3e')],_0x2612da[_0x782b('0x40')]));if(_0xcefbbc['query'][_0x782b('0x49')]){_0x2fe693[_0x782b('0x59')]=_['merge'](_0x2fe693[_0x782b('0x59')],{'$or':_[_0x782b('0x37')](_0x2fe693[_0x782b('0x41')],function(_0x3a8e8a){var _0x3eeb7f={};_0x3eeb7f[_0x3a8e8a]={'$like':'%'+_0xcefbbc['query'][_0x782b('0x49')]+'%'};return _0x3eeb7f;})});}_0x2fe693=_['merge']({},_0x2fe693,_0xcefbbc[_0x782b('0x4c')]);return _0x48dde2['getConfigurations'](_0x2fe693);}})[_0x782b('0x33')](function(_0xab0483){if(_0xab0483){_0x5bba4d=_0xab0483[_0x782b('0x43')];if(!_0xcefbbc['query']['hasOwnProperty'](_0x782b('0x45'))){_0x2fe693[_0x782b('0x2d')]=qs[_0x782b('0x2d')](_0xcefbbc[_0x782b('0x3e')][_0x782b('0x2d')]);_0x2fe693[_0x782b('0x2c')]=qs['offset'](_0xcefbbc[_0x782b('0x3e')]['offset']);}return _0x48dde2[_0x782b('0x5a')](_0x2fe693);}})[_0x782b('0x33')](function(_0x3c507a){if(_0x3c507a){return _0x3c507a?{'count':_0x5bba4d,'rows':_0x3c507a}:null;}})[_0x782b('0x33')](respondWithResult(_0x59cd32,null))[_0x782b('0x54')](handleError(_0x59cd32,null));};exports[_0x782b('0x5b')]=function(_0x5da8f9,_0x4882bf,_0x35bc41){if(_0x5da8f9[_0x782b('0x56')]['id']){delete _0x5da8f9[_0x782b('0x56')]['id'];}return db[_0x782b('0x38')][_0x782b('0x5c')]({'where':{'id':_0x5da8f9[_0x782b('0x52')]['id']}})['then'](handleEntityNotFound(_0x4882bf,null))[_0x782b('0x33')](function(_0x326f3a){if(_0x326f3a){_0x5da8f9[_0x782b('0x56')][_0x782b('0x5d')]=_0x326f3a['id'];_0x5da8f9[_0x782b('0x56')]['Subjects']=integrations['getSubjects'](_0x5da8f9[_0x782b('0x56')][_0x782b('0x5e')],_0x5da8f9[_0x782b('0x56')][_0x782b('0x3b')]);_0x5da8f9[_0x782b('0x56')]['Descriptions']=integrations['getDescriptions'](_0x5da8f9['body'][_0x782b('0x5e')],_0x5da8f9[_0x782b('0x56')][_0x782b('0x3b')]);return db[_0x782b('0x58')][_0x782b('0x55')](_0x5da8f9[_0x782b('0x56')],{'include':[{'model':db[_0x782b('0x5f')],'as':_0x782b('0x60')},{'model':db[_0x782b('0x5f')],'as':_0x782b('0x61')}]});}return null;})[_0x782b('0x33')](respondWithResult(_0x4882bf,null))[_0x782b('0x54')](handleError(_0x4882bf,null));};exports[_0x782b('0x62')]=function(_0xcf8c31,_0x44d00c,_0x1bced3){var _0x1eb60a='';var _0xa02e8a='';return db[_0x782b('0x38')][_0x782b('0x5c')]({'where':{'id':_0xcf8c31['params']['id']},'attributes':['id',_0x782b('0x63'),_0x782b('0x64'),_0x782b('0x65')]})[_0x782b('0x33')](handleEntityNotFound(_0x44d00c,null))[_0x782b('0x33')](function(_0x4960f6){if(_0x4960f6){_0xa02e8a=_0x4960f6[_0x782b('0x63')];_0x1eb60a=_0x4960f6[_0x782b('0x64')];var _0x28a351=_0x4960f6[_0x782b('0x64')]['slice'](-0x1);if(_0x28a351==='/'){_0x1eb60a=_0x1eb60a[_0x782b('0x66')](0x0,_0x1eb60a[_0x782b('0x67')](_0x28a351));}return rp({'method':_0x782b('0x68'),'uri':util[_0x782b('0x69')](_0x782b('0x6a'),_0x1eb60a,_0x782b('0x6b')),'headers':{'Authorization':_0x782b('0x6c')+_0x4960f6[_0x782b('0x65')]},'json':!![]});}})['then'](function(_0x3e9d82){if(_0x3e9d82){var _0xac395b=_0x3e9d82[_0x782b('0x6d')];var _0x29e2b6=![];var _0xa8c26a=null;for(_0xa8c26a=0x0;_0xa8c26a<_0xac395b[_0x782b('0x43')];_0xa8c26a++){if(_0xac395b[_0xa8c26a][_0x782b('0x6e')]===_0xa02e8a){_0x29e2b6=!![];}}if(_0x29e2b6){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x782b('0x6f')});}}})[_0x782b('0x33')](respondWithResult(_0x44d00c,null))[_0x782b('0x54')](function(_0x3ca116){var _0x3603d2=_0xcf8c31[_0x782b('0x3e')][_0x782b('0x19')]?0x1f4:_0x3ca116['statusCode']||0x1f4;logger['error'](_0x782b('0x70'),'getFields',_0x3603d2,JSON[_0x782b('0x22')](_0x3ca116));delete _0x3ca116[_0x782b('0x35')];if(_0x3603d2===0x191){_0x3603d2=0x190;}_0x44d00c[_0x782b('0x29')](_0x3603d2)[_0x782b('0x71')](_0xcf8c31[_0x782b('0x3e')][_0x782b('0x19')]?{'message':_0x782b('0x72'),'statusCode':_0x3ca116[_0x782b('0x73')]}:_0x3ca116);});};