Built motion from commit f7863d46.|2.5.41
[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 _0x3eec=['include','findAll','catch','show','params','create','body','find','destroy','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','status','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','update','then','end','error','stack','send','index','map','FreshdeskField','rawAttributes','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','name','options','includeAll'];(function(_0x3740fe,_0x6c543c){var _0x55492b=function(_0x1f851f){while(--_0x1f851f){_0x3740fe['push'](_0x3740fe['shift']());}};_0x55492b(++_0x6c543c);}(_0x3eec,0x1e9));var _0xc3ee=function(_0x3d8767,_0x38530d){_0x3d8767=_0x3d8767-0x0;var _0xde6177=_0x3eec[_0x3d8767];return _0xde6177;};'use strict';var emlformat=require(_0xc3ee('0x0'));var rimraf=require(_0xc3ee('0x1'));var zipdir=require(_0xc3ee('0x2'));var jsonpatch=require(_0xc3ee('0x3'));var rp=require('request-promise');var moment=require(_0xc3ee('0x4'));var BPromise=require(_0xc3ee('0x5'));var Mustache=require(_0xc3ee('0x6'));var util=require(_0xc3ee('0x7'));var path=require(_0xc3ee('0x8'));var sox=require(_0xc3ee('0x9'));var csv=require('to-csv');var ejs=require(_0xc3ee('0xa'));var fs=require('fs');var fs_extra=require(_0xc3ee('0xb'));var _=require(_0xc3ee('0xc'));var squel=require(_0xc3ee('0xd'));var crypto=require(_0xc3ee('0xe'));var jsforce=require(_0xc3ee('0xf'));var deskjs=require(_0xc3ee('0x10'));var toCsv=require(_0xc3ee('0x11'));var querystring=require(_0xc3ee('0x12'));var Papa=require(_0xc3ee('0x13'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xc3ee('0x14'));var as=require(_0xc3ee('0x15'));var hardwareService=require(_0xc3ee('0x16'));var logger=require(_0xc3ee('0x17'))('api');var utils=require(_0xc3ee('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0xc3ee('0x19'));var db=require(_0xc3ee('0x1a'))['db'];function respondWithStatusCode(_0x4beb01,_0x5f2c3a){_0x5f2c3a=_0x5f2c3a||0xcc;return function(_0x2eb82e){if(_0x2eb82e){return _0x4beb01['sendStatus'](_0x5f2c3a);}return _0x4beb01[_0xc3ee('0x1b')](_0x5f2c3a)['end']();};}function respondWithResult(_0x19feb3,_0x58ebe7){_0x58ebe7=_0x58ebe7||0xc8;return function(_0x3d669d){if(_0x3d669d){return _0x19feb3[_0xc3ee('0x1b')](_0x58ebe7)[_0xc3ee('0x1c')](_0x3d669d);}};}function respondWithFilteredResult(_0x664bad,_0x476f8f){return function(_0xf63359){if(_0xf63359){var _0x277e11=typeof _0x476f8f['offset']===_0xc3ee('0x1d')&&typeof _0x476f8f['limit']===_0xc3ee('0x1d');var _0x1bf49a=_0xf63359[_0xc3ee('0x1e')];var _0x219db0=_0x277e11?0x0:_0x476f8f[_0xc3ee('0x1f')];var _0x3acb0c=_0x277e11?_0xf63359[_0xc3ee('0x1e')]:_0x476f8f[_0xc3ee('0x1f')]+_0x476f8f[_0xc3ee('0x20')];var _0x202a9a;if(_0x3acb0c>=_0x1bf49a){_0x3acb0c=_0x1bf49a;_0x202a9a=0xc8;}else{_0x202a9a=0xce;}_0x664bad[_0xc3ee('0x1b')](_0x202a9a);return _0x664bad[_0xc3ee('0x21')](_0xc3ee('0x22'),_0x219db0+'-'+_0x3acb0c+'/'+_0x1bf49a)[_0xc3ee('0x1c')](_0xf63359);}return null;};}function patchUpdates(_0x3e7224){return function(_0x46a8c9){try{jsonpatch[_0xc3ee('0x23')](_0x46a8c9,_0x3e7224,!![]);}catch(_0x30df3a){return BPromise[_0xc3ee('0x24')](_0x30df3a);}return _0x46a8c9[_0xc3ee('0x25')]();};}function saveUpdates(_0x11778f,_0x493fea){return function(_0x4d672e){if(_0x4d672e){return _0x4d672e[_0xc3ee('0x26')](_0x11778f)[_0xc3ee('0x27')](function(_0x3b8f75){return _0x3b8f75;});}return null;};}function removeEntity(_0x464ffc,_0x28bfeb){return function(_0x238df7){if(_0x238df7){return _0x238df7['destroy']()[_0xc3ee('0x27')](function(){_0x464ffc[_0xc3ee('0x1b')](0xcc)[_0xc3ee('0x28')]();});}};}function handleEntityNotFound(_0xfd03bd,_0x5c366e){return function(_0x525ae5){if(!_0x525ae5){_0xfd03bd['sendStatus'](0x194);}return _0x525ae5;};}function handleError(_0x383bd9,_0x28522d){_0x28522d=_0x28522d||0x1f4;return function(_0x3d8c79){logger[_0xc3ee('0x29')](_0x3d8c79[_0xc3ee('0x2a')]);if(_0x3d8c79['name']){delete _0x3d8c79['name'];}_0x383bd9['status'](_0x28522d)[_0xc3ee('0x2b')](_0x3d8c79);};}exports[_0xc3ee('0x2c')]=function(_0x44678b,_0x2fba96){var _0x2cdd85={},_0x50ffaa={},_0x13f30d={'count':0x0,'rows':[]};var _0xfa3111=_[_0xc3ee('0x2d')](db[_0xc3ee('0x2e')][_0xc3ee('0x2f')],function(_0x8bbe1e){return{'name':_0x8bbe1e[_0xc3ee('0x30')],'type':_0x8bbe1e['type'][_0xc3ee('0x31')]};});_0x50ffaa[_0xc3ee('0x32')]=_[_0xc3ee('0x2d')](_0xfa3111,'name');_0x50ffaa[_0xc3ee('0x33')]=_[_0xc3ee('0x34')](_0x44678b[_0xc3ee('0x33')]);_0x50ffaa[_0xc3ee('0x35')]=_[_0xc3ee('0x36')](_0x50ffaa[_0xc3ee('0x32')],_0x50ffaa[_0xc3ee('0x33')]);_0x2cdd85['attributes']=_[_0xc3ee('0x36')](_0x50ffaa['model'],qs[_0xc3ee('0x37')](_0x44678b[_0xc3ee('0x33')][_0xc3ee('0x37')]));_0x2cdd85[_0xc3ee('0x38')]=_0x2cdd85[_0xc3ee('0x38')][_0xc3ee('0x39')]?_0x2cdd85['attributes']:_0x50ffaa[_0xc3ee('0x32')];if(!_0x44678b[_0xc3ee('0x33')][_0xc3ee('0x3a')](_0xc3ee('0x3b'))){_0x2cdd85[_0xc3ee('0x20')]=qs[_0xc3ee('0x20')](_0x44678b[_0xc3ee('0x33')][_0xc3ee('0x20')]);_0x2cdd85[_0xc3ee('0x1f')]=qs[_0xc3ee('0x1f')](_0x44678b[_0xc3ee('0x33')][_0xc3ee('0x1f')]);}_0x2cdd85[_0xc3ee('0x3c')]=qs[_0xc3ee('0x3d')](_0x44678b[_0xc3ee('0x33')][_0xc3ee('0x3d')]);_0x2cdd85[_0xc3ee('0x3e')]=qs[_0xc3ee('0x35')](_[_0xc3ee('0x3f')](_0x44678b[_0xc3ee('0x33')],_0x50ffaa[_0xc3ee('0x35')]),_0xfa3111);if(_0x44678b['query'][_0xc3ee('0x40')]){_0x2cdd85['where']=_[_0xc3ee('0x41')](_0x2cdd85[_0xc3ee('0x3e')],{'$or':_[_0xc3ee('0x2d')](_0xfa3111,function(_0x1544f3){if(_0x1544f3[_0xc3ee('0x42')]!==_0xc3ee('0x43')){var _0x5e7dcd={};_0x5e7dcd[_0x1544f3[_0xc3ee('0x44')]]={'$like':'%'+_0x44678b[_0xc3ee('0x33')][_0xc3ee('0x40')]+'%'};return _0x5e7dcd;}})});}_0x2cdd85=_['merge']({},_0x2cdd85,_0x44678b[_0xc3ee('0x45')]);var _0x105ecc={'where':_0x2cdd85[_0xc3ee('0x3e')]};return db[_0xc3ee('0x2e')][_0xc3ee('0x1e')](_0x105ecc)[_0xc3ee('0x27')](function(_0x381e68){_0x13f30d[_0xc3ee('0x1e')]=_0x381e68;if(_0x44678b[_0xc3ee('0x33')][_0xc3ee('0x46')]){_0x2cdd85[_0xc3ee('0x47')]=[{'all':!![]}];}return db['FreshdeskField'][_0xc3ee('0x48')](_0x2cdd85);})[_0xc3ee('0x27')](function(_0x4a89b7){_0x13f30d['rows']=_0x4a89b7;return _0x13f30d;})[_0xc3ee('0x27')](respondWithFilteredResult(_0x2fba96,_0x2cdd85))[_0xc3ee('0x49')](handleError(_0x2fba96,null));};exports[_0xc3ee('0x4a')]=function(_0x51c70e,_0x28b167){var _0x92a306={'raw':!![],'where':{'id':_0x51c70e[_0xc3ee('0x4b')]['id']}},_0x112e77={};_0x112e77[_0xc3ee('0x32')]=_[_0xc3ee('0x34')](db[_0xc3ee('0x2e')][_0xc3ee('0x2f')]);_0x112e77[_0xc3ee('0x33')]=_[_0xc3ee('0x34')](_0x51c70e[_0xc3ee('0x33')]);_0x112e77[_0xc3ee('0x35')]=_[_0xc3ee('0x36')](_0x112e77[_0xc3ee('0x32')],_0x112e77['query']);_0x92a306[_0xc3ee('0x38')]=_['intersection'](_0x112e77['model'],qs[_0xc3ee('0x37')](_0x51c70e[_0xc3ee('0x33')]['fields']));_0x92a306[_0xc3ee('0x38')]=_0x92a306[_0xc3ee('0x38')]['length']?_0x92a306[_0xc3ee('0x38')]:_0x112e77['model'];if(_0x51c70e[_0xc3ee('0x33')]['includeAll']){_0x92a306[_0xc3ee('0x47')]=[{'all':!![]}];}_0x92a306=_[_0xc3ee('0x41')]({},_0x92a306,_0x51c70e['options']);return db['FreshdeskField']['find'](_0x92a306)[_0xc3ee('0x27')](handleEntityNotFound(_0x28b167,null))[_0xc3ee('0x27')](respondWithResult(_0x28b167,null))[_0xc3ee('0x49')](handleError(_0x28b167,null));};exports[_0xc3ee('0x4c')]=function(_0x972860,_0x5b5f5c){return db['FreshdeskField'][_0xc3ee('0x4c')](_0x972860[_0xc3ee('0x4d')],{})['then'](respondWithResult(_0x5b5f5c,0xc9))[_0xc3ee('0x49')](handleError(_0x5b5f5c,null));};exports['update']=function(_0x60e36a,_0x5d0017){if(_0x60e36a[_0xc3ee('0x4d')]['id']){delete _0x60e36a[_0xc3ee('0x4d')]['id'];}return db[_0xc3ee('0x2e')][_0xc3ee('0x4e')]({'where':{'id':_0x60e36a[_0xc3ee('0x4b')]['id']}})[_0xc3ee('0x27')](handleEntityNotFound(_0x5d0017,null))[_0xc3ee('0x27')](saveUpdates(_0x60e36a['body'],null))[_0xc3ee('0x27')](respondWithResult(_0x5d0017,null))[_0xc3ee('0x49')](handleError(_0x5d0017,null));};exports[_0xc3ee('0x4f')]=function(_0x237aa8,_0x47d12c){return db[_0xc3ee('0x2e')][_0xc3ee('0x4e')]({'where':{'id':_0x237aa8[_0xc3ee('0x4b')]['id']}})[_0xc3ee('0x27')](handleEntityNotFound(_0x47d12c,null))[_0xc3ee('0x27')](removeEntity(_0x47d12c,null))[_0xc3ee('0x49')](handleError(_0x47d12c,null));};