021f1743bf17fe57565bac9b284f3006c87ac9a7
[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 _0xdcf2=['path','ejs','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/environment','../../config/license/util','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','map','FreshdeskField','rawAttributes','fieldName','type','key','keys','query','model','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','filters','pick','merge','where','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','params','find','create','body','html-pdf','rimraf','request-promise','moment','bluebird','mustache','util'];(function(_0x24256d,_0x2b97c5){var _0x38fde8=function(_0x5c851e){while(--_0x5c851e){_0x24256d['push'](_0x24256d['shift']());}};_0x38fde8(++_0x2b97c5);}(_0xdcf2,0x115));var _0x2dcf=function(_0x41c7ee,_0x4a3022){_0x41c7ee=_0x41c7ee-0x0;var _0x1768a8=_0xdcf2[_0x41c7ee];return _0x1768a8;};'use strict';var pdf=require(_0x2dcf('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x2dcf('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x2dcf('0x2'));var moment=require(_0x2dcf('0x3'));var BPromise=require(_0x2dcf('0x4'));var Mustache=require(_0x2dcf('0x5'));var util=require(_0x2dcf('0x6'));var path=require(_0x2dcf('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x2dcf('0x8'));var fs=require('fs');var _=require(_0x2dcf('0x9'));var squel=require(_0x2dcf('0xa'));var crypto=require('crypto');var jsforce=require(_0x2dcf('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x2dcf('0xc'));var Papa=require(_0x2dcf('0xd'));var Redis=require(_0x2dcf('0xe'));var authService=require(_0x2dcf('0xf'));var qs=require(_0x2dcf('0x10'));var as=require(_0x2dcf('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x2dcf('0x12'));var licenseUtil=require(_0x2dcf('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x35ef07,_0x3f78b4){_0x3f78b4=_0x3f78b4||0xcc;return function(_0x157a7e){if(_0x157a7e){return _0x35ef07['sendStatus'](_0x3f78b4);}return _0x35ef07[_0x2dcf('0x14')](_0x3f78b4)[_0x2dcf('0x15')]();};}function respondWithResult(_0x13f03d,_0x447c01){_0x447c01=_0x447c01||0xc8;return function(_0x53833c){if(_0x53833c){return _0x13f03d['status'](_0x447c01)[_0x2dcf('0x16')](_0x53833c);}};}function respondWithFilteredResult(_0x36835b,_0x33a3c6){return function(_0xa01830){if(_0xa01830){var _0x527e41=_0xa01830[_0x2dcf('0x17')],_0x51b683=_0x33a3c6[_0x2dcf('0x18')],_0x5dac7f=_0x33a3c6[_0x2dcf('0x18')]+_0x33a3c6[_0x2dcf('0x19')],_0x4594dd;if(_0x5dac7f>=_0x527e41){_0x5dac7f=_0x527e41;_0x4594dd=0xc8;}else{_0x4594dd=0xce;}_0x36835b[_0x2dcf('0x14')](_0x4594dd);return _0x36835b[_0x2dcf('0x1a')](_0x2dcf('0x1b'),_0x51b683+'-'+_0x5dac7f+'/'+_0x527e41)[_0x2dcf('0x16')](_0xa01830);}return null;};}function patchUpdates(_0x4b55da){return function(_0x5c48c0){try{jsonpatch[_0x2dcf('0x1c')](_0x5c48c0,_0x4b55da,!![]);}catch(_0x1c1f58){return BPromise[_0x2dcf('0x1d')](_0x1c1f58);}return _0x5c48c0[_0x2dcf('0x1e')]();};}function saveUpdates(_0x2e5fa6,_0x266763){return function(_0x590f69){if(_0x590f69){return _0x590f69[_0x2dcf('0x1f')](_0x2e5fa6)[_0x2dcf('0x20')](function(_0x421cb1){return _0x421cb1;});}return null;};}function removeEntity(_0x40e1a0,_0x2acaa9){return function(_0x3d52d9){if(_0x3d52d9){return _0x3d52d9[_0x2dcf('0x21')]()[_0x2dcf('0x20')](function(){_0x40e1a0['status'](0xcc)[_0x2dcf('0x15')]();});}};}function handleEntityNotFound(_0x1f4ffd,_0x2c71c2){return function(_0x322e96){if(!_0x322e96){_0x1f4ffd[_0x2dcf('0x22')](0x194);}return _0x322e96;};}function handleError(_0x5d8024,_0x5f2cd3){_0x5f2cd3=_0x5f2cd3||0x1f4;return function(_0xa259dd){logger[_0x2dcf('0x23')](_0xa259dd[_0x2dcf('0x24')]);if(_0xa259dd['name']){delete _0xa259dd[_0x2dcf('0x25')];}_0x5d8024[_0x2dcf('0x14')](_0x5f2cd3)[_0x2dcf('0x26')](_0xa259dd);};}exports['index']=function(_0x265178,_0x151daa){var _0x3f1f8a={},_0x34c854={},_0x4153a8={'count':0x0,'rows':[]};var _0x2c29d1=_[_0x2dcf('0x27')](db[_0x2dcf('0x28')][_0x2dcf('0x29')],function(_0x3ae779){return{'name':_0x3ae779[_0x2dcf('0x2a')],'type':_0x3ae779[_0x2dcf('0x2b')][_0x2dcf('0x2c')]};});_0x34c854['model']=_[_0x2dcf('0x27')](_0x2c29d1,_0x2dcf('0x25'));_0x34c854['query']=_[_0x2dcf('0x2d')](_0x265178[_0x2dcf('0x2e')]);_0x34c854['filters']=_['intersection'](_0x34c854[_0x2dcf('0x2f')],_0x34c854[_0x2dcf('0x2e')]);_0x3f1f8a['attributes']=_[_0x2dcf('0x30')](_0x34c854[_0x2dcf('0x2f')],qs['fields'](_0x265178[_0x2dcf('0x2e')][_0x2dcf('0x31')]));_0x3f1f8a[_0x2dcf('0x32')]=_0x3f1f8a[_0x2dcf('0x32')][_0x2dcf('0x33')]?_0x3f1f8a[_0x2dcf('0x32')]:_0x34c854[_0x2dcf('0x2f')];if(!_0x265178[_0x2dcf('0x2e')][_0x2dcf('0x34')](_0x2dcf('0x35'))){_0x3f1f8a[_0x2dcf('0x19')]=qs[_0x2dcf('0x19')](_0x265178[_0x2dcf('0x2e')][_0x2dcf('0x19')]);_0x3f1f8a[_0x2dcf('0x18')]=qs[_0x2dcf('0x18')](_0x265178[_0x2dcf('0x2e')][_0x2dcf('0x18')]);}_0x3f1f8a['order']=qs[_0x2dcf('0x36')](_0x265178[_0x2dcf('0x2e')][_0x2dcf('0x36')]);_0x3f1f8a['where']=qs[_0x2dcf('0x37')](_[_0x2dcf('0x38')](_0x265178[_0x2dcf('0x2e')],_0x34c854[_0x2dcf('0x37')]),_0x2c29d1);if(_0x265178[_0x2dcf('0x2e')]['filter']){_0x3f1f8a['where']=_[_0x2dcf('0x39')](_0x3f1f8a[_0x2dcf('0x3a')],{'$or':_[_0x2dcf('0x27')](_0x2c29d1,function(_0x53354f){if(_0x53354f[_0x2dcf('0x2b')]!==_0x2dcf('0x3b')){var _0x50d6dd={};_0x50d6dd[_0x53354f['name']]={'$like':'%'+_0x265178[_0x2dcf('0x2e')][_0x2dcf('0x3c')]+'%'};return _0x50d6dd;}})});}_0x3f1f8a=_['merge']({},_0x3f1f8a,_0x265178[_0x2dcf('0x3d')]);var _0x3e437c={'where':_0x3f1f8a['where']};return db[_0x2dcf('0x28')][_0x2dcf('0x17')](_0x3e437c)[_0x2dcf('0x20')](function(_0x11ac5d){_0x4153a8[_0x2dcf('0x17')]=_0x11ac5d;if(_0x265178[_0x2dcf('0x2e')][_0x2dcf('0x3e')]){_0x3f1f8a[_0x2dcf('0x3f')]=[{'all':!![]}];}return db[_0x2dcf('0x28')][_0x2dcf('0x40')](_0x3f1f8a);})[_0x2dcf('0x20')](function(_0x5e613b){_0x4153a8[_0x2dcf('0x41')]=_0x5e613b;return _0x4153a8;})['then'](respondWithFilteredResult(_0x151daa,_0x3f1f8a))[_0x2dcf('0x42')](handleError(_0x151daa,null));};exports['show']=function(_0x2cc589,_0x35e708){var _0x1fbd59={'raw':!![],'where':{'id':_0x2cc589[_0x2dcf('0x43')]['id']}},_0x31a62f={};_0x31a62f[_0x2dcf('0x2f')]=_[_0x2dcf('0x2d')](db[_0x2dcf('0x28')][_0x2dcf('0x29')]);_0x31a62f[_0x2dcf('0x2e')]=_[_0x2dcf('0x2d')](_0x2cc589[_0x2dcf('0x2e')]);_0x31a62f[_0x2dcf('0x37')]=_[_0x2dcf('0x30')](_0x31a62f[_0x2dcf('0x2f')],_0x31a62f[_0x2dcf('0x2e')]);_0x1fbd59[_0x2dcf('0x32')]=_[_0x2dcf('0x30')](_0x31a62f['model'],qs['fields'](_0x2cc589[_0x2dcf('0x2e')][_0x2dcf('0x31')]));_0x1fbd59[_0x2dcf('0x32')]=_0x1fbd59[_0x2dcf('0x32')][_0x2dcf('0x33')]?_0x1fbd59[_0x2dcf('0x32')]:_0x31a62f['model'];if(_0x2cc589['query']['includeAll']){_0x1fbd59[_0x2dcf('0x3f')]=[{'all':!![]}];}_0x1fbd59=_['merge']({},_0x1fbd59,_0x2cc589['options']);return db['FreshdeskField'][_0x2dcf('0x44')](_0x1fbd59)[_0x2dcf('0x20')](handleEntityNotFound(_0x35e708,null))[_0x2dcf('0x20')](respondWithResult(_0x35e708,null))['catch'](handleError(_0x35e708,null));};exports[_0x2dcf('0x45')]=function(_0x145374,_0x711daa){return db[_0x2dcf('0x28')][_0x2dcf('0x45')](_0x145374['body'],{})['then'](respondWithResult(_0x711daa,0xc9))[_0x2dcf('0x42')](handleError(_0x711daa,null));};exports[_0x2dcf('0x1f')]=function(_0x170265,_0x17a93b){if(_0x170265[_0x2dcf('0x46')]['id']){delete _0x170265[_0x2dcf('0x46')]['id'];}return db[_0x2dcf('0x28')]['find']({'where':{'id':_0x170265[_0x2dcf('0x43')]['id']}})[_0x2dcf('0x20')](handleEntityNotFound(_0x17a93b,null))[_0x2dcf('0x20')](saveUpdates(_0x170265[_0x2dcf('0x46')],null))['then'](respondWithResult(_0x17a93b,null))['catch'](handleError(_0x17a93b,null));};exports[_0x2dcf('0x21')]=function(_0x33951f,_0x18da28){return db[_0x2dcf('0x28')]['find']({'where':{'id':_0x33951f[_0x2dcf('0x43')]['id']}})[_0x2dcf('0x20')](handleEntityNotFound(_0x18da28,null))[_0x2dcf('0x20')](removeEntity(_0x18da28,null))[_0x2dcf('0x42')](handleError(_0x18da28,null));};