Built motion from commit (unavailable).|2.4.4
[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 _0xecec=['catch','create','role','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','sendStatus','end','status','json','count','offset','limit','set','apply','reject','update','then','destroy','Variables','UserProfileResource','error','stack','name','index','Variable','rawAttributes','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','map','type','key','field','options','includeAll','findAll','rows','show','params','include','find'];(function(_0x176329,_0x568c84){var _0x31997c=function(_0x3d64df){while(--_0x3d64df){_0x176329['push'](_0x176329['shift']());}};_0x31997c(++_0x568c84);}(_0xecec,0xb1));var _0xcece=function(_0x21eeb4,_0x306590){_0x21eeb4=_0x21eeb4-0x0;var _0x12a3fb=_0xecec[_0x21eeb4];return _0x12a3fb;};'use strict';var pdf=require(_0xcece('0x0'));var emlformat=require(_0xcece('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xcece('0x2'));var jsonpatch=require(_0xcece('0x3'));var rp=require(_0xcece('0x4'));var moment=require(_0xcece('0x5'));var BPromise=require(_0xcece('0x6'));var Mustache=require(_0xcece('0x7'));var util=require(_0xcece('0x8'));var path=require(_0xcece('0x9'));var sox=require(_0xcece('0xa'));var csv=require(_0xcece('0xb'));var ejs=require(_0xcece('0xc'));var fs=require('fs');var _=require(_0xcece('0xd'));var squel=require(_0xcece('0xe'));var crypto=require(_0xcece('0xf'));var jsforce=require(_0xcece('0x10'));var deskjs=require(_0xcece('0x11'));var toCsv=require('to-csv');var querystring=require(_0xcece('0x12'));var Papa=require(_0xcece('0x13'));var Redis=require(_0xcece('0x14'));var authService=require(_0xcece('0x15'));var qs=require(_0xcece('0x16'));var hardwareService=require(_0xcece('0x17'));var logger=require('../../config/logger')(_0xcece('0x18'));var utils=require(_0xcece('0x19'));var config=require(_0xcece('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x6865f2,_0x160b94){_0x160b94=_0x160b94||0xcc;return function(_0x1781d0){if(_0x1781d0){return _0x6865f2[_0xcece('0x1b')](_0x160b94);}return _0x6865f2['status'](_0x160b94)[_0xcece('0x1c')]();};}function respondWithResult(_0x5d8f07,_0x31b8a1){_0x31b8a1=_0x31b8a1||0xc8;return function(_0x30e87c){if(_0x30e87c){return _0x5d8f07[_0xcece('0x1d')](_0x31b8a1)[_0xcece('0x1e')](_0x30e87c);}};}function respondWithFilteredResult(_0x49f062,_0x1488e5){return function(_0x2093ac){if(_0x2093ac){var _0x447f93=_0x2093ac[_0xcece('0x1f')],_0x34a2a8=_0x1488e5[_0xcece('0x20')],_0x34e47d=_0x1488e5['offset']+_0x1488e5[_0xcece('0x21')],_0x3a0f15;if(_0x34e47d>=_0x447f93){_0x34e47d=_0x447f93;_0x3a0f15=0xc8;}else{_0x3a0f15=0xce;}_0x49f062[_0xcece('0x1d')](_0x3a0f15);return _0x49f062[_0xcece('0x22')]('Content-Range',_0x34a2a8+'-'+_0x34e47d+'/'+_0x447f93)[_0xcece('0x1e')](_0x2093ac);}return null;};}function patchUpdates(_0x33f339){return function(_0x8a12af){try{jsonpatch[_0xcece('0x23')](_0x8a12af,_0x33f339,!![]);}catch(_0x3d8dc6){return BPromise[_0xcece('0x24')](_0x3d8dc6);}return _0x8a12af['save']();};}function saveUpdates(_0x2331a5,_0x21f1bd){return function(_0x1c646a){if(_0x1c646a){return _0x1c646a[_0xcece('0x25')](_0x2331a5)[_0xcece('0x26')](function(_0x314606){return _0x314606;});}return null;};}function removeEntity(_0x3e4265,_0x2cace9){return function(_0x4c0bb6){if(_0x4c0bb6){return _0x4c0bb6[_0xcece('0x27')]()[_0xcece('0x26')](function(){var _0x8a39bd=_0x4c0bb6['get']({'plain':!![]});var _0x45f33d=_0xcece('0x28');return db[_0xcece('0x29')][_0xcece('0x27')]({'where':{'type':_0x45f33d,'resourceId':_0x8a39bd['id']}})[_0xcece('0x26')](function(){return _0x4c0bb6;});})[_0xcece('0x26')](function(){_0x3e4265[_0xcece('0x1d')](0xcc)[_0xcece('0x1c')]();});}};}function handleEntityNotFound(_0x6b775b,_0x3f9d45){return function(_0x481425){if(!_0x481425){_0x6b775b[_0xcece('0x1b')](0x194);}return _0x481425;};}function handleError(_0x2363b2,_0x3a1923){_0x3a1923=_0x3a1923||0x1f4;return function(_0x57c51a){logger[_0xcece('0x2a')](_0x57c51a[_0xcece('0x2b')]);if(_0x57c51a[_0xcece('0x2c')]){delete _0x57c51a[_0xcece('0x2c')];}_0x2363b2['status'](_0x3a1923)['send'](_0x57c51a);};}exports[_0xcece('0x2d')]=function(_0x36de68,_0x374fc9){var _0x4cc950={},_0x25f137={},_0x207f63={'count':0x0,'rows':[]};var _0x29404f=db[_0xcece('0x2e')][_0xcece('0x2f')];_0x25f137[_0xcece('0x30')]=_[_0xcece('0x31')](_0x29404f);_0x25f137['query']=_[_0xcece('0x31')](_0x36de68[_0xcece('0x32')]);_0x25f137['filters']=_[_0xcece('0x33')](_0x25f137['model'],_0x25f137['query']);_0x4cc950[_0xcece('0x34')]=_['intersection'](_0x25f137[_0xcece('0x30')],qs[_0xcece('0x35')](_0x36de68[_0xcece('0x32')][_0xcece('0x35')]));_0x4cc950[_0xcece('0x34')]=_0x4cc950['attributes'][_0xcece('0x36')]?_0x4cc950[_0xcece('0x34')]:_0x25f137['model'];if(!_0x36de68['query'][_0xcece('0x37')](_0xcece('0x38'))){_0x4cc950['limit']=qs[_0xcece('0x21')](_0x36de68[_0xcece('0x32')][_0xcece('0x21')]);_0x4cc950[_0xcece('0x20')]=qs[_0xcece('0x20')](_0x36de68[_0xcece('0x32')][_0xcece('0x20')]);}_0x4cc950[_0xcece('0x39')]=qs[_0xcece('0x3a')](_0x36de68[_0xcece('0x32')][_0xcece('0x3a')]);_0x4cc950[_0xcece('0x3b')]=qs[_0xcece('0x3c')](_['pick'](_0x36de68[_0xcece('0x32')],_0x25f137['filters']));if(_0x36de68[_0xcece('0x32')][_0xcece('0x3d')]){_0x4cc950['where']=_[_0xcece('0x3e')](_0x4cc950[_0xcece('0x3b')],{'$or':_[_0xcece('0x3f')](_0x29404f,function(_0x2be1f5){if(_0x2be1f5[_0xcece('0x40')][_0xcece('0x41')]!=='VIRTUAL'){var _0x3d78d3={};_0x3d78d3[_0x2be1f5[_0xcece('0x42')]]={'$like':'%'+_0x36de68[_0xcece('0x32')]['filter']+'%'};return _0x3d78d3;}})});}_0x4cc950=_['merge']({},_0x4cc950,_0x36de68[_0xcece('0x43')]);var _0x3012aa={'where':_0x4cc950[_0xcece('0x3b')]};return db[_0xcece('0x2e')][_0xcece('0x1f')](_0x3012aa)['then'](function(_0x466eb0){_0x207f63[_0xcece('0x1f')]=_0x466eb0;if(_0x36de68[_0xcece('0x32')][_0xcece('0x44')]){_0x4cc950['include']=[{'all':!![]}];}return db['Variable'][_0xcece('0x45')](_0x4cc950);})[_0xcece('0x26')](function(_0xfddc48){_0x207f63[_0xcece('0x46')]=_0xfddc48;return _0x207f63;})['then'](respondWithFilteredResult(_0x374fc9,_0x4cc950))['catch'](handleError(_0x374fc9,null));};exports[_0xcece('0x47')]=function(_0xfa5a1,_0x438a78){var _0x7382ca={'raw':!![],'where':{'id':_0xfa5a1[_0xcece('0x48')]['id']}},_0x32add2={};_0x32add2[_0xcece('0x30')]=_[_0xcece('0x31')](db[_0xcece('0x2e')][_0xcece('0x2f')]);_0x32add2[_0xcece('0x32')]=_[_0xcece('0x31')](_0xfa5a1[_0xcece('0x32')]);_0x32add2[_0xcece('0x3c')]=_[_0xcece('0x33')](_0x32add2['model'],_0x32add2[_0xcece('0x32')]);_0x7382ca[_0xcece('0x34')]=_[_0xcece('0x33')](_0x32add2[_0xcece('0x30')],qs[_0xcece('0x35')](_0xfa5a1[_0xcece('0x32')][_0xcece('0x35')]));_0x7382ca[_0xcece('0x34')]=_0x7382ca['attributes'][_0xcece('0x36')]?_0x7382ca['attributes']:_0x32add2[_0xcece('0x30')];if(_0xfa5a1['query'][_0xcece('0x44')]){_0x7382ca[_0xcece('0x49')]=[{'all':!![]}];}_0x7382ca=_['merge']({},_0x7382ca,_0xfa5a1[_0xcece('0x43')]);return db[_0xcece('0x2e')][_0xcece('0x4a')](_0x7382ca)[_0xcece('0x26')](handleEntityNotFound(_0x438a78,null))[_0xcece('0x26')](respondWithResult(_0x438a78,null))[_0xcece('0x4b')](handleError(_0x438a78,null));};exports['create']=function(_0x1a9ae1,_0x5f0e72){return db[_0xcece('0x2e')][_0xcece('0x4c')](_0x1a9ae1['body'],{})[_0xcece('0x26')](function(_0x3c981a){var _0x40df2b=_0x1a9ae1['user']['get']({'plain':!![]});if(!_0x40df2b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x40df2b[_0xcece('0x4d')]===_0xcece('0x4e')){var _0x343a5d=_0x3c981a['get']({'plain':!![]});var _0xfc8b55='Variables';return db[_0xcece('0x4f')][_0xcece('0x4a')]({'where':{'name':_0xfc8b55,'userProfileId':_0x40df2b[_0xcece('0x50')]},'raw':!![]})[_0xcece('0x26')](function(_0x1b8870){if(_0x1b8870&&_0x1b8870[_0xcece('0x51')]===0x0){return db[_0xcece('0x29')][_0xcece('0x4c')]({'name':_0x343a5d[_0xcece('0x2c')],'resourceId':_0x343a5d['id'],'type':_0x1b8870['name'],'sectionId':_0x1b8870['id']},{})[_0xcece('0x26')](function(){return _0x3c981a;});}else{return _0x3c981a;}})[_0xcece('0x4b')](function(_0x11790e){logger[_0xcece('0x2a')](_0xcece('0x52'),_0x11790e);throw _0x11790e;});}return _0x3c981a;})[_0xcece('0x26')](respondWithResult(_0x5f0e72,0xc9))[_0xcece('0x4b')](handleError(_0x5f0e72,null));};exports[_0xcece('0x25')]=function(_0x507bb6,_0x216248){if(_0x507bb6['body']['id']){delete _0x507bb6[_0xcece('0x53')]['id'];}return db[_0xcece('0x2e')]['find']({'where':{'id':_0x507bb6[_0xcece('0x48')]['id']}})['then'](handleEntityNotFound(_0x216248,null))[_0xcece('0x26')](saveUpdates(_0x507bb6[_0xcece('0x53')],null))[_0xcece('0x26')](respondWithResult(_0x216248,null))[_0xcece('0x4b')](handleError(_0x216248,null));};exports[_0xcece('0x27')]=function(_0x3f457f,_0x5dfd60){return db[_0xcece('0x2e')]['find']({'where':{'id':_0x3f457f[_0xcece('0x48')]['id']}})[_0xcece('0x26')](handleEntityNotFound(_0x5dfd60,null))['then'](removeEntity(_0x5dfd60,null))[_0xcece('0x4b')](handleError(_0x5dfd60,null));};