Built motion from commit (unavailable).|2.4.19
[motion2.git] / server / api / intDeskAccount / intDeskAccount.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 _0x6564=['consumerKey','consumerSecret','tokenSecret','slice','substring','lastIndexOf','GET','format','%s/custom_fields','application/json','basic','Authorization','%s:%s','password','concat','_embedded','entries','label','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','statusCode','html-pdf','eml-format','rimraf','request-promise','bluebird','mustache','path','sox','to-csv','squel','crypto','jsforce','papaparse','ioredis','../../config/license/hardware','../../config/logger','api','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','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','DeskAccount,\x20%s,\x20%s','debug','DeskAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','message','info','result','catch','sendStatus','status','end','json','count','offset','limit','Content-Range','reject','save','destroy','stack','name','send','index','map','rawAttributes','type','key','query','keys','attributes','intersection','model','fields','length','hasOwnProperty','order','sort','where','filters','filter','merge','options','DeskAccount','includeAll','include','findAll','rows','show','find','create','body','params','getConfigurations','findOne','DeskConfiguration','nolimit','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','DeskField','getFields','priority','remoteUri','authType','username'];(function(_0x1b2a63,_0x59e3e7){var _0x82a5ad=function(_0x36f6ea){while(--_0x36f6ea){_0x1b2a63['push'](_0x1b2a63['shift']());}};_0x82a5ad(++_0x59e3e7);}(_0x6564,0x17d));var _0x4656=function(_0x55eb65,_0x5be180){_0x55eb65=_0x55eb65-0x0;var _0x52fa98=_0x6564[_0x55eb65];return _0x52fa98;};'use strict';var pdf=require(_0x4656('0x0'));var emlformat=require(_0x4656('0x1'));var rimraf=require(_0x4656('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x4656('0x3'));var moment=require('moment');var BPromise=require(_0x4656('0x4'));var Mustache=require(_0x4656('0x5'));var util=require('util');var path=require(_0x4656('0x6'));var sox=require(_0x4656('0x7'));var csv=require(_0x4656('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x4656('0x9'));var crypto=require(_0x4656('0xa'));var jsforce=require(_0x4656('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x4656('0xc'));var Redis=require(_0x4656('0xd'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4656('0xe'));var logger=require(_0x4656('0xf'))(_0x4656('0x10'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x4656('0x11'))['db'];var integrations=require(_0x4656('0x12'));var jayson=require(_0x4656('0x13'));var client=jayson[_0x4656('0x14')][_0x4656('0x15')]({'port':0x232a});function checkPasswordPattern(_0x5c40e9,_0x41fac9,_0x40d69a){if(_0x40d69a){var _0xc74a9b=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0xc74a9b[_0x4656('0x16')](_0x41fac9)){return _0x5c40e9;}else{throw new db[(_0x4656('0x17'))][(_0x4656('0x18'))](_0x4656('0x19'));}}else{return _0x5c40e9;}}function respondWithRpcPromise(_0x4fdee0,_0x411090,_0x323d76,_0x552c24){return new BPromise(function(_0x51d97e,_0x180a6f){var _0x5b4d9c=_0x552c24||client;return _0x5b4d9c[_0x4656('0x1a')](_0x4fdee0,_0x323d76)[_0x4656('0x1b')](function(_0x5b0fb8){logger['info'](_0x4656('0x1c'),_0x411090,'request\x20sent');logger[_0x4656('0x1d')](_0x4656('0x1e'),_0x411090,_0x4656('0x1f'),JSON[_0x4656('0x20')](_0x5b0fb8));if(_0x5b0fb8['error']){if(_0x5b0fb8[_0x4656('0x21')]['code']===0x1f4){logger[_0x4656('0x21')](_0x4656('0x1c'),_0x411090,_0x5b0fb8[_0x4656('0x21')]['message']);return _0x180a6f(_0x5b0fb8['error']['message']);}logger['error'](_0x4656('0x1c'),_0x411090,_0x5b0fb8['error'][_0x4656('0x22')]);return _0x51d97e(_0x5b0fb8[_0x4656('0x21')][_0x4656('0x22')]);}else{logger[_0x4656('0x23')](_0x4656('0x1c'),_0x411090,_0x4656('0x1f'));_0x51d97e(_0x5b0fb8[_0x4656('0x24')][_0x4656('0x22')]);}})[_0x4656('0x25')](function(_0x23ea23){logger[_0x4656('0x21')]('DeskAccount,\x20%s,\x20%s',_0x411090,_0x23ea23);_0x180a6f(_0x23ea23);});});}function respondWithStatusCode(_0x179b62,_0x23c39e){_0x23c39e=_0x23c39e||0xcc;return function(_0x3d68bf){if(_0x3d68bf){return _0x179b62[_0x4656('0x26')](_0x23c39e);}return _0x179b62[_0x4656('0x27')](_0x23c39e)[_0x4656('0x28')]();};}function respondWithResult(_0x3d806c,_0x222115){_0x222115=_0x222115||0xc8;return function(_0x90a41a){if(_0x90a41a){return _0x3d806c[_0x4656('0x27')](_0x222115)[_0x4656('0x29')](_0x90a41a);}};}function respondWithFilteredResult(_0x2c0799,_0x29c18c){return function(_0xf72a7a){if(_0xf72a7a){var _0xd209d9=_0xf72a7a[_0x4656('0x2a')],_0x2ab015=_0x29c18c[_0x4656('0x2b')],_0x1281b5=_0x29c18c['offset']+_0x29c18c[_0x4656('0x2c')],_0x417a30;if(_0x1281b5>=_0xd209d9){_0x1281b5=_0xd209d9;_0x417a30=0xc8;}else{_0x417a30=0xce;}_0x2c0799[_0x4656('0x27')](_0x417a30);return _0x2c0799['set'](_0x4656('0x2d'),_0x2ab015+'-'+_0x1281b5+'/'+_0xd209d9)[_0x4656('0x29')](_0xf72a7a);}return null;};}function patchUpdates(_0x3fea7d){return function(_0x2cd1cd){try{jsonpatch['apply'](_0x2cd1cd,_0x3fea7d,!![]);}catch(_0x14fcde){return BPromise[_0x4656('0x2e')](_0x14fcde);}return _0x2cd1cd[_0x4656('0x2f')]();};}function saveUpdates(_0x2587c9,_0x2760b2){return function(_0x4addac){if(_0x4addac){return _0x4addac['update'](_0x2587c9)[_0x4656('0x1b')](function(_0x5edf3c){return _0x5edf3c;});}return null;};}function removeEntity(_0x430444,_0x4baaa8){return function(_0x55aec3){if(_0x55aec3){return _0x55aec3[_0x4656('0x30')]()[_0x4656('0x1b')](function(){_0x430444[_0x4656('0x27')](0xcc)[_0x4656('0x28')]();});}};}function handleEntityNotFound(_0xc8ae61,_0x47f009){return function(_0x26e713){if(!_0x26e713){_0xc8ae61[_0x4656('0x26')](0x194);}return _0x26e713;};}function handleError(_0x573d64,_0x277f19){_0x277f19=_0x277f19||0x1f4;return function(_0x1e088a){logger[_0x4656('0x21')](_0x1e088a[_0x4656('0x31')]);if(_0x1e088a[_0x4656('0x32')]){delete _0x1e088a[_0x4656('0x32')];}_0x573d64[_0x4656('0x27')](_0x277f19)[_0x4656('0x33')](_0x1e088a);};}exports[_0x4656('0x34')]=function(_0x7397d0,_0x38bb47){var _0x3d3812={},_0x3bc8a8={},_0x5a86cb={'count':0x0,'rows':[]};var _0x493d1a=_[_0x4656('0x35')](db['DeskAccount'][_0x4656('0x36')],function(_0x59c35d){return{'name':_0x59c35d['fieldName'],'type':_0x59c35d[_0x4656('0x37')][_0x4656('0x38')]};});_0x3bc8a8['model']=_[_0x4656('0x35')](_0x493d1a,_0x4656('0x32'));_0x3bc8a8[_0x4656('0x39')]=_[_0x4656('0x3a')](_0x7397d0[_0x4656('0x39')]);_0x3bc8a8['filters']=_['intersection'](_0x3bc8a8['model'],_0x3bc8a8[_0x4656('0x39')]);_0x3d3812[_0x4656('0x3b')]=_[_0x4656('0x3c')](_0x3bc8a8[_0x4656('0x3d')],qs[_0x4656('0x3e')](_0x7397d0[_0x4656('0x39')][_0x4656('0x3e')]));_0x3d3812[_0x4656('0x3b')]=_0x3d3812[_0x4656('0x3b')][_0x4656('0x3f')]?_0x3d3812[_0x4656('0x3b')]:_0x3bc8a8[_0x4656('0x3d')];if(!_0x7397d0[_0x4656('0x39')][_0x4656('0x40')]('nolimit')){_0x3d3812['limit']=qs[_0x4656('0x2c')](_0x7397d0[_0x4656('0x39')][_0x4656('0x2c')]);_0x3d3812[_0x4656('0x2b')]=qs['offset'](_0x7397d0[_0x4656('0x39')][_0x4656('0x2b')]);}_0x3d3812[_0x4656('0x41')]=qs[_0x4656('0x42')](_0x7397d0['query']['sort']);_0x3d3812[_0x4656('0x43')]=qs[_0x4656('0x44')](_['pick'](_0x7397d0[_0x4656('0x39')],_0x3bc8a8[_0x4656('0x44')]));if(_0x7397d0[_0x4656('0x39')][_0x4656('0x45')]){_0x3d3812[_0x4656('0x43')]=_[_0x4656('0x46')](_0x3d3812[_0x4656('0x43')],{'$or':_[_0x4656('0x35')](_0x493d1a,function(_0x2871d0){if(_0x2871d0[_0x4656('0x37')]!=='VIRTUAL'){var _0x1e1293={};_0x1e1293[_0x2871d0[_0x4656('0x32')]]={'$like':'%'+_0x7397d0[_0x4656('0x39')][_0x4656('0x45')]+'%'};return _0x1e1293;}})});}_0x3d3812=_[_0x4656('0x46')]({},_0x3d3812,_0x7397d0[_0x4656('0x47')]);var _0x3898ec={'where':_0x3d3812[_0x4656('0x43')]};return db[_0x4656('0x48')][_0x4656('0x2a')](_0x3898ec)[_0x4656('0x1b')](function(_0x276099){_0x5a86cb[_0x4656('0x2a')]=_0x276099;if(_0x7397d0[_0x4656('0x39')][_0x4656('0x49')]){_0x3d3812[_0x4656('0x4a')]=[{'all':!![]}];}return db[_0x4656('0x48')][_0x4656('0x4b')](_0x3d3812);})[_0x4656('0x1b')](function(_0x417830){_0x5a86cb[_0x4656('0x4c')]=_0x417830;return _0x5a86cb;})[_0x4656('0x1b')](respondWithFilteredResult(_0x38bb47,_0x3d3812))[_0x4656('0x25')](handleError(_0x38bb47,null));};exports[_0x4656('0x4d')]=function(_0x3257de,_0x1aa880){var _0x2178ef={'raw':![],'where':{'id':_0x3257de['params']['id']}},_0x488a8f={};_0x488a8f['model']=_['keys'](db[_0x4656('0x48')]['rawAttributes']);_0x488a8f[_0x4656('0x39')]=_['keys'](_0x3257de['query']);_0x488a8f[_0x4656('0x44')]=_[_0x4656('0x3c')](_0x488a8f[_0x4656('0x3d')],_0x488a8f['query']);_0x2178ef[_0x4656('0x3b')]=_[_0x4656('0x3c')](_0x488a8f['model'],qs[_0x4656('0x3e')](_0x3257de[_0x4656('0x39')][_0x4656('0x3e')]));_0x2178ef[_0x4656('0x3b')]=_0x2178ef[_0x4656('0x3b')][_0x4656('0x3f')]?_0x2178ef[_0x4656('0x3b')]:_0x488a8f[_0x4656('0x3d')];if(_0x3257de[_0x4656('0x39')]['includeAll']){_0x2178ef[_0x4656('0x4a')]=[{'all':!![]}];}_0x2178ef=_[_0x4656('0x46')]({},_0x2178ef,_0x3257de[_0x4656('0x47')]);return db[_0x4656('0x48')][_0x4656('0x4e')](_0x2178ef)[_0x4656('0x1b')](handleEntityNotFound(_0x1aa880,null))['then'](respondWithResult(_0x1aa880,null))[_0x4656('0x25')](handleError(_0x1aa880,null));};exports[_0x4656('0x4f')]=function(_0x1e3c33,_0x4662c4){return db[_0x4656('0x48')]['create'](_0x1e3c33[_0x4656('0x50')],{})[_0x4656('0x1b')](respondWithResult(_0x4662c4,0xc9))[_0x4656('0x25')](handleError(_0x4662c4,null));};exports['update']=function(_0x36b54c,_0x47ca3d){if(_0x36b54c[_0x4656('0x50')]['id']){delete _0x36b54c[_0x4656('0x50')]['id'];}return db[_0x4656('0x48')][_0x4656('0x4e')]({'where':{'id':_0x36b54c[_0x4656('0x51')]['id']}})['then'](handleEntityNotFound(_0x47ca3d,null))['then'](saveUpdates(_0x36b54c[_0x4656('0x50')],null))[_0x4656('0x1b')](respondWithResult(_0x47ca3d,null))[_0x4656('0x25')](handleError(_0x47ca3d,null));};exports[_0x4656('0x30')]=function(_0x102cbe,_0x26b49f){return db[_0x4656('0x48')]['find']({'where':{'id':_0x102cbe[_0x4656('0x51')]['id']}})[_0x4656('0x1b')](handleEntityNotFound(_0x26b49f,null))[_0x4656('0x1b')](removeEntity(_0x26b49f,null))['catch'](handleError(_0x26b49f,null));};exports[_0x4656('0x52')]=function(_0x3adb1d,_0x2a78a2,_0x55336a){var _0x84a0c7={};var _0xb6734b={};var _0x5f41f8;var _0x26cf80;return db[_0x4656('0x48')][_0x4656('0x53')]({'where':{'id':_0x3adb1d[_0x4656('0x51')]['id']}})['then'](handleEntityNotFound(_0x2a78a2,null))['then'](function(_0x43dd55){if(_0x43dd55){_0x5f41f8=_0x43dd55;_0xb6734b[_0x4656('0x3d')]=_[_0x4656('0x3a')](db[_0x4656('0x54')]['rawAttributes']);_0xb6734b[_0x4656('0x39')]=_['keys'](_0x3adb1d[_0x4656('0x39')]);_0xb6734b[_0x4656('0x44')]=_[_0x4656('0x3c')](_0xb6734b[_0x4656('0x3d')],_0xb6734b['query']);_0x84a0c7[_0x4656('0x3b')]=_[_0x4656('0x3c')](_0xb6734b[_0x4656('0x3d')],qs[_0x4656('0x3e')](_0x3adb1d[_0x4656('0x39')]['fields']));_0x84a0c7['attributes']=_0x84a0c7[_0x4656('0x3b')]['length']?_0x84a0c7['attributes']:_0xb6734b[_0x4656('0x3d')];_0x84a0c7[_0x4656('0x41')]=qs[_0x4656('0x42')](_0x3adb1d['query'][_0x4656('0x42')]);_0x84a0c7[_0x4656('0x43')]=qs['filters'](_['pick'](_0x3adb1d[_0x4656('0x39')],_0xb6734b[_0x4656('0x44')]));if(_0x3adb1d[_0x4656('0x39')][_0x4656('0x45')]){_0x84a0c7[_0x4656('0x43')]=_[_0x4656('0x46')](_0x84a0c7[_0x4656('0x43')],{'$or':_[_0x4656('0x35')](_0x84a0c7[_0x4656('0x3b')],function(_0x17862e){var _0x3038a5={};_0x3038a5[_0x17862e]={'$like':'%'+_0x3adb1d[_0x4656('0x39')][_0x4656('0x45')]+'%'};return _0x3038a5;})});}_0x84a0c7=_[_0x4656('0x46')]({},_0x84a0c7,_0x3adb1d['options']);return _0x5f41f8[_0x4656('0x52')](_0x84a0c7);}})[_0x4656('0x1b')](function(_0x53f14b){if(_0x53f14b){_0x26cf80=_0x53f14b[_0x4656('0x3f')];if(!_0x3adb1d[_0x4656('0x39')][_0x4656('0x40')](_0x4656('0x55'))){_0x84a0c7[_0x4656('0x2c')]=qs['limit'](_0x3adb1d['query'][_0x4656('0x2c')]);_0x84a0c7[_0x4656('0x2b')]=qs[_0x4656('0x2b')](_0x3adb1d[_0x4656('0x39')]['offset']);}return _0x5f41f8['getConfigurations'](_0x84a0c7);}})[_0x4656('0x1b')](function(_0x3984e9){if(_0x3984e9){return _0x3984e9?{'count':_0x26cf80,'rows':_0x3984e9}:null;}})[_0x4656('0x1b')](respondWithResult(_0x2a78a2,null))['catch'](handleError(_0x2a78a2,null));};exports[_0x4656('0x56')]=function(_0x3c2d5b,_0x1a0089,_0x125339){if(_0x3c2d5b[_0x4656('0x50')]['id']){delete _0x3c2d5b[_0x4656('0x50')]['id'];}return db[_0x4656('0x48')][_0x4656('0x53')]({'where':{'id':_0x3c2d5b[_0x4656('0x51')]['id']}})[_0x4656('0x1b')](handleEntityNotFound(_0x1a0089,null))[_0x4656('0x1b')](function(_0x66be61){if(_0x66be61){_0x3c2d5b[_0x4656('0x50')][_0x4656('0x57')]=_0x66be61['id'];_0x3c2d5b[_0x4656('0x50')][_0x4656('0x58')]=integrations[_0x4656('0x59')](_0x3c2d5b['body'][_0x4656('0x5a')],_0x3c2d5b[_0x4656('0x50')][_0x4656('0x37')]);_0x3c2d5b['body'][_0x4656('0x5b')]=integrations[_0x4656('0x5c')](_0x3c2d5b[_0x4656('0x50')][_0x4656('0x5a')],_0x3c2d5b[_0x4656('0x50')][_0x4656('0x37')]);return db['DeskConfiguration']['create'](_0x3c2d5b['body'],{'include':[{'model':db[_0x4656('0x5d')],'as':_0x4656('0x58')},{'model':db[_0x4656('0x5d')],'as':_0x4656('0x5b')}]});}return null;})[_0x4656('0x1b')](respondWithResult(_0x1a0089,null))[_0x4656('0x25')](handleError(_0x1a0089,null));};exports[_0x4656('0x5e')]=function(_0x300314,_0x5b849e,_0xd0a4e6){var _0x36bb8c=[{'name':_0x4656('0x5f'),'label':_0x4656('0x5f'),'custom':![],'options':[{'name':0x1,'value':0x1},{'name':0x2,'value':0x2},{'name':0x3,'value':0x3},{'name':0x4,'value':0x4},{'name':0x5,'value':0x5},{'name':0x6,'value':0x6},{'name':0x7,'value':0x7},{'name':0x8,'value':0x8},{'name':0x9,'value':0x9},{'name':0xa,'value':0xa}]}];var _0x41ee15='';return db['DeskAccount'][_0x4656('0x53')]({'where':{'id':_0x300314[_0x4656('0x51')]['id']},'attributes':['id',_0x4656('0x60'),_0x4656('0x61'),_0x4656('0x62'),'password',_0x4656('0x63'),_0x4656('0x64'),'token',_0x4656('0x65')]})[_0x4656('0x1b')](handleEntityNotFound(_0x5b849e,null))['then'](function(_0x471045){if(_0x471045){_0x41ee15=_0x471045[_0x4656('0x60')];var _0x242dc8=_0x41ee15[_0x4656('0x66')](-0x1);if(_0x242dc8==='/'){_0x41ee15=_0x41ee15[_0x4656('0x67')](0x0,_0x41ee15[_0x4656('0x68')](_0x242dc8));}var _0x4014d0={'method':_0x4656('0x69'),'uri':util[_0x4656('0x6a')](_0x4656('0x6b'),_0x41ee15),'headers':{'Content-Type':_0x4656('0x6c'),'Accept':_0x4656('0x6c')},'json':!![]};if(_0x471045[_0x4656('0x61')]===_0x4656('0x6d')){_0x4014d0['headers'][_0x4656('0x6e')]=util[_0x4656('0x6a')]('Basic\x20%s',new Buffer(util[_0x4656('0x6a')](_0x4656('0x6f'),_0x471045[_0x4656('0x62')],_0x471045[_0x4656('0x70')]))['toString']('base64'));}return rp(_0x4014d0)[_0x4656('0x1b')](function(_0x5ebc60){return _0x36bb8c[_0x4656('0x71')](_[_0x4656('0x35')](_0x5ebc60[_0x4656('0x72')][_0x4656('0x73')],function(_0x1dda6c){return{'id':_0x1dda6c[_0x4656('0x32')],'name':_0x1dda6c[_0x4656('0x32')],'type':_0x1dda6c[_0x4656('0x37')],'active':_0x1dda6c['active'],'label':_0x1dda6c[_0x4656('0x74')],'custom':!![]};}));});}})[_0x4656('0x1b')](function(_0x78ae7e){return{'count':_0x78ae7e[_0x4656('0x3f')],'rows':_0x78ae7e};})[_0x4656('0x1b')](respondWithResult(_0x5b849e,null))[_0x4656('0x25')](function(_0x4006d6){var _0x14ff9d=_0x300314[_0x4656('0x39')][_0x4656('0x16')]?0x1f4:_0x4006d6['statusCode']||0x1f4;logger[_0x4656('0x21')](_0x4656('0x75'),_0x4656('0x5e'),_0x14ff9d,JSON[_0x4656('0x20')](_0x4006d6));delete _0x4006d6[_0x4656('0x32')];if(_0x14ff9d===0x191){_0x14ff9d=0x190;}_0x5b849e[_0x4656('0x27')](_0x14ff9d)['send'](_0x300314[_0x4656('0x39')][_0x4656('0x16')]?{'message':_0x4656('0x76'),'statusCode':_0x4006d6[_0x4656('0x77')]}:_0x4006d6);});};