Built motion from commit (unavailable).|2.5.5
[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 _0x3cc0=['Wrong\x20credentials','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','jsforce','querystring','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','client','http','request','then','ZendeskAccount,\x20%s,\x20%s','request\x20sent','debug','ZendeskAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','sendStatus','status','end','json','count','limit','set','Content-Range','reject','save','update','name','send','index','map','ZendeskAccount','rawAttributes','key','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','offset','sort','where','pick','filter','merge','type','options','includeAll','include','findAll','rows','show','params','keys','find','create','body','getConfigurations','ZendeskConfiguration','order','nolimit','addConfiguration','findOne','AccountId','Subjects','channel','getDescriptions','ZendeskField','Descriptions','getFields','username','password','token','remoteUri','substring','lastIndexOf','format','ticket_fields','authType','headers','Basic\x20%s','base64','toString','Sequelize','ValidationError','Unknown\x20authentication\x20type','subject','group','assignee','includes','position','title','system_field_options','custom_field_options','test','statusCode','getFields,\x20%s,\x20%s,\x20%s'];(function(_0xb914ac,_0x3a43ac){var _0x43e836=function(_0x4a5479){while(--_0x4a5479){_0xb914ac['push'](_0xb914ac['shift']());}};_0x43e836(++_0x3a43ac);}(_0x3cc0,0x1e9));var _0x03cc=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x3cc0[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0x03cc('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x03cc('0x1'));var zipdir=require(_0x03cc('0x2'));var jsonpatch=require(_0x03cc('0x3'));var rp=require(_0x03cc('0x4'));var moment=require(_0x03cc('0x5'));var BPromise=require(_0x03cc('0x6'));var Mustache=require(_0x03cc('0x7'));var util=require(_0x03cc('0x8'));var path=require(_0x03cc('0x9'));var sox=require(_0x03cc('0xa'));var csv=require(_0x03cc('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x03cc('0xc'));var squel=require(_0x03cc('0xd'));var crypto=require('crypto');var jsforce=require(_0x03cc('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x03cc('0xb'));var querystring=require(_0x03cc('0xf'));var Papa=require(_0x03cc('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x03cc('0x11'));var hardwareService=require(_0x03cc('0x12'));var logger=require(_0x03cc('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x03cc('0x14'));var licenseUtil=require(_0x03cc('0x15'));var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');var jayson=require('jayson/promise');var client=jayson[_0x03cc('0x16')][_0x03cc('0x17')]({'port':0x232a});function respondWithRpcPromise(_0x36157f,_0xa9676a,_0x3a0dd6,_0x4aa0e3){return new BPromise(function(_0x43ed9b,_0x435ede){var _0x445371=_0x4aa0e3||client;return _0x445371[_0x03cc('0x18')](_0x36157f,_0x3a0dd6)[_0x03cc('0x19')](function(_0x57d285){logger['info'](_0x03cc('0x1a'),_0xa9676a,_0x03cc('0x1b'));logger[_0x03cc('0x1c')](_0x03cc('0x1d'),_0xa9676a,'request\x20sent',JSON[_0x03cc('0x1e')](_0x57d285));if(_0x57d285['error']){if(_0x57d285[_0x03cc('0x1f')][_0x03cc('0x20')]===0x1f4){logger['error'](_0x03cc('0x1a'),_0xa9676a,_0x57d285[_0x03cc('0x1f')][_0x03cc('0x21')]);return _0x435ede(_0x57d285['error'][_0x03cc('0x21')]);}logger[_0x03cc('0x1f')]('ZendeskAccount,\x20%s,\x20%s',_0xa9676a,_0x57d285[_0x03cc('0x1f')][_0x03cc('0x21')]);return _0x43ed9b(_0x57d285[_0x03cc('0x1f')][_0x03cc('0x21')]);}else{logger[_0x03cc('0x22')](_0x03cc('0x1a'),_0xa9676a,_0x03cc('0x1b'));_0x43ed9b(_0x57d285[_0x03cc('0x23')]['message']);}})[_0x03cc('0x24')](function(_0x34c4b4){logger[_0x03cc('0x1f')]('ZendeskAccount,\x20%s,\x20%s',_0xa9676a,_0x34c4b4);_0x435ede(_0x34c4b4);});});}function respondWithStatusCode(_0x369b6b,_0x21606a){_0x21606a=_0x21606a||0xcc;return function(_0x3e0381){if(_0x3e0381){return _0x369b6b[_0x03cc('0x25')](_0x21606a);}return _0x369b6b[_0x03cc('0x26')](_0x21606a)[_0x03cc('0x27')]();};}function respondWithResult(_0x2c90f4,_0x3b0c24){_0x3b0c24=_0x3b0c24||0xc8;return function(_0x44968d){if(_0x44968d){return _0x2c90f4['status'](_0x3b0c24)[_0x03cc('0x28')](_0x44968d);}};}function respondWithFilteredResult(_0x50722c,_0x31c165){return function(_0x5dc999){if(_0x5dc999){var _0x4f0806=_0x5dc999[_0x03cc('0x29')],_0x335b31=_0x31c165['offset'],_0x13a4ed=_0x31c165['offset']+_0x31c165[_0x03cc('0x2a')],_0x359113;if(_0x13a4ed>=_0x4f0806){_0x13a4ed=_0x4f0806;_0x359113=0xc8;}else{_0x359113=0xce;}_0x50722c['status'](_0x359113);return _0x50722c[_0x03cc('0x2b')](_0x03cc('0x2c'),_0x335b31+'-'+_0x13a4ed+'/'+_0x4f0806)[_0x03cc('0x28')](_0x5dc999);}return null;};}function patchUpdates(_0x5d9de3){return function(_0x2686c2){try{jsonpatch['apply'](_0x2686c2,_0x5d9de3,!![]);}catch(_0xcff1d0){return BPromise[_0x03cc('0x2d')](_0xcff1d0);}return _0x2686c2[_0x03cc('0x2e')]();};}function saveUpdates(_0x425536,_0x51eeb){return function(_0x203798){if(_0x203798){return _0x203798[_0x03cc('0x2f')](_0x425536)['then'](function(_0x584345){return _0x584345;});}return null;};}function removeEntity(_0x1fa37c,_0xa93119){return function(_0x449e83){if(_0x449e83){return _0x449e83['destroy']()['then'](function(){_0x1fa37c[_0x03cc('0x26')](0xcc)[_0x03cc('0x27')]();});}};}function handleEntityNotFound(_0x1dca46,_0x530437){return function(_0x15cb94){if(!_0x15cb94){_0x1dca46[_0x03cc('0x25')](0x194);}return _0x15cb94;};}function handleError(_0x3b27fe,_0x357fd9){_0x357fd9=_0x357fd9||0x1f4;return function(_0x190ec8){logger[_0x03cc('0x1f')](_0x190ec8['stack']);if(_0x190ec8[_0x03cc('0x30')]){delete _0x190ec8[_0x03cc('0x30')];}_0x3b27fe[_0x03cc('0x26')](_0x357fd9)[_0x03cc('0x31')](_0x190ec8);};}exports[_0x03cc('0x32')]=function(_0x2d136f,_0x518593){var _0x4eb547={},_0x46a5bb={},_0x514156={'count':0x0,'rows':[]};var _0x4b53d2=_[_0x03cc('0x33')](db[_0x03cc('0x34')][_0x03cc('0x35')],function(_0x1433de){return{'name':_0x1433de['fieldName'],'type':_0x1433de['type'][_0x03cc('0x36')]};});_0x46a5bb['model']=_[_0x03cc('0x33')](_0x4b53d2,_0x03cc('0x30'));_0x46a5bb['query']=_['keys'](_0x2d136f[_0x03cc('0x37')]);_0x46a5bb[_0x03cc('0x38')]=_['intersection'](_0x46a5bb[_0x03cc('0x39')],_0x46a5bb[_0x03cc('0x37')]);_0x4eb547[_0x03cc('0x3a')]=_[_0x03cc('0x3b')](_0x46a5bb[_0x03cc('0x39')],qs[_0x03cc('0x3c')](_0x2d136f[_0x03cc('0x37')][_0x03cc('0x3c')]));_0x4eb547[_0x03cc('0x3a')]=_0x4eb547[_0x03cc('0x3a')][_0x03cc('0x3d')]?_0x4eb547[_0x03cc('0x3a')]:_0x46a5bb[_0x03cc('0x39')];if(!_0x2d136f[_0x03cc('0x37')][_0x03cc('0x3e')]('nolimit')){_0x4eb547[_0x03cc('0x2a')]=qs[_0x03cc('0x2a')](_0x2d136f[_0x03cc('0x37')][_0x03cc('0x2a')]);_0x4eb547[_0x03cc('0x3f')]=qs[_0x03cc('0x3f')](_0x2d136f[_0x03cc('0x37')]['offset']);}_0x4eb547['order']=qs[_0x03cc('0x40')](_0x2d136f[_0x03cc('0x37')]['sort']);_0x4eb547[_0x03cc('0x41')]=qs[_0x03cc('0x38')](_[_0x03cc('0x42')](_0x2d136f[_0x03cc('0x37')],_0x46a5bb[_0x03cc('0x38')]),_0x4b53d2);if(_0x2d136f[_0x03cc('0x37')][_0x03cc('0x43')]){_0x4eb547['where']=_[_0x03cc('0x44')](_0x4eb547[_0x03cc('0x41')],{'$or':_[_0x03cc('0x33')](_0x4b53d2,function(_0x3602cc){if(_0x3602cc[_0x03cc('0x45')]!=='VIRTUAL'){var _0x5ee960={};_0x5ee960[_0x3602cc[_0x03cc('0x30')]]={'$like':'%'+_0x2d136f['query'][_0x03cc('0x43')]+'%'};return _0x5ee960;}})});}_0x4eb547=_[_0x03cc('0x44')]({},_0x4eb547,_0x2d136f[_0x03cc('0x46')]);var _0x3a203c={'where':_0x4eb547[_0x03cc('0x41')]};return db['ZendeskAccount'][_0x03cc('0x29')](_0x3a203c)[_0x03cc('0x19')](function(_0xf6dfa){_0x514156[_0x03cc('0x29')]=_0xf6dfa;if(_0x2d136f[_0x03cc('0x37')][_0x03cc('0x47')]){_0x4eb547[_0x03cc('0x48')]=[{'all':!![]}];}return db[_0x03cc('0x34')][_0x03cc('0x49')](_0x4eb547);})[_0x03cc('0x19')](function(_0x416073){_0x514156[_0x03cc('0x4a')]=_0x416073;return _0x514156;})[_0x03cc('0x19')](respondWithFilteredResult(_0x518593,_0x4eb547))[_0x03cc('0x24')](handleError(_0x518593,null));};exports[_0x03cc('0x4b')]=function(_0x29347b,_0x273387){var _0x49551b={'raw':![],'where':{'id':_0x29347b[_0x03cc('0x4c')]['id']}},_0x1f3258={};_0x1f3258['model']=_[_0x03cc('0x4d')](db[_0x03cc('0x34')]['rawAttributes']);_0x1f3258[_0x03cc('0x37')]=_[_0x03cc('0x4d')](_0x29347b[_0x03cc('0x37')]);_0x1f3258[_0x03cc('0x38')]=_[_0x03cc('0x3b')](_0x1f3258[_0x03cc('0x39')],_0x1f3258[_0x03cc('0x37')]);_0x49551b[_0x03cc('0x3a')]=_[_0x03cc('0x3b')](_0x1f3258[_0x03cc('0x39')],qs['fields'](_0x29347b[_0x03cc('0x37')][_0x03cc('0x3c')]));_0x49551b['attributes']=_0x49551b[_0x03cc('0x3a')][_0x03cc('0x3d')]?_0x49551b[_0x03cc('0x3a')]:_0x1f3258[_0x03cc('0x39')];if(_0x29347b[_0x03cc('0x37')][_0x03cc('0x47')]){_0x49551b['include']=[{'all':!![]}];}_0x49551b=_[_0x03cc('0x44')]({},_0x49551b,_0x29347b[_0x03cc('0x46')]);return db[_0x03cc('0x34')][_0x03cc('0x4e')](_0x49551b)[_0x03cc('0x19')](handleEntityNotFound(_0x273387,null))['then'](respondWithResult(_0x273387,null))[_0x03cc('0x24')](handleError(_0x273387,null));};exports[_0x03cc('0x4f')]=function(_0x1cd02f,_0x10674b){return db['ZendeskAccount'][_0x03cc('0x4f')](_0x1cd02f[_0x03cc('0x50')],{})[_0x03cc('0x19')](respondWithResult(_0x10674b,0xc9))[_0x03cc('0x24')](handleError(_0x10674b,null));};exports['update']=function(_0x12a168,_0x2bc656){if(_0x12a168[_0x03cc('0x50')]['id']){delete _0x12a168['body']['id'];}return db[_0x03cc('0x34')][_0x03cc('0x4e')]({'where':{'id':_0x12a168[_0x03cc('0x4c')]['id']}})[_0x03cc('0x19')](handleEntityNotFound(_0x2bc656,null))[_0x03cc('0x19')](saveUpdates(_0x12a168[_0x03cc('0x50')],null))[_0x03cc('0x19')](respondWithResult(_0x2bc656,null))['catch'](handleError(_0x2bc656,null));};exports['destroy']=function(_0x329ba1,_0x224ab1){return db[_0x03cc('0x34')][_0x03cc('0x4e')]({'where':{'id':_0x329ba1[_0x03cc('0x4c')]['id']}})[_0x03cc('0x19')](handleEntityNotFound(_0x224ab1,null))[_0x03cc('0x19')](removeEntity(_0x224ab1,null))[_0x03cc('0x24')](handleError(_0x224ab1,null));};exports[_0x03cc('0x51')]=function(_0x4c199c,_0x34c436,_0x2bb18d){var _0x4c243b={};var _0x1abf78={};var _0x11b285;var _0x22361;return db['ZendeskAccount']['findOne']({'where':{'id':_0x4c199c['params']['id']}})['then'](handleEntityNotFound(_0x34c436,null))[_0x03cc('0x19')](function(_0x416f2c){if(_0x416f2c){_0x11b285=_0x416f2c;_0x1abf78[_0x03cc('0x39')]=_[_0x03cc('0x4d')](db[_0x03cc('0x52')][_0x03cc('0x35')]);_0x1abf78[_0x03cc('0x37')]=_[_0x03cc('0x4d')](_0x4c199c[_0x03cc('0x37')]);_0x1abf78['filters']=_['intersection'](_0x1abf78[_0x03cc('0x39')],_0x1abf78[_0x03cc('0x37')]);_0x4c243b[_0x03cc('0x3a')]=_[_0x03cc('0x3b')](_0x1abf78[_0x03cc('0x39')],qs[_0x03cc('0x3c')](_0x4c199c[_0x03cc('0x37')][_0x03cc('0x3c')]));_0x4c243b[_0x03cc('0x3a')]=_0x4c243b[_0x03cc('0x3a')]['length']?_0x4c243b[_0x03cc('0x3a')]:_0x1abf78[_0x03cc('0x39')];_0x4c243b[_0x03cc('0x53')]=qs[_0x03cc('0x40')](_0x4c199c[_0x03cc('0x37')]['sort']);_0x4c243b[_0x03cc('0x41')]=qs['filters'](_[_0x03cc('0x42')](_0x4c199c[_0x03cc('0x37')],_0x1abf78[_0x03cc('0x38')]));if(_0x4c199c[_0x03cc('0x37')]['filter']){_0x4c243b[_0x03cc('0x41')]=_[_0x03cc('0x44')](_0x4c243b[_0x03cc('0x41')],{'$or':_[_0x03cc('0x33')](_0x4c243b[_0x03cc('0x3a')],function(_0x301b85){var _0x37a522={};_0x37a522[_0x301b85]={'$like':'%'+_0x4c199c[_0x03cc('0x37')][_0x03cc('0x43')]+'%'};return _0x37a522;})});}_0x4c243b=_[_0x03cc('0x44')]({},_0x4c243b,_0x4c199c[_0x03cc('0x46')]);return _0x11b285[_0x03cc('0x51')](_0x4c243b);}})[_0x03cc('0x19')](function(_0x5cc6fb){if(_0x5cc6fb){_0x22361=_0x5cc6fb[_0x03cc('0x3d')];if(!_0x4c199c[_0x03cc('0x37')][_0x03cc('0x3e')](_0x03cc('0x54'))){_0x4c243b['limit']=qs['limit'](_0x4c199c[_0x03cc('0x37')][_0x03cc('0x2a')]);_0x4c243b[_0x03cc('0x3f')]=qs[_0x03cc('0x3f')](_0x4c199c[_0x03cc('0x37')][_0x03cc('0x3f')]);}return _0x11b285['getConfigurations'](_0x4c243b);}})[_0x03cc('0x19')](function(_0xa7e2f5){if(_0xa7e2f5){return _0xa7e2f5?{'count':_0x22361,'rows':_0xa7e2f5}:null;}})[_0x03cc('0x19')](respondWithResult(_0x34c436,null))[_0x03cc('0x24')](handleError(_0x34c436,null));};exports[_0x03cc('0x55')]=function(_0x375b1b,_0x532d5b,_0x395d9a){if(_0x375b1b[_0x03cc('0x50')]['id']){delete _0x375b1b[_0x03cc('0x50')]['id'];}return db[_0x03cc('0x34')][_0x03cc('0x56')]({'where':{'id':_0x375b1b[_0x03cc('0x4c')]['id']}})[_0x03cc('0x19')](handleEntityNotFound(_0x532d5b,null))[_0x03cc('0x19')](function(_0x158efd){if(_0x158efd){_0x375b1b['body'][_0x03cc('0x57')]=_0x158efd['id'];_0x375b1b[_0x03cc('0x50')][_0x03cc('0x58')]=integrations['getSubjects'](_0x375b1b[_0x03cc('0x50')][_0x03cc('0x59')],_0x375b1b[_0x03cc('0x50')][_0x03cc('0x45')]);_0x375b1b['body']['Descriptions']=integrations[_0x03cc('0x5a')](_0x375b1b[_0x03cc('0x50')][_0x03cc('0x59')],_0x375b1b['body'][_0x03cc('0x45')]);return db[_0x03cc('0x52')][_0x03cc('0x4f')](_0x375b1b['body'],{'include':[{'model':db['ZendeskField'],'as':_0x03cc('0x58')},{'model':db[_0x03cc('0x5b')],'as':_0x03cc('0x5c')}]});}return null;})[_0x03cc('0x19')](respondWithResult(_0x532d5b,null))[_0x03cc('0x24')](handleError(_0x532d5b,null));};exports[_0x03cc('0x5d')]=function(_0x26f63b,_0x7eb1c2,_0x3a32b3){var _0x48e753='';return db['ZendeskAccount'][_0x03cc('0x56')]({'where':{'id':_0x26f63b[_0x03cc('0x4c')]['id']},'attributes':['id',_0x03cc('0x5e'),_0x03cc('0x5f'),_0x03cc('0x60'),'authType',_0x03cc('0x61')]})[_0x03cc('0x19')](handleEntityNotFound(_0x7eb1c2,null))[_0x03cc('0x19')](function(_0x38f9c7){if(_0x38f9c7){_0x48e753=_0x38f9c7[_0x03cc('0x61')];var _0x3196ea=_0x48e753['slice'](-0x1);if(_0x3196ea==='/'){_0x48e753=_0x48e753[_0x03cc('0x62')](0x0,_0x48e753[_0x03cc('0x63')](_0x3196ea));}var _0x112563={'method':'GET','uri':util[_0x03cc('0x64')]('%s/%s',_0x48e753,_0x03cc('0x65')),'json':!![]};switch(_0x38f9c7[_0x03cc('0x66')]){case _0x03cc('0x5f'):_0x112563[_0x03cc('0x67')]={'Authorization':util['format'](_0x03cc('0x68'),new Buffer(util[_0x03cc('0x64')]('%s:%s',_0x38f9c7[_0x03cc('0x5e')],_0x38f9c7[_0x03cc('0x5f')]))['toString'](_0x03cc('0x69')))};break;case _0x03cc('0x60'):_0x112563['headers']={'Authorization':util['format']('Basic\x20%s',new Buffer(util['format']('%s/token:%s',_0x38f9c7[_0x03cc('0x5e')],_0x38f9c7['token']))[_0x03cc('0x6a')](_0x03cc('0x69')))};break;default:throw new db[(_0x03cc('0x6b'))][(_0x03cc('0x6c'))](_0x03cc('0x6d'));}return rp(_0x112563);}})['then'](function(_0x1e4f1b){if(_0x1e4f1b){var _0x39e2fe=[_0x03cc('0x6e'),'description',_0x03cc('0x6f'),_0x03cc('0x70')];_['remove'](_0x1e4f1b['ticket_fields'],function(_0x431c38){return _0x39e2fe[_0x03cc('0x71')](_0x431c38[_0x03cc('0x45')]);});return{'count':_0x1e4f1b['ticket_fields'][_0x03cc('0x3d')],'rows':_[_0x03cc('0x33')](_0x1e4f1b[_0x03cc('0x65')],function(_0x522a95){return{'id':_0x522a95['id'],'name':_0x522a95[_0x03cc('0x72')]>0x7?_0x522a95[_0x03cc('0x73')]:_0x522a95[_0x03cc('0x45')],'custom':_0x522a95['position']>0x7?!![]:![],'options':_0x522a95[_0x03cc('0x74')]?_0x522a95[_0x03cc('0x74')]:_0x522a95[_0x03cc('0x75')]?_0x522a95[_0x03cc('0x75')]:[]};})};}})[_0x03cc('0x19')](respondWithResult(_0x7eb1c2,null))['catch'](function(_0x4dfc4c){var _0x48ec5c=_0x26f63b[_0x03cc('0x37')][_0x03cc('0x76')]?0x1f4:_0x4dfc4c[_0x03cc('0x77')]||0x1f4;logger['error'](_0x03cc('0x78'),'getFields',_0x48ec5c,JSON[_0x03cc('0x1e')](_0x4dfc4c));delete _0x4dfc4c[_0x03cc('0x30')];if(_0x48ec5c===0x191){_0x48ec5c=0x190;}_0x7eb1c2['status'](_0x48ec5c)['send'](_0x26f63b[_0x03cc('0x37')][_0x03cc('0x76')]?{'message':_0x03cc('0x79'),'statusCode':_0x4dfc4c[_0x03cc('0x77')]}:_0x4dfc4c);});};