Built motion from commit (unavailable).|2.5.2
[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 _0xd25d=['../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','limit','set','apply','reject','save','update','destroy','then','Variables','UserProfileResource','error','stack','name','send','index','map','rawAttributes','type','key','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','Variable','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis'];(function(_0x5d80de,_0x2cf15d){var _0x1c7556=function(_0x5bd806){while(--_0x5bd806){_0x5d80de['push'](_0x5d80de['shift']());}};_0x1c7556(++_0x2cf15d);}(_0xd25d,0x19f));var _0xdd25=function(_0x1604d7,_0x43551d){_0x1604d7=_0x1604d7-0x0;var _0x240be=_0xd25d[_0x1604d7];return _0x240be;};'use strict';var pdf=require(_0xdd25('0x0'));var emlformat=require(_0xdd25('0x1'));var rimraf=require(_0xdd25('0x2'));var zipdir=require(_0xdd25('0x3'));var jsonpatch=require(_0xdd25('0x4'));var rp=require(_0xdd25('0x5'));var moment=require('moment');var BPromise=require(_0xdd25('0x6'));var Mustache=require(_0xdd25('0x7'));var util=require(_0xdd25('0x8'));var path=require(_0xdd25('0x9'));var sox=require(_0xdd25('0xa'));var csv=require('to-csv');var ejs=require(_0xdd25('0xb'));var fs=require('fs');var _=require(_0xdd25('0xc'));var squel=require('squel');var crypto=require(_0xdd25('0xd'));var jsforce=require(_0xdd25('0xe'));var deskjs=require(_0xdd25('0xf'));var toCsv=require(_0xdd25('0x10'));var querystring=require(_0xdd25('0x11'));var Papa=require(_0xdd25('0x12'));var Redis=require(_0xdd25('0x13'));var authService=require(_0xdd25('0x14'));var qs=require(_0xdd25('0x15'));var as=require(_0xdd25('0x16'));var hardwareService=require(_0xdd25('0x17'));var logger=require(_0xdd25('0x18'))(_0xdd25('0x19'));var utils=require(_0xdd25('0x1a'));var config=require(_0xdd25('0x1b'));var db=require(_0xdd25('0x1c'))['db'];function respondWithStatusCode(_0x98a769,_0x288df4){_0x288df4=_0x288df4||0xcc;return function(_0x3512e3){if(_0x3512e3){return _0x98a769[_0xdd25('0x1d')](_0x288df4);}return _0x98a769[_0xdd25('0x1e')](_0x288df4)['end']();};}function respondWithResult(_0x2f37cb,_0x5bd45d){_0x5bd45d=_0x5bd45d||0xc8;return function(_0x1d05bf){if(_0x1d05bf){return _0x2f37cb[_0xdd25('0x1e')](_0x5bd45d)[_0xdd25('0x1f')](_0x1d05bf);}};}function respondWithFilteredResult(_0xed061e,_0x333627){return function(_0x596bd5){if(_0x596bd5){var _0x1bf2b1=_0x596bd5[_0xdd25('0x20')],_0x5d31e0=_0x333627[_0xdd25('0x21')],_0x26acaa=_0x333627['offset']+_0x333627[_0xdd25('0x22')],_0x2a2bbc;if(_0x26acaa>=_0x1bf2b1){_0x26acaa=_0x1bf2b1;_0x2a2bbc=0xc8;}else{_0x2a2bbc=0xce;}_0xed061e[_0xdd25('0x1e')](_0x2a2bbc);return _0xed061e[_0xdd25('0x23')]('Content-Range',_0x5d31e0+'-'+_0x26acaa+'/'+_0x1bf2b1)[_0xdd25('0x1f')](_0x596bd5);}return null;};}function patchUpdates(_0x48e2ac){return function(_0x5bfb26){try{jsonpatch[_0xdd25('0x24')](_0x5bfb26,_0x48e2ac,!![]);}catch(_0x563094){return BPromise[_0xdd25('0x25')](_0x563094);}return _0x5bfb26[_0xdd25('0x26')]();};}function saveUpdates(_0x1bdea4,_0x190a45){return function(_0x2f0f06){if(_0x2f0f06){return _0x2f0f06[_0xdd25('0x27')](_0x1bdea4)['then'](function(_0x191a66){return _0x191a66;});}return null;};}function removeEntity(_0x2f1f24,_0x3dab01){return function(_0x5642b6){if(_0x5642b6){return _0x5642b6[_0xdd25('0x28')]()[_0xdd25('0x29')](function(){var _0xb87d89=_0x5642b6['get']({'plain':!![]});var _0x25835a=_0xdd25('0x2a');return db[_0xdd25('0x2b')][_0xdd25('0x28')]({'where':{'type':_0x25835a,'resourceId':_0xb87d89['id']}})[_0xdd25('0x29')](function(){return _0x5642b6;});})[_0xdd25('0x29')](function(){_0x2f1f24['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3fd611,_0x4a980c){return function(_0x17cbb5){if(!_0x17cbb5){_0x3fd611[_0xdd25('0x1d')](0x194);}return _0x17cbb5;};}function handleError(_0x2557cc,_0x1866cb){_0x1866cb=_0x1866cb||0x1f4;return function(_0x16709a){logger[_0xdd25('0x2c')](_0x16709a[_0xdd25('0x2d')]);if(_0x16709a['name']){delete _0x16709a[_0xdd25('0x2e')];}_0x2557cc[_0xdd25('0x1e')](_0x1866cb)[_0xdd25('0x2f')](_0x16709a);};}exports[_0xdd25('0x30')]=function(_0x3be342,_0x28edcf){var _0x19dc18={},_0xb9a760={},_0xe15ac3={'count':0x0,'rows':[]};var _0x13dc07=_[_0xdd25('0x31')](db['Variable'][_0xdd25('0x32')],function(_0x139320){return{'name':_0x139320['fieldName'],'type':_0x139320[_0xdd25('0x33')][_0xdd25('0x34')]};});_0xb9a760[_0xdd25('0x35')]=_[_0xdd25('0x31')](_0x13dc07,_0xdd25('0x2e'));_0xb9a760['query']=_[_0xdd25('0x36')](_0x3be342['query']);_0xb9a760[_0xdd25('0x37')]=_[_0xdd25('0x38')](_0xb9a760['model'],_0xb9a760[_0xdd25('0x39')]);_0x19dc18[_0xdd25('0x3a')]=_[_0xdd25('0x38')](_0xb9a760[_0xdd25('0x35')],qs['fields'](_0x3be342[_0xdd25('0x39')][_0xdd25('0x3b')]));_0x19dc18[_0xdd25('0x3a')]=_0x19dc18[_0xdd25('0x3a')][_0xdd25('0x3c')]?_0x19dc18[_0xdd25('0x3a')]:_0xb9a760[_0xdd25('0x35')];if(!_0x3be342[_0xdd25('0x39')][_0xdd25('0x3d')](_0xdd25('0x3e'))){_0x19dc18[_0xdd25('0x22')]=qs[_0xdd25('0x22')](_0x3be342[_0xdd25('0x39')][_0xdd25('0x22')]);_0x19dc18[_0xdd25('0x21')]=qs['offset'](_0x3be342[_0xdd25('0x39')][_0xdd25('0x21')]);}_0x19dc18[_0xdd25('0x3f')]=qs[_0xdd25('0x40')](_0x3be342[_0xdd25('0x39')]['sort']);_0x19dc18['where']=qs[_0xdd25('0x37')](_[_0xdd25('0x41')](_0x3be342[_0xdd25('0x39')],_0xb9a760[_0xdd25('0x37')]),_0x13dc07);if(_0x3be342[_0xdd25('0x39')][_0xdd25('0x42')]){_0x19dc18[_0xdd25('0x43')]=_[_0xdd25('0x44')](_0x19dc18[_0xdd25('0x43')],{'$or':_[_0xdd25('0x31')](_0x13dc07,function(_0x30d3e2){if(_0x30d3e2['type']!==_0xdd25('0x45')){var _0x5aebc5={};_0x5aebc5[_0x30d3e2['name']]={'$like':'%'+_0x3be342['query'][_0xdd25('0x42')]+'%'};return _0x5aebc5;}})});}_0x19dc18=_[_0xdd25('0x44')]({},_0x19dc18,_0x3be342['options']);var _0xa0f97c={'where':_0x19dc18[_0xdd25('0x43')]};return db[_0xdd25('0x46')][_0xdd25('0x20')](_0xa0f97c)['then'](function(_0x18c9c1){_0xe15ac3[_0xdd25('0x20')]=_0x18c9c1;if(_0x3be342[_0xdd25('0x39')][_0xdd25('0x47')]){_0x19dc18[_0xdd25('0x48')]=[{'all':!![]}];}return db[_0xdd25('0x46')][_0xdd25('0x49')](_0x19dc18);})[_0xdd25('0x29')](function(_0x1c7b12){_0xe15ac3[_0xdd25('0x4a')]=_0x1c7b12;return _0xe15ac3;})['then'](respondWithFilteredResult(_0x28edcf,_0x19dc18))[_0xdd25('0x4b')](handleError(_0x28edcf,null));};exports[_0xdd25('0x4c')]=function(_0x2e0e26,_0x628637){var _0x5084ea={'raw':!![],'where':{'id':_0x2e0e26[_0xdd25('0x4d')]['id']}},_0xb522d3={};_0xb522d3[_0xdd25('0x35')]=_[_0xdd25('0x36')](db[_0xdd25('0x46')]['rawAttributes']);_0xb522d3['query']=_[_0xdd25('0x36')](_0x2e0e26[_0xdd25('0x39')]);_0xb522d3[_0xdd25('0x37')]=_[_0xdd25('0x38')](_0xb522d3['model'],_0xb522d3[_0xdd25('0x39')]);_0x5084ea[_0xdd25('0x3a')]=_[_0xdd25('0x38')](_0xb522d3[_0xdd25('0x35')],qs[_0xdd25('0x3b')](_0x2e0e26['query'][_0xdd25('0x3b')]));_0x5084ea[_0xdd25('0x3a')]=_0x5084ea[_0xdd25('0x3a')][_0xdd25('0x3c')]?_0x5084ea[_0xdd25('0x3a')]:_0xb522d3[_0xdd25('0x35')];if(_0x2e0e26[_0xdd25('0x39')][_0xdd25('0x47')]){_0x5084ea[_0xdd25('0x48')]=[{'all':!![]}];}_0x5084ea=_[_0xdd25('0x44')]({},_0x5084ea,_0x2e0e26[_0xdd25('0x4e')]);return db[_0xdd25('0x46')][_0xdd25('0x4f')](_0x5084ea)[_0xdd25('0x29')](handleEntityNotFound(_0x628637,null))[_0xdd25('0x29')](respondWithResult(_0x628637,null))[_0xdd25('0x4b')](handleError(_0x628637,null));};exports[_0xdd25('0x50')]=function(_0xcba1fb,_0x56d6d5){return db[_0xdd25('0x46')]['create'](_0xcba1fb[_0xdd25('0x51')],{})['then'](function(_0x4b83de){var _0x359e20=_0xcba1fb[_0xdd25('0x52')][_0xdd25('0x53')]({'plain':!![]});if(!_0x359e20)throw new Error(_0xdd25('0x54'));if(_0x359e20[_0xdd25('0x55')]===_0xdd25('0x52')){var _0x1919c5=_0x4b83de[_0xdd25('0x53')]({'plain':!![]});var _0x568640='Variables';return db[_0xdd25('0x56')][_0xdd25('0x4f')]({'where':{'name':_0x568640,'userProfileId':_0x359e20['userProfileId']},'raw':!![]})[_0xdd25('0x29')](function(_0x424a35){if(_0x424a35&&_0x424a35['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x1919c5[_0xdd25('0x2e')],'resourceId':_0x1919c5['id'],'type':_0x424a35[_0xdd25('0x2e')],'sectionId':_0x424a35['id']},{})[_0xdd25('0x29')](function(){return _0x4b83de;});}else{return _0x4b83de;}})[_0xdd25('0x4b')](function(_0xcb8ab3){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xcb8ab3);throw _0xcb8ab3;});}return _0x4b83de;})[_0xdd25('0x29')](respondWithResult(_0x56d6d5,0xc9))[_0xdd25('0x4b')](handleError(_0x56d6d5,null));};exports[_0xdd25('0x27')]=function(_0x2d5b1d,_0x518f8d){if(_0x2d5b1d[_0xdd25('0x51')]['id']){delete _0x2d5b1d[_0xdd25('0x51')]['id'];}return db[_0xdd25('0x46')][_0xdd25('0x4f')]({'where':{'id':_0x2d5b1d[_0xdd25('0x4d')]['id']}})[_0xdd25('0x29')](handleEntityNotFound(_0x518f8d,null))[_0xdd25('0x29')](saveUpdates(_0x2d5b1d['body'],null))[_0xdd25('0x29')](respondWithResult(_0x518f8d,null))[_0xdd25('0x4b')](handleError(_0x518f8d,null));};exports[_0xdd25('0x28')]=function(_0x57b06b,_0x498790){return db[_0xdd25('0x46')][_0xdd25('0x4f')]({'where':{'id':_0x57b06b[_0xdd25('0x4d')]['id']}})[_0xdd25('0x29')](handleEntityNotFound(_0x498790,null))['then'](removeEntity(_0x498790,null))[_0xdd25('0x4b')](handleError(_0x498790,null));};