Built motion from commit (unavailable).|2.5.23
[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 _0x1bb2=['sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','Content-Range','apply','save','then','destroy','get','Variables','UserProfileResource','error','stack','send','index','map','rawAttributes','fieldName','type','model','name','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','where','merge','options','count','includeAll','include','Variable','findAll','rows','show','find','catch','create','body','role','user','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path'];(function(_0x5dd181,_0x1eac8b){var _0x27cc98=function(_0x5814ce){while(--_0x5814ce){_0x5dd181['push'](_0x5dd181['shift']());}};_0x27cc98(++_0x1eac8b);}(_0x1bb2,0x1d7));var _0x21bb=function(_0x4acf70,_0x3b80ac){_0x4acf70=_0x4acf70-0x0;var _0x23aa87=_0x1bb2[_0x4acf70];return _0x23aa87;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x21bb('0x0'));var rimraf=require(_0x21bb('0x1'));var zipdir=require(_0x21bb('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x21bb('0x3'));var moment=require(_0x21bb('0x4'));var BPromise=require(_0x21bb('0x5'));var Mustache=require(_0x21bb('0x6'));var util=require(_0x21bb('0x7'));var path=require(_0x21bb('0x8'));var sox=require(_0x21bb('0x9'));var csv=require(_0x21bb('0xa'));var ejs=require(_0x21bb('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x21bb('0xc'));var crypto=require(_0x21bb('0xd'));var jsforce=require(_0x21bb('0xe'));var deskjs=require(_0x21bb('0xf'));var toCsv=require(_0x21bb('0xa'));var querystring=require(_0x21bb('0x10'));var Papa=require(_0x21bb('0x11'));var Redis=require(_0x21bb('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x21bb('0x13'));var hardwareService=require(_0x21bb('0x14'));var logger=require('../../config/logger')(_0x21bb('0x15'));var utils=require(_0x21bb('0x16'));var config=require(_0x21bb('0x17'));var licenseUtil=require(_0x21bb('0x18'));var db=require(_0x21bb('0x19'))['db'];function respondWithStatusCode(_0x4be284,_0x186b8f){_0x186b8f=_0x186b8f||0xcc;return function(_0x2c29be){if(_0x2c29be){return _0x4be284[_0x21bb('0x1a')](_0x186b8f);}return _0x4be284[_0x21bb('0x1b')](_0x186b8f)[_0x21bb('0x1c')]();};}function respondWithResult(_0x12b534,_0x5cf1f3){_0x5cf1f3=_0x5cf1f3||0xc8;return function(_0x46948e){if(_0x46948e){return _0x12b534['status'](_0x5cf1f3)[_0x21bb('0x1d')](_0x46948e);}};}function respondWithFilteredResult(_0x39affb,_0x1787e1){return function(_0x586a52){if(_0x586a52){var _0x4a4608=_0x586a52['count'],_0x562be0=_0x1787e1[_0x21bb('0x1e')],_0x596e99=_0x1787e1['offset']+_0x1787e1[_0x21bb('0x1f')],_0x3e3208;if(_0x596e99>=_0x4a4608){_0x596e99=_0x4a4608;_0x3e3208=0xc8;}else{_0x3e3208=0xce;}_0x39affb['status'](_0x3e3208);return _0x39affb['set'](_0x21bb('0x20'),_0x562be0+'-'+_0x596e99+'/'+_0x4a4608)[_0x21bb('0x1d')](_0x586a52);}return null;};}function patchUpdates(_0x471438){return function(_0x280066){try{jsonpatch[_0x21bb('0x21')](_0x280066,_0x471438,!![]);}catch(_0x6d9acf){return BPromise['reject'](_0x6d9acf);}return _0x280066[_0x21bb('0x22')]();};}function saveUpdates(_0x389b3c,_0x36bde1){return function(_0x2625ca){if(_0x2625ca){return _0x2625ca['update'](_0x389b3c)[_0x21bb('0x23')](function(_0x54a4cc){return _0x54a4cc;});}return null;};}function removeEntity(_0xaacd5b,_0x289b0d){return function(_0x3406d6){if(_0x3406d6){return _0x3406d6[_0x21bb('0x24')]()['then'](function(){var _0x342bfb=_0x3406d6[_0x21bb('0x25')]({'plain':!![]});var _0x29b2a6=_0x21bb('0x26');return db[_0x21bb('0x27')][_0x21bb('0x24')]({'where':{'type':_0x29b2a6,'resourceId':_0x342bfb['id']}})['then'](function(){return _0x3406d6;});})[_0x21bb('0x23')](function(){_0xaacd5b['status'](0xcc)[_0x21bb('0x1c')]();});}};}function handleEntityNotFound(_0x384941,_0x5f086c){return function(_0x317286){if(!_0x317286){_0x384941[_0x21bb('0x1a')](0x194);}return _0x317286;};}function handleError(_0x544f08,_0x46a2ba){_0x46a2ba=_0x46a2ba||0x1f4;return function(_0x555529){logger[_0x21bb('0x28')](_0x555529[_0x21bb('0x29')]);if(_0x555529['name']){delete _0x555529['name'];}_0x544f08[_0x21bb('0x1b')](_0x46a2ba)[_0x21bb('0x2a')](_0x555529);};}exports[_0x21bb('0x2b')]=function(_0x461995,_0x5668dc){var _0x53c239={},_0x30e1a9={},_0x124b20={'count':0x0,'rows':[]};var _0x53517b=_[_0x21bb('0x2c')](db['Variable'][_0x21bb('0x2d')],function(_0x4532a8){return{'name':_0x4532a8[_0x21bb('0x2e')],'type':_0x4532a8[_0x21bb('0x2f')]['key']};});_0x30e1a9[_0x21bb('0x30')]=_['map'](_0x53517b,_0x21bb('0x31'));_0x30e1a9[_0x21bb('0x32')]=_[_0x21bb('0x33')](_0x461995['query']);_0x30e1a9[_0x21bb('0x34')]=_[_0x21bb('0x35')](_0x30e1a9[_0x21bb('0x30')],_0x30e1a9['query']);_0x53c239[_0x21bb('0x36')]=_[_0x21bb('0x35')](_0x30e1a9[_0x21bb('0x30')],qs[_0x21bb('0x37')](_0x461995[_0x21bb('0x32')][_0x21bb('0x37')]));_0x53c239[_0x21bb('0x36')]=_0x53c239[_0x21bb('0x36')][_0x21bb('0x38')]?_0x53c239[_0x21bb('0x36')]:_0x30e1a9[_0x21bb('0x30')];if(!_0x461995['query'][_0x21bb('0x39')](_0x21bb('0x3a'))){_0x53c239[_0x21bb('0x1f')]=qs[_0x21bb('0x1f')](_0x461995[_0x21bb('0x32')][_0x21bb('0x1f')]);_0x53c239[_0x21bb('0x1e')]=qs[_0x21bb('0x1e')](_0x461995['query'][_0x21bb('0x1e')]);}_0x53c239['order']=qs['sort'](_0x461995['query'][_0x21bb('0x3b')]);_0x53c239['where']=qs[_0x21bb('0x34')](_[_0x21bb('0x3c')](_0x461995['query'],_0x30e1a9[_0x21bb('0x34')]),_0x53517b);if(_0x461995[_0x21bb('0x32')]['filter']){_0x53c239[_0x21bb('0x3d')]=_['merge'](_0x53c239[_0x21bb('0x3d')],{'$or':_[_0x21bb('0x2c')](_0x53517b,function(_0x82a5e6){if(_0x82a5e6[_0x21bb('0x2f')]!=='VIRTUAL'){var _0x15e4c9={};_0x15e4c9[_0x82a5e6[_0x21bb('0x31')]]={'$like':'%'+_0x461995[_0x21bb('0x32')]['filter']+'%'};return _0x15e4c9;}})});}_0x53c239=_[_0x21bb('0x3e')]({},_0x53c239,_0x461995[_0x21bb('0x3f')]);var _0x487f2d={'where':_0x53c239[_0x21bb('0x3d')]};return db['Variable']['count'](_0x487f2d)[_0x21bb('0x23')](function(_0x4a355b){_0x124b20[_0x21bb('0x40')]=_0x4a355b;if(_0x461995[_0x21bb('0x32')][_0x21bb('0x41')]){_0x53c239[_0x21bb('0x42')]=[{'all':!![]}];}return db[_0x21bb('0x43')][_0x21bb('0x44')](_0x53c239);})['then'](function(_0x5ae87e){_0x124b20[_0x21bb('0x45')]=_0x5ae87e;return _0x124b20;})[_0x21bb('0x23')](respondWithFilteredResult(_0x5668dc,_0x53c239))['catch'](handleError(_0x5668dc,null));};exports[_0x21bb('0x46')]=function(_0x513b55,_0x5a0035){var _0x210319={'raw':!![],'where':{'id':_0x513b55['params']['id']}},_0x1a1781={};_0x1a1781[_0x21bb('0x30')]=_['keys'](db[_0x21bb('0x43')]['rawAttributes']);_0x1a1781[_0x21bb('0x32')]=_[_0x21bb('0x33')](_0x513b55['query']);_0x1a1781[_0x21bb('0x34')]=_[_0x21bb('0x35')](_0x1a1781[_0x21bb('0x30')],_0x1a1781[_0x21bb('0x32')]);_0x210319[_0x21bb('0x36')]=_[_0x21bb('0x35')](_0x1a1781[_0x21bb('0x30')],qs[_0x21bb('0x37')](_0x513b55[_0x21bb('0x32')][_0x21bb('0x37')]));_0x210319[_0x21bb('0x36')]=_0x210319[_0x21bb('0x36')]['length']?_0x210319[_0x21bb('0x36')]:_0x1a1781[_0x21bb('0x30')];if(_0x513b55[_0x21bb('0x32')][_0x21bb('0x41')]){_0x210319[_0x21bb('0x42')]=[{'all':!![]}];}_0x210319=_[_0x21bb('0x3e')]({},_0x210319,_0x513b55[_0x21bb('0x3f')]);return db[_0x21bb('0x43')][_0x21bb('0x47')](_0x210319)[_0x21bb('0x23')](handleEntityNotFound(_0x5a0035,null))[_0x21bb('0x23')](respondWithResult(_0x5a0035,null))[_0x21bb('0x48')](handleError(_0x5a0035,null));};exports[_0x21bb('0x49')]=function(_0x31eef8,_0x357abc){return db[_0x21bb('0x43')][_0x21bb('0x49')](_0x31eef8[_0x21bb('0x4a')],{})[_0x21bb('0x23')](function(_0x1fa0bf){var _0x137f1e=_0x31eef8['user'][_0x21bb('0x25')]({'plain':!![]});if(!_0x137f1e)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x137f1e[_0x21bb('0x4b')]===_0x21bb('0x4c')){var _0x48b86e=_0x1fa0bf[_0x21bb('0x25')]({'plain':!![]});var _0x37b19c=_0x21bb('0x26');return db['UserProfileSection'][_0x21bb('0x47')]({'where':{'name':_0x37b19c,'userProfileId':_0x137f1e['userProfileId']},'raw':!![]})[_0x21bb('0x23')](function(_0x505930){if(_0x505930&&_0x505930[_0x21bb('0x4d')]===0x0){return db[_0x21bb('0x27')][_0x21bb('0x49')]({'name':_0x48b86e[_0x21bb('0x31')],'resourceId':_0x48b86e['id'],'type':_0x505930['name'],'sectionId':_0x505930['id']},{})[_0x21bb('0x23')](function(){return _0x1fa0bf;});}else{return _0x1fa0bf;}})[_0x21bb('0x48')](function(_0x158f82){logger[_0x21bb('0x28')](_0x21bb('0x4e'),_0x158f82);throw _0x158f82;});}return _0x1fa0bf;})[_0x21bb('0x23')](respondWithResult(_0x357abc,0xc9))[_0x21bb('0x48')](handleError(_0x357abc,null));};exports[_0x21bb('0x4f')]=function(_0x21c8ec,_0x390e64){if(_0x21c8ec[_0x21bb('0x4a')]['id']){delete _0x21c8ec[_0x21bb('0x4a')]['id'];}return db['Variable']['find']({'where':{'id':_0x21c8ec['params']['id']}})[_0x21bb('0x23')](handleEntityNotFound(_0x390e64,null))[_0x21bb('0x23')](saveUpdates(_0x21c8ec[_0x21bb('0x4a')],null))[_0x21bb('0x23')](respondWithResult(_0x390e64,null))[_0x21bb('0x48')](handleError(_0x390e64,null));};exports['destroy']=function(_0x3b3918,_0xe354c2){return db[_0x21bb('0x43')][_0x21bb('0x47')]({'where':{'id':_0x3b3918['params']['id']}})[_0x21bb('0x23')](handleEntityNotFound(_0xe354c2,null))[_0x21bb('0x23')](removeEntity(_0xe354c2,null))[_0x21bb('0x48')](handleError(_0xe354c2,null));};