Built motion from commit (unavailable).|2.5.16
[motion2.git] / server / api / intZendeskAccount / intZendeskAccount.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 _0x593e=['name','index','map','ZendeskAccount','fieldName','key','keys','query','filters','attributes','model','fields','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','include','findAll','rows','show','params','rawAttributes','intersection','length','includeAll','find','create','body','findOne','ZendeskConfiguration','hasOwnProperty','getConfigurations','addConfiguration','AccountId','Subjects','getSubjects','channel','type','Descriptions','ZendeskField','getFields','password','token','authType','remoteUri','slice','lastIndexOf','GET','%s/%s','ticket_fields','headers','format','%s:%s','base64','Basic\x20%s','username','toString','ValidationError','Unknown\x20authentication\x20type','subject','group','assignee','position','system_field_options','custom_field_options','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','request','info','ZendeskAccount,\x20%s,\x20%s','request\x20sent','debug','ZendeskAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','count','offset','limit','set','json','reject','save','update','then','stack'];(function(_0x56d5b4,_0x1427e5){var _0x5890bf=function(_0x1b3816){while(--_0x1b3816){_0x56d5b4['push'](_0x56d5b4['shift']());}};_0x5890bf(++_0x1427e5);}(_0x593e,0xcb));var _0xe593=function(_0x171e61,_0x326fe2){_0x171e61=_0x171e61-0x0;var _0x13503c=_0x593e[_0x171e61];return _0x13503c;};'use strict';var pdf=require(_0xe593('0x0'));var emlformat=require(_0xe593('0x1'));var rimraf=require(_0xe593('0x2'));var zipdir=require(_0xe593('0x3'));var jsonpatch=require(_0xe593('0x4'));var rp=require(_0xe593('0x5'));var moment=require(_0xe593('0x6'));var BPromise=require(_0xe593('0x7'));var Mustache=require('mustache');var util=require(_0xe593('0x8'));var path=require(_0xe593('0x9'));var sox=require(_0xe593('0xa'));var csv=require(_0xe593('0xb'));var ejs=require(_0xe593('0xc'));var fs=require('fs');var _=require(_0xe593('0xd'));var squel=require(_0xe593('0xe'));var crypto=require(_0xe593('0xf'));var jsforce=require(_0xe593('0x10'));var deskjs=require(_0xe593('0x11'));var toCsv=require('to-csv');var querystring=require(_0xe593('0x12'));var Papa=require(_0xe593('0x13'));var Redis=require(_0xe593('0x14'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xe593('0x15'));var hardwareService=require(_0xe593('0x16'));var logger=require(_0xe593('0x17'))('api');var utils=require(_0xe593('0x18'));var config=require(_0xe593('0x19'));var licenseUtil=require(_0xe593('0x1a'));var db=require(_0xe593('0x1b'))['db'];var integrations=require(_0xe593('0x1c'));var jayson=require(_0xe593('0x1d'));var client=jayson[_0xe593('0x1e')][_0xe593('0x1f')]({'port':0x232a});function respondWithRpcPromise(_0x328a5a,_0x15813c,_0x499819,_0x2907e4){return new BPromise(function(_0x1de391,_0x59f7c4){var _0x38418c=_0x2907e4||client;return _0x38418c[_0xe593('0x20')](_0x328a5a,_0x499819)['then'](function(_0x2ae9b6){logger[_0xe593('0x21')](_0xe593('0x22'),_0x15813c,_0xe593('0x23'));logger[_0xe593('0x24')](_0xe593('0x25'),_0x15813c,'request\x20sent',JSON[_0xe593('0x26')](_0x2ae9b6));if(_0x2ae9b6[_0xe593('0x27')]){if(_0x2ae9b6['error'][_0xe593('0x28')]===0x1f4){logger[_0xe593('0x27')]('ZendeskAccount,\x20%s,\x20%s',_0x15813c,_0x2ae9b6[_0xe593('0x27')][_0xe593('0x29')]);return _0x59f7c4(_0x2ae9b6[_0xe593('0x27')][_0xe593('0x29')]);}logger[_0xe593('0x27')](_0xe593('0x22'),_0x15813c,_0x2ae9b6[_0xe593('0x27')]['message']);return _0x1de391(_0x2ae9b6['error'][_0xe593('0x29')]);}else{logger['info']('ZendeskAccount,\x20%s,\x20%s',_0x15813c,_0xe593('0x23'));_0x1de391(_0x2ae9b6[_0xe593('0x2a')]['message']);}})[_0xe593('0x2b')](function(_0x563053){logger[_0xe593('0x27')](_0xe593('0x22'),_0x15813c,_0x563053);_0x59f7c4(_0x563053);});});}function respondWithStatusCode(_0x185cea,_0x44d997){_0x44d997=_0x44d997||0xcc;return function(_0x39103d){if(_0x39103d){return _0x185cea[_0xe593('0x2c')](_0x44d997);}return _0x185cea[_0xe593('0x2d')](_0x44d997)[_0xe593('0x2e')]();};}function respondWithResult(_0x4fc483,_0x47aea){_0x47aea=_0x47aea||0xc8;return function(_0x347d7d){if(_0x347d7d){return _0x4fc483['status'](_0x47aea)['json'](_0x347d7d);}};}function respondWithFilteredResult(_0xf8d492,_0x25238f){return function(_0x21eefc){if(_0x21eefc){var _0x43699d=_0x21eefc[_0xe593('0x2f')],_0x3b66bc=_0x25238f['offset'],_0x27a3d2=_0x25238f[_0xe593('0x30')]+_0x25238f[_0xe593('0x31')],_0x5918cd;if(_0x27a3d2>=_0x43699d){_0x27a3d2=_0x43699d;_0x5918cd=0xc8;}else{_0x5918cd=0xce;}_0xf8d492['status'](_0x5918cd);return _0xf8d492[_0xe593('0x32')]('Content-Range',_0x3b66bc+'-'+_0x27a3d2+'/'+_0x43699d)[_0xe593('0x33')](_0x21eefc);}return null;};}function patchUpdates(_0x1c147b){return function(_0x1618af){try{jsonpatch['apply'](_0x1618af,_0x1c147b,!![]);}catch(_0x1ae8d9){return BPromise[_0xe593('0x34')](_0x1ae8d9);}return _0x1618af[_0xe593('0x35')]();};}function saveUpdates(_0x338222,_0x2588be){return function(_0x291df8){if(_0x291df8){return _0x291df8[_0xe593('0x36')](_0x338222)['then'](function(_0x4098a9){return _0x4098a9;});}return null;};}function removeEntity(_0xc23a2f,_0x4e8448){return function(_0xe5e728){if(_0xe5e728){return _0xe5e728['destroy']()[_0xe593('0x37')](function(){_0xc23a2f[_0xe593('0x2d')](0xcc)[_0xe593('0x2e')]();});}};}function handleEntityNotFound(_0x3f64d0,_0x38d9f4){return function(_0x24a560){if(!_0x24a560){_0x3f64d0[_0xe593('0x2c')](0x194);}return _0x24a560;};}function handleError(_0x346640,_0x11f287){_0x11f287=_0x11f287||0x1f4;return function(_0x4305de){logger['error'](_0x4305de[_0xe593('0x38')]);if(_0x4305de[_0xe593('0x39')]){delete _0x4305de[_0xe593('0x39')];}_0x346640['status'](_0x11f287)['send'](_0x4305de);};}exports[_0xe593('0x3a')]=function(_0x5813bf,_0x232bf1){var _0x43f71a={},_0x1c2dad={},_0x30511c={'count':0x0,'rows':[]};var _0x35b4c1=_[_0xe593('0x3b')](db[_0xe593('0x3c')]['rawAttributes'],function(_0x5112c1){return{'name':_0x5112c1[_0xe593('0x3d')],'type':_0x5112c1['type'][_0xe593('0x3e')]};});_0x1c2dad['model']=_[_0xe593('0x3b')](_0x35b4c1,'name');_0x1c2dad['query']=_[_0xe593('0x3f')](_0x5813bf[_0xe593('0x40')]);_0x1c2dad[_0xe593('0x41')]=_['intersection'](_0x1c2dad['model'],_0x1c2dad['query']);_0x43f71a[_0xe593('0x42')]=_['intersection'](_0x1c2dad[_0xe593('0x43')],qs[_0xe593('0x44')](_0x5813bf[_0xe593('0x40')][_0xe593('0x44')]));_0x43f71a['attributes']=_0x43f71a[_0xe593('0x42')]['length']?_0x43f71a[_0xe593('0x42')]:_0x1c2dad['model'];if(!_0x5813bf['query']['hasOwnProperty'](_0xe593('0x45'))){_0x43f71a['limit']=qs[_0xe593('0x31')](_0x5813bf[_0xe593('0x40')][_0xe593('0x31')]);_0x43f71a['offset']=qs[_0xe593('0x30')](_0x5813bf[_0xe593('0x40')][_0xe593('0x30')]);}_0x43f71a[_0xe593('0x46')]=qs[_0xe593('0x47')](_0x5813bf[_0xe593('0x40')][_0xe593('0x47')]);_0x43f71a[_0xe593('0x48')]=qs['filters'](_[_0xe593('0x49')](_0x5813bf[_0xe593('0x40')],_0x1c2dad[_0xe593('0x41')]),_0x35b4c1);if(_0x5813bf[_0xe593('0x40')][_0xe593('0x4a')]){_0x43f71a['where']=_['merge'](_0x43f71a[_0xe593('0x48')],{'$or':_[_0xe593('0x3b')](_0x35b4c1,function(_0x44b835){if(_0x44b835['type']!==_0xe593('0x4b')){var _0x8a4c26={};_0x8a4c26[_0x44b835['name']]={'$like':'%'+_0x5813bf['query'][_0xe593('0x4a')]+'%'};return _0x8a4c26;}})});}_0x43f71a=_[_0xe593('0x4c')]({},_0x43f71a,_0x5813bf[_0xe593('0x4d')]);var _0x4f5ee9={'where':_0x43f71a[_0xe593('0x48')]};return db[_0xe593('0x3c')][_0xe593('0x2f')](_0x4f5ee9)[_0xe593('0x37')](function(_0x592586){_0x30511c['count']=_0x592586;if(_0x5813bf['query']['includeAll']){_0x43f71a[_0xe593('0x4e')]=[{'all':!![]}];}return db['ZendeskAccount'][_0xe593('0x4f')](_0x43f71a);})[_0xe593('0x37')](function(_0x190e90){_0x30511c[_0xe593('0x50')]=_0x190e90;return _0x30511c;})[_0xe593('0x37')](respondWithFilteredResult(_0x232bf1,_0x43f71a))[_0xe593('0x2b')](handleError(_0x232bf1,null));};exports[_0xe593('0x51')]=function(_0x297c3e,_0x4c4f61){var _0x3dbb46={'raw':![],'where':{'id':_0x297c3e[_0xe593('0x52')]['id']}},_0x1a5e0f={};_0x1a5e0f['model']=_[_0xe593('0x3f')](db['ZendeskAccount'][_0xe593('0x53')]);_0x1a5e0f[_0xe593('0x40')]=_[_0xe593('0x3f')](_0x297c3e['query']);_0x1a5e0f['filters']=_[_0xe593('0x54')](_0x1a5e0f[_0xe593('0x43')],_0x1a5e0f['query']);_0x3dbb46['attributes']=_['intersection'](_0x1a5e0f['model'],qs['fields'](_0x297c3e[_0xe593('0x40')][_0xe593('0x44')]));_0x3dbb46[_0xe593('0x42')]=_0x3dbb46[_0xe593('0x42')][_0xe593('0x55')]?_0x3dbb46[_0xe593('0x42')]:_0x1a5e0f[_0xe593('0x43')];if(_0x297c3e[_0xe593('0x40')][_0xe593('0x56')]){_0x3dbb46[_0xe593('0x4e')]=[{'all':!![]}];}_0x3dbb46=_[_0xe593('0x4c')]({},_0x3dbb46,_0x297c3e[_0xe593('0x4d')]);return db[_0xe593('0x3c')][_0xe593('0x57')](_0x3dbb46)[_0xe593('0x37')](handleEntityNotFound(_0x4c4f61,null))[_0xe593('0x37')](respondWithResult(_0x4c4f61,null))['catch'](handleError(_0x4c4f61,null));};exports[_0xe593('0x58')]=function(_0x12e2ac,_0x4390bd){return db[_0xe593('0x3c')][_0xe593('0x58')](_0x12e2ac[_0xe593('0x59')],{})[_0xe593('0x37')](respondWithResult(_0x4390bd,0xc9))[_0xe593('0x2b')](handleError(_0x4390bd,null));};exports[_0xe593('0x36')]=function(_0x355feb,_0x37373c){if(_0x355feb[_0xe593('0x59')]['id']){delete _0x355feb[_0xe593('0x59')]['id'];}return db[_0xe593('0x3c')][_0xe593('0x57')]({'where':{'id':_0x355feb['params']['id']}})[_0xe593('0x37')](handleEntityNotFound(_0x37373c,null))[_0xe593('0x37')](saveUpdates(_0x355feb[_0xe593('0x59')],null))[_0xe593('0x37')](respondWithResult(_0x37373c,null))[_0xe593('0x2b')](handleError(_0x37373c,null));};exports['destroy']=function(_0x503f60,_0xec8cdd){return db[_0xe593('0x3c')][_0xe593('0x57')]({'where':{'id':_0x503f60[_0xe593('0x52')]['id']}})[_0xe593('0x37')](handleEntityNotFound(_0xec8cdd,null))[_0xe593('0x37')](removeEntity(_0xec8cdd,null))[_0xe593('0x2b')](handleError(_0xec8cdd,null));};exports['getConfigurations']=function(_0x54cc48,_0x546aa7,_0x23ee3b){var _0x4ff51d={};var _0x103403={};var _0xf8ed1d;var _0x2bf207;return db[_0xe593('0x3c')][_0xe593('0x5a')]({'where':{'id':_0x54cc48[_0xe593('0x52')]['id']}})[_0xe593('0x37')](handleEntityNotFound(_0x546aa7,null))[_0xe593('0x37')](function(_0x1dc796){if(_0x1dc796){_0xf8ed1d=_0x1dc796;_0x103403[_0xe593('0x43')]=_['keys'](db[_0xe593('0x5b')][_0xe593('0x53')]);_0x103403[_0xe593('0x40')]=_[_0xe593('0x3f')](_0x54cc48[_0xe593('0x40')]);_0x103403[_0xe593('0x41')]=_[_0xe593('0x54')](_0x103403['model'],_0x103403[_0xe593('0x40')]);_0x4ff51d[_0xe593('0x42')]=_[_0xe593('0x54')](_0x103403[_0xe593('0x43')],qs['fields'](_0x54cc48[_0xe593('0x40')][_0xe593('0x44')]));_0x4ff51d[_0xe593('0x42')]=_0x4ff51d[_0xe593('0x42')][_0xe593('0x55')]?_0x4ff51d['attributes']:_0x103403[_0xe593('0x43')];_0x4ff51d[_0xe593('0x46')]=qs[_0xe593('0x47')](_0x54cc48[_0xe593('0x40')][_0xe593('0x47')]);_0x4ff51d[_0xe593('0x48')]=qs[_0xe593('0x41')](_[_0xe593('0x49')](_0x54cc48['query'],_0x103403[_0xe593('0x41')]));if(_0x54cc48[_0xe593('0x40')][_0xe593('0x4a')]){_0x4ff51d[_0xe593('0x48')]=_[_0xe593('0x4c')](_0x4ff51d[_0xe593('0x48')],{'$or':_[_0xe593('0x3b')](_0x4ff51d[_0xe593('0x42')],function(_0x3ffdc4){var _0x7fc05e={};_0x7fc05e[_0x3ffdc4]={'$like':'%'+_0x54cc48['query'][_0xe593('0x4a')]+'%'};return _0x7fc05e;})});}_0x4ff51d=_[_0xe593('0x4c')]({},_0x4ff51d,_0x54cc48[_0xe593('0x4d')]);return _0xf8ed1d['getConfigurations'](_0x4ff51d);}})[_0xe593('0x37')](function(_0x36e92d){if(_0x36e92d){_0x2bf207=_0x36e92d[_0xe593('0x55')];if(!_0x54cc48[_0xe593('0x40')][_0xe593('0x5c')]('nolimit')){_0x4ff51d[_0xe593('0x31')]=qs[_0xe593('0x31')](_0x54cc48['query'][_0xe593('0x31')]);_0x4ff51d[_0xe593('0x30')]=qs[_0xe593('0x30')](_0x54cc48[_0xe593('0x40')]['offset']);}return _0xf8ed1d[_0xe593('0x5d')](_0x4ff51d);}})[_0xe593('0x37')](function(_0x43f868){if(_0x43f868){return _0x43f868?{'count':_0x2bf207,'rows':_0x43f868}:null;}})['then'](respondWithResult(_0x546aa7,null))[_0xe593('0x2b')](handleError(_0x546aa7,null));};exports[_0xe593('0x5e')]=function(_0x2ec8e7,_0x5bbf3d,_0xb6846a){if(_0x2ec8e7[_0xe593('0x59')]['id']){delete _0x2ec8e7[_0xe593('0x59')]['id'];}return db[_0xe593('0x3c')][_0xe593('0x5a')]({'where':{'id':_0x2ec8e7['params']['id']}})[_0xe593('0x37')](handleEntityNotFound(_0x5bbf3d,null))[_0xe593('0x37')](function(_0x2ceda4){if(_0x2ceda4){_0x2ec8e7[_0xe593('0x59')][_0xe593('0x5f')]=_0x2ceda4['id'];_0x2ec8e7[_0xe593('0x59')][_0xe593('0x60')]=integrations[_0xe593('0x61')](_0x2ec8e7[_0xe593('0x59')][_0xe593('0x62')],_0x2ec8e7[_0xe593('0x59')][_0xe593('0x63')]);_0x2ec8e7[_0xe593('0x59')][_0xe593('0x64')]=integrations['getDescriptions'](_0x2ec8e7[_0xe593('0x59')][_0xe593('0x62')],_0x2ec8e7[_0xe593('0x59')][_0xe593('0x63')]);return db[_0xe593('0x5b')][_0xe593('0x58')](_0x2ec8e7[_0xe593('0x59')],{'include':[{'model':db[_0xe593('0x65')],'as':'Subjects'},{'model':db['ZendeskField'],'as':'Descriptions'}]});}return null;})[_0xe593('0x37')](respondWithResult(_0x5bbf3d,null))[_0xe593('0x2b')](handleError(_0x5bbf3d,null));};exports[_0xe593('0x66')]=function(_0x48edd1,_0x5c3134,_0x45a9f5){var _0x4c7972='';return db[_0xe593('0x3c')][_0xe593('0x5a')]({'where':{'id':_0x48edd1[_0xe593('0x52')]['id']},'attributes':['id','username',_0xe593('0x67'),_0xe593('0x68'),_0xe593('0x69'),_0xe593('0x6a')]})[_0xe593('0x37')](handleEntityNotFound(_0x5c3134,null))[_0xe593('0x37')](function(_0x335399){if(_0x335399){_0x4c7972=_0x335399['remoteUri'];var _0x3007ea=_0x4c7972[_0xe593('0x6b')](-0x1);if(_0x3007ea==='/'){_0x4c7972=_0x4c7972['substring'](0x0,_0x4c7972[_0xe593('0x6c')](_0x3007ea));}var _0x2ee477={'method':_0xe593('0x6d'),'uri':util['format'](_0xe593('0x6e'),_0x4c7972,_0xe593('0x6f')),'json':!![]};switch(_0x335399[_0xe593('0x69')]){case _0xe593('0x67'):_0x2ee477[_0xe593('0x70')]={'Authorization':util[_0xe593('0x71')]('Basic\x20%s',new Buffer(util['format'](_0xe593('0x72'),_0x335399['username'],_0x335399['password']))['toString'](_0xe593('0x73')))};break;case _0xe593('0x68'):_0x2ee477[_0xe593('0x70')]={'Authorization':util[_0xe593('0x71')](_0xe593('0x74'),new Buffer(util['format']('%s/token:%s',_0x335399[_0xe593('0x75')],_0x335399[_0xe593('0x68')]))[_0xe593('0x76')](_0xe593('0x73')))};break;default:throw new db['Sequelize'][(_0xe593('0x77'))](_0xe593('0x78'));}return rp(_0x2ee477);}})[_0xe593('0x37')](function(_0x4f7b9c){if(_0x4f7b9c){var _0x44e10d=[_0xe593('0x79'),'description',_0xe593('0x7a'),_0xe593('0x7b')];_['remove'](_0x4f7b9c['ticket_fields'],function(_0x54d96b){return _0x44e10d['includes'](_0x54d96b['type']);});return{'count':_0x4f7b9c['ticket_fields'][_0xe593('0x55')],'rows':_['map'](_0x4f7b9c[_0xe593('0x6f')],function(_0x2bc66a){return{'id':_0x2bc66a['id'],'name':_0x2bc66a[_0xe593('0x7c')]>0x7?_0x2bc66a['title']:_0x2bc66a['type'],'custom':_0x2bc66a[_0xe593('0x7c')]>0x7?!![]:![],'options':_0x2bc66a[_0xe593('0x7d')]?_0x2bc66a[_0xe593('0x7d')]:_0x2bc66a[_0xe593('0x7e')]?_0x2bc66a['custom_field_options']:[]};})};}})['then'](respondWithResult(_0x5c3134,null))[_0xe593('0x2b')](function(_0xf272d6){var _0x5127da=_0x48edd1[_0xe593('0x40')][_0xe593('0x7f')]?0x1f4:_0xf272d6[_0xe593('0x80')]||0x1f4;logger[_0xe593('0x27')](_0xe593('0x81'),'getFields',_0x5127da,JSON[_0xe593('0x26')](_0xf272d6));delete _0xf272d6['name'];if(_0x5127da===0x191){_0x5127da=0x190;}_0x5c3134[_0xe593('0x2d')](_0x5127da)['send'](_0x48edd1[_0xe593('0x40')]['test']?{'message':'Wrong\x20credentials','statusCode':_0xf272d6[_0xe593('0x80')]}:_0xf272d6);});};