Built motion from commit (unavailable).|2.5.22
[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 _0x134d=['../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','set','apply','reject','save','update','then','destroy','get','Variables','UserProfileResource','end','error','stack','name','send','index','map','Variable','rawAttributes','fieldName','query','keys','filters','intersection','model','fields','attributes','nolimit','limit','sort','where','pick','filter','type','VIRTUAL','merge','options','includeAll','rows','catch','params','length','include','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','find','userProfileId','autoAssociation','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api'];(function(_0x594ece,_0x2a1f27){var _0x471bc4=function(_0x31941c){while(--_0x31941c){_0x594ece['push'](_0x594ece['shift']());}};_0x471bc4(++_0x2a1f27);}(_0x134d,0xe2));var _0xd134=function(_0x4311b4,_0x12894a){_0x4311b4=_0x4311b4-0x0;var _0x3c08ef=_0x134d[_0x4311b4];return _0x3c08ef;};'use strict';var pdf=require(_0xd134('0x0'));var emlformat=require(_0xd134('0x1'));var rimraf=require(_0xd134('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd134('0x3'));var rp=require(_0xd134('0x4'));var moment=require(_0xd134('0x5'));var BPromise=require(_0xd134('0x6'));var Mustache=require(_0xd134('0x7'));var util=require(_0xd134('0x8'));var path=require(_0xd134('0x9'));var sox=require(_0xd134('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xd134('0xb'));var squel=require(_0xd134('0xc'));var crypto=require(_0xd134('0xd'));var jsforce=require(_0xd134('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xd134('0xf'));var querystring=require(_0xd134('0x10'));var Papa=require(_0xd134('0x11'));var Redis=require(_0xd134('0x12'));var authService=require(_0xd134('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xd134('0x14'));var hardwareService=require(_0xd134('0x15'));var logger=require('../../config/logger')(_0xd134('0x16'));var utils=require('../../config/utils');var config=require(_0xd134('0x17'));var licenseUtil=require(_0xd134('0x18'));var db=require(_0xd134('0x19'))['db'];function respondWithStatusCode(_0xbe81c7,_0x48c030){_0x48c030=_0x48c030||0xcc;return function(_0x18cc91){if(_0x18cc91){return _0xbe81c7[_0xd134('0x1a')](_0x48c030);}return _0xbe81c7[_0xd134('0x1b')](_0x48c030)['end']();};}function respondWithResult(_0x19cd56,_0x318d23){_0x318d23=_0x318d23||0xc8;return function(_0x58d8f4){if(_0x58d8f4){return _0x19cd56[_0xd134('0x1b')](_0x318d23)[_0xd134('0x1c')](_0x58d8f4);}};}function respondWithFilteredResult(_0x9cef13,_0x1cb960){return function(_0x5b32f8){if(_0x5b32f8){var _0x474dc1=_0x5b32f8[_0xd134('0x1d')],_0x2bc2=_0x1cb960['offset'],_0x8c046c=_0x1cb960[_0xd134('0x1e')]+_0x1cb960['limit'],_0x36fa5a;if(_0x8c046c>=_0x474dc1){_0x8c046c=_0x474dc1;_0x36fa5a=0xc8;}else{_0x36fa5a=0xce;}_0x9cef13[_0xd134('0x1b')](_0x36fa5a);return _0x9cef13[_0xd134('0x1f')]('Content-Range',_0x2bc2+'-'+_0x8c046c+'/'+_0x474dc1)[_0xd134('0x1c')](_0x5b32f8);}return null;};}function patchUpdates(_0x3e86c3){return function(_0x2fbb2d){try{jsonpatch[_0xd134('0x20')](_0x2fbb2d,_0x3e86c3,!![]);}catch(_0x15fe66){return BPromise[_0xd134('0x21')](_0x15fe66);}return _0x2fbb2d[_0xd134('0x22')]();};}function saveUpdates(_0x239467,_0x109371){return function(_0x26e560){if(_0x26e560){return _0x26e560[_0xd134('0x23')](_0x239467)[_0xd134('0x24')](function(_0x2906c7){return _0x2906c7;});}return null;};}function removeEntity(_0x29f121,_0x396fb4){return function(_0x141983){if(_0x141983){return _0x141983[_0xd134('0x25')]()[_0xd134('0x24')](function(){var _0x5467eb=_0x141983[_0xd134('0x26')]({'plain':!![]});var _0x58091c=_0xd134('0x27');return db[_0xd134('0x28')][_0xd134('0x25')]({'where':{'type':_0x58091c,'resourceId':_0x5467eb['id']}})[_0xd134('0x24')](function(){return _0x141983;});})['then'](function(){_0x29f121[_0xd134('0x1b')](0xcc)[_0xd134('0x29')]();});}};}function handleEntityNotFound(_0x505c29,_0x47dfe3){return function(_0x435744){if(!_0x435744){_0x505c29[_0xd134('0x1a')](0x194);}return _0x435744;};}function handleError(_0x280a70,_0xebbb50){_0xebbb50=_0xebbb50||0x1f4;return function(_0x29f42d){logger[_0xd134('0x2a')](_0x29f42d[_0xd134('0x2b')]);if(_0x29f42d[_0xd134('0x2c')]){delete _0x29f42d[_0xd134('0x2c')];}_0x280a70[_0xd134('0x1b')](_0xebbb50)[_0xd134('0x2d')](_0x29f42d);};}exports[_0xd134('0x2e')]=function(_0x43846a,_0x1e44e5){var _0x42dc57={},_0x329284={},_0x58a534={'count':0x0,'rows':[]};var _0x15119c=_[_0xd134('0x2f')](db[_0xd134('0x30')][_0xd134('0x31')],function(_0x24d597){return{'name':_0x24d597[_0xd134('0x32')],'type':_0x24d597['type']['key']};});_0x329284['model']=_[_0xd134('0x2f')](_0x15119c,_0xd134('0x2c'));_0x329284[_0xd134('0x33')]=_[_0xd134('0x34')](_0x43846a[_0xd134('0x33')]);_0x329284[_0xd134('0x35')]=_[_0xd134('0x36')](_0x329284[_0xd134('0x37')],_0x329284[_0xd134('0x33')]);_0x42dc57['attributes']=_[_0xd134('0x36')](_0x329284['model'],qs[_0xd134('0x38')](_0x43846a['query'][_0xd134('0x38')]));_0x42dc57[_0xd134('0x39')]=_0x42dc57['attributes']['length']?_0x42dc57[_0xd134('0x39')]:_0x329284[_0xd134('0x37')];if(!_0x43846a[_0xd134('0x33')]['hasOwnProperty'](_0xd134('0x3a'))){_0x42dc57['limit']=qs[_0xd134('0x3b')](_0x43846a[_0xd134('0x33')]['limit']);_0x42dc57[_0xd134('0x1e')]=qs[_0xd134('0x1e')](_0x43846a['query'][_0xd134('0x1e')]);}_0x42dc57['order']=qs[_0xd134('0x3c')](_0x43846a[_0xd134('0x33')][_0xd134('0x3c')]);_0x42dc57[_0xd134('0x3d')]=qs[_0xd134('0x35')](_[_0xd134('0x3e')](_0x43846a['query'],_0x329284[_0xd134('0x35')]),_0x15119c);if(_0x43846a[_0xd134('0x33')][_0xd134('0x3f')]){_0x42dc57[_0xd134('0x3d')]=_['merge'](_0x42dc57[_0xd134('0x3d')],{'$or':_[_0xd134('0x2f')](_0x15119c,function(_0xe92bd4){if(_0xe92bd4[_0xd134('0x40')]!==_0xd134('0x41')){var _0x21c532={};_0x21c532[_0xe92bd4['name']]={'$like':'%'+_0x43846a[_0xd134('0x33')]['filter']+'%'};return _0x21c532;}})});}_0x42dc57=_[_0xd134('0x42')]({},_0x42dc57,_0x43846a[_0xd134('0x43')]);var _0x263e5b={'where':_0x42dc57['where']};return db[_0xd134('0x30')][_0xd134('0x1d')](_0x263e5b)[_0xd134('0x24')](function(_0x3d0f68){_0x58a534[_0xd134('0x1d')]=_0x3d0f68;if(_0x43846a[_0xd134('0x33')][_0xd134('0x44')]){_0x42dc57['include']=[{'all':!![]}];}return db[_0xd134('0x30')]['findAll'](_0x42dc57);})[_0xd134('0x24')](function(_0x35e57f){_0x58a534[_0xd134('0x45')]=_0x35e57f;return _0x58a534;})[_0xd134('0x24')](respondWithFilteredResult(_0x1e44e5,_0x42dc57))[_0xd134('0x46')](handleError(_0x1e44e5,null));};exports['show']=function(_0x27ebc9,_0x39ede7){var _0x1f93da={'raw':!![],'where':{'id':_0x27ebc9[_0xd134('0x47')]['id']}},_0x51f994={};_0x51f994[_0xd134('0x37')]=_['keys'](db['Variable']['rawAttributes']);_0x51f994[_0xd134('0x33')]=_['keys'](_0x27ebc9['query']);_0x51f994[_0xd134('0x35')]=_[_0xd134('0x36')](_0x51f994[_0xd134('0x37')],_0x51f994[_0xd134('0x33')]);_0x1f93da[_0xd134('0x39')]=_[_0xd134('0x36')](_0x51f994[_0xd134('0x37')],qs[_0xd134('0x38')](_0x27ebc9[_0xd134('0x33')]['fields']));_0x1f93da[_0xd134('0x39')]=_0x1f93da['attributes'][_0xd134('0x48')]?_0x1f93da[_0xd134('0x39')]:_0x51f994[_0xd134('0x37')];if(_0x27ebc9[_0xd134('0x33')][_0xd134('0x44')]){_0x1f93da[_0xd134('0x49')]=[{'all':!![]}];}_0x1f93da=_['merge']({},_0x1f93da,_0x27ebc9[_0xd134('0x43')]);return db['Variable']['find'](_0x1f93da)[_0xd134('0x24')](handleEntityNotFound(_0x39ede7,null))[_0xd134('0x24')](respondWithResult(_0x39ede7,null))['catch'](handleError(_0x39ede7,null));};exports[_0xd134('0x4a')]=function(_0x5e051b,_0xbc03a1){return db['Variable'][_0xd134('0x4a')](_0x5e051b[_0xd134('0x4b')],{})[_0xd134('0x24')](function(_0xee3a05){var _0x4da843=_0x5e051b['user']['get']({'plain':!![]});if(!_0x4da843)throw new Error(_0xd134('0x4c'));if(_0x4da843[_0xd134('0x4d')]===_0xd134('0x4e')){var _0x10279e=_0xee3a05['get']({'plain':!![]});var _0x813d85='Variables';return db[_0xd134('0x4f')][_0xd134('0x50')]({'where':{'name':_0x813d85,'userProfileId':_0x4da843[_0xd134('0x51')]},'raw':!![]})['then'](function(_0x308f5b){if(_0x308f5b&&_0x308f5b[_0xd134('0x52')]===0x0){return db[_0xd134('0x28')][_0xd134('0x4a')]({'name':_0x10279e[_0xd134('0x2c')],'resourceId':_0x10279e['id'],'type':_0x308f5b['name'],'sectionId':_0x308f5b['id']},{})['then'](function(){return _0xee3a05;});}else{return _0xee3a05;}})['catch'](function(_0x527995){logger[_0xd134('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x527995);throw _0x527995;});}return _0xee3a05;})[_0xd134('0x24')](respondWithResult(_0xbc03a1,0xc9))[_0xd134('0x46')](handleError(_0xbc03a1,null));};exports[_0xd134('0x23')]=function(_0x48fca5,_0x1bd59a){if(_0x48fca5[_0xd134('0x4b')]['id']){delete _0x48fca5[_0xd134('0x4b')]['id'];}return db[_0xd134('0x30')]['find']({'where':{'id':_0x48fca5[_0xd134('0x47')]['id']}})[_0xd134('0x24')](handleEntityNotFound(_0x1bd59a,null))[_0xd134('0x24')](saveUpdates(_0x48fca5[_0xd134('0x4b')],null))[_0xd134('0x24')](respondWithResult(_0x1bd59a,null))[_0xd134('0x46')](handleError(_0x1bd59a,null));};exports[_0xd134('0x25')]=function(_0x36475d,_0x5bc719){return db['Variable']['find']({'where':{'id':_0x36475d['params']['id']}})['then'](handleEntityNotFound(_0x5bc719,null))[_0xd134('0x24')](removeEntity(_0x5bc719,null))[_0xd134('0x46')](handleError(_0x5bc719,null));};