Built motion from commit (unavailable).|2.5.0
[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 _0xdaf8=['where','pick','filter','merge','count','includeAll','include','findAll','rows','show','fields','find','catch','create','body','params','getConfigurations','FreshsalesConfiguration','length','findOne','channel','Descriptions','getDescriptions','Subjects','FreshsalesField','getFields','username','remoteUri','apiKey','slice','lastIndexOf','format','/api/selector/owners','Token\x20token=','users','email','Requested\x20Resource\x20not\x20Found','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','client','http','test','Sequelize','ValidationError','request','then','info','FreshsalesAccount,\x20%s,\x20%s','request\x20sent','debug','FreshsalesAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','sendStatus','status','end','json','offset','set','Content-Range','apply','reject','update','destroy','stack','name','send','index','map','FreshsalesAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','hasOwnProperty','nolimit','limit','sort'];(function(_0x57b54c,_0x54ce0d){var _0x59cc19=function(_0xa33bc6){while(--_0xa33bc6){_0x57b54c['push'](_0x57b54c['shift']());}};_0x59cc19(++_0x54ce0d);}(_0xdaf8,0x174));var _0x8daf=function(_0xf58e1e,_0x8f500c){_0xf58e1e=_0xf58e1e-0x0;var _0x38857c=_0xdaf8[_0xf58e1e];return _0x38857c;};'use strict';var pdf=require(_0x8daf('0x0'));var emlformat=require(_0x8daf('0x1'));var rimraf=require(_0x8daf('0x2'));var zipdir=require(_0x8daf('0x3'));var jsonpatch=require(_0x8daf('0x4'));var rp=require(_0x8daf('0x5'));var moment=require(_0x8daf('0x6'));var BPromise=require(_0x8daf('0x7'));var Mustache=require(_0x8daf('0x8'));var util=require('util');var path=require('path');var sox=require(_0x8daf('0x9'));var csv=require(_0x8daf('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x8daf('0xb'));var crypto=require(_0x8daf('0xc'));var jsforce=require(_0x8daf('0xd'));var deskjs=require(_0x8daf('0xe'));var toCsv=require(_0x8daf('0xa'));var querystring=require(_0x8daf('0xf'));var Papa=require('papaparse');var Redis=require(_0x8daf('0x10'));var authService=require(_0x8daf('0x11'));var qs=require(_0x8daf('0x12'));var as=require(_0x8daf('0x13'));var hardwareService=require(_0x8daf('0x14'));var logger=require('../../config/logger')(_0x8daf('0x15'));var utils=require(_0x8daf('0x16'));var config=require(_0x8daf('0x17'));var db=require(_0x8daf('0x18'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require('jayson/promise');var client=jayson[_0x8daf('0x19')][_0x8daf('0x1a')]({'port':0x232a});function checkPasswordPattern(_0x5f0bd8,_0x340bbe,_0x58b2a9){if(_0x58b2a9){var _0x21fa91=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x21fa91[_0x8daf('0x1b')](_0x340bbe)){return _0x5f0bd8;}else{throw new db[(_0x8daf('0x1c'))][(_0x8daf('0x1d'))]('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 _0x5f0bd8;}}function respondWithRpcPromise(_0x418330,_0x3fe539,_0x224913,_0x5786ef){return new BPromise(function(_0x489373,_0x45f66a){var _0x329b3d=_0x5786ef||client;return _0x329b3d[_0x8daf('0x1e')](_0x418330,_0x224913)[_0x8daf('0x1f')](function(_0x8b281a){logger[_0x8daf('0x20')](_0x8daf('0x21'),_0x3fe539,_0x8daf('0x22'));logger[_0x8daf('0x23')](_0x8daf('0x24'),_0x3fe539,_0x8daf('0x22'),JSON[_0x8daf('0x25')](_0x8b281a));if(_0x8b281a[_0x8daf('0x26')]){if(_0x8b281a[_0x8daf('0x26')][_0x8daf('0x27')]===0x1f4){logger[_0x8daf('0x26')](_0x8daf('0x21'),_0x3fe539,_0x8b281a['error'][_0x8daf('0x28')]);return _0x45f66a(_0x8b281a[_0x8daf('0x26')][_0x8daf('0x28')]);}logger[_0x8daf('0x26')]('FreshsalesAccount,\x20%s,\x20%s',_0x3fe539,_0x8b281a[_0x8daf('0x26')][_0x8daf('0x28')]);return _0x489373(_0x8b281a[_0x8daf('0x26')]['message']);}else{logger[_0x8daf('0x20')](_0x8daf('0x21'),_0x3fe539,_0x8daf('0x22'));_0x489373(_0x8b281a['result'][_0x8daf('0x28')]);}})['catch'](function(_0x4d8f80){logger['error']('FreshsalesAccount,\x20%s,\x20%s',_0x3fe539,_0x4d8f80);_0x45f66a(_0x4d8f80);});});}function respondWithStatusCode(_0x30da2a,_0x95d628){_0x95d628=_0x95d628||0xcc;return function(_0xdff84c){if(_0xdff84c){return _0x30da2a[_0x8daf('0x29')](_0x95d628);}return _0x30da2a[_0x8daf('0x2a')](_0x95d628)[_0x8daf('0x2b')]();};}function respondWithResult(_0x24537f,_0x2102c5){_0x2102c5=_0x2102c5||0xc8;return function(_0x42ce50){if(_0x42ce50){return _0x24537f[_0x8daf('0x2a')](_0x2102c5)[_0x8daf('0x2c')](_0x42ce50);}};}function respondWithFilteredResult(_0xefcd43,_0x1942bb){return function(_0x265fcc){if(_0x265fcc){var _0x4ae5e6=_0x265fcc['count'],_0x3e56da=_0x1942bb[_0x8daf('0x2d')],_0x119ea5=_0x1942bb[_0x8daf('0x2d')]+_0x1942bb['limit'],_0x80d80e;if(_0x119ea5>=_0x4ae5e6){_0x119ea5=_0x4ae5e6;_0x80d80e=0xc8;}else{_0x80d80e=0xce;}_0xefcd43[_0x8daf('0x2a')](_0x80d80e);return _0xefcd43[_0x8daf('0x2e')](_0x8daf('0x2f'),_0x3e56da+'-'+_0x119ea5+'/'+_0x4ae5e6)[_0x8daf('0x2c')](_0x265fcc);}return null;};}function patchUpdates(_0x294884){return function(_0x120bba){try{jsonpatch[_0x8daf('0x30')](_0x120bba,_0x294884,!![]);}catch(_0x378f01){return BPromise[_0x8daf('0x31')](_0x378f01);}return _0x120bba['save']();};}function saveUpdates(_0x13b94f,_0x42a6cb){return function(_0xa258e6){if(_0xa258e6){return _0xa258e6[_0x8daf('0x32')](_0x13b94f)[_0x8daf('0x1f')](function(_0xe1c13c){return _0xe1c13c;});}return null;};}function removeEntity(_0x161ddd,_0x39df05){return function(_0x1a3b7a){if(_0x1a3b7a){return _0x1a3b7a[_0x8daf('0x33')]()[_0x8daf('0x1f')](function(){_0x161ddd[_0x8daf('0x2a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4093a8,_0x23d12b){return function(_0x393972){if(!_0x393972){_0x4093a8[_0x8daf('0x29')](0x194);}return _0x393972;};}function handleError(_0x48a582,_0x5f0815){_0x5f0815=_0x5f0815||0x1f4;return function(_0x3183f6){logger[_0x8daf('0x26')](_0x3183f6[_0x8daf('0x34')]);if(_0x3183f6[_0x8daf('0x35')]){delete _0x3183f6[_0x8daf('0x35')];}_0x48a582[_0x8daf('0x2a')](_0x5f0815)[_0x8daf('0x36')](_0x3183f6);};}exports[_0x8daf('0x37')]=function(_0x3b9058,_0x7765){var _0x30e379={},_0x58bdbc={},_0x442392={'count':0x0,'rows':[]};var _0x290bd0=_[_0x8daf('0x38')](db[_0x8daf('0x39')][_0x8daf('0x3a')],function(_0x3657e0){return{'name':_0x3657e0[_0x8daf('0x3b')],'type':_0x3657e0[_0x8daf('0x3c')][_0x8daf('0x3d')]};});_0x58bdbc[_0x8daf('0x3e')]=_[_0x8daf('0x38')](_0x290bd0,_0x8daf('0x35'));_0x58bdbc[_0x8daf('0x3f')]=_[_0x8daf('0x40')](_0x3b9058['query']);_0x58bdbc[_0x8daf('0x41')]=_['intersection'](_0x58bdbc[_0x8daf('0x3e')],_0x58bdbc['query']);_0x30e379[_0x8daf('0x42')]=_[_0x8daf('0x43')](_0x58bdbc[_0x8daf('0x3e')],qs['fields'](_0x3b9058[_0x8daf('0x3f')]['fields']));_0x30e379[_0x8daf('0x42')]=_0x30e379[_0x8daf('0x42')]['length']?_0x30e379[_0x8daf('0x42')]:_0x58bdbc['model'];if(!_0x3b9058[_0x8daf('0x3f')][_0x8daf('0x44')](_0x8daf('0x45'))){_0x30e379[_0x8daf('0x46')]=qs[_0x8daf('0x46')](_0x3b9058[_0x8daf('0x3f')][_0x8daf('0x46')]);_0x30e379[_0x8daf('0x2d')]=qs[_0x8daf('0x2d')](_0x3b9058[_0x8daf('0x3f')][_0x8daf('0x2d')]);}_0x30e379['order']=qs['sort'](_0x3b9058[_0x8daf('0x3f')][_0x8daf('0x47')]);_0x30e379[_0x8daf('0x48')]=qs['filters'](_[_0x8daf('0x49')](_0x3b9058[_0x8daf('0x3f')],_0x58bdbc[_0x8daf('0x41')]),_0x290bd0);if(_0x3b9058[_0x8daf('0x3f')][_0x8daf('0x4a')]){_0x30e379[_0x8daf('0x48')]=_[_0x8daf('0x4b')](_0x30e379[_0x8daf('0x48')],{'$or':_[_0x8daf('0x38')](_0x290bd0,function(_0x196639){if(_0x196639[_0x8daf('0x3c')]!=='VIRTUAL'){var _0x97c8a7={};_0x97c8a7[_0x196639[_0x8daf('0x35')]]={'$like':'%'+_0x3b9058[_0x8daf('0x3f')][_0x8daf('0x4a')]+'%'};return _0x97c8a7;}})});}_0x30e379=_[_0x8daf('0x4b')]({},_0x30e379,_0x3b9058['options']);var _0x43c7f4={'where':_0x30e379['where']};return db[_0x8daf('0x39')][_0x8daf('0x4c')](_0x43c7f4)['then'](function(_0x4ea8b1){_0x442392['count']=_0x4ea8b1;if(_0x3b9058[_0x8daf('0x3f')][_0x8daf('0x4d')]){_0x30e379[_0x8daf('0x4e')]=[{'all':!![]}];}return db['FreshsalesAccount'][_0x8daf('0x4f')](_0x30e379);})[_0x8daf('0x1f')](function(_0x3d16e8){_0x442392[_0x8daf('0x50')]=_0x3d16e8;return _0x442392;})[_0x8daf('0x1f')](respondWithFilteredResult(_0x7765,_0x30e379))['catch'](handleError(_0x7765,null));};exports[_0x8daf('0x51')]=function(_0x3b3c91,_0x2d31e4){var _0x296299={'raw':![],'where':{'id':_0x3b3c91['params']['id']}},_0x5c34fd={};_0x5c34fd['model']=_[_0x8daf('0x40')](db[_0x8daf('0x39')][_0x8daf('0x3a')]);_0x5c34fd[_0x8daf('0x3f')]=_['keys'](_0x3b3c91[_0x8daf('0x3f')]);_0x5c34fd['filters']=_[_0x8daf('0x43')](_0x5c34fd[_0x8daf('0x3e')],_0x5c34fd[_0x8daf('0x3f')]);_0x296299[_0x8daf('0x42')]=_[_0x8daf('0x43')](_0x5c34fd[_0x8daf('0x3e')],qs['fields'](_0x3b3c91[_0x8daf('0x3f')][_0x8daf('0x52')]));_0x296299['attributes']=_0x296299[_0x8daf('0x42')]['length']?_0x296299[_0x8daf('0x42')]:_0x5c34fd[_0x8daf('0x3e')];if(_0x3b3c91[_0x8daf('0x3f')]['includeAll']){_0x296299[_0x8daf('0x4e')]=[{'all':!![]}];}_0x296299=_[_0x8daf('0x4b')]({},_0x296299,_0x3b3c91['options']);return db[_0x8daf('0x39')][_0x8daf('0x53')](_0x296299)[_0x8daf('0x1f')](handleEntityNotFound(_0x2d31e4,null))[_0x8daf('0x1f')](respondWithResult(_0x2d31e4,null))[_0x8daf('0x54')](handleError(_0x2d31e4,null));};exports[_0x8daf('0x55')]=function(_0x311bee,_0x4eee9d){return db[_0x8daf('0x39')][_0x8daf('0x55')](_0x311bee[_0x8daf('0x56')],{})[_0x8daf('0x1f')](respondWithResult(_0x4eee9d,0xc9))['catch'](handleError(_0x4eee9d,null));};exports['update']=function(_0x1c3a05,_0xd84e7f){if(_0x1c3a05[_0x8daf('0x56')]['id']){delete _0x1c3a05[_0x8daf('0x56')]['id'];}return db[_0x8daf('0x39')][_0x8daf('0x53')]({'where':{'id':_0x1c3a05['params']['id']}})['then'](handleEntityNotFound(_0xd84e7f,null))[_0x8daf('0x1f')](saveUpdates(_0x1c3a05[_0x8daf('0x56')],null))['then'](respondWithResult(_0xd84e7f,null))[_0x8daf('0x54')](handleError(_0xd84e7f,null));};exports[_0x8daf('0x33')]=function(_0x3a5a95,_0x5e00d8){return db[_0x8daf('0x39')][_0x8daf('0x53')]({'where':{'id':_0x3a5a95[_0x8daf('0x57')]['id']}})[_0x8daf('0x1f')](handleEntityNotFound(_0x5e00d8,null))[_0x8daf('0x1f')](removeEntity(_0x5e00d8,null))['catch'](handleError(_0x5e00d8,null));};exports[_0x8daf('0x58')]=function(_0x1e9975,_0x4c41b6,_0x2f50ad){var _0x5b52f8={};var _0x3a97ff={};var _0x452239;var _0x2b4e26;return db['FreshsalesAccount']['findOne']({'where':{'id':_0x1e9975['params']['id']}})[_0x8daf('0x1f')](handleEntityNotFound(_0x4c41b6,null))['then'](function(_0x17b69d){if(_0x17b69d){_0x452239=_0x17b69d;_0x3a97ff[_0x8daf('0x3e')]=_[_0x8daf('0x40')](db[_0x8daf('0x59')][_0x8daf('0x3a')]);_0x3a97ff[_0x8daf('0x3f')]=_[_0x8daf('0x40')](_0x1e9975[_0x8daf('0x3f')]);_0x3a97ff[_0x8daf('0x41')]=_[_0x8daf('0x43')](_0x3a97ff[_0x8daf('0x3e')],_0x3a97ff[_0x8daf('0x3f')]);_0x5b52f8[_0x8daf('0x42')]=_[_0x8daf('0x43')](_0x3a97ff['model'],qs['fields'](_0x1e9975[_0x8daf('0x3f')]['fields']));_0x5b52f8[_0x8daf('0x42')]=_0x5b52f8[_0x8daf('0x42')][_0x8daf('0x5a')]?_0x5b52f8[_0x8daf('0x42')]:_0x3a97ff[_0x8daf('0x3e')];_0x5b52f8['order']=qs[_0x8daf('0x47')](_0x1e9975[_0x8daf('0x3f')]['sort']);_0x5b52f8['where']=qs[_0x8daf('0x41')](_[_0x8daf('0x49')](_0x1e9975[_0x8daf('0x3f')],_0x3a97ff['filters']));if(_0x1e9975['query']['filter']){_0x5b52f8[_0x8daf('0x48')]=_[_0x8daf('0x4b')](_0x5b52f8[_0x8daf('0x48')],{'$or':_[_0x8daf('0x38')](_0x5b52f8[_0x8daf('0x42')],function(_0x3e7caa){var _0x49591a={};_0x49591a[_0x3e7caa]={'$like':'%'+_0x1e9975[_0x8daf('0x3f')][_0x8daf('0x4a')]+'%'};return _0x49591a;})});}_0x5b52f8=_[_0x8daf('0x4b')]({},_0x5b52f8,_0x1e9975['options']);return _0x452239[_0x8daf('0x58')](_0x5b52f8);}})[_0x8daf('0x1f')](function(_0x3f976a){if(_0x3f976a){_0x2b4e26=_0x3f976a['length'];if(!_0x1e9975[_0x8daf('0x3f')]['hasOwnProperty']('nolimit')){_0x5b52f8[_0x8daf('0x46')]=qs['limit'](_0x1e9975[_0x8daf('0x3f')]['limit']);_0x5b52f8[_0x8daf('0x2d')]=qs[_0x8daf('0x2d')](_0x1e9975['query']['offset']);}return _0x452239[_0x8daf('0x58')](_0x5b52f8);}})[_0x8daf('0x1f')](function(_0x3791fe){if(_0x3791fe){return _0x3791fe?{'count':_0x2b4e26,'rows':_0x3791fe}:null;}})[_0x8daf('0x1f')](respondWithResult(_0x4c41b6,null))[_0x8daf('0x54')](handleError(_0x4c41b6,null));};exports['addConfiguration']=function(_0x55ea80,_0x3fa703,_0x69c076){if(_0x55ea80[_0x8daf('0x56')]['id']){delete _0x55ea80[_0x8daf('0x56')]['id'];}return db[_0x8daf('0x39')][_0x8daf('0x5b')]({'where':{'id':_0x55ea80[_0x8daf('0x57')]['id']}})['then'](handleEntityNotFound(_0x3fa703,null))['then'](function(_0x2d8c09){if(_0x2d8c09){_0x55ea80[_0x8daf('0x56')]['AccountId']=_0x2d8c09['id'];_0x55ea80[_0x8daf('0x56')]['Subjects']=integrations['getSubjects'](_0x55ea80[_0x8daf('0x56')][_0x8daf('0x5c')],_0x55ea80['body']['type']);_0x55ea80['body'][_0x8daf('0x5d')]=integrations[_0x8daf('0x5e')](_0x55ea80[_0x8daf('0x56')][_0x8daf('0x5c')],_0x55ea80['body'][_0x8daf('0x3c')]);return db[_0x8daf('0x59')][_0x8daf('0x55')](_0x55ea80['body'],{'include':[{'model':db['FreshsalesField'],'as':_0x8daf('0x5f')},{'model':db[_0x8daf('0x60')],'as':_0x8daf('0x5d')}]});}return null;})[_0x8daf('0x1f')](respondWithResult(_0x3fa703,null))[_0x8daf('0x54')](handleError(_0x3fa703,null));};exports[_0x8daf('0x61')]=function(_0x11fce9,_0x34ca1d,_0x5e1c19){var _0x5bf7b7='';var _0x5b673f='';return db[_0x8daf('0x39')][_0x8daf('0x5b')]({'where':{'id':_0x11fce9['params']['id']},'attributes':['id',_0x8daf('0x62'),_0x8daf('0x63'),_0x8daf('0x64')]})[_0x8daf('0x1f')](handleEntityNotFound(_0x34ca1d,null))[_0x8daf('0x1f')](function(_0xf6b410){if(_0xf6b410){_0x5b673f=_0xf6b410['username'];_0x5bf7b7=_0xf6b410[_0x8daf('0x63')];var _0x28712a=_0xf6b410[_0x8daf('0x63')][_0x8daf('0x65')](-0x1);if(_0x28712a==='/'){_0x5bf7b7=_0x5bf7b7['substring'](0x0,_0x5bf7b7[_0x8daf('0x66')](_0x28712a));}return rp({'method':'GET','uri':util[_0x8daf('0x67')]('%s%s',_0x5bf7b7,_0x8daf('0x68')),'headers':{'Authorization':_0x8daf('0x69')+_0xf6b410['apiKey']},'json':!![]});}})[_0x8daf('0x1f')](function(_0x2780a6){if(_0x2780a6){var _0x2c2523=_0x2780a6[_0x8daf('0x6a')];var _0x3d88e2=![];var _0xb7389a=null;for(_0xb7389a=0x0;_0xb7389a<_0x2c2523['length'];_0xb7389a++){if(_0x2c2523[_0xb7389a][_0x8daf('0x6b')]===_0x5b673f){_0x3d88e2=!![];}}if(_0x3d88e2){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x8daf('0x6c')});}}})[_0x8daf('0x1f')](respondWithResult(_0x34ca1d,null))['catch'](function(_0x5984d1){var _0x29ffeb=_0x11fce9[_0x8daf('0x3f')][_0x8daf('0x1b')]?0x1f4:_0x5984d1['statusCode']||0x1f4;logger[_0x8daf('0x26')](_0x8daf('0x6d'),_0x8daf('0x61'),_0x29ffeb,JSON[_0x8daf('0x25')](_0x5984d1));delete _0x5984d1[_0x8daf('0x35')];if(_0x29ffeb===0x191){_0x29ffeb=0x190;}_0x34ca1d[_0x8daf('0x2a')](_0x29ffeb)[_0x8daf('0x36')](_0x11fce9['query'][_0x8daf('0x1b')]?{'message':_0x8daf('0x6e'),'statusCode':_0x5984d1['statusCode']}:_0x5984d1);});};