d443fa11007fa6ea9c55511c6989100e061d9f1b
[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 _0x83d9=['then','destroy','sendStatus','stack','name','index','map','DeskField','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','sort','where','filter','merge','include','show','params','includeAll','options','create','catch','body','find','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update'];(function(_0x31f8c3,_0xbe0d29){var _0x3e7f55=function(_0x410c03){while(--_0x410c03){_0x31f8c3['push'](_0x31f8c3['shift']());}};_0x3e7f55(++_0xbe0d29);}(_0x83d9,0x68));var _0x983d=function(_0x2ec461,_0x5f588a){_0x2ec461=_0x2ec461-0x0;var _0x28603d=_0x83d9[_0x2ec461];return _0x28603d;};'use strict';var pdf=require(_0x983d('0x0'));var emlformat=require(_0x983d('0x1'));var rimraf=require(_0x983d('0x2'));var zipdir=require(_0x983d('0x3'));var jsonpatch=require(_0x983d('0x4'));var rp=require(_0x983d('0x5'));var moment=require(_0x983d('0x6'));var BPromise=require(_0x983d('0x7'));var Mustache=require('mustache');var util=require(_0x983d('0x8'));var path=require(_0x983d('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x983d('0xa'));var squel=require(_0x983d('0xb'));var crypto=require(_0x983d('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x983d('0xd'));var toCsv=require('to-csv');var querystring=require(_0x983d('0xe'));var Papa=require(_0x983d('0xf'));var Redis=require(_0x983d('0x10'));var authService=require(_0x983d('0x11'));var qs=require(_0x983d('0x12'));var as=require(_0x983d('0x13'));var hardwareService=require(_0x983d('0x14'));var logger=require('../../config/logger')(_0x983d('0x15'));var utils=require(_0x983d('0x16'));var config=require(_0x983d('0x17'));var licenseUtil=require(_0x983d('0x18'));var db=require(_0x983d('0x19'))['db'];function respondWithStatusCode(_0x28f3b9,_0x2b1e00){_0x2b1e00=_0x2b1e00||0xcc;return function(_0x287922){if(_0x287922){return _0x28f3b9['sendStatus'](_0x2b1e00);}return _0x28f3b9[_0x983d('0x1a')](_0x2b1e00)[_0x983d('0x1b')]();};}function respondWithResult(_0x413dfa,_0x30a84e){_0x30a84e=_0x30a84e||0xc8;return function(_0x296807){if(_0x296807){return _0x413dfa['status'](_0x30a84e)['json'](_0x296807);}};}function respondWithFilteredResult(_0x39c3ff,_0x23f2c3){return function(_0x2aff0a){if(_0x2aff0a){var _0xfc71b0=_0x2aff0a[_0x983d('0x1c')],_0x786e56=_0x23f2c3[_0x983d('0x1d')],_0x4bf453=_0x23f2c3[_0x983d('0x1d')]+_0x23f2c3[_0x983d('0x1e')],_0x1a24b5;if(_0x4bf453>=_0xfc71b0){_0x4bf453=_0xfc71b0;_0x1a24b5=0xc8;}else{_0x1a24b5=0xce;}_0x39c3ff['status'](_0x1a24b5);return _0x39c3ff[_0x983d('0x1f')](_0x983d('0x20'),_0x786e56+'-'+_0x4bf453+'/'+_0xfc71b0)[_0x983d('0x21')](_0x2aff0a);}return null;};}function patchUpdates(_0x3e654f){return function(_0x3693f6){try{jsonpatch[_0x983d('0x22')](_0x3693f6,_0x3e654f,!![]);}catch(_0x3f0f17){return BPromise[_0x983d('0x23')](_0x3f0f17);}return _0x3693f6[_0x983d('0x24')]();};}function saveUpdates(_0x432df3,_0xa532e7){return function(_0x24aba1){if(_0x24aba1){return _0x24aba1[_0x983d('0x25')](_0x432df3)[_0x983d('0x26')](function(_0x2765ba){return _0x2765ba;});}return null;};}function removeEntity(_0x190baf,_0xd33ad2){return function(_0x292ff5){if(_0x292ff5){return _0x292ff5[_0x983d('0x27')]()[_0x983d('0x26')](function(){_0x190baf[_0x983d('0x1a')](0xcc)[_0x983d('0x1b')]();});}};}function handleEntityNotFound(_0x64728b,_0xb131f6){return function(_0x1bc4df){if(!_0x1bc4df){_0x64728b[_0x983d('0x28')](0x194);}return _0x1bc4df;};}function handleError(_0x4f3c6d,_0x49c2e6){_0x49c2e6=_0x49c2e6||0x1f4;return function(_0x5929a2){logger['error'](_0x5929a2[_0x983d('0x29')]);if(_0x5929a2[_0x983d('0x2a')]){delete _0x5929a2[_0x983d('0x2a')];}_0x4f3c6d[_0x983d('0x1a')](_0x49c2e6)['send'](_0x5929a2);};}exports[_0x983d('0x2b')]=function(_0x186b90,_0x27f015){var _0x4932ec={},_0x283cab={},_0xdcf438={'count':0x0,'rows':[]};var _0x2626aa=_[_0x983d('0x2c')](db[_0x983d('0x2d')][_0x983d('0x2e')],function(_0x2961c3){return{'name':_0x2961c3['fieldName'],'type':_0x2961c3[_0x983d('0x2f')][_0x983d('0x30')]};});_0x283cab[_0x983d('0x31')]=_['map'](_0x2626aa,_0x983d('0x2a'));_0x283cab[_0x983d('0x32')]=_[_0x983d('0x33')](_0x186b90['query']);_0x283cab[_0x983d('0x34')]=_[_0x983d('0x35')](_0x283cab[_0x983d('0x31')],_0x283cab['query']);_0x4932ec[_0x983d('0x36')]=_[_0x983d('0x35')](_0x283cab[_0x983d('0x31')],qs[_0x983d('0x37')](_0x186b90[_0x983d('0x32')][_0x983d('0x37')]));_0x4932ec[_0x983d('0x36')]=_0x4932ec[_0x983d('0x36')][_0x983d('0x38')]?_0x4932ec[_0x983d('0x36')]:_0x283cab[_0x983d('0x31')];if(!_0x186b90['query']['hasOwnProperty'](_0x983d('0x39'))){_0x4932ec['limit']=qs[_0x983d('0x1e')](_0x186b90[_0x983d('0x32')][_0x983d('0x1e')]);_0x4932ec[_0x983d('0x1d')]=qs[_0x983d('0x1d')](_0x186b90[_0x983d('0x32')][_0x983d('0x1d')]);}_0x4932ec['order']=qs[_0x983d('0x3a')](_0x186b90['query'][_0x983d('0x3a')]);_0x4932ec[_0x983d('0x3b')]=qs[_0x983d('0x34')](_['pick'](_0x186b90[_0x983d('0x32')],_0x283cab[_0x983d('0x34')]),_0x2626aa);if(_0x186b90[_0x983d('0x32')][_0x983d('0x3c')]){_0x4932ec['where']=_['merge'](_0x4932ec[_0x983d('0x3b')],{'$or':_[_0x983d('0x2c')](_0x2626aa,function(_0x3ef16a){if(_0x3ef16a[_0x983d('0x2f')]!=='VIRTUAL'){var _0x3f45de={};_0x3f45de[_0x3ef16a[_0x983d('0x2a')]]={'$like':'%'+_0x186b90[_0x983d('0x32')]['filter']+'%'};return _0x3f45de;}})});}_0x4932ec=_[_0x983d('0x3d')]({},_0x4932ec,_0x186b90['options']);var _0x2938ac={'where':_0x4932ec[_0x983d('0x3b')]};return db[_0x983d('0x2d')][_0x983d('0x1c')](_0x2938ac)[_0x983d('0x26')](function(_0x2607cb){_0xdcf438[_0x983d('0x1c')]=_0x2607cb;if(_0x186b90['query']['includeAll']){_0x4932ec[_0x983d('0x3e')]=[{'all':!![]}];}return db[_0x983d('0x2d')]['findAll'](_0x4932ec);})[_0x983d('0x26')](function(_0x3c70c6){_0xdcf438['rows']=_0x3c70c6;return _0xdcf438;})[_0x983d('0x26')](respondWithFilteredResult(_0x27f015,_0x4932ec))['catch'](handleError(_0x27f015,null));};exports[_0x983d('0x3f')]=function(_0x1088b4,_0x217271){var _0x109f03={'raw':!![],'where':{'id':_0x1088b4[_0x983d('0x40')]['id']}},_0x5ac38d={};_0x5ac38d['model']=_[_0x983d('0x33')](db[_0x983d('0x2d')][_0x983d('0x2e')]);_0x5ac38d[_0x983d('0x32')]=_['keys'](_0x1088b4['query']);_0x5ac38d[_0x983d('0x34')]=_['intersection'](_0x5ac38d[_0x983d('0x31')],_0x5ac38d['query']);_0x109f03[_0x983d('0x36')]=_['intersection'](_0x5ac38d[_0x983d('0x31')],qs[_0x983d('0x37')](_0x1088b4[_0x983d('0x32')]['fields']));_0x109f03[_0x983d('0x36')]=_0x109f03[_0x983d('0x36')][_0x983d('0x38')]?_0x109f03[_0x983d('0x36')]:_0x5ac38d['model'];if(_0x1088b4[_0x983d('0x32')][_0x983d('0x41')]){_0x109f03[_0x983d('0x3e')]=[{'all':!![]}];}_0x109f03=_[_0x983d('0x3d')]({},_0x109f03,_0x1088b4[_0x983d('0x42')]);return db['DeskField']['find'](_0x109f03)[_0x983d('0x26')](handleEntityNotFound(_0x217271,null))[_0x983d('0x26')](respondWithResult(_0x217271,null))['catch'](handleError(_0x217271,null));};exports[_0x983d('0x43')]=function(_0x4ed460,_0x3e352f){return db['DeskField'][_0x983d('0x43')](_0x4ed460['body'],{})[_0x983d('0x26')](respondWithResult(_0x3e352f,0xc9))[_0x983d('0x44')](handleError(_0x3e352f,null));};exports[_0x983d('0x25')]=function(_0x231e41,_0x1719aa){if(_0x231e41[_0x983d('0x45')]['id']){delete _0x231e41['body']['id'];}return db[_0x983d('0x2d')][_0x983d('0x46')]({'where':{'id':_0x231e41[_0x983d('0x40')]['id']}})[_0x983d('0x26')](handleEntityNotFound(_0x1719aa,null))[_0x983d('0x26')](saveUpdates(_0x231e41[_0x983d('0x45')],null))[_0x983d('0x26')](respondWithResult(_0x1719aa,null))[_0x983d('0x44')](handleError(_0x1719aa,null));};exports['destroy']=function(_0x389d10,_0x355762){return db[_0x983d('0x2d')]['find']({'where':{'id':_0x389d10[_0x983d('0x40')]['id']}})['then'](handleEntityNotFound(_0x355762,null))['then'](removeEntity(_0x355762,null))['catch'](handleError(_0x355762,null));};