Built motion from commit (unavailable).|2.5.1
[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 _0x7264=['index','map','Variable','type','key','keys','query','filters','intersection','attributes','model','fields','length','nolimit','order','sort','where','filter','merge','includeAll','findAll','rows','catch','show','params','rawAttributes','include','options','find','create','body','user','get','role','UserProfileSection','userProfileId','autoAssociation','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','then','destroy','Variables','UserProfileResource','error','stack','name','send'];(function(_0x346a1b,_0x3503b5){var _0x2b569b=function(_0xe69649){while(--_0xe69649){_0x346a1b['push'](_0x346a1b['shift']());}};_0x2b569b(++_0x3503b5);}(_0x7264,0x1b5));var _0x4726=function(_0x6131cd,_0x4c26a1){_0x6131cd=_0x6131cd-0x0;var _0x47e916=_0x7264[_0x6131cd];return _0x47e916;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x4726('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4726('0x1'));var jsonpatch=require(_0x4726('0x2'));var rp=require(_0x4726('0x3'));var moment=require('moment');var BPromise=require(_0x4726('0x4'));var Mustache=require(_0x4726('0x5'));var util=require(_0x4726('0x6'));var path=require(_0x4726('0x7'));var sox=require(_0x4726('0x8'));var csv=require(_0x4726('0x9'));var ejs=require(_0x4726('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x4726('0xb'));var crypto=require(_0x4726('0xc'));var jsforce=require(_0x4726('0xd'));var deskjs=require(_0x4726('0xe'));var toCsv=require(_0x4726('0x9'));var querystring=require('querystring');var Papa=require(_0x4726('0xf'));var Redis=require(_0x4726('0x10'));var authService=require(_0x4726('0x11'));var qs=require(_0x4726('0x12'));var as=require(_0x4726('0x13'));var hardwareService=require(_0x4726('0x14'));var logger=require(_0x4726('0x15'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x4726('0x16'))['db'];function respondWithStatusCode(_0x58f593,_0x521aef){_0x521aef=_0x521aef||0xcc;return function(_0x1378ac){if(_0x1378ac){return _0x58f593[_0x4726('0x17')](_0x521aef);}return _0x58f593[_0x4726('0x18')](_0x521aef)[_0x4726('0x19')]();};}function respondWithResult(_0x2ccecf,_0x37971a){_0x37971a=_0x37971a||0xc8;return function(_0xffa9d2){if(_0xffa9d2){return _0x2ccecf[_0x4726('0x18')](_0x37971a)[_0x4726('0x1a')](_0xffa9d2);}};}function respondWithFilteredResult(_0x118193,_0x5d189e){return function(_0x152620){if(_0x152620){var _0x36d121=_0x152620[_0x4726('0x1b')],_0x589d6a=_0x5d189e[_0x4726('0x1c')],_0x131c0c=_0x5d189e[_0x4726('0x1c')]+_0x5d189e[_0x4726('0x1d')],_0x3d47b5;if(_0x131c0c>=_0x36d121){_0x131c0c=_0x36d121;_0x3d47b5=0xc8;}else{_0x3d47b5=0xce;}_0x118193[_0x4726('0x18')](_0x3d47b5);return _0x118193['set'](_0x4726('0x1e'),_0x589d6a+'-'+_0x131c0c+'/'+_0x36d121)['json'](_0x152620);}return null;};}function patchUpdates(_0x1ef8dd){return function(_0x4aac18){try{jsonpatch[_0x4726('0x1f')](_0x4aac18,_0x1ef8dd,!![]);}catch(_0x373e69){return BPromise[_0x4726('0x20')](_0x373e69);}return _0x4aac18[_0x4726('0x21')]();};}function saveUpdates(_0x3c9f60,_0x70f49b){return function(_0x2b02ba){if(_0x2b02ba){return _0x2b02ba[_0x4726('0x22')](_0x3c9f60)[_0x4726('0x23')](function(_0xc3e13a){return _0xc3e13a;});}return null;};}function removeEntity(_0x45e8a0,_0x11a18a){return function(_0x1b5d30){if(_0x1b5d30){return _0x1b5d30[_0x4726('0x24')]()['then'](function(){var _0x172e63=_0x1b5d30['get']({'plain':!![]});var _0x2d7c74=_0x4726('0x25');return db[_0x4726('0x26')][_0x4726('0x24')]({'where':{'type':_0x2d7c74,'resourceId':_0x172e63['id']}})[_0x4726('0x23')](function(){return _0x1b5d30;});})[_0x4726('0x23')](function(){_0x45e8a0[_0x4726('0x18')](0xcc)[_0x4726('0x19')]();});}};}function handleEntityNotFound(_0x277fc3,_0x2f1d54){return function(_0x518e53){if(!_0x518e53){_0x277fc3['sendStatus'](0x194);}return _0x518e53;};}function handleError(_0x5f44a3,_0x4579df){_0x4579df=_0x4579df||0x1f4;return function(_0x507b41){logger[_0x4726('0x27')](_0x507b41[_0x4726('0x28')]);if(_0x507b41['name']){delete _0x507b41[_0x4726('0x29')];}_0x5f44a3[_0x4726('0x18')](_0x4579df)[_0x4726('0x2a')](_0x507b41);};}exports[_0x4726('0x2b')]=function(_0x36f495,_0x3747c3){var _0x5b9661={},_0x23fce6={},_0x3607ec={'count':0x0,'rows':[]};var _0x928148=_[_0x4726('0x2c')](db[_0x4726('0x2d')]['rawAttributes'],function(_0x5a48bd){return{'name':_0x5a48bd['fieldName'],'type':_0x5a48bd[_0x4726('0x2e')][_0x4726('0x2f')]};});_0x23fce6['model']=_[_0x4726('0x2c')](_0x928148,_0x4726('0x29'));_0x23fce6['query']=_[_0x4726('0x30')](_0x36f495[_0x4726('0x31')]);_0x23fce6[_0x4726('0x32')]=_[_0x4726('0x33')](_0x23fce6['model'],_0x23fce6[_0x4726('0x31')]);_0x5b9661[_0x4726('0x34')]=_[_0x4726('0x33')](_0x23fce6[_0x4726('0x35')],qs[_0x4726('0x36')](_0x36f495[_0x4726('0x31')][_0x4726('0x36')]));_0x5b9661[_0x4726('0x34')]=_0x5b9661[_0x4726('0x34')][_0x4726('0x37')]?_0x5b9661[_0x4726('0x34')]:_0x23fce6[_0x4726('0x35')];if(!_0x36f495['query']['hasOwnProperty'](_0x4726('0x38'))){_0x5b9661['limit']=qs[_0x4726('0x1d')](_0x36f495[_0x4726('0x31')][_0x4726('0x1d')]);_0x5b9661['offset']=qs[_0x4726('0x1c')](_0x36f495[_0x4726('0x31')][_0x4726('0x1c')]);}_0x5b9661[_0x4726('0x39')]=qs[_0x4726('0x3a')](_0x36f495['query'][_0x4726('0x3a')]);_0x5b9661[_0x4726('0x3b')]=qs[_0x4726('0x32')](_['pick'](_0x36f495[_0x4726('0x31')],_0x23fce6['filters']),_0x928148);if(_0x36f495[_0x4726('0x31')][_0x4726('0x3c')]){_0x5b9661[_0x4726('0x3b')]=_[_0x4726('0x3d')](_0x5b9661[_0x4726('0x3b')],{'$or':_[_0x4726('0x2c')](_0x928148,function(_0x71a877){if(_0x71a877[_0x4726('0x2e')]!=='VIRTUAL'){var _0x1196e4={};_0x1196e4[_0x71a877[_0x4726('0x29')]]={'$like':'%'+_0x36f495[_0x4726('0x31')][_0x4726('0x3c')]+'%'};return _0x1196e4;}})});}_0x5b9661=_[_0x4726('0x3d')]({},_0x5b9661,_0x36f495['options']);var _0x418a9f={'where':_0x5b9661[_0x4726('0x3b')]};return db[_0x4726('0x2d')][_0x4726('0x1b')](_0x418a9f)[_0x4726('0x23')](function(_0x437724){_0x3607ec[_0x4726('0x1b')]=_0x437724;if(_0x36f495[_0x4726('0x31')][_0x4726('0x3e')]){_0x5b9661['include']=[{'all':!![]}];}return db[_0x4726('0x2d')][_0x4726('0x3f')](_0x5b9661);})['then'](function(_0x24c943){_0x3607ec[_0x4726('0x40')]=_0x24c943;return _0x3607ec;})[_0x4726('0x23')](respondWithFilteredResult(_0x3747c3,_0x5b9661))[_0x4726('0x41')](handleError(_0x3747c3,null));};exports[_0x4726('0x42')]=function(_0x2324c4,_0x3e59a3){var _0x320c77={'raw':!![],'where':{'id':_0x2324c4[_0x4726('0x43')]['id']}},_0x2e03e7={};_0x2e03e7[_0x4726('0x35')]=_[_0x4726('0x30')](db['Variable'][_0x4726('0x44')]);_0x2e03e7[_0x4726('0x31')]=_[_0x4726('0x30')](_0x2324c4[_0x4726('0x31')]);_0x2e03e7[_0x4726('0x32')]=_[_0x4726('0x33')](_0x2e03e7[_0x4726('0x35')],_0x2e03e7[_0x4726('0x31')]);_0x320c77['attributes']=_[_0x4726('0x33')](_0x2e03e7[_0x4726('0x35')],qs[_0x4726('0x36')](_0x2324c4['query'][_0x4726('0x36')]));_0x320c77[_0x4726('0x34')]=_0x320c77[_0x4726('0x34')][_0x4726('0x37')]?_0x320c77[_0x4726('0x34')]:_0x2e03e7[_0x4726('0x35')];if(_0x2324c4[_0x4726('0x31')][_0x4726('0x3e')]){_0x320c77[_0x4726('0x45')]=[{'all':!![]}];}_0x320c77=_[_0x4726('0x3d')]({},_0x320c77,_0x2324c4[_0x4726('0x46')]);return db[_0x4726('0x2d')][_0x4726('0x47')](_0x320c77)['then'](handleEntityNotFound(_0x3e59a3,null))[_0x4726('0x23')](respondWithResult(_0x3e59a3,null))[_0x4726('0x41')](handleError(_0x3e59a3,null));};exports[_0x4726('0x48')]=function(_0x48f197,_0x2af810){return db[_0x4726('0x2d')][_0x4726('0x48')](_0x48f197[_0x4726('0x49')],{})[_0x4726('0x23')](function(_0x10696f){var _0x541bf0=_0x48f197[_0x4726('0x4a')][_0x4726('0x4b')]({'plain':!![]});if(!_0x541bf0)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x541bf0[_0x4726('0x4c')]===_0x4726('0x4a')){var _0xd6e321=_0x10696f[_0x4726('0x4b')]({'plain':!![]});var _0x4b8cc7=_0x4726('0x25');return db[_0x4726('0x4d')][_0x4726('0x47')]({'where':{'name':_0x4b8cc7,'userProfileId':_0x541bf0[_0x4726('0x4e')]},'raw':!![]})[_0x4726('0x23')](function(_0x403615){if(_0x403615&&_0x403615[_0x4726('0x4f')]===0x0){return db[_0x4726('0x26')][_0x4726('0x48')]({'name':_0xd6e321['name'],'resourceId':_0xd6e321['id'],'type':_0x403615[_0x4726('0x29')],'sectionId':_0x403615['id']},{})[_0x4726('0x23')](function(){return _0x10696f;});}else{return _0x10696f;}})[_0x4726('0x41')](function(_0x342345){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x342345);throw _0x342345;});}return _0x10696f;})[_0x4726('0x23')](respondWithResult(_0x2af810,0xc9))['catch'](handleError(_0x2af810,null));};exports['update']=function(_0x140ecf,_0x40a73a){if(_0x140ecf['body']['id']){delete _0x140ecf[_0x4726('0x49')]['id'];}return db[_0x4726('0x2d')][_0x4726('0x47')]({'where':{'id':_0x140ecf[_0x4726('0x43')]['id']}})[_0x4726('0x23')](handleEntityNotFound(_0x40a73a,null))[_0x4726('0x23')](saveUpdates(_0x140ecf['body'],null))[_0x4726('0x23')](respondWithResult(_0x40a73a,null))[_0x4726('0x41')](handleError(_0x40a73a,null));};exports['destroy']=function(_0x25a7c9,_0x3644e8){return db[_0x4726('0x2d')][_0x4726('0x47')]({'where':{'id':_0x25a7c9['params']['id']}})[_0x4726('0x23')](handleEntityNotFound(_0x3644e8,null))[_0x4726('0x23')](removeEntity(_0x3644e8,null))[_0x4726('0x41')](handleError(_0x3644e8,null));};