9b8b411ecef96c858ff68a179f39fa18c633ef84
[motion2.git] / server / api / intFreshdeskField / intFreshdeskField.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 _0xd06e=['length','hasOwnProperty','nolimit','offset','order','sort','pick','filter','merge','map','VIRTUAL','options','where','includeAll','rows','catch','params','include','find','create','body','eml-format','zip-dir','moment','bluebird','mustache','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','limit','set','json','reject','save','update','destroy','then','stack','send','index','FreshdeskField','rawAttributes','type','key','model','name','query','keys','filters','intersection','fields','attributes'];(function(_0x48dfc7,_0x28410f){var _0x553cbf=function(_0x56f3f7){while(--_0x56f3f7){_0x48dfc7['push'](_0x48dfc7['shift']());}};_0x553cbf(++_0x28410f);}(_0xd06e,0x129));var _0xed06=function(_0x449ef4,_0x35427a){_0x449ef4=_0x449ef4-0x0;var _0x9aae69=_0xd06e[_0x449ef4];return _0x9aae69;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xed06('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xed06('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xed06('0x2'));var BPromise=require(_0xed06('0x3'));var Mustache=require(_0xed06('0x4'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0xed06('0x5'));var ejs=require(_0xed06('0x6'));var fs=require('fs');var _=require(_0xed06('0x7'));var squel=require(_0xed06('0x8'));var crypto=require('crypto');var jsforce=require(_0xed06('0x9'));var deskjs=require(_0xed06('0xa'));var toCsv=require(_0xed06('0x5'));var querystring=require(_0xed06('0xb'));var Papa=require(_0xed06('0xc'));var Redis=require(_0xed06('0xd'));var authService=require(_0xed06('0xe'));var qs=require(_0xed06('0xf'));var as=require(_0xed06('0x10'));var hardwareService=require(_0xed06('0x11'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0xed06('0x12'));var licenseUtil=require(_0xed06('0x13'));var db=require(_0xed06('0x14'))['db'];function respondWithStatusCode(_0x4f712a,_0x5b70e6){_0x5b70e6=_0x5b70e6||0xcc;return function(_0xb6fd29){if(_0xb6fd29){return _0x4f712a[_0xed06('0x15')](_0x5b70e6);}return _0x4f712a[_0xed06('0x16')](_0x5b70e6)[_0xed06('0x17')]();};}function respondWithResult(_0x2b4dfd,_0x196920){_0x196920=_0x196920||0xc8;return function(_0x309ea0){if(_0x309ea0){return _0x2b4dfd[_0xed06('0x16')](_0x196920)['json'](_0x309ea0);}};}function respondWithFilteredResult(_0x664256,_0x54d872){return function(_0x547d48){if(_0x547d48){var _0x3ca811=_0x547d48[_0xed06('0x18')],_0x5e5344=_0x54d872['offset'],_0x56ef15=_0x54d872['offset']+_0x54d872[_0xed06('0x19')],_0x3f6680;if(_0x56ef15>=_0x3ca811){_0x56ef15=_0x3ca811;_0x3f6680=0xc8;}else{_0x3f6680=0xce;}_0x664256[_0xed06('0x16')](_0x3f6680);return _0x664256[_0xed06('0x1a')]('Content-Range',_0x5e5344+'-'+_0x56ef15+'/'+_0x3ca811)[_0xed06('0x1b')](_0x547d48);}return null;};}function patchUpdates(_0x4d2b58){return function(_0x3e5e7e){try{jsonpatch['apply'](_0x3e5e7e,_0x4d2b58,!![]);}catch(_0x560d25){return BPromise[_0xed06('0x1c')](_0x560d25);}return _0x3e5e7e[_0xed06('0x1d')]();};}function saveUpdates(_0x260c02,_0x297178){return function(_0x45c5fc){if(_0x45c5fc){return _0x45c5fc[_0xed06('0x1e')](_0x260c02)['then'](function(_0x402ffb){return _0x402ffb;});}return null;};}function removeEntity(_0x407b88,_0x51b90a){return function(_0x244e4f){if(_0x244e4f){return _0x244e4f[_0xed06('0x1f')]()[_0xed06('0x20')](function(){_0x407b88['status'](0xcc)[_0xed06('0x17')]();});}};}function handleEntityNotFound(_0x2a6e03,_0x427345){return function(_0x3a4b45){if(!_0x3a4b45){_0x2a6e03[_0xed06('0x15')](0x194);}return _0x3a4b45;};}function handleError(_0xa9802d,_0x1371de){_0x1371de=_0x1371de||0x1f4;return function(_0x5c7659){logger['error'](_0x5c7659[_0xed06('0x21')]);if(_0x5c7659['name']){delete _0x5c7659['name'];}_0xa9802d['status'](_0x1371de)[_0xed06('0x22')](_0x5c7659);};}exports[_0xed06('0x23')]=function(_0x36329c,_0x25a92c){var _0x350d16={},_0x111f23={},_0x3779b3={'count':0x0,'rows':[]};var _0x496576=_['map'](db[_0xed06('0x24')][_0xed06('0x25')],function(_0x2bdf69){return{'name':_0x2bdf69['fieldName'],'type':_0x2bdf69[_0xed06('0x26')][_0xed06('0x27')]};});_0x111f23[_0xed06('0x28')]=_['map'](_0x496576,_0xed06('0x29'));_0x111f23[_0xed06('0x2a')]=_[_0xed06('0x2b')](_0x36329c['query']);_0x111f23[_0xed06('0x2c')]=_[_0xed06('0x2d')](_0x111f23['model'],_0x111f23[_0xed06('0x2a')]);_0x350d16['attributes']=_['intersection'](_0x111f23[_0xed06('0x28')],qs[_0xed06('0x2e')](_0x36329c[_0xed06('0x2a')][_0xed06('0x2e')]));_0x350d16[_0xed06('0x2f')]=_0x350d16[_0xed06('0x2f')][_0xed06('0x30')]?_0x350d16['attributes']:_0x111f23[_0xed06('0x28')];if(!_0x36329c[_0xed06('0x2a')][_0xed06('0x31')](_0xed06('0x32'))){_0x350d16[_0xed06('0x19')]=qs[_0xed06('0x19')](_0x36329c[_0xed06('0x2a')][_0xed06('0x19')]);_0x350d16[_0xed06('0x33')]=qs[_0xed06('0x33')](_0x36329c[_0xed06('0x2a')][_0xed06('0x33')]);}_0x350d16[_0xed06('0x34')]=qs[_0xed06('0x35')](_0x36329c['query'][_0xed06('0x35')]);_0x350d16['where']=qs[_0xed06('0x2c')](_[_0xed06('0x36')](_0x36329c[_0xed06('0x2a')],_0x111f23['filters']),_0x496576);if(_0x36329c['query'][_0xed06('0x37')]){_0x350d16['where']=_[_0xed06('0x38')](_0x350d16['where'],{'$or':_[_0xed06('0x39')](_0x496576,function(_0x1d00c9){if(_0x1d00c9[_0xed06('0x26')]!==_0xed06('0x3a')){var _0x228319={};_0x228319[_0x1d00c9[_0xed06('0x29')]]={'$like':'%'+_0x36329c[_0xed06('0x2a')]['filter']+'%'};return _0x228319;}})});}_0x350d16=_['merge']({},_0x350d16,_0x36329c[_0xed06('0x3b')]);var _0x31fc={'where':_0x350d16[_0xed06('0x3c')]};return db['FreshdeskField'][_0xed06('0x18')](_0x31fc)[_0xed06('0x20')](function(_0x37c547){_0x3779b3[_0xed06('0x18')]=_0x37c547;if(_0x36329c['query'][_0xed06('0x3d')]){_0x350d16['include']=[{'all':!![]}];}return db['FreshdeskField']['findAll'](_0x350d16);})['then'](function(_0x177ed1){_0x3779b3[_0xed06('0x3e')]=_0x177ed1;return _0x3779b3;})[_0xed06('0x20')](respondWithFilteredResult(_0x25a92c,_0x350d16))[_0xed06('0x3f')](handleError(_0x25a92c,null));};exports['show']=function(_0x17b353,_0x2ef98e){var _0x1b2a23={'raw':!![],'where':{'id':_0x17b353[_0xed06('0x40')]['id']}},_0x3bc0de={};_0x3bc0de[_0xed06('0x28')]=_[_0xed06('0x2b')](db[_0xed06('0x24')][_0xed06('0x25')]);_0x3bc0de['query']=_[_0xed06('0x2b')](_0x17b353[_0xed06('0x2a')]);_0x3bc0de[_0xed06('0x2c')]=_[_0xed06('0x2d')](_0x3bc0de['model'],_0x3bc0de['query']);_0x1b2a23[_0xed06('0x2f')]=_['intersection'](_0x3bc0de[_0xed06('0x28')],qs[_0xed06('0x2e')](_0x17b353[_0xed06('0x2a')]['fields']));_0x1b2a23[_0xed06('0x2f')]=_0x1b2a23[_0xed06('0x2f')][_0xed06('0x30')]?_0x1b2a23[_0xed06('0x2f')]:_0x3bc0de['model'];if(_0x17b353[_0xed06('0x2a')][_0xed06('0x3d')]){_0x1b2a23[_0xed06('0x41')]=[{'all':!![]}];}_0x1b2a23=_['merge']({},_0x1b2a23,_0x17b353[_0xed06('0x3b')]);return db[_0xed06('0x24')][_0xed06('0x42')](_0x1b2a23)['then'](handleEntityNotFound(_0x2ef98e,null))[_0xed06('0x20')](respondWithResult(_0x2ef98e,null))[_0xed06('0x3f')](handleError(_0x2ef98e,null));};exports[_0xed06('0x43')]=function(_0x803195,_0xba1206){return db['FreshdeskField'][_0xed06('0x43')](_0x803195['body'],{})['then'](respondWithResult(_0xba1206,0xc9))[_0xed06('0x3f')](handleError(_0xba1206,null));};exports[_0xed06('0x1e')]=function(_0x561348,_0x3e2dd2){if(_0x561348['body']['id']){delete _0x561348[_0xed06('0x44')]['id'];}return db[_0xed06('0x24')][_0xed06('0x42')]({'where':{'id':_0x561348[_0xed06('0x40')]['id']}})['then'](handleEntityNotFound(_0x3e2dd2,null))[_0xed06('0x20')](saveUpdates(_0x561348[_0xed06('0x44')],null))[_0xed06('0x20')](respondWithResult(_0x3e2dd2,null))['catch'](handleError(_0x3e2dd2,null));};exports[_0xed06('0x1f')]=function(_0xf2891f,_0x481e9c){return db[_0xed06('0x24')][_0xed06('0x42')]({'where':{'id':_0xf2891f[_0xed06('0x40')]['id']}})['then'](handleEntityNotFound(_0x481e9c,null))[_0xed06('0x20')](removeEntity(_0x481e9c,null))[_0xed06('0x3f')](handleError(_0x481e9c,null));};