1d749638f46f22be56c6558466d9938d67590671
[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 _0xef69=['json','count','offset','limit','Content-Range','apply','save','update','then','end','sendStatus','error','stack','name','send','map','FreshdeskField','fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','includeAll','include','findAll','catch','params','find','create','body','destroy','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','status'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xef69,0x108));var _0x9ef6=function(_0x1d74df,_0x11ef93){_0x1d74df=_0x1d74df-0x0;var _0x149d94=_0xef69[_0x1d74df];return _0x149d94;};'use strict';var pdf=require(_0x9ef6('0x0'));var emlformat=require(_0x9ef6('0x1'));var rimraf=require(_0x9ef6('0x2'));var zipdir=require(_0x9ef6('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9ef6('0x4'));var moment=require(_0x9ef6('0x5'));var BPromise=require(_0x9ef6('0x6'));var Mustache=require(_0x9ef6('0x7'));var util=require('util');var path=require(_0x9ef6('0x8'));var sox=require(_0x9ef6('0x9'));var csv=require(_0x9ef6('0xa'));var ejs=require(_0x9ef6('0xb'));var fs=require('fs');var _=require(_0x9ef6('0xc'));var squel=require(_0x9ef6('0xd'));var crypto=require(_0x9ef6('0xe'));var jsforce=require(_0x9ef6('0xf'));var deskjs=require(_0x9ef6('0x10'));var toCsv=require(_0x9ef6('0xa'));var querystring=require(_0x9ef6('0x11'));var Papa=require(_0x9ef6('0x12'));var Redis=require(_0x9ef6('0x13'));var authService=require(_0x9ef6('0x14'));var qs=require(_0x9ef6('0x15'));var as=require(_0x9ef6('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9ef6('0x17'))(_0x9ef6('0x18'));var utils=require('../../config/utils');var config=require(_0x9ef6('0x19'));var db=require(_0x9ef6('0x1a'))['db'];function respondWithStatusCode(_0x65d44,_0x5aad31){_0x5aad31=_0x5aad31||0xcc;return function(_0x36947d){if(_0x36947d){return _0x65d44['sendStatus'](_0x5aad31);}return _0x65d44['status'](_0x5aad31)['end']();};}function respondWithResult(_0x233022,_0x5e4706){_0x5e4706=_0x5e4706||0xc8;return function(_0x2bbeae){if(_0x2bbeae){return _0x233022[_0x9ef6('0x1b')](_0x5e4706)[_0x9ef6('0x1c')](_0x2bbeae);}};}function respondWithFilteredResult(_0x523bb1,_0x529780){return function(_0x1b87f7){if(_0x1b87f7){var _0x472d83=_0x1b87f7[_0x9ef6('0x1d')],_0x3c3403=_0x529780[_0x9ef6('0x1e')],_0x12814e=_0x529780[_0x9ef6('0x1e')]+_0x529780[_0x9ef6('0x1f')],_0x42e517;if(_0x12814e>=_0x472d83){_0x12814e=_0x472d83;_0x42e517=0xc8;}else{_0x42e517=0xce;}_0x523bb1[_0x9ef6('0x1b')](_0x42e517);return _0x523bb1['set'](_0x9ef6('0x20'),_0x3c3403+'-'+_0x12814e+'/'+_0x472d83)[_0x9ef6('0x1c')](_0x1b87f7);}return null;};}function patchUpdates(_0x56717a){return function(_0x549921){try{jsonpatch[_0x9ef6('0x21')](_0x549921,_0x56717a,!![]);}catch(_0x4fdd0b){return BPromise['reject'](_0x4fdd0b);}return _0x549921[_0x9ef6('0x22')]();};}function saveUpdates(_0x40fb77,_0x3d7ddc){return function(_0x33e12c){if(_0x33e12c){return _0x33e12c[_0x9ef6('0x23')](_0x40fb77)[_0x9ef6('0x24')](function(_0xd992c){return _0xd992c;});}return null;};}function removeEntity(_0x5730bf,_0x5b2f9a){return function(_0x316a4c){if(_0x316a4c){return _0x316a4c['destroy']()[_0x9ef6('0x24')](function(){_0x5730bf[_0x9ef6('0x1b')](0xcc)[_0x9ef6('0x25')]();});}};}function handleEntityNotFound(_0xad33d7,_0x535a43){return function(_0x3df0e2){if(!_0x3df0e2){_0xad33d7[_0x9ef6('0x26')](0x194);}return _0x3df0e2;};}function handleError(_0x1e01ad,_0x57ee2f){_0x57ee2f=_0x57ee2f||0x1f4;return function(_0x1c6a64){logger[_0x9ef6('0x27')](_0x1c6a64[_0x9ef6('0x28')]);if(_0x1c6a64[_0x9ef6('0x29')]){delete _0x1c6a64[_0x9ef6('0x29')];}_0x1e01ad[_0x9ef6('0x1b')](_0x57ee2f)[_0x9ef6('0x2a')](_0x1c6a64);};}exports['index']=function(_0x157749,_0x52ae77){var _0xa82d1f={},_0x435c4f={},_0x5e8e02={'count':0x0,'rows':[]};var _0x6f677=_[_0x9ef6('0x2b')](db[_0x9ef6('0x2c')]['rawAttributes'],function(_0x29b717){return{'name':_0x29b717[_0x9ef6('0x2d')],'type':_0x29b717[_0x9ef6('0x2e')][_0x9ef6('0x2f')]};});_0x435c4f['model']=_[_0x9ef6('0x2b')](_0x6f677,_0x9ef6('0x29'));_0x435c4f['query']=_[_0x9ef6('0x30')](_0x157749[_0x9ef6('0x31')]);_0x435c4f[_0x9ef6('0x32')]=_[_0x9ef6('0x33')](_0x435c4f[_0x9ef6('0x34')],_0x435c4f[_0x9ef6('0x31')]);_0xa82d1f[_0x9ef6('0x35')]=_[_0x9ef6('0x33')](_0x435c4f[_0x9ef6('0x34')],qs[_0x9ef6('0x36')](_0x157749['query'][_0x9ef6('0x36')]));_0xa82d1f[_0x9ef6('0x35')]=_0xa82d1f[_0x9ef6('0x35')][_0x9ef6('0x37')]?_0xa82d1f[_0x9ef6('0x35')]:_0x435c4f[_0x9ef6('0x34')];if(!_0x157749[_0x9ef6('0x31')][_0x9ef6('0x38')](_0x9ef6('0x39'))){_0xa82d1f['limit']=qs[_0x9ef6('0x1f')](_0x157749[_0x9ef6('0x31')]['limit']);_0xa82d1f[_0x9ef6('0x1e')]=qs[_0x9ef6('0x1e')](_0x157749[_0x9ef6('0x31')]['offset']);}_0xa82d1f[_0x9ef6('0x3a')]=qs['sort'](_0x157749[_0x9ef6('0x31')][_0x9ef6('0x3b')]);_0xa82d1f[_0x9ef6('0x3c')]=qs[_0x9ef6('0x32')](_['pick'](_0x157749[_0x9ef6('0x31')],_0x435c4f['filters']));if(_0x157749[_0x9ef6('0x31')][_0x9ef6('0x3d')]){_0xa82d1f[_0x9ef6('0x3c')]=_['merge'](_0xa82d1f[_0x9ef6('0x3c')],{'$or':_['map'](_0x6f677,function(_0x2f09c7){if(_0x2f09c7[_0x9ef6('0x2e')]!=='VIRTUAL'){var _0x2e3ba0={};_0x2e3ba0[_0x2f09c7[_0x9ef6('0x29')]]={'$like':'%'+_0x157749['query'][_0x9ef6('0x3d')]+'%'};return _0x2e3ba0;}})});}_0xa82d1f=_[_0x9ef6('0x3e')]({},_0xa82d1f,_0x157749[_0x9ef6('0x3f')]);var _0x82dcce={'where':_0xa82d1f[_0x9ef6('0x3c')]};return db[_0x9ef6('0x2c')]['count'](_0x82dcce)[_0x9ef6('0x24')](function(_0x42de3a){_0x5e8e02['count']=_0x42de3a;if(_0x157749[_0x9ef6('0x31')][_0x9ef6('0x40')]){_0xa82d1f[_0x9ef6('0x41')]=[{'all':!![]}];}return db['FreshdeskField'][_0x9ef6('0x42')](_0xa82d1f);})[_0x9ef6('0x24')](function(_0x1a920a){_0x5e8e02['rows']=_0x1a920a;return _0x5e8e02;})[_0x9ef6('0x24')](respondWithFilteredResult(_0x52ae77,_0xa82d1f))[_0x9ef6('0x43')](handleError(_0x52ae77,null));};exports['show']=function(_0x427c0c,_0x2f3fe9){var _0x3fd2b1={'raw':!![],'where':{'id':_0x427c0c[_0x9ef6('0x44')]['id']}},_0x5d948a={};_0x5d948a['model']=_[_0x9ef6('0x30')](db[_0x9ef6('0x2c')]['rawAttributes']);_0x5d948a[_0x9ef6('0x31')]=_[_0x9ef6('0x30')](_0x427c0c[_0x9ef6('0x31')]);_0x5d948a['filters']=_[_0x9ef6('0x33')](_0x5d948a[_0x9ef6('0x34')],_0x5d948a[_0x9ef6('0x31')]);_0x3fd2b1[_0x9ef6('0x35')]=_['intersection'](_0x5d948a[_0x9ef6('0x34')],qs[_0x9ef6('0x36')](_0x427c0c[_0x9ef6('0x31')][_0x9ef6('0x36')]));_0x3fd2b1['attributes']=_0x3fd2b1[_0x9ef6('0x35')][_0x9ef6('0x37')]?_0x3fd2b1[_0x9ef6('0x35')]:_0x5d948a[_0x9ef6('0x34')];if(_0x427c0c[_0x9ef6('0x31')]['includeAll']){_0x3fd2b1[_0x9ef6('0x41')]=[{'all':!![]}];}_0x3fd2b1=_[_0x9ef6('0x3e')]({},_0x3fd2b1,_0x427c0c[_0x9ef6('0x3f')]);return db[_0x9ef6('0x2c')][_0x9ef6('0x45')](_0x3fd2b1)['then'](handleEntityNotFound(_0x2f3fe9,null))['then'](respondWithResult(_0x2f3fe9,null))['catch'](handleError(_0x2f3fe9,null));};exports[_0x9ef6('0x46')]=function(_0x418a71,_0x27ef8a){return db[_0x9ef6('0x2c')][_0x9ef6('0x46')](_0x418a71[_0x9ef6('0x47')],{})[_0x9ef6('0x24')](respondWithResult(_0x27ef8a,0xc9))[_0x9ef6('0x43')](handleError(_0x27ef8a,null));};exports[_0x9ef6('0x23')]=function(_0x3c7c98,_0x38f2b5){if(_0x3c7c98['body']['id']){delete _0x3c7c98[_0x9ef6('0x47')]['id'];}return db[_0x9ef6('0x2c')]['find']({'where':{'id':_0x3c7c98[_0x9ef6('0x44')]['id']}})[_0x9ef6('0x24')](handleEntityNotFound(_0x38f2b5,null))[_0x9ef6('0x24')](saveUpdates(_0x3c7c98[_0x9ef6('0x47')],null))[_0x9ef6('0x24')](respondWithResult(_0x38f2b5,null))[_0x9ef6('0x43')](handleError(_0x38f2b5,null));};exports[_0x9ef6('0x48')]=function(_0x9028f6,_0x462d89){return db[_0x9ef6('0x2c')]['find']({'where':{'id':_0x9028f6[_0x9ef6('0x44')]['id']}})[_0x9ef6('0x24')](handleEntityNotFound(_0x462d89,null))[_0x9ef6('0x24')](removeEntity(_0x462d89,null))[_0x9ef6('0x43')](handleError(_0x462d89,null));};