Built motion from commit (unavailable).|2.5.20
[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 _0xad77=['info','catch','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','then','sendStatus','stack','name','send','map','DeskAccount','rawAttributes','fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','show','find','create','body','params','getConfigurations','findOne','addConfiguration','Subjects','getSubjects','channel','Descriptions','getDescriptions','DeskConfiguration','DeskField','getFields','priority','remoteUri','authType','username','password','consumerKey','consumerSecret','token','tokenSecret','slice','substring','GET','%s/custom_fields','basic','headers','Authorization','format','%s:%s','base64','concat','entries','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','DeskAccount,\x20%s,\x20%s','request\x20sent','DeskAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message'];(function(_0x279285,_0x222d40){var _0x571299=function(_0x2c7551){while(--_0x2c7551){_0x279285['push'](_0x279285['shift']());}};_0x571299(++_0x222d40);}(_0xad77,0xd7));var _0x7ad7=function(_0x493fe2,_0xb64d6c){_0x493fe2=_0x493fe2-0x0;var _0x24e309=_0xad77[_0x493fe2];return _0x24e309;};'use strict';var pdf=require(_0x7ad7('0x0'));var emlformat=require(_0x7ad7('0x1'));var rimraf=require(_0x7ad7('0x2'));var zipdir=require(_0x7ad7('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7ad7('0x4'));var moment=require(_0x7ad7('0x5'));var BPromise=require(_0x7ad7('0x6'));var Mustache=require(_0x7ad7('0x7'));var util=require(_0x7ad7('0x8'));var path=require(_0x7ad7('0x9'));var sox=require(_0x7ad7('0xa'));var csv=require(_0x7ad7('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x7ad7('0xc'));var squel=require('squel');var crypto=require(_0x7ad7('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x7ad7('0xe'));var Papa=require(_0x7ad7('0xf'));var Redis=require(_0x7ad7('0x10'));var authService=require(_0x7ad7('0x11'));var qs=require(_0x7ad7('0x12'));var as=require(_0x7ad7('0x13'));var hardwareService=require(_0x7ad7('0x14'));var logger=require('../../config/logger')(_0x7ad7('0x15'));var utils=require(_0x7ad7('0x16'));var config=require(_0x7ad7('0x17'));var licenseUtil=require(_0x7ad7('0x18'));var db=require(_0x7ad7('0x19'))['db'];var integrations=require(_0x7ad7('0x1a'));var jayson=require(_0x7ad7('0x1b'));var client=jayson[_0x7ad7('0x1c')][_0x7ad7('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x225e4b,_0x22d80b,_0x15e53d,_0x141f0a){return new BPromise(function(_0x5cba11,_0x508bdb){var _0x2d196f=_0x141f0a||client;return _0x2d196f['request'](_0x225e4b,_0x15e53d)['then'](function(_0x12ef15){logger['info'](_0x7ad7('0x1e'),_0x22d80b,_0x7ad7('0x1f'));logger['debug'](_0x7ad7('0x20'),_0x22d80b,_0x7ad7('0x1f'),JSON[_0x7ad7('0x21')](_0x12ef15));if(_0x12ef15[_0x7ad7('0x22')]){if(_0x12ef15[_0x7ad7('0x22')][_0x7ad7('0x23')]===0x1f4){logger[_0x7ad7('0x22')](_0x7ad7('0x1e'),_0x22d80b,_0x12ef15[_0x7ad7('0x22')]['message']);return _0x508bdb(_0x12ef15['error'][_0x7ad7('0x24')]);}logger[_0x7ad7('0x22')]('DeskAccount,\x20%s,\x20%s',_0x22d80b,_0x12ef15['error']['message']);return _0x5cba11(_0x12ef15[_0x7ad7('0x22')][_0x7ad7('0x24')]);}else{logger[_0x7ad7('0x25')](_0x7ad7('0x1e'),_0x22d80b,_0x7ad7('0x1f'));_0x5cba11(_0x12ef15['result'][_0x7ad7('0x24')]);}})[_0x7ad7('0x26')](function(_0x174ca1){logger[_0x7ad7('0x22')]('DeskAccount,\x20%s,\x20%s',_0x22d80b,_0x174ca1);_0x508bdb(_0x174ca1);});});}function respondWithStatusCode(_0xf1458d,_0x1b684a){_0x1b684a=_0x1b684a||0xcc;return function(_0x3daa50){if(_0x3daa50){return _0xf1458d['sendStatus'](_0x1b684a);}return _0xf1458d[_0x7ad7('0x27')](_0x1b684a)[_0x7ad7('0x28')]();};}function respondWithResult(_0x4b41ce,_0x1d5fd1){_0x1d5fd1=_0x1d5fd1||0xc8;return function(_0x1b861b){if(_0x1b861b){return _0x4b41ce[_0x7ad7('0x27')](_0x1d5fd1)[_0x7ad7('0x29')](_0x1b861b);}};}function respondWithFilteredResult(_0x2ff65d,_0x3740bc){return function(_0x43b612){if(_0x43b612){var _0x5c5f76=_0x43b612[_0x7ad7('0x2a')],_0x4cdc4e=_0x3740bc[_0x7ad7('0x2b')],_0x2d8798=_0x3740bc[_0x7ad7('0x2b')]+_0x3740bc[_0x7ad7('0x2c')],_0x58b77b;if(_0x2d8798>=_0x5c5f76){_0x2d8798=_0x5c5f76;_0x58b77b=0xc8;}else{_0x58b77b=0xce;}_0x2ff65d[_0x7ad7('0x27')](_0x58b77b);return _0x2ff65d[_0x7ad7('0x2d')](_0x7ad7('0x2e'),_0x4cdc4e+'-'+_0x2d8798+'/'+_0x5c5f76)[_0x7ad7('0x29')](_0x43b612);}return null;};}function patchUpdates(_0xfffca8){return function(_0x90bba5){try{jsonpatch[_0x7ad7('0x2f')](_0x90bba5,_0xfffca8,!![]);}catch(_0x3516e9){return BPromise[_0x7ad7('0x30')](_0x3516e9);}return _0x90bba5[_0x7ad7('0x31')]();};}function saveUpdates(_0x2fa3da,_0x86b4d){return function(_0x543c09){if(_0x543c09){return _0x543c09[_0x7ad7('0x32')](_0x2fa3da)['then'](function(_0x3bd71d){return _0x3bd71d;});}return null;};}function removeEntity(_0x41e195,_0x1555bd){return function(_0x583427){if(_0x583427){return _0x583427[_0x7ad7('0x33')]()[_0x7ad7('0x34')](function(){_0x41e195[_0x7ad7('0x27')](0xcc)[_0x7ad7('0x28')]();});}};}function handleEntityNotFound(_0x4df251,_0x129f3a){return function(_0x80e448){if(!_0x80e448){_0x4df251[_0x7ad7('0x35')](0x194);}return _0x80e448;};}function handleError(_0x124de5,_0x2e8272){_0x2e8272=_0x2e8272||0x1f4;return function(_0x3a429b){logger[_0x7ad7('0x22')](_0x3a429b[_0x7ad7('0x36')]);if(_0x3a429b[_0x7ad7('0x37')]){delete _0x3a429b[_0x7ad7('0x37')];}_0x124de5[_0x7ad7('0x27')](_0x2e8272)[_0x7ad7('0x38')](_0x3a429b);};}exports['index']=function(_0xeb28ae,_0x2b494a){var _0x486534={},_0x1fb1d2={},_0x385dac={'count':0x0,'rows':[]};var _0xb08d44=_[_0x7ad7('0x39')](db[_0x7ad7('0x3a')][_0x7ad7('0x3b')],function(_0x300958){return{'name':_0x300958[_0x7ad7('0x3c')],'type':_0x300958[_0x7ad7('0x3d')][_0x7ad7('0x3e')]};});_0x1fb1d2['model']=_[_0x7ad7('0x39')](_0xb08d44,_0x7ad7('0x37'));_0x1fb1d2['query']=_[_0x7ad7('0x3f')](_0xeb28ae[_0x7ad7('0x40')]);_0x1fb1d2[_0x7ad7('0x41')]=_[_0x7ad7('0x42')](_0x1fb1d2[_0x7ad7('0x43')],_0x1fb1d2['query']);_0x486534[_0x7ad7('0x44')]=_['intersection'](_0x1fb1d2[_0x7ad7('0x43')],qs[_0x7ad7('0x45')](_0xeb28ae['query'][_0x7ad7('0x45')]));_0x486534['attributes']=_0x486534[_0x7ad7('0x44')][_0x7ad7('0x46')]?_0x486534['attributes']:_0x1fb1d2[_0x7ad7('0x43')];if(!_0xeb28ae[_0x7ad7('0x40')][_0x7ad7('0x47')](_0x7ad7('0x48'))){_0x486534[_0x7ad7('0x2c')]=qs['limit'](_0xeb28ae['query'][_0x7ad7('0x2c')]);_0x486534[_0x7ad7('0x2b')]=qs[_0x7ad7('0x2b')](_0xeb28ae[_0x7ad7('0x40')]['offset']);}_0x486534[_0x7ad7('0x49')]=qs[_0x7ad7('0x4a')](_0xeb28ae[_0x7ad7('0x40')]['sort']);_0x486534[_0x7ad7('0x4b')]=qs['filters'](_[_0x7ad7('0x4c')](_0xeb28ae[_0x7ad7('0x40')],_0x1fb1d2[_0x7ad7('0x41')]),_0xb08d44);if(_0xeb28ae[_0x7ad7('0x40')][_0x7ad7('0x4d')]){_0x486534['where']=_['merge'](_0x486534['where'],{'$or':_['map'](_0xb08d44,function(_0x1ca3ac){if(_0x1ca3ac[_0x7ad7('0x3d')]!==_0x7ad7('0x4e')){var _0x3f99c8={};_0x3f99c8[_0x1ca3ac['name']]={'$like':'%'+_0xeb28ae[_0x7ad7('0x40')][_0x7ad7('0x4d')]+'%'};return _0x3f99c8;}})});}_0x486534=_[_0x7ad7('0x4f')]({},_0x486534,_0xeb28ae[_0x7ad7('0x50')]);var _0x4841cf={'where':_0x486534[_0x7ad7('0x4b')]};return db[_0x7ad7('0x3a')][_0x7ad7('0x2a')](_0x4841cf)[_0x7ad7('0x34')](function(_0x3789d3){_0x385dac[_0x7ad7('0x2a')]=_0x3789d3;if(_0xeb28ae[_0x7ad7('0x40')][_0x7ad7('0x51')]){_0x486534[_0x7ad7('0x52')]=[{'all':!![]}];}return db[_0x7ad7('0x3a')][_0x7ad7('0x53')](_0x486534);})['then'](function(_0x34d77f){_0x385dac[_0x7ad7('0x54')]=_0x34d77f;return _0x385dac;})['then'](respondWithFilteredResult(_0x2b494a,_0x486534))[_0x7ad7('0x26')](handleError(_0x2b494a,null));};exports[_0x7ad7('0x55')]=function(_0x56e052,_0x5dc96d){var _0x32cf99={'raw':![],'where':{'id':_0x56e052['params']['id']}},_0x18c2d4={};_0x18c2d4[_0x7ad7('0x43')]=_[_0x7ad7('0x3f')](db['DeskAccount'][_0x7ad7('0x3b')]);_0x18c2d4[_0x7ad7('0x40')]=_[_0x7ad7('0x3f')](_0x56e052[_0x7ad7('0x40')]);_0x18c2d4[_0x7ad7('0x41')]=_[_0x7ad7('0x42')](_0x18c2d4[_0x7ad7('0x43')],_0x18c2d4[_0x7ad7('0x40')]);_0x32cf99['attributes']=_['intersection'](_0x18c2d4[_0x7ad7('0x43')],qs[_0x7ad7('0x45')](_0x56e052[_0x7ad7('0x40')][_0x7ad7('0x45')]));_0x32cf99['attributes']=_0x32cf99['attributes']['length']?_0x32cf99[_0x7ad7('0x44')]:_0x18c2d4[_0x7ad7('0x43')];if(_0x56e052['query'][_0x7ad7('0x51')]){_0x32cf99['include']=[{'all':!![]}];}_0x32cf99=_[_0x7ad7('0x4f')]({},_0x32cf99,_0x56e052[_0x7ad7('0x50')]);return db[_0x7ad7('0x3a')][_0x7ad7('0x56')](_0x32cf99)['then'](handleEntityNotFound(_0x5dc96d,null))[_0x7ad7('0x34')](respondWithResult(_0x5dc96d,null))['catch'](handleError(_0x5dc96d,null));};exports[_0x7ad7('0x57')]=function(_0x149686,_0x627606){return db[_0x7ad7('0x3a')][_0x7ad7('0x57')](_0x149686['body'],{})[_0x7ad7('0x34')](respondWithResult(_0x627606,0xc9))[_0x7ad7('0x26')](handleError(_0x627606,null));};exports[_0x7ad7('0x32')]=function(_0x4e2c5b,_0x12f94e){if(_0x4e2c5b[_0x7ad7('0x58')]['id']){delete _0x4e2c5b['body']['id'];}return db[_0x7ad7('0x3a')]['find']({'where':{'id':_0x4e2c5b[_0x7ad7('0x59')]['id']}})['then'](handleEntityNotFound(_0x12f94e,null))[_0x7ad7('0x34')](saveUpdates(_0x4e2c5b[_0x7ad7('0x58')],null))[_0x7ad7('0x34')](respondWithResult(_0x12f94e,null))[_0x7ad7('0x26')](handleError(_0x12f94e,null));};exports[_0x7ad7('0x33')]=function(_0x50c44d,_0x52c995){return db[_0x7ad7('0x3a')][_0x7ad7('0x56')]({'where':{'id':_0x50c44d['params']['id']}})[_0x7ad7('0x34')](handleEntityNotFound(_0x52c995,null))[_0x7ad7('0x34')](removeEntity(_0x52c995,null))[_0x7ad7('0x26')](handleError(_0x52c995,null));};exports[_0x7ad7('0x5a')]=function(_0x5f2e0d,_0x43d347,_0x2ca8fd){var _0x3d6dda={};var _0x579152={};var _0x275312;var _0x247a29;return db['DeskAccount'][_0x7ad7('0x5b')]({'where':{'id':_0x5f2e0d[_0x7ad7('0x59')]['id']}})['then'](handleEntityNotFound(_0x43d347,null))['then'](function(_0x4d2c88){if(_0x4d2c88){_0x275312=_0x4d2c88;_0x579152[_0x7ad7('0x43')]=_[_0x7ad7('0x3f')](db['DeskConfiguration'][_0x7ad7('0x3b')]);_0x579152[_0x7ad7('0x40')]=_[_0x7ad7('0x3f')](_0x5f2e0d['query']);_0x579152[_0x7ad7('0x41')]=_[_0x7ad7('0x42')](_0x579152[_0x7ad7('0x43')],_0x579152['query']);_0x3d6dda['attributes']=_[_0x7ad7('0x42')](_0x579152[_0x7ad7('0x43')],qs[_0x7ad7('0x45')](_0x5f2e0d[_0x7ad7('0x40')][_0x7ad7('0x45')]));_0x3d6dda[_0x7ad7('0x44')]=_0x3d6dda[_0x7ad7('0x44')][_0x7ad7('0x46')]?_0x3d6dda[_0x7ad7('0x44')]:_0x579152['model'];_0x3d6dda[_0x7ad7('0x49')]=qs[_0x7ad7('0x4a')](_0x5f2e0d[_0x7ad7('0x40')][_0x7ad7('0x4a')]);_0x3d6dda[_0x7ad7('0x4b')]=qs[_0x7ad7('0x41')](_[_0x7ad7('0x4c')](_0x5f2e0d[_0x7ad7('0x40')],_0x579152[_0x7ad7('0x41')]));if(_0x5f2e0d[_0x7ad7('0x40')][_0x7ad7('0x4d')]){_0x3d6dda[_0x7ad7('0x4b')]=_['merge'](_0x3d6dda[_0x7ad7('0x4b')],{'$or':_[_0x7ad7('0x39')](_0x3d6dda[_0x7ad7('0x44')],function(_0x1c2eab){var _0x1a4e54={};_0x1a4e54[_0x1c2eab]={'$like':'%'+_0x5f2e0d[_0x7ad7('0x40')][_0x7ad7('0x4d')]+'%'};return _0x1a4e54;})});}_0x3d6dda=_[_0x7ad7('0x4f')]({},_0x3d6dda,_0x5f2e0d['options']);return _0x275312['getConfigurations'](_0x3d6dda);}})[_0x7ad7('0x34')](function(_0x308ee6){if(_0x308ee6){_0x247a29=_0x308ee6[_0x7ad7('0x46')];if(!_0x5f2e0d[_0x7ad7('0x40')][_0x7ad7('0x47')]('nolimit')){_0x3d6dda[_0x7ad7('0x2c')]=qs[_0x7ad7('0x2c')](_0x5f2e0d[_0x7ad7('0x40')]['limit']);_0x3d6dda[_0x7ad7('0x2b')]=qs['offset'](_0x5f2e0d[_0x7ad7('0x40')][_0x7ad7('0x2b')]);}return _0x275312[_0x7ad7('0x5a')](_0x3d6dda);}})[_0x7ad7('0x34')](function(_0x465c0c){if(_0x465c0c){return _0x465c0c?{'count':_0x247a29,'rows':_0x465c0c}:null;}})[_0x7ad7('0x34')](respondWithResult(_0x43d347,null))[_0x7ad7('0x26')](handleError(_0x43d347,null));};exports[_0x7ad7('0x5c')]=function(_0x1cb75f,_0x1c5acd,_0x434676){if(_0x1cb75f[_0x7ad7('0x58')]['id']){delete _0x1cb75f[_0x7ad7('0x58')]['id'];}return db[_0x7ad7('0x3a')][_0x7ad7('0x5b')]({'where':{'id':_0x1cb75f['params']['id']}})[_0x7ad7('0x34')](handleEntityNotFound(_0x1c5acd,null))[_0x7ad7('0x34')](function(_0x396dbd){if(_0x396dbd){_0x1cb75f['body']['AccountId']=_0x396dbd['id'];_0x1cb75f[_0x7ad7('0x58')][_0x7ad7('0x5d')]=integrations[_0x7ad7('0x5e')](_0x1cb75f[_0x7ad7('0x58')][_0x7ad7('0x5f')],_0x1cb75f[_0x7ad7('0x58')][_0x7ad7('0x3d')]);_0x1cb75f['body'][_0x7ad7('0x60')]=integrations[_0x7ad7('0x61')](_0x1cb75f['body'][_0x7ad7('0x5f')],_0x1cb75f['body'][_0x7ad7('0x3d')]);return db[_0x7ad7('0x62')][_0x7ad7('0x57')](_0x1cb75f[_0x7ad7('0x58')],{'include':[{'model':db[_0x7ad7('0x63')],'as':_0x7ad7('0x5d')},{'model':db[_0x7ad7('0x63')],'as':'Descriptions'}]});}return null;})[_0x7ad7('0x34')](respondWithResult(_0x1c5acd,null))['catch'](handleError(_0x1c5acd,null));};exports[_0x7ad7('0x64')]=function(_0x1e48b9,_0x19b1fa,_0x1cbbc3){var _0x34cc19=[{'name':_0x7ad7('0x65'),'label':'priority','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 _0x3a1989='';return db[_0x7ad7('0x3a')][_0x7ad7('0x5b')]({'where':{'id':_0x1e48b9['params']['id']},'attributes':['id',_0x7ad7('0x66'),_0x7ad7('0x67'),_0x7ad7('0x68'),_0x7ad7('0x69'),_0x7ad7('0x6a'),_0x7ad7('0x6b'),_0x7ad7('0x6c'),_0x7ad7('0x6d')]})[_0x7ad7('0x34')](handleEntityNotFound(_0x19b1fa,null))[_0x7ad7('0x34')](function(_0x227eb4){if(_0x227eb4){_0x3a1989=_0x227eb4[_0x7ad7('0x66')];var _0x10785d=_0x3a1989[_0x7ad7('0x6e')](-0x1);if(_0x10785d==='/'){_0x3a1989=_0x3a1989[_0x7ad7('0x6f')](0x0,_0x3a1989['lastIndexOf'](_0x10785d));}var _0xfa6ef3={'method':_0x7ad7('0x70'),'uri':util['format'](_0x7ad7('0x71'),_0x3a1989),'headers':{'Content-Type':'application/json','Accept':'application/json'},'json':!![]};if(_0x227eb4[_0x7ad7('0x67')]===_0x7ad7('0x72')){_0xfa6ef3[_0x7ad7('0x73')][_0x7ad7('0x74')]=util[_0x7ad7('0x75')]('Basic\x20%s',new Buffer(util[_0x7ad7('0x75')](_0x7ad7('0x76'),_0x227eb4[_0x7ad7('0x68')],_0x227eb4[_0x7ad7('0x69')]))['toString'](_0x7ad7('0x77')));}return rp(_0xfa6ef3)[_0x7ad7('0x34')](function(_0x44b673){return _0x34cc19[_0x7ad7('0x78')](_[_0x7ad7('0x39')](_0x44b673['_embedded'][_0x7ad7('0x79')],function(_0x563007){return{'id':_0x563007[_0x7ad7('0x37')],'name':_0x563007['name'],'type':_0x563007[_0x7ad7('0x3d')],'active':_0x563007['active'],'label':_0x563007['label'],'custom':!![]};}));});}})[_0x7ad7('0x34')](function(_0x563e40){return{'count':_0x563e40[_0x7ad7('0x46')],'rows':_0x563e40};})[_0x7ad7('0x34')](respondWithResult(_0x19b1fa,null))['catch'](function(_0x147e16){var _0x29c7e1=_0x1e48b9[_0x7ad7('0x40')][_0x7ad7('0x7a')]?0x1f4:_0x147e16[_0x7ad7('0x7b')]||0x1f4;logger[_0x7ad7('0x22')](_0x7ad7('0x7c'),'getFields',_0x29c7e1,JSON[_0x7ad7('0x21')](_0x147e16));delete _0x147e16['name'];if(_0x29c7e1===0x191){_0x29c7e1=0x190;}_0x19b1fa[_0x7ad7('0x27')](_0x29c7e1)['send'](_0x1e48b9[_0x7ad7('0x40')][_0x7ad7('0x7a')]?{'message':_0x7ad7('0x7d'),'statusCode':_0x147e16[_0x7ad7('0x7b')]}:_0x147e16);});};