Built motion from commit (unavailable).|2.4.21
[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 _0x4dba=['slice','substring','lastIndexOf','GET','format','%s%s','/api/selector/owners','users','email','Requested\x20Resource\x20not\x20Found','statusCode','Wrong\x20credentials','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','mustache','util','sox','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','jayson/promise','client','http','test','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','info','FreshsalesAccount,\x20%s,\x20%s','debug','FreshsalesAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','request\x20sent','result','catch','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','name','map','FreshsalesAccount','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','sort','where','filter','VIRTUAL','options','includeAll','findAll','rows','show','params','rawAttributes','include','merge','find','body','getConfigurations','findOne','order','pick','hasOwnProperty','nolimit','addConfiguration','Subjects','getSubjects','channel','Descriptions','getDescriptions','FreshsalesConfiguration','create','FreshsalesField','getFields','remoteUri','apiKey'];(function(_0x241207,_0x39a50c){var _0x26f4ce=function(_0x5b9184){while(--_0x5b9184){_0x241207['push'](_0x241207['shift']());}};_0x26f4ce(++_0x39a50c);}(_0x4dba,0x15f));var _0xa4db=function(_0x1061fb,_0x548073){_0x1061fb=_0x1061fb-0x0;var _0x370e8f=_0x4dba[_0x1061fb];return _0x370e8f;};'use strict';var pdf=require(_0xa4db('0x0'));var emlformat=require(_0xa4db('0x1'));var rimraf=require(_0xa4db('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa4db('0x3'));var rp=require(_0xa4db('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xa4db('0x5'));var util=require(_0xa4db('0x6'));var path=require('path');var sox=require(_0xa4db('0x7'));var csv=require(_0xa4db('0x8'));var ejs=require(_0xa4db('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xa4db('0xa'));var crypto=require(_0xa4db('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xa4db('0xc'));var toCsv=require(_0xa4db('0x8'));var querystring=require(_0xa4db('0xd'));var Papa=require(_0xa4db('0xe'));var Redis=require(_0xa4db('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xa4db('0x10'));var as=require(_0xa4db('0x11'));var hardwareService=require(_0xa4db('0x12'));var logger=require('../../config/logger')(_0xa4db('0x13'));var utils=require('../../config/utils');var config=require(_0xa4db('0x14'));var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0xa4db('0x15'));var client=jayson[_0xa4db('0x16')][_0xa4db('0x17')]({'port':0x232a});function checkPasswordPattern(_0x3d84cf,_0x25b5f7,_0xf802c3){if(_0xf802c3){var _0x660672=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x660672[_0xa4db('0x18')](_0x25b5f7)){return _0x3d84cf;}else{throw new db['Sequelize'][(_0xa4db('0x19'))](_0xa4db('0x1a'));}}else{return _0x3d84cf;}}function respondWithRpcPromise(_0xa35a91,_0x2a7feb,_0x42508c,_0x5dcb99){return new BPromise(function(_0x10fc23,_0x1704f2){var _0xd5e36e=_0x5dcb99||client;return _0xd5e36e[_0xa4db('0x1b')](_0xa35a91,_0x42508c)['then'](function(_0x56b598){logger[_0xa4db('0x1c')](_0xa4db('0x1d'),_0x2a7feb,'request\x20sent');logger[_0xa4db('0x1e')](_0xa4db('0x1f'),_0x2a7feb,'request\x20sent',JSON[_0xa4db('0x20')](_0x56b598));if(_0x56b598['error']){if(_0x56b598[_0xa4db('0x21')][_0xa4db('0x22')]===0x1f4){logger[_0xa4db('0x21')](_0xa4db('0x1d'),_0x2a7feb,_0x56b598['error'][_0xa4db('0x23')]);return _0x1704f2(_0x56b598[_0xa4db('0x21')][_0xa4db('0x23')]);}logger[_0xa4db('0x21')](_0xa4db('0x1d'),_0x2a7feb,_0x56b598[_0xa4db('0x21')]['message']);return _0x10fc23(_0x56b598['error'][_0xa4db('0x23')]);}else{logger[_0xa4db('0x1c')](_0xa4db('0x1d'),_0x2a7feb,_0xa4db('0x24'));_0x10fc23(_0x56b598[_0xa4db('0x25')]['message']);}})[_0xa4db('0x26')](function(_0x518ff8){logger['error'](_0xa4db('0x1d'),_0x2a7feb,_0x518ff8);_0x1704f2(_0x518ff8);});});}function respondWithStatusCode(_0x904be,_0xd7ed50){_0xd7ed50=_0xd7ed50||0xcc;return function(_0x18d9b8){if(_0x18d9b8){return _0x904be[_0xa4db('0x27')](_0xd7ed50);}return _0x904be[_0xa4db('0x28')](_0xd7ed50)[_0xa4db('0x29')]();};}function respondWithResult(_0xc1cc87,_0x870fd0){_0x870fd0=_0x870fd0||0xc8;return function(_0x33fa38){if(_0x33fa38){return _0xc1cc87['status'](_0x870fd0)['json'](_0x33fa38);}};}function respondWithFilteredResult(_0x2f5948,_0x6d6761){return function(_0xe9f2ff){if(_0xe9f2ff){var _0x5705ad=_0xe9f2ff[_0xa4db('0x2a')],_0x5c2f91=_0x6d6761[_0xa4db('0x2b')],_0x22f5e5=_0x6d6761[_0xa4db('0x2b')]+_0x6d6761[_0xa4db('0x2c')],_0x3ac4b;if(_0x22f5e5>=_0x5705ad){_0x22f5e5=_0x5705ad;_0x3ac4b=0xc8;}else{_0x3ac4b=0xce;}_0x2f5948[_0xa4db('0x28')](_0x3ac4b);return _0x2f5948[_0xa4db('0x2d')](_0xa4db('0x2e'),_0x5c2f91+'-'+_0x22f5e5+'/'+_0x5705ad)[_0xa4db('0x2f')](_0xe9f2ff);}return null;};}function patchUpdates(_0x2453f8){return function(_0x141ee3){try{jsonpatch[_0xa4db('0x30')](_0x141ee3,_0x2453f8,!![]);}catch(_0x34287f){return BPromise[_0xa4db('0x31')](_0x34287f);}return _0x141ee3[_0xa4db('0x32')]();};}function saveUpdates(_0x24d678,_0x3e6066){return function(_0x54e34f){if(_0x54e34f){return _0x54e34f[_0xa4db('0x33')](_0x24d678)[_0xa4db('0x34')](function(_0x3c3178){return _0x3c3178;});}return null;};}function removeEntity(_0x12d006,_0x42dfb3){return function(_0x5502d6){if(_0x5502d6){return _0x5502d6[_0xa4db('0x35')]()[_0xa4db('0x34')](function(){_0x12d006['status'](0xcc)[_0xa4db('0x29')]();});}};}function handleEntityNotFound(_0x154f9e,_0x2377a4){return function(_0x3657c5){if(!_0x3657c5){_0x154f9e[_0xa4db('0x27')](0x194);}return _0x3657c5;};}function handleError(_0x59cfb3,_0x42a47e){_0x42a47e=_0x42a47e||0x1f4;return function(_0x38a170){logger[_0xa4db('0x21')](_0x38a170['stack']);if(_0x38a170['name']){delete _0x38a170[_0xa4db('0x36')];}_0x59cfb3[_0xa4db('0x28')](_0x42a47e)['send'](_0x38a170);};}exports['index']=function(_0x665ea5,_0x51b347){var _0xbd8c2d={},_0x4a9cfb={},_0x5cf3f4={'count':0x0,'rows':[]};var _0x27e666=_[_0xa4db('0x37')](db[_0xa4db('0x38')]['rawAttributes'],function(_0x7f61e2){return{'name':_0x7f61e2[_0xa4db('0x39')],'type':_0x7f61e2[_0xa4db('0x3a')][_0xa4db('0x3b')]};});_0x4a9cfb[_0xa4db('0x3c')]=_[_0xa4db('0x37')](_0x27e666,'name');_0x4a9cfb[_0xa4db('0x3d')]=_[_0xa4db('0x3e')](_0x665ea5[_0xa4db('0x3d')]);_0x4a9cfb[_0xa4db('0x3f')]=_[_0xa4db('0x40')](_0x4a9cfb[_0xa4db('0x3c')],_0x4a9cfb[_0xa4db('0x3d')]);_0xbd8c2d[_0xa4db('0x41')]=_[_0xa4db('0x40')](_0x4a9cfb[_0xa4db('0x3c')],qs[_0xa4db('0x42')](_0x665ea5[_0xa4db('0x3d')]['fields']));_0xbd8c2d[_0xa4db('0x41')]=_0xbd8c2d['attributes'][_0xa4db('0x43')]?_0xbd8c2d['attributes']:_0x4a9cfb[_0xa4db('0x3c')];if(!_0x665ea5[_0xa4db('0x3d')]['hasOwnProperty']('nolimit')){_0xbd8c2d[_0xa4db('0x2c')]=qs[_0xa4db('0x2c')](_0x665ea5[_0xa4db('0x3d')]['limit']);_0xbd8c2d[_0xa4db('0x2b')]=qs[_0xa4db('0x2b')](_0x665ea5[_0xa4db('0x3d')][_0xa4db('0x2b')]);}_0xbd8c2d['order']=qs[_0xa4db('0x44')](_0x665ea5['query']['sort']);_0xbd8c2d[_0xa4db('0x45')]=qs['filters'](_['pick'](_0x665ea5[_0xa4db('0x3d')],_0x4a9cfb[_0xa4db('0x3f')]));if(_0x665ea5[_0xa4db('0x3d')][_0xa4db('0x46')]){_0xbd8c2d[_0xa4db('0x45')]=_['merge'](_0xbd8c2d[_0xa4db('0x45')],{'$or':_[_0xa4db('0x37')](_0x27e666,function(_0xee35a6){if(_0xee35a6['type']!==_0xa4db('0x47')){var _0x61f938={};_0x61f938[_0xee35a6[_0xa4db('0x36')]]={'$like':'%'+_0x665ea5[_0xa4db('0x3d')][_0xa4db('0x46')]+'%'};return _0x61f938;}})});}_0xbd8c2d=_['merge']({},_0xbd8c2d,_0x665ea5[_0xa4db('0x48')]);var _0x1cefa5={'where':_0xbd8c2d[_0xa4db('0x45')]};return db[_0xa4db('0x38')]['count'](_0x1cefa5)[_0xa4db('0x34')](function(_0x4caf7b){_0x5cf3f4[_0xa4db('0x2a')]=_0x4caf7b;if(_0x665ea5[_0xa4db('0x3d')][_0xa4db('0x49')]){_0xbd8c2d['include']=[{'all':!![]}];}return db[_0xa4db('0x38')][_0xa4db('0x4a')](_0xbd8c2d);})[_0xa4db('0x34')](function(_0xa0b3ee){_0x5cf3f4[_0xa4db('0x4b')]=_0xa0b3ee;return _0x5cf3f4;})[_0xa4db('0x34')](respondWithFilteredResult(_0x51b347,_0xbd8c2d))[_0xa4db('0x26')](handleError(_0x51b347,null));};exports[_0xa4db('0x4c')]=function(_0x9ca165,_0x1f532f){var _0x5cd0e1={'raw':![],'where':{'id':_0x9ca165[_0xa4db('0x4d')]['id']}},_0x36f97f={};_0x36f97f[_0xa4db('0x3c')]=_[_0xa4db('0x3e')](db[_0xa4db('0x38')][_0xa4db('0x4e')]);_0x36f97f[_0xa4db('0x3d')]=_['keys'](_0x9ca165[_0xa4db('0x3d')]);_0x36f97f[_0xa4db('0x3f')]=_[_0xa4db('0x40')](_0x36f97f[_0xa4db('0x3c')],_0x36f97f[_0xa4db('0x3d')]);_0x5cd0e1[_0xa4db('0x41')]=_[_0xa4db('0x40')](_0x36f97f['model'],qs['fields'](_0x9ca165['query'][_0xa4db('0x42')]));_0x5cd0e1['attributes']=_0x5cd0e1[_0xa4db('0x41')][_0xa4db('0x43')]?_0x5cd0e1[_0xa4db('0x41')]:_0x36f97f['model'];if(_0x9ca165['query'][_0xa4db('0x49')]){_0x5cd0e1[_0xa4db('0x4f')]=[{'all':!![]}];}_0x5cd0e1=_[_0xa4db('0x50')]({},_0x5cd0e1,_0x9ca165[_0xa4db('0x48')]);return db['FreshsalesAccount'][_0xa4db('0x51')](_0x5cd0e1)['then'](handleEntityNotFound(_0x1f532f,null))[_0xa4db('0x34')](respondWithResult(_0x1f532f,null))['catch'](handleError(_0x1f532f,null));};exports['create']=function(_0xed97b5,_0x1389bf){return db[_0xa4db('0x38')]['create'](_0xed97b5[_0xa4db('0x52')],{})['then'](respondWithResult(_0x1389bf,0xc9))[_0xa4db('0x26')](handleError(_0x1389bf,null));};exports[_0xa4db('0x33')]=function(_0x2045fb,_0x460786){if(_0x2045fb[_0xa4db('0x52')]['id']){delete _0x2045fb[_0xa4db('0x52')]['id'];}return db[_0xa4db('0x38')][_0xa4db('0x51')]({'where':{'id':_0x2045fb[_0xa4db('0x4d')]['id']}})['then'](handleEntityNotFound(_0x460786,null))[_0xa4db('0x34')](saveUpdates(_0x2045fb[_0xa4db('0x52')],null))[_0xa4db('0x34')](respondWithResult(_0x460786,null))[_0xa4db('0x26')](handleError(_0x460786,null));};exports['destroy']=function(_0x1ce133,_0x2239ce){return db[_0xa4db('0x38')]['find']({'where':{'id':_0x1ce133[_0xa4db('0x4d')]['id']}})[_0xa4db('0x34')](handleEntityNotFound(_0x2239ce,null))[_0xa4db('0x34')](removeEntity(_0x2239ce,null))[_0xa4db('0x26')](handleError(_0x2239ce,null));};exports[_0xa4db('0x53')]=function(_0x39c4d0,_0xf9955e,_0x53bbaf){var _0x2dd0ca={};var _0x3a0cdb={};var _0x3a0c9f;var _0x3424d7;return db[_0xa4db('0x38')][_0xa4db('0x54')]({'where':{'id':_0x39c4d0[_0xa4db('0x4d')]['id']}})[_0xa4db('0x34')](handleEntityNotFound(_0xf9955e,null))['then'](function(_0x5af4e6){if(_0x5af4e6){_0x3a0c9f=_0x5af4e6;_0x3a0cdb[_0xa4db('0x3c')]=_[_0xa4db('0x3e')](db['FreshsalesConfiguration'][_0xa4db('0x4e')]);_0x3a0cdb[_0xa4db('0x3d')]=_[_0xa4db('0x3e')](_0x39c4d0[_0xa4db('0x3d')]);_0x3a0cdb[_0xa4db('0x3f')]=_[_0xa4db('0x40')](_0x3a0cdb[_0xa4db('0x3c')],_0x3a0cdb[_0xa4db('0x3d')]);_0x2dd0ca['attributes']=_['intersection'](_0x3a0cdb[_0xa4db('0x3c')],qs['fields'](_0x39c4d0[_0xa4db('0x3d')][_0xa4db('0x42')]));_0x2dd0ca[_0xa4db('0x41')]=_0x2dd0ca[_0xa4db('0x41')][_0xa4db('0x43')]?_0x2dd0ca[_0xa4db('0x41')]:_0x3a0cdb[_0xa4db('0x3c')];_0x2dd0ca[_0xa4db('0x55')]=qs['sort'](_0x39c4d0['query']['sort']);_0x2dd0ca[_0xa4db('0x45')]=qs[_0xa4db('0x3f')](_[_0xa4db('0x56')](_0x39c4d0['query'],_0x3a0cdb['filters']));if(_0x39c4d0[_0xa4db('0x3d')][_0xa4db('0x46')]){_0x2dd0ca[_0xa4db('0x45')]=_[_0xa4db('0x50')](_0x2dd0ca[_0xa4db('0x45')],{'$or':_[_0xa4db('0x37')](_0x2dd0ca['attributes'],function(_0x354755){var _0x3e7132={};_0x3e7132[_0x354755]={'$like':'%'+_0x39c4d0['query'][_0xa4db('0x46')]+'%'};return _0x3e7132;})});}_0x2dd0ca=_[_0xa4db('0x50')]({},_0x2dd0ca,_0x39c4d0[_0xa4db('0x48')]);return _0x3a0c9f['getConfigurations'](_0x2dd0ca);}})[_0xa4db('0x34')](function(_0xb70646){if(_0xb70646){_0x3424d7=_0xb70646[_0xa4db('0x43')];if(!_0x39c4d0[_0xa4db('0x3d')][_0xa4db('0x57')](_0xa4db('0x58'))){_0x2dd0ca[_0xa4db('0x2c')]=qs[_0xa4db('0x2c')](_0x39c4d0[_0xa4db('0x3d')][_0xa4db('0x2c')]);_0x2dd0ca[_0xa4db('0x2b')]=qs['offset'](_0x39c4d0[_0xa4db('0x3d')][_0xa4db('0x2b')]);}return _0x3a0c9f[_0xa4db('0x53')](_0x2dd0ca);}})[_0xa4db('0x34')](function(_0x3ea133){if(_0x3ea133){return _0x3ea133?{'count':_0x3424d7,'rows':_0x3ea133}:null;}})[_0xa4db('0x34')](respondWithResult(_0xf9955e,null))[_0xa4db('0x26')](handleError(_0xf9955e,null));};exports[_0xa4db('0x59')]=function(_0x28fe51,_0x2dbd83,_0x20ac3d){if(_0x28fe51['body']['id']){delete _0x28fe51[_0xa4db('0x52')]['id'];}return db[_0xa4db('0x38')][_0xa4db('0x54')]({'where':{'id':_0x28fe51[_0xa4db('0x4d')]['id']}})[_0xa4db('0x34')](handleEntityNotFound(_0x2dbd83,null))[_0xa4db('0x34')](function(_0x5c1190){if(_0x5c1190){_0x28fe51[_0xa4db('0x52')]['AccountId']=_0x5c1190['id'];_0x28fe51['body'][_0xa4db('0x5a')]=integrations[_0xa4db('0x5b')](_0x28fe51[_0xa4db('0x52')][_0xa4db('0x5c')],_0x28fe51[_0xa4db('0x52')]['type']);_0x28fe51[_0xa4db('0x52')][_0xa4db('0x5d')]=integrations[_0xa4db('0x5e')](_0x28fe51[_0xa4db('0x52')][_0xa4db('0x5c')],_0x28fe51['body'][_0xa4db('0x3a')]);return db[_0xa4db('0x5f')][_0xa4db('0x60')](_0x28fe51['body'],{'include':[{'model':db[_0xa4db('0x61')],'as':_0xa4db('0x5a')},{'model':db[_0xa4db('0x61')],'as':_0xa4db('0x5d')}]});}return null;})[_0xa4db('0x34')](respondWithResult(_0x2dbd83,null))['catch'](handleError(_0x2dbd83,null));};exports[_0xa4db('0x62')]=function(_0x220688,_0x558d06,_0xf17f83){var _0x351851='';var _0xf6ad76='';return db[_0xa4db('0x38')][_0xa4db('0x54')]({'where':{'id':_0x220688[_0xa4db('0x4d')]['id']},'attributes':['id','username',_0xa4db('0x63'),_0xa4db('0x64')]})[_0xa4db('0x34')](handleEntityNotFound(_0x558d06,null))['then'](function(_0x5a48d8){if(_0x5a48d8){_0xf6ad76=_0x5a48d8['username'];_0x351851=_0x5a48d8['remoteUri'];var _0x1bca4b=_0x5a48d8[_0xa4db('0x63')][_0xa4db('0x65')](-0x1);if(_0x1bca4b==='/'){_0x351851=_0x351851[_0xa4db('0x66')](0x0,_0x351851[_0xa4db('0x67')](_0x1bca4b));}return rp({'method':_0xa4db('0x68'),'uri':util[_0xa4db('0x69')](_0xa4db('0x6a'),_0x351851,_0xa4db('0x6b')),'headers':{'Authorization':'Token\x20token='+_0x5a48d8[_0xa4db('0x64')]},'json':!![]});}})[_0xa4db('0x34')](function(_0x42b5b3){if(_0x42b5b3){var _0x1b600f=_0x42b5b3[_0xa4db('0x6c')];var _0x31494b=![];var _0x4395fa=null;for(_0x4395fa=0x0;_0x4395fa<_0x1b600f[_0xa4db('0x43')];_0x4395fa++){if(_0x1b600f[_0x4395fa][_0xa4db('0x6d')]===_0xf6ad76){_0x31494b=!![];}}if(_0x31494b){return!![];}else{throw new Error({'statusCode':0x194,'message':_0xa4db('0x6e')});}}})[_0xa4db('0x34')](respondWithResult(_0x558d06,null))['catch'](function(_0x1ffd6e){var _0xf88381=_0x220688['query']['test']?0x1f4:_0x1ffd6e[_0xa4db('0x6f')]||0x1f4;logger[_0xa4db('0x21')]('getFields,\x20%s,\x20%s,\x20%s','getFields',_0xf88381,JSON[_0xa4db('0x20')](_0x1ffd6e));delete _0x1ffd6e[_0xa4db('0x36')];if(_0xf88381===0x191){_0xf88381=0x190;}_0x558d06[_0xa4db('0x28')](_0xf88381)['send'](_0x220688[_0xa4db('0x3d')][_0xa4db('0x18')]?{'message':_0xa4db('0x70'),'statusCode':_0x1ffd6e[_0xa4db('0x6f')]}:_0x1ffd6e);});};