00ffc8d42ed4e2e727bd0961c3c8990728e22cd8
[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 _0x2297=['then','destroy','error','stack','name','FreshdeskField','fieldName','type','key','map','query','filters','intersection','fields','attributes','length','model','hasOwnProperty','nolimit','offset','order','where','pick','filter','merge','options','includeAll','include','findAll','catch','show','params','keys','rawAttributes','find','create','body','html-pdf','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','count','limit','set','Content-Range','json','apply','reject','update'];(function(_0x3dd9e6,_0x387356){var _0x2560c7=function(_0x589b6b){while(--_0x589b6b){_0x3dd9e6['push'](_0x3dd9e6['shift']());}};_0x2560c7(++_0x387356);}(_0x2297,0x100));var _0x7229=function(_0x185616,_0x10662b){_0x185616=_0x185616-0x0;var _0x4b7ab4=_0x2297[_0x185616];return _0x4b7ab4;};'use strict';var pdf=require(_0x7229('0x0'));var emlformat=require(_0x7229('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x7229('0x2'));var jsonpatch=require(_0x7229('0x3'));var rp=require('request-promise');var moment=require(_0x7229('0x4'));var BPromise=require(_0x7229('0x5'));var Mustache=require(_0x7229('0x6'));var util=require(_0x7229('0x7'));var path=require(_0x7229('0x8'));var sox=require(_0x7229('0x9'));var csv=require(_0x7229('0xa'));var ejs=require(_0x7229('0xb'));var fs=require('fs');var _=require(_0x7229('0xc'));var squel=require(_0x7229('0xd'));var crypto=require(_0x7229('0xe'));var jsforce=require(_0x7229('0xf'));var deskjs=require(_0x7229('0x10'));var toCsv=require(_0x7229('0xa'));var querystring=require(_0x7229('0x11'));var Papa=require('papaparse');var Redis=require(_0x7229('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x7229('0x13'));var as=require(_0x7229('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7229('0x15'))(_0x7229('0x16'));var utils=require(_0x7229('0x17'));var config=require(_0x7229('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x40f59a,_0x46f116){_0x46f116=_0x46f116||0xcc;return function(_0x141ecd){if(_0x141ecd){return _0x40f59a[_0x7229('0x19')](_0x46f116);}return _0x40f59a[_0x7229('0x1a')](_0x46f116)[_0x7229('0x1b')]();};}function respondWithResult(_0x52c463,_0x2ac9b2){_0x2ac9b2=_0x2ac9b2||0xc8;return function(_0x1553ed){if(_0x1553ed){return _0x52c463[_0x7229('0x1a')](_0x2ac9b2)['json'](_0x1553ed);}};}function respondWithFilteredResult(_0x323d12,_0x340bdb){return function(_0xa84e3a){if(_0xa84e3a){var _0x53744b=_0xa84e3a[_0x7229('0x1c')],_0x26b891=_0x340bdb['offset'],_0x3fc735=_0x340bdb['offset']+_0x340bdb[_0x7229('0x1d')],_0x561d6e;if(_0x3fc735>=_0x53744b){_0x3fc735=_0x53744b;_0x561d6e=0xc8;}else{_0x561d6e=0xce;}_0x323d12[_0x7229('0x1a')](_0x561d6e);return _0x323d12[_0x7229('0x1e')](_0x7229('0x1f'),_0x26b891+'-'+_0x3fc735+'/'+_0x53744b)[_0x7229('0x20')](_0xa84e3a);}return null;};}function patchUpdates(_0x5a67a4){return function(_0x1ea1c1){try{jsonpatch[_0x7229('0x21')](_0x1ea1c1,_0x5a67a4,!![]);}catch(_0x3dca29){return BPromise[_0x7229('0x22')](_0x3dca29);}return _0x1ea1c1['save']();};}function saveUpdates(_0x35d09c,_0x4f0629){return function(_0x11ffe8){if(_0x11ffe8){return _0x11ffe8[_0x7229('0x23')](_0x35d09c)[_0x7229('0x24')](function(_0x507511){return _0x507511;});}return null;};}function removeEntity(_0x36de35,_0x108c08){return function(_0x1a4c57){if(_0x1a4c57){return _0x1a4c57[_0x7229('0x25')]()[_0x7229('0x24')](function(){_0x36de35[_0x7229('0x1a')](0xcc)[_0x7229('0x1b')]();});}};}function handleEntityNotFound(_0x3158de,_0x295f1c){return function(_0x575ec1){if(!_0x575ec1){_0x3158de[_0x7229('0x19')](0x194);}return _0x575ec1;};}function handleError(_0x43c52a,_0x3b35de){_0x3b35de=_0x3b35de||0x1f4;return function(_0x22c86a){logger[_0x7229('0x26')](_0x22c86a[_0x7229('0x27')]);if(_0x22c86a[_0x7229('0x28')]){delete _0x22c86a['name'];}_0x43c52a[_0x7229('0x1a')](_0x3b35de)['send'](_0x22c86a);};}exports['index']=function(_0x481f56,_0x396203){var _0x57c548={},_0x191de0={},_0x10a486={'count':0x0,'rows':[]};var _0x47daa0=_['map'](db[_0x7229('0x29')]['rawAttributes'],function(_0x4f8b8a){return{'name':_0x4f8b8a[_0x7229('0x2a')],'type':_0x4f8b8a[_0x7229('0x2b')][_0x7229('0x2c')]};});_0x191de0['model']=_[_0x7229('0x2d')](_0x47daa0,_0x7229('0x28'));_0x191de0[_0x7229('0x2e')]=_['keys'](_0x481f56[_0x7229('0x2e')]);_0x191de0[_0x7229('0x2f')]=_[_0x7229('0x30')](_0x191de0['model'],_0x191de0[_0x7229('0x2e')]);_0x57c548['attributes']=_[_0x7229('0x30')](_0x191de0['model'],qs['fields'](_0x481f56[_0x7229('0x2e')][_0x7229('0x31')]));_0x57c548[_0x7229('0x32')]=_0x57c548[_0x7229('0x32')][_0x7229('0x33')]?_0x57c548[_0x7229('0x32')]:_0x191de0[_0x7229('0x34')];if(!_0x481f56['query'][_0x7229('0x35')](_0x7229('0x36'))){_0x57c548[_0x7229('0x1d')]=qs[_0x7229('0x1d')](_0x481f56[_0x7229('0x2e')][_0x7229('0x1d')]);_0x57c548[_0x7229('0x37')]=qs[_0x7229('0x37')](_0x481f56[_0x7229('0x2e')]['offset']);}_0x57c548[_0x7229('0x38')]=qs['sort'](_0x481f56[_0x7229('0x2e')]['sort']);_0x57c548[_0x7229('0x39')]=qs[_0x7229('0x2f')](_[_0x7229('0x3a')](_0x481f56[_0x7229('0x2e')],_0x191de0['filters']),_0x47daa0);if(_0x481f56[_0x7229('0x2e')]['filter']){_0x57c548[_0x7229('0x39')]=_['merge'](_0x57c548['where'],{'$or':_['map'](_0x47daa0,function(_0x1d2607){if(_0x1d2607['type']!=='VIRTUAL'){var _0x29db7f={};_0x29db7f[_0x1d2607[_0x7229('0x28')]]={'$like':'%'+_0x481f56[_0x7229('0x2e')][_0x7229('0x3b')]+'%'};return _0x29db7f;}})});}_0x57c548=_[_0x7229('0x3c')]({},_0x57c548,_0x481f56[_0x7229('0x3d')]);var _0x32fcdd={'where':_0x57c548[_0x7229('0x39')]};return db[_0x7229('0x29')][_0x7229('0x1c')](_0x32fcdd)[_0x7229('0x24')](function(_0x4e0af9){_0x10a486[_0x7229('0x1c')]=_0x4e0af9;if(_0x481f56['query'][_0x7229('0x3e')]){_0x57c548[_0x7229('0x3f')]=[{'all':!![]}];}return db[_0x7229('0x29')][_0x7229('0x40')](_0x57c548);})[_0x7229('0x24')](function(_0xc88ad8){_0x10a486['rows']=_0xc88ad8;return _0x10a486;})['then'](respondWithFilteredResult(_0x396203,_0x57c548))[_0x7229('0x41')](handleError(_0x396203,null));};exports[_0x7229('0x42')]=function(_0xb42fe9,_0x4d3ab0){var _0x44a99f={'raw':!![],'where':{'id':_0xb42fe9[_0x7229('0x43')]['id']}},_0x1b83a5={};_0x1b83a5[_0x7229('0x34')]=_[_0x7229('0x44')](db['FreshdeskField'][_0x7229('0x45')]);_0x1b83a5[_0x7229('0x2e')]=_[_0x7229('0x44')](_0xb42fe9[_0x7229('0x2e')]);_0x1b83a5[_0x7229('0x2f')]=_[_0x7229('0x30')](_0x1b83a5['model'],_0x1b83a5[_0x7229('0x2e')]);_0x44a99f[_0x7229('0x32')]=_[_0x7229('0x30')](_0x1b83a5[_0x7229('0x34')],qs[_0x7229('0x31')](_0xb42fe9[_0x7229('0x2e')][_0x7229('0x31')]));_0x44a99f[_0x7229('0x32')]=_0x44a99f['attributes'][_0x7229('0x33')]?_0x44a99f[_0x7229('0x32')]:_0x1b83a5[_0x7229('0x34')];if(_0xb42fe9['query']['includeAll']){_0x44a99f[_0x7229('0x3f')]=[{'all':!![]}];}_0x44a99f=_[_0x7229('0x3c')]({},_0x44a99f,_0xb42fe9[_0x7229('0x3d')]);return db['FreshdeskField'][_0x7229('0x46')](_0x44a99f)[_0x7229('0x24')](handleEntityNotFound(_0x4d3ab0,null))[_0x7229('0x24')](respondWithResult(_0x4d3ab0,null))[_0x7229('0x41')](handleError(_0x4d3ab0,null));};exports[_0x7229('0x47')]=function(_0x507886,_0x37f3ee){return db['FreshdeskField'][_0x7229('0x47')](_0x507886[_0x7229('0x48')],{})[_0x7229('0x24')](respondWithResult(_0x37f3ee,0xc9))[_0x7229('0x41')](handleError(_0x37f3ee,null));};exports[_0x7229('0x23')]=function(_0x4349b7,_0x5e0984){if(_0x4349b7[_0x7229('0x48')]['id']){delete _0x4349b7['body']['id'];}return db[_0x7229('0x29')][_0x7229('0x46')]({'where':{'id':_0x4349b7[_0x7229('0x43')]['id']}})[_0x7229('0x24')](handleEntityNotFound(_0x5e0984,null))['then'](saveUpdates(_0x4349b7[_0x7229('0x48')],null))[_0x7229('0x24')](respondWithResult(_0x5e0984,null))[_0x7229('0x41')](handleError(_0x5e0984,null));};exports[_0x7229('0x25')]=function(_0x3f7766,_0x42c766){return db[_0x7229('0x29')][_0x7229('0x46')]({'where':{'id':_0x3f7766[_0x7229('0x43')]['id']}})[_0x7229('0x24')](handleEntityNotFound(_0x42c766,null))[_0x7229('0x24')](removeEntity(_0x42c766,null))[_0x7229('0x41')](handleError(_0x42c766,null));};