Built motion from commit (unavailable).|2.5.9
[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 _0xd403=['result','catch','sendStatus','status','json','offset','limit','set','Content-Range','reject','end','stack','name','send','index','map','ZendeskAccount','rawAttributes','fieldName','type','key','query','keys','filters','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','rows','intersection','find','create','body','update','params','destroy','findOne','ZendeskConfiguration','getConfigurations','addConfiguration','AccountId','Subjects','getSubjects','channel','ZendeskField','getFields','username','password','token','remoteUri','slice','lastIndexOf','format','ticket_fields','authType','headers','Basic\x20%s','toString','base64','%s/token:%s','Sequelize','Unknown\x20authentication\x20type','subject','description','group','assignee','remove','title','position','system_field_options','custom_field_options','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','html-pdf','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','request','then','info','ZendeskAccount,\x20%s,\x20%s','ZendeskAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message'];(function(_0x4be450,_0x350c63){var _0x5d4f31=function(_0x37608c){while(--_0x37608c){_0x4be450['push'](_0x4be450['shift']());}};_0x5d4f31(++_0x350c63);}(_0xd403,0x1d5));var _0x3d40=function(_0x39096d,_0x51f8a0){_0x39096d=_0x39096d-0x0;var _0x13da4f=_0xd403[_0x39096d];return _0x13da4f;};'use strict';var pdf=require(_0x3d40('0x0'));var emlformat=require(_0x3d40('0x1'));var rimraf=require(_0x3d40('0x2'));var zipdir=require(_0x3d40('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3d40('0x4'));var moment=require('moment');var BPromise=require(_0x3d40('0x5'));var Mustache=require(_0x3d40('0x6'));var util=require(_0x3d40('0x7'));var path=require(_0x3d40('0x8'));var sox=require(_0x3d40('0x9'));var csv=require(_0x3d40('0xa'));var ejs=require(_0x3d40('0xb'));var fs=require('fs');var _=require(_0x3d40('0xc'));var squel=require(_0x3d40('0xd'));var crypto=require(_0x3d40('0xe'));var jsforce=require(_0x3d40('0xf'));var deskjs=require(_0x3d40('0x10'));var toCsv=require(_0x3d40('0xa'));var querystring=require(_0x3d40('0x11'));var Papa=require(_0x3d40('0x12'));var Redis=require(_0x3d40('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x3d40('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3d40('0x15'));var logger=require(_0x3d40('0x16'))(_0x3d40('0x17'));var utils=require('../../config/utils');var config=require(_0x3d40('0x18'));var licenseUtil=require(_0x3d40('0x19'));var db=require(_0x3d40('0x1a'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0x3d40('0x1b'));var client=jayson[_0x3d40('0x1c')]['http']({'port':0x232a});function respondWithRpcPromise(_0x49d090,_0x24e1e8,_0x24d2c0,_0x3e6d19){return new BPromise(function(_0x5062ec,_0x2fc2cb){var _0x1e6400=_0x3e6d19||client;return _0x1e6400[_0x3d40('0x1d')](_0x49d090,_0x24d2c0)[_0x3d40('0x1e')](function(_0x2b5e2d){logger[_0x3d40('0x1f')](_0x3d40('0x20'),_0x24e1e8,'request\x20sent');logger['debug'](_0x3d40('0x21'),_0x24e1e8,_0x3d40('0x22'),JSON[_0x3d40('0x23')](_0x2b5e2d));if(_0x2b5e2d[_0x3d40('0x24')]){if(_0x2b5e2d[_0x3d40('0x24')][_0x3d40('0x25')]===0x1f4){logger[_0x3d40('0x24')](_0x3d40('0x20'),_0x24e1e8,_0x2b5e2d[_0x3d40('0x24')][_0x3d40('0x26')]);return _0x2fc2cb(_0x2b5e2d[_0x3d40('0x24')]['message']);}logger['error'](_0x3d40('0x20'),_0x24e1e8,_0x2b5e2d[_0x3d40('0x24')][_0x3d40('0x26')]);return _0x5062ec(_0x2b5e2d[_0x3d40('0x24')][_0x3d40('0x26')]);}else{logger[_0x3d40('0x1f')](_0x3d40('0x20'),_0x24e1e8,_0x3d40('0x22'));_0x5062ec(_0x2b5e2d[_0x3d40('0x27')][_0x3d40('0x26')]);}})[_0x3d40('0x28')](function(_0x211a75){logger[_0x3d40('0x24')]('ZendeskAccount,\x20%s,\x20%s',_0x24e1e8,_0x211a75);_0x2fc2cb(_0x211a75);});});}function respondWithStatusCode(_0x1a2d0f,_0x14cad3){_0x14cad3=_0x14cad3||0xcc;return function(_0x33015d){if(_0x33015d){return _0x1a2d0f[_0x3d40('0x29')](_0x14cad3);}return _0x1a2d0f[_0x3d40('0x2a')](_0x14cad3)['end']();};}function respondWithResult(_0x45aa46,_0x28c438){_0x28c438=_0x28c438||0xc8;return function(_0x3cc4df){if(_0x3cc4df){return _0x45aa46[_0x3d40('0x2a')](_0x28c438)[_0x3d40('0x2b')](_0x3cc4df);}};}function respondWithFilteredResult(_0x504c72,_0x26844b){return function(_0x389d34){if(_0x389d34){var _0x4e4ee9=_0x389d34['count'],_0x412d46=_0x26844b[_0x3d40('0x2c')],_0x1f94ac=_0x26844b[_0x3d40('0x2c')]+_0x26844b[_0x3d40('0x2d')],_0x3f7774;if(_0x1f94ac>=_0x4e4ee9){_0x1f94ac=_0x4e4ee9;_0x3f7774=0xc8;}else{_0x3f7774=0xce;}_0x504c72[_0x3d40('0x2a')](_0x3f7774);return _0x504c72[_0x3d40('0x2e')](_0x3d40('0x2f'),_0x412d46+'-'+_0x1f94ac+'/'+_0x4e4ee9)[_0x3d40('0x2b')](_0x389d34);}return null;};}function patchUpdates(_0x19cc1f){return function(_0x5d8ae7){try{jsonpatch['apply'](_0x5d8ae7,_0x19cc1f,!![]);}catch(_0x394fab){return BPromise[_0x3d40('0x30')](_0x394fab);}return _0x5d8ae7['save']();};}function saveUpdates(_0x2c1ce6,_0x4f235f){return function(_0x3c585f){if(_0x3c585f){return _0x3c585f['update'](_0x2c1ce6)[_0x3d40('0x1e')](function(_0xbff1f2){return _0xbff1f2;});}return null;};}function removeEntity(_0x2d3ec6,_0x1c482d){return function(_0x3bb717){if(_0x3bb717){return _0x3bb717['destroy']()['then'](function(){_0x2d3ec6[_0x3d40('0x2a')](0xcc)[_0x3d40('0x31')]();});}};}function handleEntityNotFound(_0x917bf1,_0x5b4f2b){return function(_0x17bead){if(!_0x17bead){_0x917bf1['sendStatus'](0x194);}return _0x17bead;};}function handleError(_0x58220d,_0x5964c9){_0x5964c9=_0x5964c9||0x1f4;return function(_0x20892a){logger[_0x3d40('0x24')](_0x20892a[_0x3d40('0x32')]);if(_0x20892a[_0x3d40('0x33')]){delete _0x20892a[_0x3d40('0x33')];}_0x58220d[_0x3d40('0x2a')](_0x5964c9)[_0x3d40('0x34')](_0x20892a);};}exports[_0x3d40('0x35')]=function(_0x13ab5a,_0x54bedf){var _0x55a276={},_0x38e162={},_0x2a5df1={'count':0x0,'rows':[]};var _0x31e5ef=_[_0x3d40('0x36')](db[_0x3d40('0x37')][_0x3d40('0x38')],function(_0x599ac8){return{'name':_0x599ac8[_0x3d40('0x39')],'type':_0x599ac8[_0x3d40('0x3a')][_0x3d40('0x3b')]};});_0x38e162['model']=_[_0x3d40('0x36')](_0x31e5ef,'name');_0x38e162[_0x3d40('0x3c')]=_[_0x3d40('0x3d')](_0x13ab5a['query']);_0x38e162[_0x3d40('0x3e')]=_['intersection'](_0x38e162['model'],_0x38e162[_0x3d40('0x3c')]);_0x55a276[_0x3d40('0x3f')]=_['intersection'](_0x38e162[_0x3d40('0x40')],qs[_0x3d40('0x41')](_0x13ab5a[_0x3d40('0x3c')]['fields']));_0x55a276[_0x3d40('0x3f')]=_0x55a276[_0x3d40('0x3f')][_0x3d40('0x42')]?_0x55a276[_0x3d40('0x3f')]:_0x38e162[_0x3d40('0x40')];if(!_0x13ab5a[_0x3d40('0x3c')][_0x3d40('0x43')](_0x3d40('0x44'))){_0x55a276[_0x3d40('0x2d')]=qs[_0x3d40('0x2d')](_0x13ab5a[_0x3d40('0x3c')]['limit']);_0x55a276[_0x3d40('0x2c')]=qs['offset'](_0x13ab5a['query']['offset']);}_0x55a276[_0x3d40('0x45')]=qs[_0x3d40('0x46')](_0x13ab5a[_0x3d40('0x3c')]['sort']);_0x55a276[_0x3d40('0x47')]=qs[_0x3d40('0x3e')](_[_0x3d40('0x48')](_0x13ab5a[_0x3d40('0x3c')],_0x38e162['filters']),_0x31e5ef);if(_0x13ab5a[_0x3d40('0x3c')][_0x3d40('0x49')]){_0x55a276[_0x3d40('0x47')]=_[_0x3d40('0x4a')](_0x55a276[_0x3d40('0x47')],{'$or':_[_0x3d40('0x36')](_0x31e5ef,function(_0x3c4651){if(_0x3c4651[_0x3d40('0x3a')]!==_0x3d40('0x4b')){var _0x2f2bce={};_0x2f2bce[_0x3c4651['name']]={'$like':'%'+_0x13ab5a['query'][_0x3d40('0x49')]+'%'};return _0x2f2bce;}})});}_0x55a276=_[_0x3d40('0x4a')]({},_0x55a276,_0x13ab5a[_0x3d40('0x4c')]);var _0x252f05={'where':_0x55a276[_0x3d40('0x47')]};return db[_0x3d40('0x37')][_0x3d40('0x4d')](_0x252f05)[_0x3d40('0x1e')](function(_0x3dd56c){_0x2a5df1['count']=_0x3dd56c;if(_0x13ab5a['query'][_0x3d40('0x4e')]){_0x55a276[_0x3d40('0x4f')]=[{'all':!![]}];}return db[_0x3d40('0x37')][_0x3d40('0x50')](_0x55a276);})[_0x3d40('0x1e')](function(_0x51114e){_0x2a5df1[_0x3d40('0x51')]=_0x51114e;return _0x2a5df1;})[_0x3d40('0x1e')](respondWithFilteredResult(_0x54bedf,_0x55a276))['catch'](handleError(_0x54bedf,null));};exports['show']=function(_0x5a8fee,_0x1256ff){var _0x4706b3={'raw':![],'where':{'id':_0x5a8fee['params']['id']}},_0x3cd460={};_0x3cd460[_0x3d40('0x40')]=_['keys'](db['ZendeskAccount'][_0x3d40('0x38')]);_0x3cd460[_0x3d40('0x3c')]=_[_0x3d40('0x3d')](_0x5a8fee[_0x3d40('0x3c')]);_0x3cd460['filters']=_[_0x3d40('0x52')](_0x3cd460['model'],_0x3cd460[_0x3d40('0x3c')]);_0x4706b3[_0x3d40('0x3f')]=_['intersection'](_0x3cd460['model'],qs[_0x3d40('0x41')](_0x5a8fee[_0x3d40('0x3c')][_0x3d40('0x41')]));_0x4706b3[_0x3d40('0x3f')]=_0x4706b3[_0x3d40('0x3f')]['length']?_0x4706b3['attributes']:_0x3cd460[_0x3d40('0x40')];if(_0x5a8fee[_0x3d40('0x3c')][_0x3d40('0x4e')]){_0x4706b3[_0x3d40('0x4f')]=[{'all':!![]}];}_0x4706b3=_[_0x3d40('0x4a')]({},_0x4706b3,_0x5a8fee[_0x3d40('0x4c')]);return db['ZendeskAccount'][_0x3d40('0x53')](_0x4706b3)[_0x3d40('0x1e')](handleEntityNotFound(_0x1256ff,null))[_0x3d40('0x1e')](respondWithResult(_0x1256ff,null))[_0x3d40('0x28')](handleError(_0x1256ff,null));};exports[_0x3d40('0x54')]=function(_0x457700,_0x153f18){return db[_0x3d40('0x37')][_0x3d40('0x54')](_0x457700[_0x3d40('0x55')],{})[_0x3d40('0x1e')](respondWithResult(_0x153f18,0xc9))[_0x3d40('0x28')](handleError(_0x153f18,null));};exports[_0x3d40('0x56')]=function(_0x2ad26f,_0x56bcce){if(_0x2ad26f['body']['id']){delete _0x2ad26f['body']['id'];}return db['ZendeskAccount']['find']({'where':{'id':_0x2ad26f[_0x3d40('0x57')]['id']}})['then'](handleEntityNotFound(_0x56bcce,null))[_0x3d40('0x1e')](saveUpdates(_0x2ad26f[_0x3d40('0x55')],null))['then'](respondWithResult(_0x56bcce,null))[_0x3d40('0x28')](handleError(_0x56bcce,null));};exports[_0x3d40('0x58')]=function(_0x4fe1c5,_0x36bcd4){return db[_0x3d40('0x37')][_0x3d40('0x53')]({'where':{'id':_0x4fe1c5['params']['id']}})[_0x3d40('0x1e')](handleEntityNotFound(_0x36bcd4,null))['then'](removeEntity(_0x36bcd4,null))[_0x3d40('0x28')](handleError(_0x36bcd4,null));};exports['getConfigurations']=function(_0x4b6e16,_0x4c30a6,_0x7682b){var _0x18626d={};var _0x5ad181={};var _0x1c1e3e;var _0x5caa26;return db['ZendeskAccount'][_0x3d40('0x59')]({'where':{'id':_0x4b6e16['params']['id']}})[_0x3d40('0x1e')](handleEntityNotFound(_0x4c30a6,null))['then'](function(_0x4f70a6){if(_0x4f70a6){_0x1c1e3e=_0x4f70a6;_0x5ad181[_0x3d40('0x40')]=_['keys'](db[_0x3d40('0x5a')][_0x3d40('0x38')]);_0x5ad181[_0x3d40('0x3c')]=_[_0x3d40('0x3d')](_0x4b6e16[_0x3d40('0x3c')]);_0x5ad181['filters']=_[_0x3d40('0x52')](_0x5ad181[_0x3d40('0x40')],_0x5ad181[_0x3d40('0x3c')]);_0x18626d[_0x3d40('0x3f')]=_['intersection'](_0x5ad181[_0x3d40('0x40')],qs[_0x3d40('0x41')](_0x4b6e16[_0x3d40('0x3c')]['fields']));_0x18626d[_0x3d40('0x3f')]=_0x18626d[_0x3d40('0x3f')][_0x3d40('0x42')]?_0x18626d[_0x3d40('0x3f')]:_0x5ad181[_0x3d40('0x40')];_0x18626d['order']=qs[_0x3d40('0x46')](_0x4b6e16[_0x3d40('0x3c')][_0x3d40('0x46')]);_0x18626d[_0x3d40('0x47')]=qs[_0x3d40('0x3e')](_[_0x3d40('0x48')](_0x4b6e16[_0x3d40('0x3c')],_0x5ad181['filters']));if(_0x4b6e16['query']['filter']){_0x18626d['where']=_[_0x3d40('0x4a')](_0x18626d['where'],{'$or':_[_0x3d40('0x36')](_0x18626d[_0x3d40('0x3f')],function(_0x19f033){var _0x2ba8f2={};_0x2ba8f2[_0x19f033]={'$like':'%'+_0x4b6e16[_0x3d40('0x3c')][_0x3d40('0x49')]+'%'};return _0x2ba8f2;})});}_0x18626d=_[_0x3d40('0x4a')]({},_0x18626d,_0x4b6e16[_0x3d40('0x4c')]);return _0x1c1e3e[_0x3d40('0x5b')](_0x18626d);}})['then'](function(_0x833fa3){if(_0x833fa3){_0x5caa26=_0x833fa3[_0x3d40('0x42')];if(!_0x4b6e16[_0x3d40('0x3c')][_0x3d40('0x43')](_0x3d40('0x44'))){_0x18626d[_0x3d40('0x2d')]=qs[_0x3d40('0x2d')](_0x4b6e16[_0x3d40('0x3c')][_0x3d40('0x2d')]);_0x18626d['offset']=qs[_0x3d40('0x2c')](_0x4b6e16[_0x3d40('0x3c')][_0x3d40('0x2c')]);}return _0x1c1e3e[_0x3d40('0x5b')](_0x18626d);}})[_0x3d40('0x1e')](function(_0x213ea9){if(_0x213ea9){return _0x213ea9?{'count':_0x5caa26,'rows':_0x213ea9}:null;}})['then'](respondWithResult(_0x4c30a6,null))[_0x3d40('0x28')](handleError(_0x4c30a6,null));};exports[_0x3d40('0x5c')]=function(_0x14690f,_0x2d6c09,_0x578fe7){if(_0x14690f['body']['id']){delete _0x14690f[_0x3d40('0x55')]['id'];}return db[_0x3d40('0x37')][_0x3d40('0x59')]({'where':{'id':_0x14690f['params']['id']}})[_0x3d40('0x1e')](handleEntityNotFound(_0x2d6c09,null))[_0x3d40('0x1e')](function(_0x11e1ca){if(_0x11e1ca){_0x14690f['body'][_0x3d40('0x5d')]=_0x11e1ca['id'];_0x14690f['body'][_0x3d40('0x5e')]=integrations[_0x3d40('0x5f')](_0x14690f[_0x3d40('0x55')][_0x3d40('0x60')],_0x14690f[_0x3d40('0x55')]['type']);_0x14690f[_0x3d40('0x55')]['Descriptions']=integrations['getDescriptions'](_0x14690f[_0x3d40('0x55')]['channel'],_0x14690f[_0x3d40('0x55')][_0x3d40('0x3a')]);return db[_0x3d40('0x5a')]['create'](_0x14690f['body'],{'include':[{'model':db[_0x3d40('0x61')],'as':_0x3d40('0x5e')},{'model':db['ZendeskField'],'as':'Descriptions'}]});}return null;})[_0x3d40('0x1e')](respondWithResult(_0x2d6c09,null))['catch'](handleError(_0x2d6c09,null));};exports[_0x3d40('0x62')]=function(_0x447df5,_0x13026b,_0x4e7a6a){var _0x178f6a='';return db[_0x3d40('0x37')][_0x3d40('0x59')]({'where':{'id':_0x447df5[_0x3d40('0x57')]['id']},'attributes':['id',_0x3d40('0x63'),_0x3d40('0x64'),_0x3d40('0x65'),'authType',_0x3d40('0x66')]})['then'](handleEntityNotFound(_0x13026b,null))[_0x3d40('0x1e')](function(_0x388da8){if(_0x388da8){_0x178f6a=_0x388da8[_0x3d40('0x66')];var _0x31ee60=_0x178f6a[_0x3d40('0x67')](-0x1);if(_0x31ee60==='/'){_0x178f6a=_0x178f6a['substring'](0x0,_0x178f6a[_0x3d40('0x68')](_0x31ee60));}var _0x183b7d={'method':'GET','uri':util[_0x3d40('0x69')]('%s/%s',_0x178f6a,_0x3d40('0x6a')),'json':!![]};switch(_0x388da8[_0x3d40('0x6b')]){case _0x3d40('0x64'):_0x183b7d[_0x3d40('0x6c')]={'Authorization':util[_0x3d40('0x69')](_0x3d40('0x6d'),new Buffer(util[_0x3d40('0x69')]('%s:%s',_0x388da8[_0x3d40('0x63')],_0x388da8[_0x3d40('0x64')]))[_0x3d40('0x6e')](_0x3d40('0x6f')))};break;case'token':_0x183b7d[_0x3d40('0x6c')]={'Authorization':util[_0x3d40('0x69')](_0x3d40('0x6d'),new Buffer(util['format'](_0x3d40('0x70'),_0x388da8['username'],_0x388da8[_0x3d40('0x65')]))[_0x3d40('0x6e')]('base64'))};break;default:throw new db[(_0x3d40('0x71'))]['ValidationError'](_0x3d40('0x72'));}return rp(_0x183b7d);}})[_0x3d40('0x1e')](function(_0xc7b409){if(_0xc7b409){var _0x40d2f3=[_0x3d40('0x73'),_0x3d40('0x74'),_0x3d40('0x75'),_0x3d40('0x76')];_[_0x3d40('0x77')](_0xc7b409['ticket_fields'],function(_0x58139c){return _0x40d2f3['includes'](_0x58139c[_0x3d40('0x3a')]);});return{'count':_0xc7b409[_0x3d40('0x6a')]['length'],'rows':_[_0x3d40('0x36')](_0xc7b409[_0x3d40('0x6a')],function(_0x2fa582){return{'id':_0x2fa582['id'],'name':_0x2fa582['position']>0x7?_0x2fa582[_0x3d40('0x78')]:_0x2fa582['type'],'custom':_0x2fa582[_0x3d40('0x79')]>0x7?!![]:![],'options':_0x2fa582[_0x3d40('0x7a')]?_0x2fa582[_0x3d40('0x7a')]:_0x2fa582[_0x3d40('0x7b')]?_0x2fa582[_0x3d40('0x7b')]:[]};})};}})[_0x3d40('0x1e')](respondWithResult(_0x13026b,null))[_0x3d40('0x28')](function(_0x3de157){var _0x3ab94a=_0x447df5['query'][_0x3d40('0x7c')]?0x1f4:_0x3de157[_0x3d40('0x7d')]||0x1f4;logger[_0x3d40('0x24')](_0x3d40('0x7e'),_0x3d40('0x62'),_0x3ab94a,JSON[_0x3d40('0x23')](_0x3de157));delete _0x3de157[_0x3d40('0x33')];if(_0x3ab94a===0x191){_0x3ab94a=0x190;}_0x13026b[_0x3d40('0x2a')](_0x3ab94a)[_0x3d40('0x34')](_0x447df5[_0x3d40('0x3c')][_0x3d40('0x7c')]?{'message':'Wrong\x20credentials','statusCode':_0x3de157[_0x3d40('0x7d')]}:_0x3de157);});};