024be983bfaf70ad32a856b67c86860b6c9f1b0a
[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 _0xe1ad=['limit','sort','where','filter','VIRTUAL','merge','options','includeAll','findAll','rows','catch','show','params','filtears','include','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','eml-format','rimraf','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','Variables','UserProfileResource','error','stack','name','send','map','Variable','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit'];(function(_0x3e88dc,_0x405817){var _0x1eecc3=function(_0x520a7e){while(--_0x520a7e){_0x3e88dc['push'](_0x3e88dc['shift']());}};_0x1eecc3(++_0x405817);}(_0xe1ad,0x163));var _0xde1a=function(_0x55452e,_0x58aa21){_0x55452e=_0x55452e-0x0;var _0x5663f0=_0xe1ad[_0x55452e];return _0x5663f0;};'use strict';var pdf=require(_0xde1a('0x0'));var emlformat=require(_0xde1a('0x1'));var rimraf=require(_0xde1a('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xde1a('0x3'));var BPromise=require(_0xde1a('0x4'));var Mustache=require(_0xde1a('0x5'));var util=require(_0xde1a('0x6'));var path=require('path');var sox=require(_0xde1a('0x7'));var csv=require(_0xde1a('0x8'));var ejs=require(_0xde1a('0x9'));var fs=require('fs');var _=require(_0xde1a('0xa'));var squel=require(_0xde1a('0xb'));var crypto=require(_0xde1a('0xc'));var jsforce=require(_0xde1a('0xd'));var deskjs=require(_0xde1a('0xe'));var toCsv=require('to-csv');var querystring=require(_0xde1a('0xf'));var Papa=require(_0xde1a('0x10'));var Redis=require('ioredis');var authService=require(_0xde1a('0x11'));var qs=require(_0xde1a('0x12'));var as=require(_0xde1a('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xde1a('0x14'))(_0xde1a('0x15'));var utils=require('../../config/utils');var config=require(_0xde1a('0x16'));var licenseUtil=require(_0xde1a('0x17'));var db=require(_0xde1a('0x18'))['db'];function respondWithStatusCode(_0x2d2463,_0x199a1c){_0x199a1c=_0x199a1c||0xcc;return function(_0x329745){if(_0x329745){return _0x2d2463['sendStatus'](_0x199a1c);}return _0x2d2463[_0xde1a('0x19')](_0x199a1c)[_0xde1a('0x1a')]();};}function respondWithResult(_0x2a43fe,_0x3b01a3){_0x3b01a3=_0x3b01a3||0xc8;return function(_0x45a602){if(_0x45a602){return _0x2a43fe['status'](_0x3b01a3)[_0xde1a('0x1b')](_0x45a602);}};}function respondWithFilteredResult(_0x5d3782,_0xbd4648){return function(_0x22afd0){if(_0x22afd0){var _0x685615=_0x22afd0[_0xde1a('0x1c')],_0x4c8bfe=_0xbd4648[_0xde1a('0x1d')],_0x56114c=_0xbd4648[_0xde1a('0x1d')]+_0xbd4648['limit'],_0x38f5fc;if(_0x56114c>=_0x685615){_0x56114c=_0x685615;_0x38f5fc=0xc8;}else{_0x38f5fc=0xce;}_0x5d3782[_0xde1a('0x19')](_0x38f5fc);return _0x5d3782[_0xde1a('0x1e')](_0xde1a('0x1f'),_0x4c8bfe+'-'+_0x56114c+'/'+_0x685615)[_0xde1a('0x1b')](_0x22afd0);}return null;};}function patchUpdates(_0x4e0da0){return function(_0x9574b9){try{jsonpatch[_0xde1a('0x20')](_0x9574b9,_0x4e0da0,!![]);}catch(_0x450af3){return BPromise[_0xde1a('0x21')](_0x450af3);}return _0x9574b9[_0xde1a('0x22')]();};}function saveUpdates(_0x4ea27b,_0x28723e){return function(_0x41a861){if(_0x41a861){return _0x41a861[_0xde1a('0x23')](_0x4ea27b)[_0xde1a('0x24')](function(_0x4a9156){return _0x4a9156;});}return null;};}function removeEntity(_0xe8894c,_0x4f89c4){return function(_0xc632c4){if(_0xc632c4){return _0xc632c4[_0xde1a('0x25')]()[_0xde1a('0x24')](function(){var _0x2ecb31=_0xc632c4['get']({'plain':!![]});var _0x1f2826=_0xde1a('0x26');return db[_0xde1a('0x27')][_0xde1a('0x25')]({'where':{'type':_0x1f2826,'resourceId':_0x2ecb31['id']}})[_0xde1a('0x24')](function(){return _0xc632c4;});})['then'](function(){_0xe8894c['status'](0xcc)[_0xde1a('0x1a')]();});}};}function handleEntityNotFound(_0x3423f3,_0x2b188b){return function(_0x4c2215){if(!_0x4c2215){_0x3423f3['sendStatus'](0x194);}return _0x4c2215;};}function handleError(_0x23f91d,_0x19822e){_0x19822e=_0x19822e||0x1f4;return function(_0x46d17d){logger[_0xde1a('0x28')](_0x46d17d[_0xde1a('0x29')]);if(_0x46d17d[_0xde1a('0x2a')]){delete _0x46d17d['name'];}_0x23f91d[_0xde1a('0x19')](_0x19822e)[_0xde1a('0x2b')](_0x46d17d);};}exports['index']=function(_0x5c780a,_0x4ead02){var _0x9b3d41={},_0x4117a5={},_0x31af64={'count':0x0,'rows':[]};var _0x2b754d=_[_0xde1a('0x2c')](db[_0xde1a('0x2d')][_0xde1a('0x2e')],function(_0x5bb265){return{'name':_0x5bb265[_0xde1a('0x2f')],'type':_0x5bb265[_0xde1a('0x30')][_0xde1a('0x31')]};});_0x4117a5[_0xde1a('0x32')]=_[_0xde1a('0x2c')](_0x2b754d,_0xde1a('0x2a'));_0x4117a5[_0xde1a('0x33')]=_[_0xde1a('0x34')](_0x5c780a['query']);_0x4117a5[_0xde1a('0x35')]=_[_0xde1a('0x36')](_0x4117a5[_0xde1a('0x32')],_0x4117a5['query']);_0x9b3d41[_0xde1a('0x37')]=_[_0xde1a('0x36')](_0x4117a5[_0xde1a('0x32')],qs[_0xde1a('0x38')](_0x5c780a[_0xde1a('0x33')][_0xde1a('0x38')]));_0x9b3d41[_0xde1a('0x37')]=_0x9b3d41[_0xde1a('0x37')][_0xde1a('0x39')]?_0x9b3d41[_0xde1a('0x37')]:_0x4117a5[_0xde1a('0x32')];if(!_0x5c780a[_0xde1a('0x33')][_0xde1a('0x3a')](_0xde1a('0x3b'))){_0x9b3d41[_0xde1a('0x3c')]=qs[_0xde1a('0x3c')](_0x5c780a[_0xde1a('0x33')]['limit']);_0x9b3d41[_0xde1a('0x1d')]=qs['offset'](_0x5c780a[_0xde1a('0x33')][_0xde1a('0x1d')]);}_0x9b3d41['order']=qs[_0xde1a('0x3d')](_0x5c780a[_0xde1a('0x33')][_0xde1a('0x3d')]);_0x9b3d41[_0xde1a('0x3e')]=qs[_0xde1a('0x35')](_['pick'](_0x5c780a[_0xde1a('0x33')],_0x4117a5['filters']),_0x2b754d);if(_0x5c780a[_0xde1a('0x33')][_0xde1a('0x3f')]){_0x9b3d41[_0xde1a('0x3e')]=_['merge'](_0x9b3d41[_0xde1a('0x3e')],{'$or':_[_0xde1a('0x2c')](_0x2b754d,function(_0x185265){if(_0x185265['type']!==_0xde1a('0x40')){var _0x22f894={};_0x22f894[_0x185265[_0xde1a('0x2a')]]={'$like':'%'+_0x5c780a[_0xde1a('0x33')]['filter']+'%'};return _0x22f894;}})});}_0x9b3d41=_[_0xde1a('0x41')]({},_0x9b3d41,_0x5c780a[_0xde1a('0x42')]);var _0x4227d0={'where':_0x9b3d41[_0xde1a('0x3e')]};return db[_0xde1a('0x2d')][_0xde1a('0x1c')](_0x4227d0)['then'](function(_0x279ee2){_0x31af64[_0xde1a('0x1c')]=_0x279ee2;if(_0x5c780a[_0xde1a('0x33')][_0xde1a('0x43')]){_0x9b3d41['include']=[{'all':!![]}];}return db[_0xde1a('0x2d')][_0xde1a('0x44')](_0x9b3d41);})[_0xde1a('0x24')](function(_0x24ff7e){_0x31af64[_0xde1a('0x45')]=_0x24ff7e;return _0x31af64;})[_0xde1a('0x24')](respondWithFilteredResult(_0x4ead02,_0x9b3d41))[_0xde1a('0x46')](handleError(_0x4ead02,null));};exports[_0xde1a('0x47')]=function(_0x179218,_0x586e05){var _0x1a2753={'raw':!![],'where':{'id':_0x179218[_0xde1a('0x48')]['id']}},_0x3b16ad={};_0x3b16ad['model']=_[_0xde1a('0x34')](db[_0xde1a('0x2d')]['rawAttributes']);_0x3b16ad[_0xde1a('0x33')]=_[_0xde1a('0x34')](_0x179218[_0xde1a('0x33')]);_0x3b16ad[_0xde1a('0x49')]=_[_0xde1a('0x36')](_0x3b16ad['model'],_0x3b16ad[_0xde1a('0x33')]);_0x1a2753[_0xde1a('0x37')]=_[_0xde1a('0x36')](_0x3b16ad[_0xde1a('0x32')],qs['fields'](_0x179218[_0xde1a('0x33')][_0xde1a('0x38')]));_0x1a2753[_0xde1a('0x37')]=_0x1a2753[_0xde1a('0x37')][_0xde1a('0x39')]?_0x1a2753['attributes']:_0x3b16ad[_0xde1a('0x32')];if(_0x179218[_0xde1a('0x33')][_0xde1a('0x43')]){_0x1a2753[_0xde1a('0x4a')]=[{'all':!![]}];}_0x1a2753=_[_0xde1a('0x41')]({},_0x1a2753,_0x179218[_0xde1a('0x42')]);return db[_0xde1a('0x2d')]['find'](_0x1a2753)[_0xde1a('0x24')](handleEntityNotFound(_0x586e05,null))['then'](respondWithResult(_0x586e05,null))[_0xde1a('0x46')](handleError(_0x586e05,null));};exports[_0xde1a('0x4b')]=function(_0x5467c9,_0x4d79fa){return db[_0xde1a('0x2d')]['create'](_0x5467c9[_0xde1a('0x4c')],{})[_0xde1a('0x24')](function(_0x40b642){var _0xcd9ce7=_0x5467c9[_0xde1a('0x4d')][_0xde1a('0x4e')]({'plain':!![]});if(!_0xcd9ce7)throw new Error(_0xde1a('0x4f'));if(_0xcd9ce7['role']===_0xde1a('0x4d')){var _0x5410ba=_0x40b642[_0xde1a('0x4e')]({'plain':!![]});var _0x2b04e2='Variables';return db['UserProfileSection'][_0xde1a('0x50')]({'where':{'name':_0x2b04e2,'userProfileId':_0xcd9ce7['userProfileId']},'raw':!![]})[_0xde1a('0x24')](function(_0x41f962){if(_0x41f962&&_0x41f962[_0xde1a('0x51')]===0x0){return db['UserProfileResource'][_0xde1a('0x4b')]({'name':_0x5410ba[_0xde1a('0x2a')],'resourceId':_0x5410ba['id'],'type':_0x41f962[_0xde1a('0x2a')],'sectionId':_0x41f962['id']},{})[_0xde1a('0x24')](function(){return _0x40b642;});}else{return _0x40b642;}})[_0xde1a('0x46')](function(_0x410c0d){logger[_0xde1a('0x28')](_0xde1a('0x52'),_0x410c0d);throw _0x410c0d;});}return _0x40b642;})[_0xde1a('0x24')](respondWithResult(_0x4d79fa,0xc9))[_0xde1a('0x46')](handleError(_0x4d79fa,null));};exports[_0xde1a('0x23')]=function(_0x195f16,_0x453730){if(_0x195f16[_0xde1a('0x4c')]['id']){delete _0x195f16[_0xde1a('0x4c')]['id'];}return db[_0xde1a('0x2d')][_0xde1a('0x50')]({'where':{'id':_0x195f16[_0xde1a('0x48')]['id']}})['then'](handleEntityNotFound(_0x453730,null))[_0xde1a('0x24')](saveUpdates(_0x195f16[_0xde1a('0x4c')],null))[_0xde1a('0x24')](respondWithResult(_0x453730,null))[_0xde1a('0x46')](handleError(_0x453730,null));};exports[_0xde1a('0x25')]=function(_0x375732,_0xf30f12){return db[_0xde1a('0x2d')][_0xde1a('0x50')]({'where':{'id':_0x375732[_0xde1a('0x48')]['id']}})[_0xde1a('0x24')](handleEntityNotFound(_0xf30f12,null))['then'](removeEntity(_0xf30f12,null))['catch'](handleError(_0xf30f12,null));};