Built motion from commit (unavailable).|2.3.10
[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 _0x6918=['update','name','send','index','ZendeskAccount','rawAttributes','model','keys','query','intersection','attributes','fields','length','nolimit','limit','offset','order','where','filters','pick','filter','merge','options','count','includeAll','include','findAll','catch','params','create','body','destroy','find','getConfigurations','findOne','ZendeskConfiguration','sort','map','hasOwnProperty','addConfiguration','AccountId','channel','Descriptions','getDescriptions','type','ZendeskField','Subjects','getFields','username','password','token','authType','remoteUri','slice','lastIndexOf','GET','%s/%s','format','Basic\x20%s','toString','base64','headers','ValidationError','subject','description','group','assignee','remove','ticket_fields','includes','system_field_options','custom_field_options','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../config/license/hardware','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','client','http','request','then','ZendeskAccount,\x20%s,\x20%s','request\x20sent','debug','ZendeskAccount,\x20%s,\x20%s,\x20%s','error','message','result','sendStatus','status','end','set','Content-Range','json','apply','reject'];(function(_0x842858,_0x3a3ca0){var _0x46c2a2=function(_0x47f795){while(--_0x47f795){_0x842858['push'](_0x842858['shift']());}};_0x46c2a2(++_0x3a3ca0);}(_0x6918,0xc8));var _0x8691=function(_0x3b380d,_0x4bf247){_0x3b380d=_0x3b380d-0x0;var _0x54502b=_0x6918[_0x3b380d];return _0x54502b;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x8691('0x0'));var rimraf=require(_0x8691('0x1'));var zipdir=require(_0x8691('0x2'));var jsonpatch=require(_0x8691('0x3'));var rp=require(_0x8691('0x4'));var moment=require(_0x8691('0x5'));var BPromise=require(_0x8691('0x6'));var Mustache=require(_0x8691('0x7'));var util=require(_0x8691('0x8'));var path=require(_0x8691('0x9'));var sox=require(_0x8691('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x8691('0xb'));var squel=require(_0x8691('0xc'));var crypto=require(_0x8691('0xd'));var jsforce=require(_0x8691('0xe'));var deskjs=require(_0x8691('0xf'));var toCsv=require(_0x8691('0x10'));var querystring=require(_0x8691('0x11'));var Papa=require(_0x8691('0x12'));var authService=require(_0x8691('0x13'));var hardwareService=require(_0x8691('0x14'));var Redis=require(_0x8691('0x15'));var qs=require(_0x8691('0x16'));var logger=require(_0x8691('0x17'))(_0x8691('0x18'));var utils=require(_0x8691('0x19'));var config=require(_0x8691('0x1a'));var db=require(_0x8691('0x1b'))['db'];var integrations=require(_0x8691('0x1c'));var jayson=require('jayson/promise');var client=jayson[_0x8691('0x1d')][_0x8691('0x1e')]({'port':0x232a});function respondWithRpcPromise(_0x13662a,_0x6dfdaf,_0x22e8e9,_0x116d9d){return new BPromise(function(_0x19ffac,_0x433b50){var _0x497ba8=_0x116d9d||client;return _0x497ba8[_0x8691('0x1f')](_0x13662a,_0x22e8e9)[_0x8691('0x20')](function(_0x428879){logger['info'](_0x8691('0x21'),_0x6dfdaf,_0x8691('0x22'));logger[_0x8691('0x23')](_0x8691('0x24'),_0x6dfdaf,_0x8691('0x22'),JSON['stringify'](_0x428879));if(_0x428879[_0x8691('0x25')]){if(_0x428879[_0x8691('0x25')]['code']===0x1f4){logger[_0x8691('0x25')](_0x8691('0x21'),_0x6dfdaf,_0x428879[_0x8691('0x25')][_0x8691('0x26')]);return _0x433b50(_0x428879['error']['message']);}logger[_0x8691('0x25')](_0x8691('0x21'),_0x6dfdaf,_0x428879['error']['message']);return _0x19ffac(_0x428879[_0x8691('0x25')][_0x8691('0x26')]);}else{logger['info'](_0x8691('0x21'),_0x6dfdaf,_0x8691('0x22'));_0x19ffac(_0x428879[_0x8691('0x27')][_0x8691('0x26')]);}})['catch'](function(_0x564dd2){logger[_0x8691('0x25')]('ZendeskAccount,\x20%s,\x20%s',_0x6dfdaf,_0x564dd2);_0x433b50(_0x564dd2);});});}function respondWithStatusCode(_0x1226ad,_0x3ad6ec){_0x3ad6ec=_0x3ad6ec||0xcc;return function(_0x4328ee){if(_0x4328ee){return _0x1226ad[_0x8691('0x28')](_0x3ad6ec);}return _0x1226ad[_0x8691('0x29')](_0x3ad6ec)[_0x8691('0x2a')]();};}function respondWithResult(_0x514623,_0x45c0a7){_0x45c0a7=_0x45c0a7||0xc8;return function(_0x341c76){if(_0x341c76){return _0x514623[_0x8691('0x29')](_0x45c0a7)['json'](_0x341c76);}};}function respondWithFilteredResult(_0xdb7dd8,_0x32dc7a){return function(_0xd43868){if(_0xd43868){var _0x306e54=_0xd43868['count'],_0x24a02e=_0x32dc7a['offset'],_0x3ee2b1=_0x32dc7a['offset']+_0x32dc7a['limit'],_0x4ee6aa;if(_0x3ee2b1>=_0x306e54){_0x3ee2b1=_0x306e54;_0x4ee6aa=0xc8;}else{_0x4ee6aa=0xce;}_0xdb7dd8[_0x8691('0x29')](_0x4ee6aa);return _0xdb7dd8[_0x8691('0x2b')](_0x8691('0x2c'),_0x24a02e+'-'+_0x3ee2b1+'/'+_0x306e54)[_0x8691('0x2d')](_0xd43868);}return null;};}function patchUpdates(_0x453a1b){return function(_0x3790c2){try{jsonpatch[_0x8691('0x2e')](_0x3790c2,_0x453a1b,!![]);}catch(_0xa9ef5b){return BPromise[_0x8691('0x2f')](_0xa9ef5b);}return _0x3790c2['save']();};}function saveUpdates(_0x1857f2,_0xb8d0ab){return function(_0x4ee16d){if(_0x4ee16d){return _0x4ee16d[_0x8691('0x30')](_0x1857f2)[_0x8691('0x20')](function(_0x93f59e){return _0x93f59e;});}return null;};}function removeEntity(_0xe009a3,_0x21b790){return function(_0x59408f){if(_0x59408f){return _0x59408f['destroy']()[_0x8691('0x20')](function(){_0xe009a3[_0x8691('0x29')](0xcc)[_0x8691('0x2a')]();});}};}function handleEntityNotFound(_0xfcb246,_0x26aae8){return function(_0x4fc74d){if(!_0x4fc74d){_0xfcb246[_0x8691('0x28')](0x194);}return _0x4fc74d;};}function handleError(_0x3c8af6,_0x13fdc4){_0x13fdc4=_0x13fdc4||0x1f4;return function(_0x1faabd){logger[_0x8691('0x25')](_0x1faabd['stack']);if(_0x1faabd[_0x8691('0x31')]){delete _0x1faabd[_0x8691('0x31')];}_0x3c8af6[_0x8691('0x29')](_0x13fdc4)[_0x8691('0x32')](_0x1faabd);};}exports[_0x8691('0x33')]=function(_0x574ee3,_0x52b104){var _0x4eaf48={},_0x2c06a2={},_0x1cca1f={'count':0x0,'rows':[]};var _0x5d0a5d=db[_0x8691('0x34')][_0x8691('0x35')];_0x2c06a2[_0x8691('0x36')]=_[_0x8691('0x37')](_0x5d0a5d);_0x2c06a2[_0x8691('0x38')]=_['keys'](_0x574ee3[_0x8691('0x38')]);_0x2c06a2['filters']=_[_0x8691('0x39')](_0x2c06a2[_0x8691('0x36')],_0x2c06a2[_0x8691('0x38')]);_0x4eaf48[_0x8691('0x3a')]=_['intersection'](_0x2c06a2['model'],qs[_0x8691('0x3b')](_0x574ee3[_0x8691('0x38')][_0x8691('0x3b')]));_0x4eaf48[_0x8691('0x3a')]=_0x4eaf48[_0x8691('0x3a')][_0x8691('0x3c')]?_0x4eaf48['attributes']:_0x2c06a2[_0x8691('0x36')];if(!_0x574ee3[_0x8691('0x38')]['hasOwnProperty'](_0x8691('0x3d'))){_0x4eaf48[_0x8691('0x3e')]=qs[_0x8691('0x3e')](_0x574ee3['query'][_0x8691('0x3e')]);_0x4eaf48['offset']=qs[_0x8691('0x3f')](_0x574ee3[_0x8691('0x38')][_0x8691('0x3f')]);}_0x4eaf48[_0x8691('0x40')]=qs['sort'](_0x574ee3[_0x8691('0x38')]['sort']);_0x4eaf48[_0x8691('0x41')]=qs[_0x8691('0x42')](_[_0x8691('0x43')](_0x574ee3[_0x8691('0x38')],_0x2c06a2[_0x8691('0x42')]));if(_0x574ee3[_0x8691('0x38')][_0x8691('0x44')]){_0x4eaf48['where']=_[_0x8691('0x45')](_0x4eaf48[_0x8691('0x41')],{'$or':_['map'](_0x5d0a5d,function(_0x48377d){if(_0x48377d['type']['key']!=='VIRTUAL'){var _0x1886ab={};_0x1886ab[_0x48377d['field']]={'$like':'%'+_0x574ee3[_0x8691('0x38')][_0x8691('0x44')]+'%'};return _0x1886ab;}})});}_0x4eaf48=_[_0x8691('0x45')]({},_0x4eaf48,_0x574ee3[_0x8691('0x46')]);var _0x2e6ea1={'where':_0x4eaf48[_0x8691('0x41')]};return db[_0x8691('0x34')][_0x8691('0x47')](_0x2e6ea1)[_0x8691('0x20')](function(_0x1a4b68){_0x1cca1f[_0x8691('0x47')]=_0x1a4b68;if(_0x574ee3[_0x8691('0x38')][_0x8691('0x48')]){_0x4eaf48[_0x8691('0x49')]=[{'all':!![]}];}return db['ZendeskAccount'][_0x8691('0x4a')](_0x4eaf48);})[_0x8691('0x20')](function(_0x1957f1){_0x1cca1f['rows']=_0x1957f1;return _0x1cca1f;})[_0x8691('0x20')](respondWithFilteredResult(_0x52b104,_0x4eaf48))[_0x8691('0x4b')](handleError(_0x52b104,null));};exports['show']=function(_0x3d3153,_0x3d7256){var _0x488d38={'raw':![],'where':{'id':_0x3d3153[_0x8691('0x4c')]['id']}},_0x417de7={};_0x417de7[_0x8691('0x36')]=_[_0x8691('0x37')](db[_0x8691('0x34')]['rawAttributes']);_0x417de7[_0x8691('0x38')]=_[_0x8691('0x37')](_0x3d3153[_0x8691('0x38')]);_0x417de7[_0x8691('0x42')]=_[_0x8691('0x39')](_0x417de7['model'],_0x417de7[_0x8691('0x38')]);_0x488d38[_0x8691('0x3a')]=_[_0x8691('0x39')](_0x417de7['model'],qs[_0x8691('0x3b')](_0x3d3153[_0x8691('0x38')]['fields']));_0x488d38['attributes']=_0x488d38[_0x8691('0x3a')][_0x8691('0x3c')]?_0x488d38[_0x8691('0x3a')]:_0x417de7[_0x8691('0x36')];if(_0x3d3153[_0x8691('0x38')][_0x8691('0x48')]){_0x488d38[_0x8691('0x49')]=[{'all':!![]}];}_0x488d38=_['merge']({},_0x488d38,_0x3d3153[_0x8691('0x46')]);return db[_0x8691('0x34')]['find'](_0x488d38)['then'](handleEntityNotFound(_0x3d7256,null))['then'](respondWithResult(_0x3d7256,null))[_0x8691('0x4b')](handleError(_0x3d7256,null));};exports[_0x8691('0x4d')]=function(_0x140a7a,_0x109755){return db[_0x8691('0x34')][_0x8691('0x4d')](_0x140a7a[_0x8691('0x4e')],{})[_0x8691('0x20')](respondWithResult(_0x109755,0xc9))[_0x8691('0x4b')](handleError(_0x109755,null));};exports['update']=function(_0x592b21,_0x34305d){if(_0x592b21['body']['id']){delete _0x592b21[_0x8691('0x4e')]['id'];}return db['ZendeskAccount']['find']({'where':{'id':_0x592b21[_0x8691('0x4c')]['id']}})[_0x8691('0x20')](handleEntityNotFound(_0x34305d,null))[_0x8691('0x20')](saveUpdates(_0x592b21['body'],null))['then'](respondWithResult(_0x34305d,null))['catch'](handleError(_0x34305d,null));};exports[_0x8691('0x4f')]=function(_0x1959e8,_0x473e16){return db[_0x8691('0x34')][_0x8691('0x50')]({'where':{'id':_0x1959e8[_0x8691('0x4c')]['id']}})['then'](handleEntityNotFound(_0x473e16,null))['then'](removeEntity(_0x473e16,null))[_0x8691('0x4b')](handleError(_0x473e16,null));};exports[_0x8691('0x51')]=function(_0x446b8b,_0x518183,_0x376c58){var _0x9605c={};var _0x24227e={};var _0x53eba7;var _0x1fb6a5;return db[_0x8691('0x34')][_0x8691('0x52')]({'where':{'id':_0x446b8b[_0x8691('0x4c')]['id']}})['then'](handleEntityNotFound(_0x518183,null))['then'](function(_0x3ea77d){if(_0x3ea77d){_0x53eba7=_0x3ea77d;_0x24227e[_0x8691('0x36')]=_[_0x8691('0x37')](db[_0x8691('0x53')][_0x8691('0x35')]);_0x24227e[_0x8691('0x38')]=_[_0x8691('0x37')](_0x446b8b[_0x8691('0x38')]);_0x24227e[_0x8691('0x42')]=_[_0x8691('0x39')](_0x24227e['model'],_0x24227e[_0x8691('0x38')]);_0x9605c[_0x8691('0x3a')]=_[_0x8691('0x39')](_0x24227e[_0x8691('0x36')],qs[_0x8691('0x3b')](_0x446b8b[_0x8691('0x38')][_0x8691('0x3b')]));_0x9605c[_0x8691('0x3a')]=_0x9605c[_0x8691('0x3a')][_0x8691('0x3c')]?_0x9605c[_0x8691('0x3a')]:_0x24227e['model'];_0x9605c[_0x8691('0x40')]=qs['sort'](_0x446b8b[_0x8691('0x38')][_0x8691('0x54')]);_0x9605c['where']=qs[_0x8691('0x42')](_[_0x8691('0x43')](_0x446b8b[_0x8691('0x38')],_0x24227e['filters']));if(_0x446b8b['query'][_0x8691('0x44')]){_0x9605c['where']=_[_0x8691('0x45')](_0x9605c[_0x8691('0x41')],{'$or':_[_0x8691('0x55')](_0x9605c['attributes'],function(_0x23192c){var _0x41263d={};_0x41263d[_0x23192c]={'$like':'%'+_0x446b8b[_0x8691('0x38')]['filter']+'%'};return _0x41263d;})});}_0x9605c=_[_0x8691('0x45')]({},_0x9605c,_0x446b8b[_0x8691('0x46')]);return _0x53eba7['getConfigurations'](_0x9605c);}})[_0x8691('0x20')](function(_0x494d8d){if(_0x494d8d){_0x1fb6a5=_0x494d8d[_0x8691('0x3c')];if(!_0x446b8b[_0x8691('0x38')][_0x8691('0x56')](_0x8691('0x3d'))){_0x9605c['limit']=qs[_0x8691('0x3e')](_0x446b8b['query']['limit']);_0x9605c[_0x8691('0x3f')]=qs['offset'](_0x446b8b['query'][_0x8691('0x3f')]);}return _0x53eba7[_0x8691('0x51')](_0x9605c);}})['then'](function(_0x3edba3){if(_0x3edba3){return _0x3edba3?{'count':_0x1fb6a5,'rows':_0x3edba3}:null;}})[_0x8691('0x20')](respondWithResult(_0x518183,null))['catch'](handleError(_0x518183,null));};exports[_0x8691('0x57')]=function(_0x1c0b9b,_0x51c02a,_0x6e6153){if(_0x1c0b9b['body']['id']){delete _0x1c0b9b[_0x8691('0x4e')]['id'];}return db[_0x8691('0x34')]['findOne']({'where':{'id':_0x1c0b9b[_0x8691('0x4c')]['id']}})[_0x8691('0x20')](handleEntityNotFound(_0x51c02a,null))[_0x8691('0x20')](function(_0xcdf9d6){if(_0xcdf9d6){_0x1c0b9b[_0x8691('0x4e')][_0x8691('0x58')]=_0xcdf9d6['id'];_0x1c0b9b[_0x8691('0x4e')]['Subjects']=integrations['getSubjects'](_0x1c0b9b[_0x8691('0x4e')][_0x8691('0x59')],_0x1c0b9b[_0x8691('0x4e')]['type']);_0x1c0b9b[_0x8691('0x4e')][_0x8691('0x5a')]=integrations[_0x8691('0x5b')](_0x1c0b9b[_0x8691('0x4e')][_0x8691('0x59')],_0x1c0b9b[_0x8691('0x4e')][_0x8691('0x5c')]);return db['ZendeskConfiguration']['create'](_0x1c0b9b[_0x8691('0x4e')],{'include':[{'model':db[_0x8691('0x5d')],'as':_0x8691('0x5e')},{'model':db[_0x8691('0x5d')],'as':_0x8691('0x5a')}]});}return null;})[_0x8691('0x20')](respondWithResult(_0x51c02a,null))['catch'](handleError(_0x51c02a,null));};exports[_0x8691('0x5f')]=function(_0x360e27,_0x407406,_0x27766e){var _0x15d571='';return db[_0x8691('0x34')]['findOne']({'where':{'id':_0x360e27[_0x8691('0x4c')]['id']},'attributes':['id',_0x8691('0x60'),_0x8691('0x61'),_0x8691('0x62'),_0x8691('0x63'),_0x8691('0x64')]})[_0x8691('0x20')](handleEntityNotFound(_0x407406,null))[_0x8691('0x20')](function(_0x51484e){if(_0x51484e){_0x15d571=_0x51484e[_0x8691('0x64')];var _0x34ec44=_0x15d571[_0x8691('0x65')](-0x1);if(_0x34ec44==='/'){_0x15d571=_0x15d571['substring'](0x0,_0x15d571[_0x8691('0x66')](_0x34ec44));}var _0x2792d0={'method':_0x8691('0x67'),'uri':util['format'](_0x8691('0x68'),_0x15d571,'ticket_fields'),'json':!![]};switch(_0x51484e['authType']){case _0x8691('0x61'):_0x2792d0['headers']={'Authorization':util[_0x8691('0x69')](_0x8691('0x6a'),new Buffer(util[_0x8691('0x69')]('%s:%s',_0x51484e['username'],_0x51484e[_0x8691('0x61')]))[_0x8691('0x6b')](_0x8691('0x6c')))};break;case _0x8691('0x62'):_0x2792d0[_0x8691('0x6d')]={'Authorization':util['format'](_0x8691('0x6a'),new Buffer(util['format']('%s/token:%s',_0x51484e['username'],_0x51484e[_0x8691('0x62')]))[_0x8691('0x6b')](_0x8691('0x6c')))};break;default:throw new db['Sequelize'][(_0x8691('0x6e'))]('Unknown\x20authentication\x20type');}return rp(_0x2792d0);}})[_0x8691('0x20')](function(_0x4af602){if(_0x4af602){var _0xed03e8=[_0x8691('0x6f'),_0x8691('0x70'),_0x8691('0x71'),_0x8691('0x72')];_[_0x8691('0x73')](_0x4af602[_0x8691('0x74')],function(_0x46f85a){return _0xed03e8[_0x8691('0x75')](_0x46f85a[_0x8691('0x5c')]);});return{'count':_0x4af602[_0x8691('0x74')][_0x8691('0x3c')],'rows':_[_0x8691('0x55')](_0x4af602[_0x8691('0x74')],function(_0x15e266){return{'id':_0x15e266['id'],'name':_0x15e266['position']>0x7?_0x15e266['title']:_0x15e266[_0x8691('0x5c')],'custom':_0x15e266['position']>0x7?!![]:![],'options':_0x15e266[_0x8691('0x76')]?_0x15e266[_0x8691('0x76')]:_0x15e266['custom_field_options']?_0x15e266[_0x8691('0x77')]:[]};})};}})['then'](respondWithResult(_0x407406,null))['catch'](function(_0x651a75){var _0x20c9d4=_0x360e27[_0x8691('0x38')][_0x8691('0x78')]?0x1f4:_0x651a75[_0x8691('0x79')]||0x1f4;logger[_0x8691('0x25')](_0x8691('0x7a'),'getFields',_0x20c9d4,JSON[_0x8691('0x7b')](_0x651a75));delete _0x651a75[_0x8691('0x31')];if(_0x20c9d4===0x191){_0x20c9d4=0x190;}_0x407406[_0x8691('0x29')](_0x20c9d4)['send'](_0x360e27[_0x8691('0x38')]['test']?{'message':'Wrong\x20credentials','statusCode':_0x651a75['statusCode']}:_0x651a75);});};