Built motion from commit (unavailable).|2.4.17
[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 _0x1354=['priority','group','source','company','remove','includes','default','custom_text','custom_dropdown','choices','capitalize','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../components/integrations/configuration','http','test','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','info','debug','stringify','error','code','FreshdeskAccount,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','json','offset','limit','Content-Range','reject','save','then','stack','send','index','map','FreshdeskAccount','rawAttributes','fieldName','type','key','model','name','query','keys','filters','intersection','fields','attributes','length','nolimit','sort','where','pick','filter','VIRTUAL','merge','count','includeAll','include','findAll','rows','show','params','options','find','create','update','body','findOne','FreshdeskConfiguration','order','getConfigurations','hasOwnProperty','addConfiguration','AccountId','Subjects','channel','getDescriptions','FreshdeskField','Descriptions','getFields','remoteUri','apiKey','substring','lastIndexOf','GET','format','api/v2/ticket_fields','Basic\x20%s','%s:X','requester','subject','agent'];(function(_0x54cd06,_0x50dcbe){var _0x12d69c=function(_0x56f834){while(--_0x56f834){_0x54cd06['push'](_0x54cd06['shift']());}};_0x12d69c(++_0x50dcbe);}(_0x1354,0x108));var _0x4135=function(_0x4e0c31,_0x208e9f){_0x4e0c31=_0x4e0c31-0x0;var _0x3fd7df=_0x1354[_0x4e0c31];return _0x3fd7df;};'use strict';var pdf=require(_0x4135('0x0'));var emlformat=require(_0x4135('0x1'));var rimraf=require(_0x4135('0x2'));var zipdir=require(_0x4135('0x3'));var jsonpatch=require(_0x4135('0x4'));var rp=require(_0x4135('0x5'));var moment=require('moment');var BPromise=require(_0x4135('0x6'));var Mustache=require(_0x4135('0x7'));var util=require('util');var path=require(_0x4135('0x8'));var sox=require('sox');var csv=require(_0x4135('0x9'));var ejs=require(_0x4135('0xa'));var fs=require('fs');var _=require(_0x4135('0xb'));var squel=require(_0x4135('0xc'));var crypto=require(_0x4135('0xd'));var jsforce=require(_0x4135('0xe'));var deskjs=require(_0x4135('0xf'));var toCsv=require('to-csv');var querystring=require(_0x4135('0x10'));var Papa=require('papaparse');var Redis=require(_0x4135('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x4135('0x12'));var as=require(_0x4135('0x13'));var hardwareService=require(_0x4135('0x14'));var logger=require('../../config/logger')(_0x4135('0x15'));var utils=require(_0x4135('0x16'));var config=require(_0x4135('0x17'));var db=require('../../mysqldb')['db'];var integrations=require(_0x4135('0x18'));var jayson=require('jayson/promise');var client=jayson['client'][_0x4135('0x19')]({'port':0x232a});function checkPasswordPattern(_0x95542c,_0x399df6,_0x227fe1){if(_0x227fe1){var _0x2ddf20=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x2ddf20[_0x4135('0x1a')](_0x399df6)){return _0x95542c;}else{throw new db['Sequelize'][(_0x4135('0x1b'))](_0x4135('0x1c'));}}else{return _0x95542c;}}function respondWithRpcPromise(_0x4ca7fb,_0x3e271a,_0xd79a21,_0x310aa1){return new BPromise(function(_0x12f49e,_0x44180a){var _0x4709c3=_0x310aa1||client;return _0x4709c3[_0x4135('0x1d')](_0x4ca7fb,_0xd79a21)['then'](function(_0x21eee2){logger[_0x4135('0x1e')]('FreshdeskAccount,\x20%s,\x20%s',_0x3e271a,'request\x20sent');logger[_0x4135('0x1f')]('FreshdeskAccount,\x20%s,\x20%s,\x20%s',_0x3e271a,'request\x20sent',JSON[_0x4135('0x20')](_0x21eee2));if(_0x21eee2[_0x4135('0x21')]){if(_0x21eee2[_0x4135('0x21')][_0x4135('0x22')]===0x1f4){logger[_0x4135('0x21')](_0x4135('0x23'),_0x3e271a,_0x21eee2[_0x4135('0x21')][_0x4135('0x24')]);return _0x44180a(_0x21eee2['error'][_0x4135('0x24')]);}logger[_0x4135('0x21')](_0x4135('0x23'),_0x3e271a,_0x21eee2[_0x4135('0x21')]['message']);return _0x12f49e(_0x21eee2[_0x4135('0x21')][_0x4135('0x24')]);}else{logger[_0x4135('0x1e')](_0x4135('0x23'),_0x3e271a,'request\x20sent');_0x12f49e(_0x21eee2[_0x4135('0x25')]['message']);}})[_0x4135('0x26')](function(_0x30ef32){logger[_0x4135('0x21')](_0x4135('0x23'),_0x3e271a,_0x30ef32);_0x44180a(_0x30ef32);});});}function respondWithStatusCode(_0x235864,_0x22c415){_0x22c415=_0x22c415||0xcc;return function(_0x1500fc){if(_0x1500fc){return _0x235864[_0x4135('0x27')](_0x22c415);}return _0x235864[_0x4135('0x28')](_0x22c415)[_0x4135('0x29')]();};}function respondWithResult(_0x3f0bc2,_0x4c1877){_0x4c1877=_0x4c1877||0xc8;return function(_0x53f757){if(_0x53f757){return _0x3f0bc2['status'](_0x4c1877)[_0x4135('0x2a')](_0x53f757);}};}function respondWithFilteredResult(_0x554b63,_0x23d0af){return function(_0x55e3cd){if(_0x55e3cd){var _0x512310=_0x55e3cd['count'],_0x8a5e6e=_0x23d0af[_0x4135('0x2b')],_0x21773a=_0x23d0af['offset']+_0x23d0af[_0x4135('0x2c')],_0x25290a;if(_0x21773a>=_0x512310){_0x21773a=_0x512310;_0x25290a=0xc8;}else{_0x25290a=0xce;}_0x554b63[_0x4135('0x28')](_0x25290a);return _0x554b63['set'](_0x4135('0x2d'),_0x8a5e6e+'-'+_0x21773a+'/'+_0x512310)[_0x4135('0x2a')](_0x55e3cd);}return null;};}function patchUpdates(_0x15fbd3){return function(_0x1ebfd5){try{jsonpatch['apply'](_0x1ebfd5,_0x15fbd3,!![]);}catch(_0x31478e){return BPromise[_0x4135('0x2e')](_0x31478e);}return _0x1ebfd5[_0x4135('0x2f')]();};}function saveUpdates(_0x51ec89,_0x71f983){return function(_0x10350d){if(_0x10350d){return _0x10350d['update'](_0x51ec89)['then'](function(_0x43c884){return _0x43c884;});}return null;};}function removeEntity(_0x3d4a29,_0x36a005){return function(_0x3dbea1){if(_0x3dbea1){return _0x3dbea1['destroy']()[_0x4135('0x30')](function(){_0x3d4a29['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x20a905,_0x855690){return function(_0x3b1050){if(!_0x3b1050){_0x20a905[_0x4135('0x27')](0x194);}return _0x3b1050;};}function handleError(_0x39b067,_0x4a85c5){_0x4a85c5=_0x4a85c5||0x1f4;return function(_0x1c77f7){logger[_0x4135('0x21')](_0x1c77f7[_0x4135('0x31')]);if(_0x1c77f7['name']){delete _0x1c77f7['name'];}_0x39b067[_0x4135('0x28')](_0x4a85c5)[_0x4135('0x32')](_0x1c77f7);};}exports[_0x4135('0x33')]=function(_0x4fd893,_0x61475a){var _0x28a9c5={},_0x39f2f8={},_0x4c1b32={'count':0x0,'rows':[]};var _0x63b929=_[_0x4135('0x34')](db[_0x4135('0x35')][_0x4135('0x36')],function(_0x4f9506){return{'name':_0x4f9506[_0x4135('0x37')],'type':_0x4f9506[_0x4135('0x38')][_0x4135('0x39')]};});_0x39f2f8[_0x4135('0x3a')]=_[_0x4135('0x34')](_0x63b929,_0x4135('0x3b'));_0x39f2f8[_0x4135('0x3c')]=_[_0x4135('0x3d')](_0x4fd893[_0x4135('0x3c')]);_0x39f2f8[_0x4135('0x3e')]=_[_0x4135('0x3f')](_0x39f2f8['model'],_0x39f2f8[_0x4135('0x3c')]);_0x28a9c5['attributes']=_['intersection'](_0x39f2f8[_0x4135('0x3a')],qs[_0x4135('0x40')](_0x4fd893[_0x4135('0x3c')]['fields']));_0x28a9c5[_0x4135('0x41')]=_0x28a9c5[_0x4135('0x41')][_0x4135('0x42')]?_0x28a9c5[_0x4135('0x41')]:_0x39f2f8['model'];if(!_0x4fd893['query']['hasOwnProperty'](_0x4135('0x43'))){_0x28a9c5[_0x4135('0x2c')]=qs['limit'](_0x4fd893[_0x4135('0x3c')][_0x4135('0x2c')]);_0x28a9c5['offset']=qs[_0x4135('0x2b')](_0x4fd893[_0x4135('0x3c')]['offset']);}_0x28a9c5['order']=qs[_0x4135('0x44')](_0x4fd893[_0x4135('0x3c')]['sort']);_0x28a9c5[_0x4135('0x45')]=qs[_0x4135('0x3e')](_[_0x4135('0x46')](_0x4fd893[_0x4135('0x3c')],_0x39f2f8['filters']));if(_0x4fd893[_0x4135('0x3c')][_0x4135('0x47')]){_0x28a9c5['where']=_['merge'](_0x28a9c5[_0x4135('0x45')],{'$or':_[_0x4135('0x34')](_0x63b929,function(_0x46e5dc){if(_0x46e5dc[_0x4135('0x38')]!==_0x4135('0x48')){var _0x435169={};_0x435169[_0x46e5dc[_0x4135('0x3b')]]={'$like':'%'+_0x4fd893[_0x4135('0x3c')][_0x4135('0x47')]+'%'};return _0x435169;}})});}_0x28a9c5=_[_0x4135('0x49')]({},_0x28a9c5,_0x4fd893['options']);var _0x2186a0={'where':_0x28a9c5[_0x4135('0x45')]};return db[_0x4135('0x35')][_0x4135('0x4a')](_0x2186a0)[_0x4135('0x30')](function(_0x174734){_0x4c1b32['count']=_0x174734;if(_0x4fd893['query'][_0x4135('0x4b')]){_0x28a9c5[_0x4135('0x4c')]=[{'all':!![]}];}return db['FreshdeskAccount'][_0x4135('0x4d')](_0x28a9c5);})[_0x4135('0x30')](function(_0x30562b){_0x4c1b32[_0x4135('0x4e')]=_0x30562b;return _0x4c1b32;})['then'](respondWithFilteredResult(_0x61475a,_0x28a9c5))['catch'](handleError(_0x61475a,null));};exports[_0x4135('0x4f')]=function(_0x1c7d3e,_0x18b6c5){var _0x5f463e={'raw':![],'where':{'id':_0x1c7d3e[_0x4135('0x50')]['id']}},_0x58a37b={};_0x58a37b['model']=_[_0x4135('0x3d')](db[_0x4135('0x35')][_0x4135('0x36')]);_0x58a37b[_0x4135('0x3c')]=_['keys'](_0x1c7d3e[_0x4135('0x3c')]);_0x58a37b[_0x4135('0x3e')]=_[_0x4135('0x3f')](_0x58a37b['model'],_0x58a37b[_0x4135('0x3c')]);_0x5f463e[_0x4135('0x41')]=_['intersection'](_0x58a37b[_0x4135('0x3a')],qs[_0x4135('0x40')](_0x1c7d3e['query'][_0x4135('0x40')]));_0x5f463e[_0x4135('0x41')]=_0x5f463e[_0x4135('0x41')]['length']?_0x5f463e[_0x4135('0x41')]:_0x58a37b[_0x4135('0x3a')];if(_0x1c7d3e[_0x4135('0x3c')]['includeAll']){_0x5f463e['include']=[{'all':!![]}];}_0x5f463e=_[_0x4135('0x49')]({},_0x5f463e,_0x1c7d3e[_0x4135('0x51')]);return db[_0x4135('0x35')][_0x4135('0x52')](_0x5f463e)['then'](handleEntityNotFound(_0x18b6c5,null))[_0x4135('0x30')](respondWithResult(_0x18b6c5,null))[_0x4135('0x26')](handleError(_0x18b6c5,null));};exports[_0x4135('0x53')]=function(_0x8d1cbe,_0x284d17){return db[_0x4135('0x35')]['create'](_0x8d1cbe['body'],{})[_0x4135('0x30')](respondWithResult(_0x284d17,0xc9))[_0x4135('0x26')](handleError(_0x284d17,null));};exports[_0x4135('0x54')]=function(_0x2ab4a6,_0x20a440){if(_0x2ab4a6[_0x4135('0x55')]['id']){delete _0x2ab4a6[_0x4135('0x55')]['id'];}return db[_0x4135('0x35')][_0x4135('0x52')]({'where':{'id':_0x2ab4a6[_0x4135('0x50')]['id']}})[_0x4135('0x30')](handleEntityNotFound(_0x20a440,null))[_0x4135('0x30')](saveUpdates(_0x2ab4a6[_0x4135('0x55')],null))[_0x4135('0x30')](respondWithResult(_0x20a440,null))[_0x4135('0x26')](handleError(_0x20a440,null));};exports['destroy']=function(_0x158dcf,_0x3851a9){return db[_0x4135('0x35')][_0x4135('0x52')]({'where':{'id':_0x158dcf[_0x4135('0x50')]['id']}})[_0x4135('0x30')](handleEntityNotFound(_0x3851a9,null))[_0x4135('0x30')](removeEntity(_0x3851a9,null))['catch'](handleError(_0x3851a9,null));};exports['getConfigurations']=function(_0x317e61,_0x173998,_0x42993b){var _0x48cae2={};var _0xe7c49e={};var _0xc3fc9e;var _0x5611c6;return db[_0x4135('0x35')][_0x4135('0x56')]({'where':{'id':_0x317e61[_0x4135('0x50')]['id']}})[_0x4135('0x30')](handleEntityNotFound(_0x173998,null))[_0x4135('0x30')](function(_0x4ab9f1){if(_0x4ab9f1){_0xc3fc9e=_0x4ab9f1;_0xe7c49e['model']=_['keys'](db[_0x4135('0x57')][_0x4135('0x36')]);_0xe7c49e[_0x4135('0x3c')]=_[_0x4135('0x3d')](_0x317e61[_0x4135('0x3c')]);_0xe7c49e[_0x4135('0x3e')]=_[_0x4135('0x3f')](_0xe7c49e['model'],_0xe7c49e[_0x4135('0x3c')]);_0x48cae2[_0x4135('0x41')]=_[_0x4135('0x3f')](_0xe7c49e[_0x4135('0x3a')],qs['fields'](_0x317e61[_0x4135('0x3c')][_0x4135('0x40')]));_0x48cae2[_0x4135('0x41')]=_0x48cae2[_0x4135('0x41')][_0x4135('0x42')]?_0x48cae2[_0x4135('0x41')]:_0xe7c49e['model'];_0x48cae2[_0x4135('0x58')]=qs[_0x4135('0x44')](_0x317e61[_0x4135('0x3c')][_0x4135('0x44')]);_0x48cae2[_0x4135('0x45')]=qs[_0x4135('0x3e')](_['pick'](_0x317e61[_0x4135('0x3c')],_0xe7c49e[_0x4135('0x3e')]));if(_0x317e61[_0x4135('0x3c')][_0x4135('0x47')]){_0x48cae2[_0x4135('0x45')]=_['merge'](_0x48cae2[_0x4135('0x45')],{'$or':_[_0x4135('0x34')](_0x48cae2[_0x4135('0x41')],function(_0xb90295){var _0xce5f0f={};_0xce5f0f[_0xb90295]={'$like':'%'+_0x317e61[_0x4135('0x3c')][_0x4135('0x47')]+'%'};return _0xce5f0f;})});}_0x48cae2=_['merge']({},_0x48cae2,_0x317e61[_0x4135('0x51')]);return _0xc3fc9e[_0x4135('0x59')](_0x48cae2);}})['then'](function(_0xa2c634){if(_0xa2c634){_0x5611c6=_0xa2c634[_0x4135('0x42')];if(!_0x317e61[_0x4135('0x3c')][_0x4135('0x5a')]('nolimit')){_0x48cae2[_0x4135('0x2c')]=qs[_0x4135('0x2c')](_0x317e61[_0x4135('0x3c')][_0x4135('0x2c')]);_0x48cae2['offset']=qs[_0x4135('0x2b')](_0x317e61[_0x4135('0x3c')][_0x4135('0x2b')]);}return _0xc3fc9e[_0x4135('0x59')](_0x48cae2);}})[_0x4135('0x30')](function(_0x4208f4){if(_0x4208f4){return _0x4208f4?{'count':_0x5611c6,'rows':_0x4208f4}:null;}})[_0x4135('0x30')](respondWithResult(_0x173998,null))[_0x4135('0x26')](handleError(_0x173998,null));};exports[_0x4135('0x5b')]=function(_0x535da4,_0x336944,_0x424ced){if(_0x535da4[_0x4135('0x55')]['id']){delete _0x535da4[_0x4135('0x55')]['id'];}return db[_0x4135('0x35')][_0x4135('0x56')]({'where':{'id':_0x535da4['params']['id']}})[_0x4135('0x30')](handleEntityNotFound(_0x336944,null))['then'](function(_0x309215){if(_0x309215){_0x535da4['body'][_0x4135('0x5c')]=_0x309215['id'];_0x535da4['body'][_0x4135('0x5d')]=integrations['getSubjects'](_0x535da4[_0x4135('0x55')][_0x4135('0x5e')],_0x535da4[_0x4135('0x55')]['type']);_0x535da4[_0x4135('0x55')]['Descriptions']=integrations[_0x4135('0x5f')](_0x535da4['body'][_0x4135('0x5e')],_0x535da4['body']['type']);return db[_0x4135('0x57')][_0x4135('0x53')](_0x535da4['body'],{'include':[{'model':db[_0x4135('0x60')],'as':_0x4135('0x5d')},{'model':db[_0x4135('0x60')],'as':_0x4135('0x61')}]});}return null;})['then'](respondWithResult(_0x336944,null))[_0x4135('0x26')](handleError(_0x336944,null));};exports[_0x4135('0x62')]=function(_0x1a6a92,_0x444301,_0x3d2217){var _0x24f2a1='';return db['FreshdeskAccount'][_0x4135('0x56')]({'where':{'id':_0x1a6a92[_0x4135('0x50')]['id']},'attributes':['id',_0x4135('0x63'),_0x4135('0x64')]})[_0x4135('0x30')](handleEntityNotFound(_0x444301,null))[_0x4135('0x30')](function(_0xa80c08){if(_0xa80c08){_0x24f2a1=_0xa80c08[_0x4135('0x63')];var _0x3d4011=_0x24f2a1['slice'](-0x1);if(_0x3d4011==='/'){_0x24f2a1=_0x24f2a1[_0x4135('0x65')](0x0,_0x24f2a1[_0x4135('0x66')](_0x3d4011));}return rp({'method':_0x4135('0x67'),'uri':util[_0x4135('0x68')]('%s/%s',_0x24f2a1,_0x4135('0x69')),'headers':{'Authorization':util['format'](_0x4135('0x6a'),new Buffer(util[_0x4135('0x68')](_0x4135('0x6b'),_0xa80c08[_0x4135('0x64')]))['toString']('base64'))},'json':!![]});}})[_0x4135('0x30')](function(_0x39e920){if(_0x39e920){var _0x31d560=[_0x4135('0x6c'),_0x4135('0x6d'),_0x4135('0x6e'),'description',_0x4135('0x28'),_0x4135('0x6f'),_0x4135('0x70'),_0x4135('0x71'),'ticket_type',_0x4135('0x70'),_0x4135('0x72')];_[_0x4135('0x73')](_0x39e920,function(_0x4f8d3d){return _0x31d560[_0x4135('0x74')](_0x4f8d3d[_0x4135('0x3b')])||!_0x4f8d3d[_0x4135('0x75')]&&_0x4f8d3d[_0x4135('0x38')]!==_0x4135('0x76')&&_0x4f8d3d[_0x4135('0x38')]!==_0x4135('0x77');});return{'count':_0x39e920['length'],'rows':_[_0x4135('0x34')](_0x39e920,function(_0x2b328c){return{'id':_0x2b328c[_0x4135('0x3b')],'name':_0x2b328c['label'],'custom':!_0x2b328c[_0x4135('0x75')],'options':_0x2b328c[_0x4135('0x78')]?_[_0x4135('0x34')](_0x2b328c['choices'],function(_0x576221){return{'name':_[_0x4135('0x79')](_0x576221),'value':_0x576221};}):[]};})};}})[_0x4135('0x30')](respondWithResult(_0x444301,null))[_0x4135('0x26')](function(_0x4598dd){var _0x5549ec=_0x1a6a92[_0x4135('0x3c')]['test']?0x1f4:_0x4598dd[_0x4135('0x7a')]||0x1f4;logger[_0x4135('0x21')](_0x4135('0x7b'),_0x4135('0x62'),_0x5549ec,JSON['stringify'](_0x4598dd));delete _0x4598dd['name'];if(_0x5549ec===0x191){_0x5549ec=0x190;}_0x444301[_0x4135('0x28')](_0x5549ec)[_0x4135('0x32')](_0x1a6a92['query']['test']?{'message':_0x4135('0x7c'),'statusCode':_0x4598dd[_0x4135('0x7a')]}:_0x4598dd);});};