1ef1e7f5f0f01708226be98250beed8cc387956e
[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 _0x579c=['request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','undefined','limit','count','offset','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','FreshdeskField','rawAttributes','fieldName','type','key','query','keys','intersection','attributes','model','fields','length','order','sort','where','filters','pick','filter','include','findAll','rows','catch','params','includeAll','options','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch'];(function(_0x2641f9,_0x26715f){var _0x585741=function(_0x2d1462){while(--_0x2d1462){_0x2641f9['push'](_0x2641f9['shift']());}};_0x585741(++_0x26715f);}(_0x579c,0xda));var _0xc579=function(_0x27af0d,_0x1d020f){_0x27af0d=_0x27af0d-0x0;var _0x173d24=_0x579c[_0x27af0d];return _0x173d24;};'use strict';var emlformat=require(_0xc579('0x0'));var rimraf=require(_0xc579('0x1'));var zipdir=require(_0xc579('0x2'));var jsonpatch=require(_0xc579('0x3'));var rp=require(_0xc579('0x4'));var moment=require('moment');var BPromise=require(_0xc579('0x5'));var Mustache=require('mustache');var util=require(_0xc579('0x6'));var path=require(_0xc579('0x7'));var sox=require(_0xc579('0x8'));var csv=require(_0xc579('0x9'));var ejs=require(_0xc579('0xa'));var fs=require('fs');var fs_extra=require(_0xc579('0xb'));var _=require(_0xc579('0xc'));var squel=require('squel');var crypto=require(_0xc579('0xd'));var jsforce=require(_0xc579('0xe'));var deskjs=require(_0xc579('0xf'));var toCsv=require(_0xc579('0x9'));var querystring=require(_0xc579('0x10'));var Papa=require(_0xc579('0x11'));var Redis=require(_0xc579('0x12'));var authService=require(_0xc579('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xc579('0x14'));var hardwareService=require(_0xc579('0x15'));var logger=require(_0xc579('0x16'))(_0xc579('0x17'));var utils=require(_0xc579('0x18'));var config=require(_0xc579('0x19'));var licenseUtil=require(_0xc579('0x1a'));var db=require(_0xc579('0x1b'))['db'];function respondWithStatusCode(_0x421812,_0x441028){_0x441028=_0x441028||0xcc;return function(_0x448d51){if(_0x448d51){return _0x421812['sendStatus'](_0x441028);}return _0x421812[_0xc579('0x1c')](_0x441028)['end']();};}function respondWithResult(_0xf5400e,_0x59243e){_0x59243e=_0x59243e||0xc8;return function(_0x424e15){if(_0x424e15){return _0xf5400e['status'](_0x59243e)[_0xc579('0x1d')](_0x424e15);}};}function respondWithFilteredResult(_0x4b3635,_0x349e82){return function(_0x115276){if(_0x115276){var _0x567de5=typeof _0x349e82['offset']===_0xc579('0x1e')&&typeof _0x349e82[_0xc579('0x1f')]===_0xc579('0x1e');var _0x414ee7=_0x115276[_0xc579('0x20')];var _0x33d341=_0x567de5?0x0:_0x349e82[_0xc579('0x21')];var _0x3da8a1=_0x567de5?_0x115276[_0xc579('0x20')]:_0x349e82[_0xc579('0x21')]+_0x349e82['limit'];var _0x463f5e;if(_0x3da8a1>=_0x414ee7){_0x3da8a1=_0x414ee7;_0x463f5e=0xc8;}else{_0x463f5e=0xce;}_0x4b3635[_0xc579('0x1c')](_0x463f5e);return _0x4b3635['set'](_0xc579('0x22'),_0x33d341+'-'+_0x3da8a1+'/'+_0x414ee7)[_0xc579('0x1d')](_0x115276);}return null;};}function patchUpdates(_0x14fcdd){return function(_0x6501bc){try{jsonpatch[_0xc579('0x23')](_0x6501bc,_0x14fcdd,!![]);}catch(_0x4417e1){return BPromise[_0xc579('0x24')](_0x4417e1);}return _0x6501bc[_0xc579('0x25')]();};}function saveUpdates(_0x55781e,_0x92657f){return function(_0xad4889){if(_0xad4889){return _0xad4889[_0xc579('0x26')](_0x55781e)[_0xc579('0x27')](function(_0x1da86e){return _0x1da86e;});}return null;};}function removeEntity(_0x565a1b,_0x3634f2){return function(_0x3cf83f){if(_0x3cf83f){return _0x3cf83f[_0xc579('0x28')]()['then'](function(){_0x565a1b[_0xc579('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4610c2,_0x21a4db){return function(_0x4d758a){if(!_0x4d758a){_0x4610c2['sendStatus'](0x194);}return _0x4d758a;};}function handleError(_0x1f8e4b,_0x5b5f4e){_0x5b5f4e=_0x5b5f4e||0x1f4;return function(_0x532b33){logger['error'](_0x532b33[_0xc579('0x29')]);if(_0x532b33[_0xc579('0x2a')]){delete _0x532b33[_0xc579('0x2a')];}_0x1f8e4b[_0xc579('0x1c')](_0x5b5f4e)[_0xc579('0x2b')](_0x532b33);};}exports[_0xc579('0x2c')]=function(_0x45fef4,_0x5c272f){var _0x4d78bc={},_0x4a5f6={},_0x4897a1={'count':0x0,'rows':[]};var _0x314daa=_[_0xc579('0x2d')](db[_0xc579('0x2e')][_0xc579('0x2f')],function(_0x1ad8f7){return{'name':_0x1ad8f7[_0xc579('0x30')],'type':_0x1ad8f7[_0xc579('0x31')][_0xc579('0x32')]};});_0x4a5f6['model']=_[_0xc579('0x2d')](_0x314daa,_0xc579('0x2a'));_0x4a5f6[_0xc579('0x33')]=_[_0xc579('0x34')](_0x45fef4['query']);_0x4a5f6['filters']=_[_0xc579('0x35')](_0x4a5f6['model'],_0x4a5f6[_0xc579('0x33')]);_0x4d78bc[_0xc579('0x36')]=_[_0xc579('0x35')](_0x4a5f6[_0xc579('0x37')],qs[_0xc579('0x38')](_0x45fef4['query'][_0xc579('0x38')]));_0x4d78bc['attributes']=_0x4d78bc[_0xc579('0x36')][_0xc579('0x39')]?_0x4d78bc['attributes']:_0x4a5f6[_0xc579('0x37')];if(!_0x45fef4[_0xc579('0x33')]['hasOwnProperty']('nolimit')){_0x4d78bc[_0xc579('0x1f')]=qs[_0xc579('0x1f')](_0x45fef4['query'][_0xc579('0x1f')]);_0x4d78bc[_0xc579('0x21')]=qs['offset'](_0x45fef4[_0xc579('0x33')]['offset']);}_0x4d78bc[_0xc579('0x3a')]=qs[_0xc579('0x3b')](_0x45fef4['query'][_0xc579('0x3b')]);_0x4d78bc[_0xc579('0x3c')]=qs[_0xc579('0x3d')](_[_0xc579('0x3e')](_0x45fef4[_0xc579('0x33')],_0x4a5f6[_0xc579('0x3d')]),_0x314daa);if(_0x45fef4['query'][_0xc579('0x3f')]){_0x4d78bc[_0xc579('0x3c')]=_['merge'](_0x4d78bc[_0xc579('0x3c')],{'$or':_[_0xc579('0x2d')](_0x314daa,function(_0x3f9bee){if(_0x3f9bee[_0xc579('0x31')]!=='VIRTUAL'){var _0x3f744f={};_0x3f744f[_0x3f9bee[_0xc579('0x2a')]]={'$like':'%'+_0x45fef4[_0xc579('0x33')]['filter']+'%'};return _0x3f744f;}})});}_0x4d78bc=_['merge']({},_0x4d78bc,_0x45fef4['options']);var _0x1ef28f={'where':_0x4d78bc[_0xc579('0x3c')]};return db[_0xc579('0x2e')][_0xc579('0x20')](_0x1ef28f)[_0xc579('0x27')](function(_0x2b60eb){_0x4897a1['count']=_0x2b60eb;if(_0x45fef4[_0xc579('0x33')]['includeAll']){_0x4d78bc[_0xc579('0x40')]=[{'all':!![]}];}return db[_0xc579('0x2e')][_0xc579('0x41')](_0x4d78bc);})[_0xc579('0x27')](function(_0x3d8f24){_0x4897a1[_0xc579('0x42')]=_0x3d8f24;return _0x4897a1;})[_0xc579('0x27')](respondWithFilteredResult(_0x5c272f,_0x4d78bc))[_0xc579('0x43')](handleError(_0x5c272f,null));};exports['show']=function(_0x2a2248,_0x2532a5){var _0x74b63d={'raw':!![],'where':{'id':_0x2a2248[_0xc579('0x44')]['id']}},_0x2449e6={};_0x2449e6[_0xc579('0x37')]=_['keys'](db[_0xc579('0x2e')][_0xc579('0x2f')]);_0x2449e6[_0xc579('0x33')]=_['keys'](_0x2a2248[_0xc579('0x33')]);_0x2449e6[_0xc579('0x3d')]=_[_0xc579('0x35')](_0x2449e6['model'],_0x2449e6[_0xc579('0x33')]);_0x74b63d['attributes']=_[_0xc579('0x35')](_0x2449e6[_0xc579('0x37')],qs[_0xc579('0x38')](_0x2a2248['query'][_0xc579('0x38')]));_0x74b63d[_0xc579('0x36')]=_0x74b63d['attributes']['length']?_0x74b63d[_0xc579('0x36')]:_0x2449e6[_0xc579('0x37')];if(_0x2a2248[_0xc579('0x33')][_0xc579('0x45')]){_0x74b63d['include']=[{'all':!![]}];}_0x74b63d=_['merge']({},_0x74b63d,_0x2a2248[_0xc579('0x46')]);return db[_0xc579('0x2e')][_0xc579('0x47')](_0x74b63d)[_0xc579('0x27')](handleEntityNotFound(_0x2532a5,null))['then'](respondWithResult(_0x2532a5,null))[_0xc579('0x43')](handleError(_0x2532a5,null));};exports[_0xc579('0x48')]=function(_0x53eb6f,_0x40d790){return db['FreshdeskField']['create'](_0x53eb6f['body'],{})[_0xc579('0x27')](respondWithResult(_0x40d790,0xc9))[_0xc579('0x43')](handleError(_0x40d790,null));};exports[_0xc579('0x26')]=function(_0x90a0d3,_0x1f9d15){if(_0x90a0d3['body']['id']){delete _0x90a0d3[_0xc579('0x49')]['id'];}return db[_0xc579('0x2e')][_0xc579('0x47')]({'where':{'id':_0x90a0d3['params']['id']}})['then'](handleEntityNotFound(_0x1f9d15,null))[_0xc579('0x27')](saveUpdates(_0x90a0d3[_0xc579('0x49')],null))[_0xc579('0x27')](respondWithResult(_0x1f9d15,null))[_0xc579('0x43')](handleError(_0x1f9d15,null));};exports[_0xc579('0x28')]=function(_0xe1a1d7,_0x138ab2){return db['FreshdeskField']['find']({'where':{'id':_0xe1a1d7[_0xc579('0x44')]['id']}})[_0xc579('0x27')](handleEntityNotFound(_0x138ab2,null))['then'](removeEntity(_0x138ab2,null))[_0xc579('0x43')](handleError(_0x138ab2,null));};