Built motion from commit (unavailable).|2.5.17
[motion2.git] / server / api / variable / variable.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 _0x2514=['../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','then','destroy','get','Variables','UserProfileResource','error','stack','name','map','rawAttributes','type','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','options','Variable','include','findAll','rows','catch','show','body','user','role','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x4fff37,_0x235b18){var _0x150854=function(_0x491214){while(--_0x491214){_0x4fff37['push'](_0x4fff37['shift']());}};_0x150854(++_0x235b18);}(_0x2514,0x185));var _0x4251=function(_0x749a29,_0x3882da){_0x749a29=_0x749a29-0x0;var _0x523dde=_0x2514[_0x749a29];return _0x523dde;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x4251('0x0'));var rimraf=require(_0x4251('0x1'));var zipdir=require(_0x4251('0x2'));var jsonpatch=require(_0x4251('0x3'));var rp=require('request-promise');var moment=require(_0x4251('0x4'));var BPromise=require(_0x4251('0x5'));var Mustache=require(_0x4251('0x6'));var util=require(_0x4251('0x7'));var path=require('path');var sox=require(_0x4251('0x8'));var csv=require(_0x4251('0x9'));var ejs=require(_0x4251('0xa'));var fs=require('fs');var _=require(_0x4251('0xb'));var squel=require(_0x4251('0xc'));var crypto=require(_0x4251('0xd'));var jsforce=require(_0x4251('0xe'));var deskjs=require(_0x4251('0xf'));var toCsv=require('to-csv');var querystring=require(_0x4251('0x10'));var Papa=require(_0x4251('0x11'));var Redis=require(_0x4251('0x12'));var authService=require(_0x4251('0x13'));var qs=require(_0x4251('0x14'));var as=require(_0x4251('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4251('0x16'))(_0x4251('0x17'));var utils=require(_0x4251('0x18'));var config=require(_0x4251('0x19'));var licenseUtil=require(_0x4251('0x1a'));var db=require(_0x4251('0x1b'))['db'];function respondWithStatusCode(_0x1ca2bb,_0x33ca40){_0x33ca40=_0x33ca40||0xcc;return function(_0x2214dc){if(_0x2214dc){return _0x1ca2bb[_0x4251('0x1c')](_0x33ca40);}return _0x1ca2bb[_0x4251('0x1d')](_0x33ca40)[_0x4251('0x1e')]();};}function respondWithResult(_0xee8d84,_0x4bde9f){_0x4bde9f=_0x4bde9f||0xc8;return function(_0x29bab5){if(_0x29bab5){return _0xee8d84[_0x4251('0x1d')](_0x4bde9f)[_0x4251('0x1f')](_0x29bab5);}};}function respondWithFilteredResult(_0xd94aa8,_0x44a2c7){return function(_0x1bc057){if(_0x1bc057){var _0x2e9320=_0x1bc057[_0x4251('0x20')],_0x4c9fcb=_0x44a2c7[_0x4251('0x21')],_0x150888=_0x44a2c7['offset']+_0x44a2c7[_0x4251('0x22')],_0x35a173;if(_0x150888>=_0x2e9320){_0x150888=_0x2e9320;_0x35a173=0xc8;}else{_0x35a173=0xce;}_0xd94aa8['status'](_0x35a173);return _0xd94aa8[_0x4251('0x23')](_0x4251('0x24'),_0x4c9fcb+'-'+_0x150888+'/'+_0x2e9320)['json'](_0x1bc057);}return null;};}function patchUpdates(_0x5395e8){return function(_0xeba466){try{jsonpatch['apply'](_0xeba466,_0x5395e8,!![]);}catch(_0x2fbd84){return BPromise[_0x4251('0x25')](_0x2fbd84);}return _0xeba466[_0x4251('0x26')]();};}function saveUpdates(_0x8038f5,_0x141b00){return function(_0x121500){if(_0x121500){return _0x121500[_0x4251('0x27')](_0x8038f5)[_0x4251('0x28')](function(_0x540f49){return _0x540f49;});}return null;};}function removeEntity(_0x2aaee3,_0x4602d4){return function(_0x103b97){if(_0x103b97){return _0x103b97[_0x4251('0x29')]()[_0x4251('0x28')](function(){var _0x34aa3f=_0x103b97[_0x4251('0x2a')]({'plain':!![]});var _0x7d9bae=_0x4251('0x2b');return db[_0x4251('0x2c')][_0x4251('0x29')]({'where':{'type':_0x7d9bae,'resourceId':_0x34aa3f['id']}})[_0x4251('0x28')](function(){return _0x103b97;});})[_0x4251('0x28')](function(){_0x2aaee3[_0x4251('0x1d')](0xcc)[_0x4251('0x1e')]();});}};}function handleEntityNotFound(_0x4acf6e,_0x22005c){return function(_0xa5f268){if(!_0xa5f268){_0x4acf6e['sendStatus'](0x194);}return _0xa5f268;};}function handleError(_0x4aca5a,_0x5924a0){_0x5924a0=_0x5924a0||0x1f4;return function(_0xd7c87a){logger[_0x4251('0x2d')](_0xd7c87a[_0x4251('0x2e')]);if(_0xd7c87a[_0x4251('0x2f')]){delete _0xd7c87a[_0x4251('0x2f')];}_0x4aca5a[_0x4251('0x1d')](_0x5924a0)['send'](_0xd7c87a);};}exports['index']=function(_0x30d2ca,_0x48f18d){var _0x5c9b87={},_0x470bee={},_0x3a635f={'count':0x0,'rows':[]};var _0x23e190=_[_0x4251('0x30')](db['Variable'][_0x4251('0x31')],function(_0x1db14c){return{'name':_0x1db14c['fieldName'],'type':_0x1db14c[_0x4251('0x32')]['key']};});_0x470bee[_0x4251('0x33')]=_['map'](_0x23e190,_0x4251('0x2f'));_0x470bee['query']=_[_0x4251('0x34')](_0x30d2ca['query']);_0x470bee[_0x4251('0x35')]=_[_0x4251('0x36')](_0x470bee[_0x4251('0x33')],_0x470bee[_0x4251('0x37')]);_0x5c9b87[_0x4251('0x38')]=_[_0x4251('0x36')](_0x470bee[_0x4251('0x33')],qs[_0x4251('0x39')](_0x30d2ca['query'][_0x4251('0x39')]));_0x5c9b87[_0x4251('0x38')]=_0x5c9b87[_0x4251('0x38')][_0x4251('0x3a')]?_0x5c9b87[_0x4251('0x38')]:_0x470bee[_0x4251('0x33')];if(!_0x30d2ca['query'][_0x4251('0x3b')]('nolimit')){_0x5c9b87[_0x4251('0x22')]=qs[_0x4251('0x22')](_0x30d2ca[_0x4251('0x37')]['limit']);_0x5c9b87[_0x4251('0x21')]=qs[_0x4251('0x21')](_0x30d2ca[_0x4251('0x37')]['offset']);}_0x5c9b87[_0x4251('0x3c')]=qs['sort'](_0x30d2ca[_0x4251('0x37')][_0x4251('0x3d')]);_0x5c9b87[_0x4251('0x3e')]=qs[_0x4251('0x35')](_[_0x4251('0x3f')](_0x30d2ca[_0x4251('0x37')],_0x470bee[_0x4251('0x35')]),_0x23e190);if(_0x30d2ca[_0x4251('0x37')][_0x4251('0x40')]){_0x5c9b87['where']=_[_0x4251('0x41')](_0x5c9b87[_0x4251('0x3e')],{'$or':_['map'](_0x23e190,function(_0x3b2e56){if(_0x3b2e56['type']!=='VIRTUAL'){var _0x2863b8={};_0x2863b8[_0x3b2e56[_0x4251('0x2f')]]={'$like':'%'+_0x30d2ca[_0x4251('0x37')][_0x4251('0x40')]+'%'};return _0x2863b8;}})});}_0x5c9b87=_[_0x4251('0x41')]({},_0x5c9b87,_0x30d2ca[_0x4251('0x42')]);var _0x12f300={'where':_0x5c9b87['where']};return db[_0x4251('0x43')][_0x4251('0x20')](_0x12f300)[_0x4251('0x28')](function(_0x2da29c){_0x3a635f[_0x4251('0x20')]=_0x2da29c;if(_0x30d2ca[_0x4251('0x37')]['includeAll']){_0x5c9b87[_0x4251('0x44')]=[{'all':!![]}];}return db['Variable'][_0x4251('0x45')](_0x5c9b87);})['then'](function(_0x144eef){_0x3a635f[_0x4251('0x46')]=_0x144eef;return _0x3a635f;})[_0x4251('0x28')](respondWithFilteredResult(_0x48f18d,_0x5c9b87))[_0x4251('0x47')](handleError(_0x48f18d,null));};exports[_0x4251('0x48')]=function(_0x1b6365,_0x31d33e){var _0x56285c={'raw':!![],'where':{'id':_0x1b6365['params']['id']}},_0x8b75fa={};_0x8b75fa[_0x4251('0x33')]=_['keys'](db[_0x4251('0x43')][_0x4251('0x31')]);_0x8b75fa[_0x4251('0x37')]=_['keys'](_0x1b6365[_0x4251('0x37')]);_0x8b75fa[_0x4251('0x35')]=_['intersection'](_0x8b75fa[_0x4251('0x33')],_0x8b75fa['query']);_0x56285c['attributes']=_['intersection'](_0x8b75fa[_0x4251('0x33')],qs[_0x4251('0x39')](_0x1b6365[_0x4251('0x37')][_0x4251('0x39')]));_0x56285c[_0x4251('0x38')]=_0x56285c[_0x4251('0x38')][_0x4251('0x3a')]?_0x56285c[_0x4251('0x38')]:_0x8b75fa[_0x4251('0x33')];if(_0x1b6365[_0x4251('0x37')]['includeAll']){_0x56285c[_0x4251('0x44')]=[{'all':!![]}];}_0x56285c=_[_0x4251('0x41')]({},_0x56285c,_0x1b6365[_0x4251('0x42')]);return db['Variable']['find'](_0x56285c)[_0x4251('0x28')](handleEntityNotFound(_0x31d33e,null))[_0x4251('0x28')](respondWithResult(_0x31d33e,null))[_0x4251('0x47')](handleError(_0x31d33e,null));};exports['create']=function(_0x5c3d0d,_0x11f268){return db[_0x4251('0x43')]['create'](_0x5c3d0d[_0x4251('0x49')],{})[_0x4251('0x28')](function(_0x51e996){var _0x5d50fe=_0x5c3d0d[_0x4251('0x4a')][_0x4251('0x2a')]({'plain':!![]});if(!_0x5d50fe)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5d50fe[_0x4251('0x4b')]===_0x4251('0x4a')){var _0x57623a=_0x51e996['get']({'plain':!![]});var _0x29e6ab=_0x4251('0x2b');return db[_0x4251('0x4c')][_0x4251('0x4d')]({'where':{'name':_0x29e6ab,'userProfileId':_0x5d50fe[_0x4251('0x4e')]},'raw':!![]})[_0x4251('0x28')](function(_0x1c9cc4){if(_0x1c9cc4&&_0x1c9cc4[_0x4251('0x4f')]===0x0){return db[_0x4251('0x2c')]['create']({'name':_0x57623a[_0x4251('0x2f')],'resourceId':_0x57623a['id'],'type':_0x1c9cc4[_0x4251('0x2f')],'sectionId':_0x1c9cc4['id']},{})['then'](function(){return _0x51e996;});}else{return _0x51e996;}})[_0x4251('0x47')](function(_0x1f941c){logger[_0x4251('0x2d')](_0x4251('0x50'),_0x1f941c);throw _0x1f941c;});}return _0x51e996;})[_0x4251('0x28')](respondWithResult(_0x11f268,0xc9))['catch'](handleError(_0x11f268,null));};exports[_0x4251('0x27')]=function(_0x546c89,_0x3b60ed){if(_0x546c89[_0x4251('0x49')]['id']){delete _0x546c89[_0x4251('0x49')]['id'];}return db['Variable'][_0x4251('0x4d')]({'where':{'id':_0x546c89[_0x4251('0x51')]['id']}})['then'](handleEntityNotFound(_0x3b60ed,null))[_0x4251('0x28')](saveUpdates(_0x546c89['body'],null))[_0x4251('0x28')](respondWithResult(_0x3b60ed,null))['catch'](handleError(_0x3b60ed,null));};exports[_0x4251('0x29')]=function(_0x50b629,_0x2f9957){return db[_0x4251('0x43')][_0x4251('0x4d')]({'where':{'id':_0x50b629[_0x4251('0x51')]['id']}})['then'](handleEntityNotFound(_0x2f9957,null))[_0x4251('0x28')](removeEntity(_0x2f9957,null))[_0x4251('0x47')](handleError(_0x2f9957,null));};