002a779e16adc2d7d50acfd12c4a1c6548cdea7d
[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 _0x9e9e=['show','params','find','create','body','html-pdf','eml-format','zip-dir','request-promise','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../mysqldb','status','json','count','offset','limit','set','apply','save','update','then','destroy','sendStatus','error','name','index','map','FreshdeskField','rawAttributes','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','sort','where','pick','filter','type','VIRTUAL','merge','options','includeAll','findAll','rows','catch'];(function(_0x4d1c92,_0x247c78){var _0x30085e=function(_0x62117){while(--_0x62117){_0x4d1c92['push'](_0x4d1c92['shift']());}};_0x30085e(++_0x247c78);}(_0x9e9e,0x8b));var _0xe9e9=function(_0x474c66,_0xbce925){_0x474c66=_0x474c66-0x0;var _0xcbd9bf=_0x9e9e[_0x474c66];return _0xcbd9bf;};'use strict';var pdf=require(_0xe9e9('0x0'));var emlformat=require(_0xe9e9('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xe9e9('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xe9e9('0x3'));var moment=require('moment');var BPromise=require(_0xe9e9('0x4'));var Mustache=require(_0xe9e9('0x5'));var util=require(_0xe9e9('0x6'));var path=require(_0xe9e9('0x7'));var sox=require(_0xe9e9('0x8'));var csv=require('to-csv');var ejs=require(_0xe9e9('0x9'));var fs=require('fs');var _=require(_0xe9e9('0xa'));var squel=require(_0xe9e9('0xb'));var crypto=require(_0xe9e9('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xe9e9('0xd'));var toCsv=require(_0xe9e9('0xe'));var querystring=require(_0xe9e9('0xf'));var Papa=require(_0xe9e9('0x10'));var Redis=require('ioredis');var authService=require(_0xe9e9('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xe9e9('0x12'));var hardwareService=require(_0xe9e9('0x13'));var logger=require(_0xe9e9('0x14'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0xe9e9('0x15'))['db'];function respondWithStatusCode(_0x15b23f,_0x246b00){_0x246b00=_0x246b00||0xcc;return function(_0x2e25c8){if(_0x2e25c8){return _0x15b23f['sendStatus'](_0x246b00);}return _0x15b23f[_0xe9e9('0x16')](_0x246b00)['end']();};}function respondWithResult(_0x5d4589,_0x5327ff){_0x5327ff=_0x5327ff||0xc8;return function(_0x3e2894){if(_0x3e2894){return _0x5d4589[_0xe9e9('0x16')](_0x5327ff)[_0xe9e9('0x17')](_0x3e2894);}};}function respondWithFilteredResult(_0x33f1bc,_0x32c03d){return function(_0x3c56af){if(_0x3c56af){var _0x4470c3=_0x3c56af[_0xe9e9('0x18')],_0x40d580=_0x32c03d[_0xe9e9('0x19')],_0x559174=_0x32c03d[_0xe9e9('0x19')]+_0x32c03d[_0xe9e9('0x1a')],_0x293706;if(_0x559174>=_0x4470c3){_0x559174=_0x4470c3;_0x293706=0xc8;}else{_0x293706=0xce;}_0x33f1bc['status'](_0x293706);return _0x33f1bc[_0xe9e9('0x1b')]('Content-Range',_0x40d580+'-'+_0x559174+'/'+_0x4470c3)['json'](_0x3c56af);}return null;};}function patchUpdates(_0x4bd661){return function(_0x542f3a){try{jsonpatch[_0xe9e9('0x1c')](_0x542f3a,_0x4bd661,!![]);}catch(_0x562845){return BPromise['reject'](_0x562845);}return _0x542f3a[_0xe9e9('0x1d')]();};}function saveUpdates(_0x359886,_0x5a7feb){return function(_0x5278c0){if(_0x5278c0){return _0x5278c0[_0xe9e9('0x1e')](_0x359886)[_0xe9e9('0x1f')](function(_0x48d99b){return _0x48d99b;});}return null;};}function removeEntity(_0x54b4cd,_0x405aa5){return function(_0x2154aa){if(_0x2154aa){return _0x2154aa[_0xe9e9('0x20')]()[_0xe9e9('0x1f')](function(){_0x54b4cd['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x184dce,_0x4828c8){return function(_0x4d9283){if(!_0x4d9283){_0x184dce[_0xe9e9('0x21')](0x194);}return _0x4d9283;};}function handleError(_0x2be31f,_0x2953ab){_0x2953ab=_0x2953ab||0x1f4;return function(_0x3081ba){logger[_0xe9e9('0x22')](_0x3081ba['stack']);if(_0x3081ba[_0xe9e9('0x23')]){delete _0x3081ba[_0xe9e9('0x23')];}_0x2be31f[_0xe9e9('0x16')](_0x2953ab)['send'](_0x3081ba);};}exports[_0xe9e9('0x24')]=function(_0x571492,_0x2659eb){var _0x27166e={},_0x9321dc={},_0x27a7a8={'count':0x0,'rows':[]};var _0x4e24e9=_[_0xe9e9('0x25')](db[_0xe9e9('0x26')][_0xe9e9('0x27')],function(_0x59bae4){return{'name':_0x59bae4[_0xe9e9('0x28')],'type':_0x59bae4['type'][_0xe9e9('0x29')]};});_0x9321dc[_0xe9e9('0x2a')]=_[_0xe9e9('0x25')](_0x4e24e9,'name');_0x9321dc[_0xe9e9('0x2b')]=_[_0xe9e9('0x2c')](_0x571492[_0xe9e9('0x2b')]);_0x9321dc[_0xe9e9('0x2d')]=_[_0xe9e9('0x2e')](_0x9321dc[_0xe9e9('0x2a')],_0x9321dc[_0xe9e9('0x2b')]);_0x27166e['attributes']=_[_0xe9e9('0x2e')](_0x9321dc[_0xe9e9('0x2a')],qs[_0xe9e9('0x2f')](_0x571492[_0xe9e9('0x2b')][_0xe9e9('0x2f')]));_0x27166e[_0xe9e9('0x30')]=_0x27166e[_0xe9e9('0x30')][_0xe9e9('0x31')]?_0x27166e[_0xe9e9('0x30')]:_0x9321dc[_0xe9e9('0x2a')];if(!_0x571492[_0xe9e9('0x2b')]['hasOwnProperty']('nolimit')){_0x27166e[_0xe9e9('0x1a')]=qs[_0xe9e9('0x1a')](_0x571492['query'][_0xe9e9('0x1a')]);_0x27166e[_0xe9e9('0x19')]=qs['offset'](_0x571492[_0xe9e9('0x2b')][_0xe9e9('0x19')]);}_0x27166e['order']=qs['sort'](_0x571492[_0xe9e9('0x2b')][_0xe9e9('0x32')]);_0x27166e[_0xe9e9('0x33')]=qs['filters'](_[_0xe9e9('0x34')](_0x571492['query'],_0x9321dc[_0xe9e9('0x2d')]),_0x4e24e9);if(_0x571492[_0xe9e9('0x2b')][_0xe9e9('0x35')]){_0x27166e[_0xe9e9('0x33')]=_['merge'](_0x27166e[_0xe9e9('0x33')],{'$or':_['map'](_0x4e24e9,function(_0x4c6274){if(_0x4c6274[_0xe9e9('0x36')]!==_0xe9e9('0x37')){var _0x16176e={};_0x16176e[_0x4c6274['name']]={'$like':'%'+_0x571492[_0xe9e9('0x2b')][_0xe9e9('0x35')]+'%'};return _0x16176e;}})});}_0x27166e=_[_0xe9e9('0x38')]({},_0x27166e,_0x571492[_0xe9e9('0x39')]);var _0x2decc5={'where':_0x27166e[_0xe9e9('0x33')]};return db[_0xe9e9('0x26')][_0xe9e9('0x18')](_0x2decc5)[_0xe9e9('0x1f')](function(_0x3f320a){_0x27a7a8['count']=_0x3f320a;if(_0x571492[_0xe9e9('0x2b')][_0xe9e9('0x3a')]){_0x27166e['include']=[{'all':!![]}];}return db['FreshdeskField'][_0xe9e9('0x3b')](_0x27166e);})[_0xe9e9('0x1f')](function(_0x35a381){_0x27a7a8[_0xe9e9('0x3c')]=_0x35a381;return _0x27a7a8;})[_0xe9e9('0x1f')](respondWithFilteredResult(_0x2659eb,_0x27166e))[_0xe9e9('0x3d')](handleError(_0x2659eb,null));};exports[_0xe9e9('0x3e')]=function(_0x244efa,_0x4e997a){var _0x4ed89a={'raw':!![],'where':{'id':_0x244efa[_0xe9e9('0x3f')]['id']}},_0x2b3c3d={};_0x2b3c3d[_0xe9e9('0x2a')]=_[_0xe9e9('0x2c')](db[_0xe9e9('0x26')][_0xe9e9('0x27')]);_0x2b3c3d['query']=_[_0xe9e9('0x2c')](_0x244efa[_0xe9e9('0x2b')]);_0x2b3c3d['filters']=_[_0xe9e9('0x2e')](_0x2b3c3d[_0xe9e9('0x2a')],_0x2b3c3d[_0xe9e9('0x2b')]);_0x4ed89a[_0xe9e9('0x30')]=_[_0xe9e9('0x2e')](_0x2b3c3d[_0xe9e9('0x2a')],qs[_0xe9e9('0x2f')](_0x244efa[_0xe9e9('0x2b')][_0xe9e9('0x2f')]));_0x4ed89a[_0xe9e9('0x30')]=_0x4ed89a['attributes'][_0xe9e9('0x31')]?_0x4ed89a[_0xe9e9('0x30')]:_0x2b3c3d['model'];if(_0x244efa[_0xe9e9('0x2b')][_0xe9e9('0x3a')]){_0x4ed89a['include']=[{'all':!![]}];}_0x4ed89a=_['merge']({},_0x4ed89a,_0x244efa[_0xe9e9('0x39')]);return db['FreshdeskField'][_0xe9e9('0x40')](_0x4ed89a)['then'](handleEntityNotFound(_0x4e997a,null))[_0xe9e9('0x1f')](respondWithResult(_0x4e997a,null))[_0xe9e9('0x3d')](handleError(_0x4e997a,null));};exports[_0xe9e9('0x41')]=function(_0x39620a,_0x4b54e9){return db[_0xe9e9('0x26')]['create'](_0x39620a[_0xe9e9('0x42')],{})[_0xe9e9('0x1f')](respondWithResult(_0x4b54e9,0xc9))[_0xe9e9('0x3d')](handleError(_0x4b54e9,null));};exports[_0xe9e9('0x1e')]=function(_0x356360,_0x4293a4){if(_0x356360[_0xe9e9('0x42')]['id']){delete _0x356360['body']['id'];}return db[_0xe9e9('0x26')][_0xe9e9('0x40')]({'where':{'id':_0x356360[_0xe9e9('0x3f')]['id']}})[_0xe9e9('0x1f')](handleEntityNotFound(_0x4293a4,null))['then'](saveUpdates(_0x356360[_0xe9e9('0x42')],null))[_0xe9e9('0x1f')](respondWithResult(_0x4293a4,null))[_0xe9e9('0x3d')](handleError(_0x4293a4,null));};exports['destroy']=function(_0x379ef4,_0x1d0ffc){return db[_0xe9e9('0x26')][_0xe9e9('0x40')]({'where':{'id':_0x379ef4[_0xe9e9('0x3f')]['id']}})['then'](handleEntityNotFound(_0x1d0ffc,null))['then'](removeEntity(_0x1d0ffc,null))['catch'](handleError(_0x1d0ffc,null));};