Built motion from commit a679711e.|2.6.15
[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 _0x2e82=['keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','merge','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','body','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','then','get','Variables','UserProfileResource','destroy','error','stack','name','send','index','map','Variable','rawAttributes','fieldName','type','key','model'];(function(_0x1014e0,_0x446f45){var _0x287355=function(_0x280f69){while(--_0x280f69){_0x1014e0['push'](_0x1014e0['shift']());}};_0x287355(++_0x446f45);}(_0x2e82,0x76));var _0x22e8=function(_0x2894cc,_0x33d28d){_0x2894cc=_0x2894cc-0x0;var _0xab0a4e=_0x2e82[_0x2894cc];return _0xab0a4e;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x22e8('0x0'));var jsonpatch=require(_0x22e8('0x1'));var rp=require(_0x22e8('0x2'));var moment=require('moment');var BPromise=require(_0x22e8('0x3'));var Mustache=require(_0x22e8('0x4'));var util=require(_0x22e8('0x5'));var path=require(_0x22e8('0x6'));var sox=require(_0x22e8('0x7'));var csv=require(_0x22e8('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x22e8('0x9'));var _=require(_0x22e8('0xa'));var squel=require(_0x22e8('0xb'));var crypto=require(_0x22e8('0xc'));var jsforce=require(_0x22e8('0xd'));var deskjs=require(_0x22e8('0xe'));var toCsv=require(_0x22e8('0x8'));var querystring=require(_0x22e8('0xf'));var Papa=require(_0x22e8('0x10'));var Redis=require(_0x22e8('0x11'));var authService=require(_0x22e8('0x12'));var qs=require(_0x22e8('0x13'));var as=require(_0x22e8('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x22e8('0x15'))(_0x22e8('0x16'));var utils=require(_0x22e8('0x17'));var config=require(_0x22e8('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x22e8('0x19'))['db'];function respondWithStatusCode(_0x2ab1a7,_0x5b8c50){_0x5b8c50=_0x5b8c50||0xcc;return function(_0x21f9ff){if(_0x21f9ff){return _0x2ab1a7[_0x22e8('0x1a')](_0x5b8c50);}return _0x2ab1a7[_0x22e8('0x1b')](_0x5b8c50)[_0x22e8('0x1c')]();};}function respondWithResult(_0x55e26c,_0x15da64){_0x15da64=_0x15da64||0xc8;return function(_0x5505af){if(_0x5505af){return _0x55e26c[_0x22e8('0x1b')](_0x15da64)[_0x22e8('0x1d')](_0x5505af);}};}function respondWithFilteredResult(_0x12bf1d,_0x4901b4){return function(_0x574f82){if(_0x574f82){var _0x3ceb89=typeof _0x4901b4[_0x22e8('0x1e')]===_0x22e8('0x1f')&&typeof _0x4901b4[_0x22e8('0x20')]===_0x22e8('0x1f');var _0x453c4e=_0x574f82[_0x22e8('0x21')];var _0x18fd71=_0x3ceb89?0x0:_0x4901b4[_0x22e8('0x1e')];var _0x853d7e=_0x3ceb89?_0x574f82[_0x22e8('0x21')]:_0x4901b4['offset']+_0x4901b4['limit'];var _0x34be47;if(_0x853d7e>=_0x453c4e){_0x853d7e=_0x453c4e;_0x34be47=0xc8;}else{_0x34be47=0xce;}_0x12bf1d[_0x22e8('0x1b')](_0x34be47);return _0x12bf1d[_0x22e8('0x22')]('Content-Range',_0x18fd71+'-'+_0x853d7e+'/'+_0x453c4e)['json'](_0x574f82);}return null;};}function patchUpdates(_0x187557){return function(_0x189785){try{jsonpatch[_0x22e8('0x23')](_0x189785,_0x187557,!![]);}catch(_0x220f94){return BPromise[_0x22e8('0x24')](_0x220f94);}return _0x189785[_0x22e8('0x25')]();};}function saveUpdates(_0x302101,_0x3447a8){return function(_0x50aa0a){if(_0x50aa0a){return _0x50aa0a[_0x22e8('0x26')](_0x302101)[_0x22e8('0x27')](function(_0x46ce0a){return _0x46ce0a;});}return null;};}function removeEntity(_0x447d7c,_0x42d0e7){return function(_0x4af68d){if(_0x4af68d){return _0x4af68d['destroy']()[_0x22e8('0x27')](function(){var _0x2909ec=_0x4af68d[_0x22e8('0x28')]({'plain':!![]});var _0x3593be=_0x22e8('0x29');return db[_0x22e8('0x2a')][_0x22e8('0x2b')]({'where':{'type':_0x3593be,'resourceId':_0x2909ec['id']}})[_0x22e8('0x27')](function(){return _0x4af68d;});})[_0x22e8('0x27')](function(){_0x447d7c['status'](0xcc)[_0x22e8('0x1c')]();});}};}function handleEntityNotFound(_0x15726a,_0x320e22){return function(_0x4d025f){if(!_0x4d025f){_0x15726a[_0x22e8('0x1a')](0x194);}return _0x4d025f;};}function handleError(_0x227205,_0x546a68){_0x546a68=_0x546a68||0x1f4;return function(_0x463e6b){logger[_0x22e8('0x2c')](_0x463e6b[_0x22e8('0x2d')]);if(_0x463e6b[_0x22e8('0x2e')]){delete _0x463e6b[_0x22e8('0x2e')];}_0x227205[_0x22e8('0x1b')](_0x546a68)[_0x22e8('0x2f')](_0x463e6b);};}exports[_0x22e8('0x30')]=function(_0x15c0be,_0x33af5a){var _0x4ee9ff={},_0x502086={},_0x4a33e2={'count':0x0,'rows':[]};var _0x10c7e0=_[_0x22e8('0x31')](db[_0x22e8('0x32')][_0x22e8('0x33')],function(_0x565063){return{'name':_0x565063[_0x22e8('0x34')],'type':_0x565063[_0x22e8('0x35')][_0x22e8('0x36')]};});_0x502086[_0x22e8('0x37')]=_['map'](_0x10c7e0,_0x22e8('0x2e'));_0x502086['query']=_[_0x22e8('0x38')](_0x15c0be[_0x22e8('0x39')]);_0x502086['filters']=_[_0x22e8('0x3a')](_0x502086[_0x22e8('0x37')],_0x502086[_0x22e8('0x39')]);_0x4ee9ff[_0x22e8('0x3b')]=_[_0x22e8('0x3a')](_0x502086[_0x22e8('0x37')],qs[_0x22e8('0x3c')](_0x15c0be[_0x22e8('0x39')][_0x22e8('0x3c')]));_0x4ee9ff[_0x22e8('0x3b')]=_0x4ee9ff[_0x22e8('0x3b')][_0x22e8('0x3d')]?_0x4ee9ff[_0x22e8('0x3b')]:_0x502086[_0x22e8('0x37')];if(!_0x15c0be[_0x22e8('0x39')][_0x22e8('0x3e')](_0x22e8('0x3f'))){_0x4ee9ff[_0x22e8('0x20')]=qs[_0x22e8('0x20')](_0x15c0be[_0x22e8('0x39')][_0x22e8('0x20')]);_0x4ee9ff[_0x22e8('0x1e')]=qs[_0x22e8('0x1e')](_0x15c0be['query']['offset']);}_0x4ee9ff[_0x22e8('0x40')]=qs[_0x22e8('0x41')](_0x15c0be['query'][_0x22e8('0x41')]);_0x4ee9ff[_0x22e8('0x42')]=qs[_0x22e8('0x43')](_[_0x22e8('0x44')](_0x15c0be[_0x22e8('0x39')],_0x502086[_0x22e8('0x43')]),_0x10c7e0);if(_0x15c0be['query'][_0x22e8('0x45')]){_0x4ee9ff[_0x22e8('0x42')]=_['merge'](_0x4ee9ff[_0x22e8('0x42')],{'$or':_[_0x22e8('0x31')](_0x10c7e0,function(_0xa408f0){if(_0xa408f0[_0x22e8('0x35')]!==_0x22e8('0x46')){var _0x34d803={};_0x34d803[_0xa408f0[_0x22e8('0x2e')]]={'$like':'%'+_0x15c0be[_0x22e8('0x39')][_0x22e8('0x45')]+'%'};return _0x34d803;}})});}_0x4ee9ff=_['merge']({},_0x4ee9ff,_0x15c0be['options']);var _0x56f1f7={'where':_0x4ee9ff[_0x22e8('0x42')]};return db[_0x22e8('0x32')][_0x22e8('0x21')](_0x56f1f7)[_0x22e8('0x27')](function(_0x3d1f8c){_0x4a33e2[_0x22e8('0x21')]=_0x3d1f8c;if(_0x15c0be[_0x22e8('0x39')][_0x22e8('0x47')]){_0x4ee9ff[_0x22e8('0x48')]=[{'all':!![]}];}return db['Variable'][_0x22e8('0x49')](_0x4ee9ff);})[_0x22e8('0x27')](function(_0xa1e843){_0x4a33e2[_0x22e8('0x4a')]=_0xa1e843;return _0x4a33e2;})[_0x22e8('0x27')](respondWithFilteredResult(_0x33af5a,_0x4ee9ff))[_0x22e8('0x4b')](handleError(_0x33af5a,null));};exports[_0x22e8('0x4c')]=function(_0x281f18,_0x4e7a4f){var _0x3c1223={'raw':!![],'where':{'id':_0x281f18[_0x22e8('0x4d')]['id']}},_0x874b64={};_0x874b64[_0x22e8('0x37')]=_[_0x22e8('0x38')](db[_0x22e8('0x32')]['rawAttributes']);_0x874b64['query']=_['keys'](_0x281f18['query']);_0x874b64[_0x22e8('0x43')]=_[_0x22e8('0x3a')](_0x874b64[_0x22e8('0x37')],_0x874b64[_0x22e8('0x39')]);_0x3c1223[_0x22e8('0x3b')]=_[_0x22e8('0x3a')](_0x874b64['model'],qs[_0x22e8('0x3c')](_0x281f18[_0x22e8('0x39')]['fields']));_0x3c1223[_0x22e8('0x3b')]=_0x3c1223[_0x22e8('0x3b')]['length']?_0x3c1223[_0x22e8('0x3b')]:_0x874b64[_0x22e8('0x37')];if(_0x281f18[_0x22e8('0x39')][_0x22e8('0x47')]){_0x3c1223[_0x22e8('0x48')]=[{'all':!![]}];}_0x3c1223=_[_0x22e8('0x4e')]({},_0x3c1223,_0x281f18[_0x22e8('0x4f')]);return db[_0x22e8('0x32')][_0x22e8('0x50')](_0x3c1223)[_0x22e8('0x27')](handleEntityNotFound(_0x4e7a4f,null))['then'](respondWithResult(_0x4e7a4f,null))[_0x22e8('0x4b')](handleError(_0x4e7a4f,null));};exports[_0x22e8('0x51')]=function(_0x2624ea,_0x57d86b){return db[_0x22e8('0x32')][_0x22e8('0x51')](_0x2624ea['body'],{})['then'](function(_0x35e592){var _0x4ed5c6=_0x2624ea[_0x22e8('0x52')][_0x22e8('0x28')]({'plain':!![]});if(!_0x4ed5c6)throw new Error(_0x22e8('0x53'));if(_0x4ed5c6[_0x22e8('0x54')]==='user'){var _0x14a6e0=_0x35e592[_0x22e8('0x28')]({'plain':!![]});var _0x3fb751=_0x22e8('0x29');return db['UserProfileSection'][_0x22e8('0x50')]({'where':{'name':_0x3fb751,'userProfileId':_0x4ed5c6[_0x22e8('0x55')]},'raw':!![]})[_0x22e8('0x27')](function(_0x9ee53e){if(_0x9ee53e&&_0x9ee53e['autoAssociation']===0x0){return db[_0x22e8('0x2a')][_0x22e8('0x51')]({'name':_0x14a6e0[_0x22e8('0x2e')],'resourceId':_0x14a6e0['id'],'type':_0x9ee53e[_0x22e8('0x2e')],'sectionId':_0x9ee53e['id']},{})[_0x22e8('0x27')](function(){return _0x35e592;});}else{return _0x35e592;}})[_0x22e8('0x4b')](function(_0x46994d){logger[_0x22e8('0x2c')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x46994d);throw _0x46994d;});}return _0x35e592;})[_0x22e8('0x27')](respondWithResult(_0x57d86b,0xc9))[_0x22e8('0x4b')](handleError(_0x57d86b,null));};exports[_0x22e8('0x26')]=function(_0x16c879,_0x22e572){if(_0x16c879[_0x22e8('0x56')]['id']){delete _0x16c879[_0x22e8('0x56')]['id'];}return db[_0x22e8('0x32')][_0x22e8('0x50')]({'where':{'id':_0x16c879[_0x22e8('0x4d')]['id']}})[_0x22e8('0x27')](handleEntityNotFound(_0x22e572,null))[_0x22e8('0x27')](saveUpdates(_0x16c879['body'],null))[_0x22e8('0x27')](respondWithResult(_0x22e572,null))[_0x22e8('0x4b')](handleError(_0x22e572,null));};exports['destroy']=function(_0x5afa5e,_0x471629){return db[_0x22e8('0x32')][_0x22e8('0x50')]({'where':{'id':_0x5afa5e[_0x22e8('0x4d')]['id']}})['then'](handleEntityNotFound(_0x471629,null))['then'](removeEntity(_0x471629,null))[_0x22e8('0x4b')](handleError(_0x471629,null));};