Built motion from commit (unavailable).|2.5.11
[motion2.git] / server / api / intFreshdeskAccount / intFreshdeskAccount.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 _0x6744=['sort','merge','where','VIRTUAL','filter','options','includeAll','include','findAll','rows','show','find','create','body','params','findOne','FreshdeskConfiguration','rawAttributes','getConfigurations','addConfiguration','AccountId','Subjects','getDescriptions','channel','FreshdeskField','Descriptions','getFields','remoteUri','apiKey','slice','substring','lastIndexOf','GET','api/v2/ticket_fields','format','Basic\x20%s','toString','base64','requester','subject','description','priority','group','source','ticket_type','company','remove','includes','default','custom_dropdown','label','choices','capitalize','test','statusCode','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','request','info','FreshdeskAccount,\x20%s,\x20%s','request\x20sent','debug','FreshdeskAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','sendStatus','status','end','json','count','offset','limit','set','apply','save','update','then','destroy','stack','name','index','map','FreshdeskAccount','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order'];(function(_0x57db49,_0x288094){var _0xd0636f=function(_0x227787){while(--_0x227787){_0x57db49['push'](_0x57db49['shift']());}};_0xd0636f(++_0x288094);}(_0x6744,0x1be));var _0x4674=function(_0x25c985,_0x1fd521){_0x25c985=_0x25c985-0x0;var _0x91e97b=_0x6744[_0x25c985];return _0x91e97b;};'use strict';var pdf=require(_0x4674('0x0'));var emlformat=require(_0x4674('0x1'));var rimraf=require(_0x4674('0x2'));var zipdir=require(_0x4674('0x3'));var jsonpatch=require(_0x4674('0x4'));var rp=require(_0x4674('0x5'));var moment=require(_0x4674('0x6'));var BPromise=require(_0x4674('0x7'));var Mustache=require(_0x4674('0x8'));var util=require('util');var path=require(_0x4674('0x9'));var sox=require(_0x4674('0xa'));var csv=require(_0x4674('0xb'));var ejs=require(_0x4674('0xc'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x4674('0xd'));var deskjs=require(_0x4674('0xe'));var toCsv=require(_0x4674('0xb'));var querystring=require(_0x4674('0xf'));var Papa=require(_0x4674('0x10'));var Redis=require(_0x4674('0x11'));var authService=require(_0x4674('0x12'));var qs=require(_0x4674('0x13'));var as=require(_0x4674('0x14'));var hardwareService=require(_0x4674('0x15'));var logger=require(_0x4674('0x16'))(_0x4674('0x17'));var utils=require(_0x4674('0x18'));var config=require(_0x4674('0x19'));var licenseUtil=require(_0x4674('0x1a'));var db=require(_0x4674('0x1b'))['db'];var integrations=require(_0x4674('0x1c'));var jayson=require(_0x4674('0x1d'));var client=jayson[_0x4674('0x1e')][_0x4674('0x1f')]({'port':0x232a});function respondWithRpcPromise(_0x59d098,_0x41805c,_0x54b78d,_0x540267){return new BPromise(function(_0xc8366e,_0x13d20c){var _0x2f2b91=_0x540267||client;return _0x2f2b91[_0x4674('0x20')](_0x59d098,_0x54b78d)['then'](function(_0xd1ab7){logger[_0x4674('0x21')](_0x4674('0x22'),_0x41805c,_0x4674('0x23'));logger[_0x4674('0x24')](_0x4674('0x25'),_0x41805c,'request\x20sent',JSON[_0x4674('0x26')](_0xd1ab7));if(_0xd1ab7[_0x4674('0x27')]){if(_0xd1ab7[_0x4674('0x27')]['code']===0x1f4){logger['error'](_0x4674('0x22'),_0x41805c,_0xd1ab7[_0x4674('0x27')][_0x4674('0x28')]);return _0x13d20c(_0xd1ab7[_0x4674('0x27')][_0x4674('0x28')]);}logger[_0x4674('0x27')](_0x4674('0x22'),_0x41805c,_0xd1ab7[_0x4674('0x27')][_0x4674('0x28')]);return _0xc8366e(_0xd1ab7[_0x4674('0x27')]['message']);}else{logger['info']('FreshdeskAccount,\x20%s,\x20%s',_0x41805c,_0x4674('0x23'));_0xc8366e(_0xd1ab7[_0x4674('0x29')][_0x4674('0x28')]);}})[_0x4674('0x2a')](function(_0x12d4a4){logger[_0x4674('0x27')](_0x4674('0x22'),_0x41805c,_0x12d4a4);_0x13d20c(_0x12d4a4);});});}function respondWithStatusCode(_0x39809f,_0x34cd52){_0x34cd52=_0x34cd52||0xcc;return function(_0x169f59){if(_0x169f59){return _0x39809f[_0x4674('0x2b')](_0x34cd52);}return _0x39809f[_0x4674('0x2c')](_0x34cd52)[_0x4674('0x2d')]();};}function respondWithResult(_0x48829b,_0x343066){_0x343066=_0x343066||0xc8;return function(_0x5e91c2){if(_0x5e91c2){return _0x48829b['status'](_0x343066)[_0x4674('0x2e')](_0x5e91c2);}};}function respondWithFilteredResult(_0x23959e,_0x42767c){return function(_0x504062){if(_0x504062){var _0x2f6d07=_0x504062[_0x4674('0x2f')],_0x3997b5=_0x42767c[_0x4674('0x30')],_0x4208e5=_0x42767c[_0x4674('0x30')]+_0x42767c[_0x4674('0x31')],_0x254b40;if(_0x4208e5>=_0x2f6d07){_0x4208e5=_0x2f6d07;_0x254b40=0xc8;}else{_0x254b40=0xce;}_0x23959e[_0x4674('0x2c')](_0x254b40);return _0x23959e[_0x4674('0x32')]('Content-Range',_0x3997b5+'-'+_0x4208e5+'/'+_0x2f6d07)[_0x4674('0x2e')](_0x504062);}return null;};}function patchUpdates(_0xba468d){return function(_0x58d719){try{jsonpatch[_0x4674('0x33')](_0x58d719,_0xba468d,!![]);}catch(_0x2a7123){return BPromise['reject'](_0x2a7123);}return _0x58d719[_0x4674('0x34')]();};}function saveUpdates(_0x67a627,_0x1be912){return function(_0x1afd55){if(_0x1afd55){return _0x1afd55[_0x4674('0x35')](_0x67a627)[_0x4674('0x36')](function(_0x1186aa){return _0x1186aa;});}return null;};}function removeEntity(_0x221249,_0x28b4d3){return function(_0x27f1e3){if(_0x27f1e3){return _0x27f1e3[_0x4674('0x37')]()[_0x4674('0x36')](function(){_0x221249[_0x4674('0x2c')](0xcc)[_0x4674('0x2d')]();});}};}function handleEntityNotFound(_0x597bc6,_0x3d5aff){return function(_0x4b1f0f){if(!_0x4b1f0f){_0x597bc6['sendStatus'](0x194);}return _0x4b1f0f;};}function handleError(_0x229291,_0x4ecfa4){_0x4ecfa4=_0x4ecfa4||0x1f4;return function(_0x3a5d8b){logger['error'](_0x3a5d8b[_0x4674('0x38')]);if(_0x3a5d8b[_0x4674('0x39')]){delete _0x3a5d8b[_0x4674('0x39')];}_0x229291[_0x4674('0x2c')](_0x4ecfa4)['send'](_0x3a5d8b);};}exports[_0x4674('0x3a')]=function(_0x3e3f04,_0x47e20e){var _0x156e76={},_0x5a35ae={},_0xd7f158={'count':0x0,'rows':[]};var _0x28993d=_[_0x4674('0x3b')](db[_0x4674('0x3c')]['rawAttributes'],function(_0x3ae84f){return{'name':_0x3ae84f['fieldName'],'type':_0x3ae84f[_0x4674('0x3d')][_0x4674('0x3e')]};});_0x5a35ae[_0x4674('0x3f')]=_[_0x4674('0x3b')](_0x28993d,_0x4674('0x39'));_0x5a35ae['query']=_[_0x4674('0x40')](_0x3e3f04[_0x4674('0x41')]);_0x5a35ae[_0x4674('0x42')]=_[_0x4674('0x43')](_0x5a35ae[_0x4674('0x3f')],_0x5a35ae[_0x4674('0x41')]);_0x156e76['attributes']=_[_0x4674('0x43')](_0x5a35ae['model'],qs['fields'](_0x3e3f04[_0x4674('0x41')][_0x4674('0x44')]));_0x156e76[_0x4674('0x45')]=_0x156e76[_0x4674('0x45')][_0x4674('0x46')]?_0x156e76[_0x4674('0x45')]:_0x5a35ae[_0x4674('0x3f')];if(!_0x3e3f04[_0x4674('0x41')][_0x4674('0x47')](_0x4674('0x48'))){_0x156e76['limit']=qs[_0x4674('0x31')](_0x3e3f04[_0x4674('0x41')][_0x4674('0x31')]);_0x156e76[_0x4674('0x30')]=qs[_0x4674('0x30')](_0x3e3f04[_0x4674('0x41')][_0x4674('0x30')]);}_0x156e76[_0x4674('0x49')]=qs[_0x4674('0x4a')](_0x3e3f04[_0x4674('0x41')][_0x4674('0x4a')]);_0x156e76['where']=qs['filters'](_['pick'](_0x3e3f04['query'],_0x5a35ae['filters']),_0x28993d);if(_0x3e3f04[_0x4674('0x41')]['filter']){_0x156e76['where']=_[_0x4674('0x4b')](_0x156e76[_0x4674('0x4c')],{'$or':_[_0x4674('0x3b')](_0x28993d,function(_0x2260c5){if(_0x2260c5[_0x4674('0x3d')]!==_0x4674('0x4d')){var _0x11c2b0={};_0x11c2b0[_0x2260c5[_0x4674('0x39')]]={'$like':'%'+_0x3e3f04['query'][_0x4674('0x4e')]+'%'};return _0x11c2b0;}})});}_0x156e76=_[_0x4674('0x4b')]({},_0x156e76,_0x3e3f04[_0x4674('0x4f')]);var _0x517141={'where':_0x156e76[_0x4674('0x4c')]};return db['FreshdeskAccount'][_0x4674('0x2f')](_0x517141)[_0x4674('0x36')](function(_0x325302){_0xd7f158[_0x4674('0x2f')]=_0x325302;if(_0x3e3f04[_0x4674('0x41')][_0x4674('0x50')]){_0x156e76[_0x4674('0x51')]=[{'all':!![]}];}return db[_0x4674('0x3c')][_0x4674('0x52')](_0x156e76);})[_0x4674('0x36')](function(_0x227ec3){_0xd7f158[_0x4674('0x53')]=_0x227ec3;return _0xd7f158;})['then'](respondWithFilteredResult(_0x47e20e,_0x156e76))[_0x4674('0x2a')](handleError(_0x47e20e,null));};exports[_0x4674('0x54')]=function(_0xe084d6,_0x2733f7){var _0x4802b4={'raw':![],'where':{'id':_0xe084d6['params']['id']}},_0x3c6323={};_0x3c6323[_0x4674('0x3f')]=_['keys'](db[_0x4674('0x3c')]['rawAttributes']);_0x3c6323[_0x4674('0x41')]=_[_0x4674('0x40')](_0xe084d6[_0x4674('0x41')]);_0x3c6323[_0x4674('0x42')]=_[_0x4674('0x43')](_0x3c6323['model'],_0x3c6323[_0x4674('0x41')]);_0x4802b4['attributes']=_[_0x4674('0x43')](_0x3c6323['model'],qs[_0x4674('0x44')](_0xe084d6[_0x4674('0x41')][_0x4674('0x44')]));_0x4802b4[_0x4674('0x45')]=_0x4802b4[_0x4674('0x45')][_0x4674('0x46')]?_0x4802b4[_0x4674('0x45')]:_0x3c6323['model'];if(_0xe084d6['query'][_0x4674('0x50')]){_0x4802b4[_0x4674('0x51')]=[{'all':!![]}];}_0x4802b4=_['merge']({},_0x4802b4,_0xe084d6[_0x4674('0x4f')]);return db[_0x4674('0x3c')][_0x4674('0x55')](_0x4802b4)['then'](handleEntityNotFound(_0x2733f7,null))[_0x4674('0x36')](respondWithResult(_0x2733f7,null))[_0x4674('0x2a')](handleError(_0x2733f7,null));};exports['create']=function(_0x341ce3,_0xac6f85){return db['FreshdeskAccount'][_0x4674('0x56')](_0x341ce3[_0x4674('0x57')],{})[_0x4674('0x36')](respondWithResult(_0xac6f85,0xc9))[_0x4674('0x2a')](handleError(_0xac6f85,null));};exports[_0x4674('0x35')]=function(_0x3760b7,_0x411e31){if(_0x3760b7[_0x4674('0x57')]['id']){delete _0x3760b7['body']['id'];}return db[_0x4674('0x3c')]['find']({'where':{'id':_0x3760b7[_0x4674('0x58')]['id']}})[_0x4674('0x36')](handleEntityNotFound(_0x411e31,null))[_0x4674('0x36')](saveUpdates(_0x3760b7[_0x4674('0x57')],null))[_0x4674('0x36')](respondWithResult(_0x411e31,null))[_0x4674('0x2a')](handleError(_0x411e31,null));};exports[_0x4674('0x37')]=function(_0x3ea4f2,_0x1482c2){return db['FreshdeskAccount'][_0x4674('0x55')]({'where':{'id':_0x3ea4f2[_0x4674('0x58')]['id']}})[_0x4674('0x36')](handleEntityNotFound(_0x1482c2,null))[_0x4674('0x36')](removeEntity(_0x1482c2,null))['catch'](handleError(_0x1482c2,null));};exports['getConfigurations']=function(_0x2a7cdc,_0x3541c2,_0x3b0431){var _0x6f92c1={};var _0x9a6c0d={};var _0x372854;var _0x29c986;return db[_0x4674('0x3c')][_0x4674('0x59')]({'where':{'id':_0x2a7cdc[_0x4674('0x58')]['id']}})['then'](handleEntityNotFound(_0x3541c2,null))[_0x4674('0x36')](function(_0x5b6af4){if(_0x5b6af4){_0x372854=_0x5b6af4;_0x9a6c0d[_0x4674('0x3f')]=_[_0x4674('0x40')](db[_0x4674('0x5a')][_0x4674('0x5b')]);_0x9a6c0d[_0x4674('0x41')]=_[_0x4674('0x40')](_0x2a7cdc['query']);_0x9a6c0d['filters']=_['intersection'](_0x9a6c0d[_0x4674('0x3f')],_0x9a6c0d[_0x4674('0x41')]);_0x6f92c1[_0x4674('0x45')]=_[_0x4674('0x43')](_0x9a6c0d[_0x4674('0x3f')],qs[_0x4674('0x44')](_0x2a7cdc[_0x4674('0x41')][_0x4674('0x44')]));_0x6f92c1['attributes']=_0x6f92c1['attributes']['length']?_0x6f92c1[_0x4674('0x45')]:_0x9a6c0d[_0x4674('0x3f')];_0x6f92c1[_0x4674('0x49')]=qs[_0x4674('0x4a')](_0x2a7cdc[_0x4674('0x41')]['sort']);_0x6f92c1[_0x4674('0x4c')]=qs['filters'](_['pick'](_0x2a7cdc['query'],_0x9a6c0d[_0x4674('0x42')]));if(_0x2a7cdc['query'][_0x4674('0x4e')]){_0x6f92c1['where']=_[_0x4674('0x4b')](_0x6f92c1['where'],{'$or':_[_0x4674('0x3b')](_0x6f92c1['attributes'],function(_0x53219d){var _0x2473d3={};_0x2473d3[_0x53219d]={'$like':'%'+_0x2a7cdc['query']['filter']+'%'};return _0x2473d3;})});}_0x6f92c1=_[_0x4674('0x4b')]({},_0x6f92c1,_0x2a7cdc['options']);return _0x372854[_0x4674('0x5c')](_0x6f92c1);}})[_0x4674('0x36')](function(_0x27d39e){if(_0x27d39e){_0x29c986=_0x27d39e['length'];if(!_0x2a7cdc[_0x4674('0x41')][_0x4674('0x47')](_0x4674('0x48'))){_0x6f92c1[_0x4674('0x31')]=qs[_0x4674('0x31')](_0x2a7cdc[_0x4674('0x41')][_0x4674('0x31')]);_0x6f92c1[_0x4674('0x30')]=qs[_0x4674('0x30')](_0x2a7cdc[_0x4674('0x41')][_0x4674('0x30')]);}return _0x372854[_0x4674('0x5c')](_0x6f92c1);}})[_0x4674('0x36')](function(_0x276ca5){if(_0x276ca5){return _0x276ca5?{'count':_0x29c986,'rows':_0x276ca5}:null;}})[_0x4674('0x36')](respondWithResult(_0x3541c2,null))[_0x4674('0x2a')](handleError(_0x3541c2,null));};exports[_0x4674('0x5d')]=function(_0x4d6b8b,_0x4f7443,_0xc9043a){if(_0x4d6b8b[_0x4674('0x57')]['id']){delete _0x4d6b8b[_0x4674('0x57')]['id'];}return db[_0x4674('0x3c')][_0x4674('0x59')]({'where':{'id':_0x4d6b8b[_0x4674('0x58')]['id']}})[_0x4674('0x36')](handleEntityNotFound(_0x4f7443,null))[_0x4674('0x36')](function(_0x4343a0){if(_0x4343a0){_0x4d6b8b[_0x4674('0x57')][_0x4674('0x5e')]=_0x4343a0['id'];_0x4d6b8b[_0x4674('0x57')][_0x4674('0x5f')]=integrations['getSubjects'](_0x4d6b8b[_0x4674('0x57')]['channel'],_0x4d6b8b[_0x4674('0x57')][_0x4674('0x3d')]);_0x4d6b8b['body']['Descriptions']=integrations[_0x4674('0x60')](_0x4d6b8b['body'][_0x4674('0x61')],_0x4d6b8b[_0x4674('0x57')][_0x4674('0x3d')]);return db[_0x4674('0x5a')][_0x4674('0x56')](_0x4d6b8b['body'],{'include':[{'model':db[_0x4674('0x62')],'as':'Subjects'},{'model':db['FreshdeskField'],'as':_0x4674('0x63')}]});}return null;})[_0x4674('0x36')](respondWithResult(_0x4f7443,null))[_0x4674('0x2a')](handleError(_0x4f7443,null));};exports[_0x4674('0x64')]=function(_0x28baef,_0x28b137,_0x5bb81b){var _0x2debb3='';return db['FreshdeskAccount'][_0x4674('0x59')]({'where':{'id':_0x28baef[_0x4674('0x58')]['id']},'attributes':['id',_0x4674('0x65'),_0x4674('0x66')]})['then'](handleEntityNotFound(_0x28b137,null))['then'](function(_0x2ac904){if(_0x2ac904){_0x2debb3=_0x2ac904[_0x4674('0x65')];var _0x44fe97=_0x2debb3[_0x4674('0x67')](-0x1);if(_0x44fe97==='/'){_0x2debb3=_0x2debb3[_0x4674('0x68')](0x0,_0x2debb3[_0x4674('0x69')](_0x44fe97));}return rp({'method':_0x4674('0x6a'),'uri':util['format']('%s/%s',_0x2debb3,_0x4674('0x6b')),'headers':{'Authorization':util[_0x4674('0x6c')](_0x4674('0x6d'),new Buffer(util[_0x4674('0x6c')]('%s:X',_0x2ac904[_0x4674('0x66')]))[_0x4674('0x6e')](_0x4674('0x6f')))},'json':!![]});}})[_0x4674('0x36')](function(_0x13bdf4){if(_0x13bdf4){var _0x3841e6=[_0x4674('0x70'),_0x4674('0x71'),'agent',_0x4674('0x72'),_0x4674('0x2c'),_0x4674('0x73'),_0x4674('0x74'),_0x4674('0x75'),_0x4674('0x76'),_0x4674('0x74'),_0x4674('0x77')];_[_0x4674('0x78')](_0x13bdf4,function(_0x4af4ec){return _0x3841e6[_0x4674('0x79')](_0x4af4ec[_0x4674('0x39')])||!_0x4af4ec[_0x4674('0x7a')]&&_0x4af4ec[_0x4674('0x3d')]!=='custom_text'&&_0x4af4ec[_0x4674('0x3d')]!==_0x4674('0x7b');});return{'count':_0x13bdf4[_0x4674('0x46')],'rows':_['map'](_0x13bdf4,function(_0x347ec5){return{'id':_0x347ec5[_0x4674('0x39')],'name':_0x347ec5[_0x4674('0x7c')],'custom':!_0x347ec5[_0x4674('0x7a')],'options':_0x347ec5[_0x4674('0x7d')]?_[_0x4674('0x3b')](_0x347ec5['choices'],function(_0x2c719e){return{'name':_[_0x4674('0x7e')](_0x2c719e),'value':_0x2c719e};}):[]};})};}})[_0x4674('0x36')](respondWithResult(_0x28b137,null))[_0x4674('0x2a')](function(_0x9cc9c1){var _0x440e9a=_0x28baef[_0x4674('0x41')][_0x4674('0x7f')]?0x1f4:_0x9cc9c1[_0x4674('0x80')]||0x1f4;logger['error']('getFields,\x20%s,\x20%s,\x20%s',_0x4674('0x64'),_0x440e9a,JSON[_0x4674('0x26')](_0x9cc9c1));delete _0x9cc9c1['name'];if(_0x440e9a===0x191){_0x440e9a=0x190;}_0x28b137[_0x4674('0x2c')](_0x440e9a)['send'](_0x28baef[_0x4674('0x41')][_0x4674('0x7f')]?{'message':_0x4674('0x81'),'statusCode':_0x9cc9c1[_0x4674('0x80')]}:_0x9cc9c1);});};