74c06a1a48228a818dbe3a101a66646572114886
[motion2.git] / server / api / intDeskField / intDeskField.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 _0x165d=['include','findAll','catch','show','create','body','find','params','html-pdf','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','DeskField','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','options','includeAll'];(function(_0xbcab1f,_0x16ccef){var _0x280272=function(_0x2908d2){while(--_0x2908d2){_0xbcab1f['push'](_0xbcab1f['shift']());}};_0x280272(++_0x16ccef);}(_0x165d,0xa0));var _0xd165=function(_0x4898c5,_0x2ff6d6){_0x4898c5=_0x4898c5-0x0;var _0x2a30b0=_0x165d[_0x4898c5];return _0x2a30b0;};'use strict';var pdf=require(_0xd165('0x0'));var emlformat=require(_0xd165('0x1'));var rimraf=require(_0xd165('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd165('0x3'));var rp=require('request-promise');var moment=require(_0xd165('0x4'));var BPromise=require(_0xd165('0x5'));var Mustache=require(_0xd165('0x6'));var util=require(_0xd165('0x7'));var path=require(_0xd165('0x8'));var sox=require(_0xd165('0x9'));var csv=require(_0xd165('0xa'));var ejs=require(_0xd165('0xb'));var fs=require('fs');var _=require(_0xd165('0xc'));var squel=require(_0xd165('0xd'));var crypto=require(_0xd165('0xe'));var jsforce=require(_0xd165('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xd165('0xa'));var querystring=require(_0xd165('0x10'));var Papa=require(_0xd165('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xd165('0x12'));var as=require(_0xd165('0x13'));var hardwareService=require(_0xd165('0x14'));var logger=require(_0xd165('0x15'))(_0xd165('0x16'));var utils=require(_0xd165('0x17'));var config=require(_0xd165('0x18'));var licenseUtil=require(_0xd165('0x19'));var db=require(_0xd165('0x1a'))['db'];function respondWithStatusCode(_0x47222f,_0x230552){_0x230552=_0x230552||0xcc;return function(_0x1f3cac){if(_0x1f3cac){return _0x47222f[_0xd165('0x1b')](_0x230552);}return _0x47222f['status'](_0x230552)[_0xd165('0x1c')]();};}function respondWithResult(_0x54fe15,_0x57a951){_0x57a951=_0x57a951||0xc8;return function(_0x461a44){if(_0x461a44){return _0x54fe15[_0xd165('0x1d')](_0x57a951)[_0xd165('0x1e')](_0x461a44);}};}function respondWithFilteredResult(_0x3ab28d,_0x45da9b){return function(_0x1f2066){if(_0x1f2066){var _0x4143c7=_0x1f2066[_0xd165('0x1f')],_0x32f00a=_0x45da9b[_0xd165('0x20')],_0x2abb34=_0x45da9b[_0xd165('0x20')]+_0x45da9b[_0xd165('0x21')],_0x4d3fd5;if(_0x2abb34>=_0x4143c7){_0x2abb34=_0x4143c7;_0x4d3fd5=0xc8;}else{_0x4d3fd5=0xce;}_0x3ab28d[_0xd165('0x1d')](_0x4d3fd5);return _0x3ab28d[_0xd165('0x22')](_0xd165('0x23'),_0x32f00a+'-'+_0x2abb34+'/'+_0x4143c7)['json'](_0x1f2066);}return null;};}function patchUpdates(_0x55ce12){return function(_0x1aac69){try{jsonpatch[_0xd165('0x24')](_0x1aac69,_0x55ce12,!![]);}catch(_0x357469){return BPromise[_0xd165('0x25')](_0x357469);}return _0x1aac69[_0xd165('0x26')]();};}function saveUpdates(_0x1d9161,_0x537f2a){return function(_0x388b8e){if(_0x388b8e){return _0x388b8e[_0xd165('0x27')](_0x1d9161)[_0xd165('0x28')](function(_0x1d52ee){return _0x1d52ee;});}return null;};}function removeEntity(_0x4b31ef,_0x561ed4){return function(_0x35ea0f){if(_0x35ea0f){return _0x35ea0f[_0xd165('0x29')]()['then'](function(){_0x4b31ef[_0xd165('0x1d')](0xcc)[_0xd165('0x1c')]();});}};}function handleEntityNotFound(_0x23afda,_0x596127){return function(_0x47f6a5){if(!_0x47f6a5){_0x23afda[_0xd165('0x1b')](0x194);}return _0x47f6a5;};}function handleError(_0xf9db68,_0x1baee7){_0x1baee7=_0x1baee7||0x1f4;return function(_0x85f6e1){logger[_0xd165('0x2a')](_0x85f6e1[_0xd165('0x2b')]);if(_0x85f6e1[_0xd165('0x2c')]){delete _0x85f6e1[_0xd165('0x2c')];}_0xf9db68['status'](_0x1baee7)[_0xd165('0x2d')](_0x85f6e1);};}exports[_0xd165('0x2e')]=function(_0x197b73,_0x334a55){var _0x40fa35={},_0x12575e={},_0xcbbc92={'count':0x0,'rows':[]};var _0x2abcd8=_[_0xd165('0x2f')](db[_0xd165('0x30')][_0xd165('0x31')],function(_0x46e73e){return{'name':_0x46e73e['fieldName'],'type':_0x46e73e[_0xd165('0x32')][_0xd165('0x33')]};});_0x12575e[_0xd165('0x34')]=_['map'](_0x2abcd8,_0xd165('0x2c'));_0x12575e[_0xd165('0x35')]=_[_0xd165('0x36')](_0x197b73[_0xd165('0x35')]);_0x12575e[_0xd165('0x37')]=_[_0xd165('0x38')](_0x12575e[_0xd165('0x34')],_0x12575e[_0xd165('0x35')]);_0x40fa35[_0xd165('0x39')]=_[_0xd165('0x38')](_0x12575e[_0xd165('0x34')],qs[_0xd165('0x3a')](_0x197b73[_0xd165('0x35')]['fields']));_0x40fa35[_0xd165('0x39')]=_0x40fa35['attributes'][_0xd165('0x3b')]?_0x40fa35[_0xd165('0x39')]:_0x12575e['model'];if(!_0x197b73['query'][_0xd165('0x3c')]('nolimit')){_0x40fa35[_0xd165('0x21')]=qs['limit'](_0x197b73['query'][_0xd165('0x21')]);_0x40fa35[_0xd165('0x20')]=qs[_0xd165('0x20')](_0x197b73['query'][_0xd165('0x20')]);}_0x40fa35['order']=qs[_0xd165('0x3d')](_0x197b73[_0xd165('0x35')][_0xd165('0x3d')]);_0x40fa35[_0xd165('0x3e')]=qs[_0xd165('0x37')](_[_0xd165('0x3f')](_0x197b73[_0xd165('0x35')],_0x12575e[_0xd165('0x37')]),_0x2abcd8);if(_0x197b73[_0xd165('0x35')][_0xd165('0x40')]){_0x40fa35[_0xd165('0x3e')]=_[_0xd165('0x41')](_0x40fa35[_0xd165('0x3e')],{'$or':_[_0xd165('0x2f')](_0x2abcd8,function(_0x5ca003){if(_0x5ca003[_0xd165('0x32')]!=='VIRTUAL'){var _0x1ae52e={};_0x1ae52e[_0x5ca003[_0xd165('0x2c')]]={'$like':'%'+_0x197b73[_0xd165('0x35')]['filter']+'%'};return _0x1ae52e;}})});}_0x40fa35=_[_0xd165('0x41')]({},_0x40fa35,_0x197b73[_0xd165('0x42')]);var _0x2e2148={'where':_0x40fa35[_0xd165('0x3e')]};return db[_0xd165('0x30')][_0xd165('0x1f')](_0x2e2148)['then'](function(_0x5f271e){_0xcbbc92[_0xd165('0x1f')]=_0x5f271e;if(_0x197b73['query'][_0xd165('0x43')]){_0x40fa35[_0xd165('0x44')]=[{'all':!![]}];}return db[_0xd165('0x30')][_0xd165('0x45')](_0x40fa35);})[_0xd165('0x28')](function(_0x25a244){_0xcbbc92['rows']=_0x25a244;return _0xcbbc92;})['then'](respondWithFilteredResult(_0x334a55,_0x40fa35))[_0xd165('0x46')](handleError(_0x334a55,null));};exports[_0xd165('0x47')]=function(_0x1a18b0,_0x416436){var _0x4acab2={'raw':!![],'where':{'id':_0x1a18b0['params']['id']}},_0x403e5c={};_0x403e5c[_0xd165('0x34')]=_[_0xd165('0x36')](db[_0xd165('0x30')]['rawAttributes']);_0x403e5c['query']=_[_0xd165('0x36')](_0x1a18b0[_0xd165('0x35')]);_0x403e5c[_0xd165('0x37')]=_['intersection'](_0x403e5c[_0xd165('0x34')],_0x403e5c[_0xd165('0x35')]);_0x4acab2['attributes']=_[_0xd165('0x38')](_0x403e5c[_0xd165('0x34')],qs[_0xd165('0x3a')](_0x1a18b0[_0xd165('0x35')]['fields']));_0x4acab2[_0xd165('0x39')]=_0x4acab2['attributes'][_0xd165('0x3b')]?_0x4acab2[_0xd165('0x39')]:_0x403e5c['model'];if(_0x1a18b0[_0xd165('0x35')][_0xd165('0x43')]){_0x4acab2[_0xd165('0x44')]=[{'all':!![]}];}_0x4acab2=_['merge']({},_0x4acab2,_0x1a18b0['options']);return db['DeskField']['find'](_0x4acab2)['then'](handleEntityNotFound(_0x416436,null))[_0xd165('0x28')](respondWithResult(_0x416436,null))['catch'](handleError(_0x416436,null));};exports[_0xd165('0x48')]=function(_0x531161,_0x9cf035){return db[_0xd165('0x30')][_0xd165('0x48')](_0x531161[_0xd165('0x49')],{})['then'](respondWithResult(_0x9cf035,0xc9))[_0xd165('0x46')](handleError(_0x9cf035,null));};exports['update']=function(_0x31d14e,_0x41b499){if(_0x31d14e['body']['id']){delete _0x31d14e[_0xd165('0x49')]['id'];}return db['DeskField'][_0xd165('0x4a')]({'where':{'id':_0x31d14e['params']['id']}})[_0xd165('0x28')](handleEntityNotFound(_0x41b499,null))[_0xd165('0x28')](saveUpdates(_0x31d14e[_0xd165('0x49')],null))[_0xd165('0x28')](respondWithResult(_0x41b499,null))[_0xd165('0x46')](handleError(_0x41b499,null));};exports[_0xd165('0x29')]=function(_0x4219e3,_0x529954){return db['DeskField'][_0xd165('0x4a')]({'where':{'id':_0x4219e3[_0xd165('0x4b')]['id']}})[_0xd165('0x28')](handleEntityNotFound(_0x529954,null))[_0xd165('0x28')](removeEntity(_0x529954,null))['catch'](handleError(_0x529954,null));};