Built motion from commit da617fac.|2.6.6
[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 _0xaeef=['catch','show','params','intersection','options','create','body','user','role','find','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','request-promise','moment','util','path','sox','ejs','fs-extra','lodash','squel','crypto','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','destroy','then','get','Variables','UserProfileResource','sendStatus','error','stack','name','send','index','Variable','rawAttributes','fieldName','type','model','map','query','keys','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','includeAll','include','findAll'];(function(_0x28c776,_0x32db20){var _0x25ec69=function(_0x479216){while(--_0x479216){_0x28c776['push'](_0x28c776['shift']());}};_0x25ec69(++_0x32db20);}(_0xaeef,0xae));var _0xfaee=function(_0x51bd6b,_0x409463){_0x51bd6b=_0x51bd6b-0x0;var _0x39cf82=_0xaeef[_0x51bd6b];return _0x39cf82;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xfaee('0x0'));var moment=require(_0xfaee('0x1'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xfaee('0x2'));var path=require(_0xfaee('0x3'));var sox=require(_0xfaee('0x4'));var csv=require('to-csv');var ejs=require(_0xfaee('0x5'));var fs=require('fs');var fs_extra=require(_0xfaee('0x6'));var _=require(_0xfaee('0x7'));var squel=require(_0xfaee('0x8'));var crypto=require(_0xfaee('0x9'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xfaee('0xa'));var querystring=require(_0xfaee('0xb'));var Papa=require(_0xfaee('0xc'));var Redis=require(_0xfaee('0xd'));var authService=require(_0xfaee('0xe'));var qs=require(_0xfaee('0xf'));var as=require(_0xfaee('0x10'));var hardwareService=require(_0xfaee('0x11'));var logger=require(_0xfaee('0x12'))('api');var utils=require(_0xfaee('0x13'));var config=require(_0xfaee('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xfaee('0x15'))['db'];function respondWithStatusCode(_0x8a0048,_0x207ce1){_0x207ce1=_0x207ce1||0xcc;return function(_0x262bbc){if(_0x262bbc){return _0x8a0048['sendStatus'](_0x207ce1);}return _0x8a0048[_0xfaee('0x16')](_0x207ce1)[_0xfaee('0x17')]();};}function respondWithResult(_0x4ee364,_0x798c5){_0x798c5=_0x798c5||0xc8;return function(_0x58c9d6){if(_0x58c9d6){return _0x4ee364[_0xfaee('0x16')](_0x798c5)[_0xfaee('0x18')](_0x58c9d6);}};}function respondWithFilteredResult(_0x40eb43,_0x4cf216){return function(_0x2103b4){if(_0x2103b4){var _0x49a9c2=typeof _0x4cf216[_0xfaee('0x19')]===_0xfaee('0x1a')&&typeof _0x4cf216[_0xfaee('0x1b')]===_0xfaee('0x1a');var _0x40aa1b=_0x2103b4['count'];var _0x488661=_0x49a9c2?0x0:_0x4cf216[_0xfaee('0x19')];var _0x3e5445=_0x49a9c2?_0x2103b4[_0xfaee('0x1c')]:_0x4cf216[_0xfaee('0x19')]+_0x4cf216[_0xfaee('0x1b')];var _0x338679;if(_0x3e5445>=_0x40aa1b){_0x3e5445=_0x40aa1b;_0x338679=0xc8;}else{_0x338679=0xce;}_0x40eb43['status'](_0x338679);return _0x40eb43[_0xfaee('0x1d')]('Content-Range',_0x488661+'-'+_0x3e5445+'/'+_0x40aa1b)[_0xfaee('0x18')](_0x2103b4);}return null;};}function patchUpdates(_0x16e9f2){return function(_0x5a80ec){try{jsonpatch[_0xfaee('0x1e')](_0x5a80ec,_0x16e9f2,!![]);}catch(_0x591410){return BPromise[_0xfaee('0x1f')](_0x591410);}return _0x5a80ec[_0xfaee('0x20')]();};}function saveUpdates(_0x645ca2,_0x17900f){return function(_0x33c889){if(_0x33c889){return _0x33c889[_0xfaee('0x21')](_0x645ca2)['then'](function(_0x46a908){return _0x46a908;});}return null;};}function removeEntity(_0x1c8961,_0x448313){return function(_0x7ad79a){if(_0x7ad79a){return _0x7ad79a[_0xfaee('0x22')]()[_0xfaee('0x23')](function(){var _0x33de47=_0x7ad79a[_0xfaee('0x24')]({'plain':!![]});var _0x2ee06c=_0xfaee('0x25');return db[_0xfaee('0x26')][_0xfaee('0x22')]({'where':{'type':_0x2ee06c,'resourceId':_0x33de47['id']}})[_0xfaee('0x23')](function(){return _0x7ad79a;});})[_0xfaee('0x23')](function(){_0x1c8961['status'](0xcc)[_0xfaee('0x17')]();});}};}function handleEntityNotFound(_0x4e4973,_0x127817){return function(_0x5809a0){if(!_0x5809a0){_0x4e4973[_0xfaee('0x27')](0x194);}return _0x5809a0;};}function handleError(_0x2065f0,_0x172654){_0x172654=_0x172654||0x1f4;return function(_0x70ef6a){logger[_0xfaee('0x28')](_0x70ef6a[_0xfaee('0x29')]);if(_0x70ef6a['name']){delete _0x70ef6a[_0xfaee('0x2a')];}_0x2065f0[_0xfaee('0x16')](_0x172654)[_0xfaee('0x2b')](_0x70ef6a);};}exports[_0xfaee('0x2c')]=function(_0x129196,_0x509085){var _0x4a4c61={},_0x4f7e7c={},_0x218fdb={'count':0x0,'rows':[]};var _0x23ea2b=_['map'](db[_0xfaee('0x2d')][_0xfaee('0x2e')],function(_0x28b170){return{'name':_0x28b170[_0xfaee('0x2f')],'type':_0x28b170[_0xfaee('0x30')]['key']};});_0x4f7e7c[_0xfaee('0x31')]=_[_0xfaee('0x32')](_0x23ea2b,_0xfaee('0x2a'));_0x4f7e7c[_0xfaee('0x33')]=_[_0xfaee('0x34')](_0x129196[_0xfaee('0x33')]);_0x4f7e7c['filters']=_['intersection'](_0x4f7e7c[_0xfaee('0x31')],_0x4f7e7c['query']);_0x4a4c61[_0xfaee('0x35')]=_['intersection'](_0x4f7e7c[_0xfaee('0x31')],qs[_0xfaee('0x36')](_0x129196[_0xfaee('0x33')]['fields']));_0x4a4c61['attributes']=_0x4a4c61[_0xfaee('0x35')][_0xfaee('0x37')]?_0x4a4c61[_0xfaee('0x35')]:_0x4f7e7c[_0xfaee('0x31')];if(!_0x129196[_0xfaee('0x33')][_0xfaee('0x38')](_0xfaee('0x39'))){_0x4a4c61[_0xfaee('0x1b')]=qs['limit'](_0x129196['query'][_0xfaee('0x1b')]);_0x4a4c61['offset']=qs[_0xfaee('0x19')](_0x129196[_0xfaee('0x33')]['offset']);}_0x4a4c61[_0xfaee('0x3a')]=qs['sort'](_0x129196[_0xfaee('0x33')][_0xfaee('0x3b')]);_0x4a4c61[_0xfaee('0x3c')]=qs[_0xfaee('0x3d')](_[_0xfaee('0x3e')](_0x129196[_0xfaee('0x33')],_0x4f7e7c[_0xfaee('0x3d')]),_0x23ea2b);if(_0x129196[_0xfaee('0x33')][_0xfaee('0x3f')]){_0x4a4c61[_0xfaee('0x3c')]=_[_0xfaee('0x40')](_0x4a4c61['where'],{'$or':_[_0xfaee('0x32')](_0x23ea2b,function(_0x55b54a){if(_0x55b54a[_0xfaee('0x30')]!==_0xfaee('0x41')){var _0x1653fa={};_0x1653fa[_0x55b54a[_0xfaee('0x2a')]]={'$like':'%'+_0x129196[_0xfaee('0x33')][_0xfaee('0x3f')]+'%'};return _0x1653fa;}})});}_0x4a4c61=_[_0xfaee('0x40')]({},_0x4a4c61,_0x129196['options']);var _0x4829f5={'where':_0x4a4c61[_0xfaee('0x3c')]};return db[_0xfaee('0x2d')][_0xfaee('0x1c')](_0x4829f5)[_0xfaee('0x23')](function(_0x214cb5){_0x218fdb[_0xfaee('0x1c')]=_0x214cb5;if(_0x129196['query'][_0xfaee('0x42')]){_0x4a4c61[_0xfaee('0x43')]=[{'all':!![]}];}return db[_0xfaee('0x2d')][_0xfaee('0x44')](_0x4a4c61);})['then'](function(_0x57335e){_0x218fdb['rows']=_0x57335e;return _0x218fdb;})['then'](respondWithFilteredResult(_0x509085,_0x4a4c61))[_0xfaee('0x45')](handleError(_0x509085,null));};exports[_0xfaee('0x46')]=function(_0x2a1020,_0x4b1fb5){var _0x5c4219={'raw':!![],'where':{'id':_0x2a1020[_0xfaee('0x47')]['id']}},_0x4094f7={};_0x4094f7[_0xfaee('0x31')]=_['keys'](db[_0xfaee('0x2d')][_0xfaee('0x2e')]);_0x4094f7[_0xfaee('0x33')]=_[_0xfaee('0x34')](_0x2a1020['query']);_0x4094f7[_0xfaee('0x3d')]=_[_0xfaee('0x48')](_0x4094f7[_0xfaee('0x31')],_0x4094f7['query']);_0x5c4219['attributes']=_[_0xfaee('0x48')](_0x4094f7[_0xfaee('0x31')],qs[_0xfaee('0x36')](_0x2a1020[_0xfaee('0x33')][_0xfaee('0x36')]));_0x5c4219[_0xfaee('0x35')]=_0x5c4219[_0xfaee('0x35')][_0xfaee('0x37')]?_0x5c4219[_0xfaee('0x35')]:_0x4094f7['model'];if(_0x2a1020['query'][_0xfaee('0x42')]){_0x5c4219['include']=[{'all':!![]}];}_0x5c4219=_[_0xfaee('0x40')]({},_0x5c4219,_0x2a1020[_0xfaee('0x49')]);return db[_0xfaee('0x2d')]['find'](_0x5c4219)[_0xfaee('0x23')](handleEntityNotFound(_0x4b1fb5,null))[_0xfaee('0x23')](respondWithResult(_0x4b1fb5,null))[_0xfaee('0x45')](handleError(_0x4b1fb5,null));};exports[_0xfaee('0x4a')]=function(_0x2758af,_0x486ad5){return db[_0xfaee('0x2d')][_0xfaee('0x4a')](_0x2758af[_0xfaee('0x4b')],{})[_0xfaee('0x23')](function(_0x1a77db){var _0x133555=_0x2758af[_0xfaee('0x4c')][_0xfaee('0x24')]({'plain':!![]});if(!_0x133555)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x133555[_0xfaee('0x4d')]==='user'){var _0x10ed38=_0x1a77db[_0xfaee('0x24')]({'plain':!![]});var _0x10bf7d=_0xfaee('0x25');return db['UserProfileSection'][_0xfaee('0x4e')]({'where':{'name':_0x10bf7d,'userProfileId':_0x133555[_0xfaee('0x4f')]},'raw':!![]})[_0xfaee('0x23')](function(_0x127cda){if(_0x127cda&&_0x127cda['autoAssociation']===0x0){return db[_0xfaee('0x26')]['create']({'name':_0x10ed38[_0xfaee('0x2a')],'resourceId':_0x10ed38['id'],'type':_0x127cda[_0xfaee('0x2a')],'sectionId':_0x127cda['id']},{})[_0xfaee('0x23')](function(){return _0x1a77db;});}else{return _0x1a77db;}})[_0xfaee('0x45')](function(_0x19723d){logger[_0xfaee('0x28')](_0xfaee('0x50'),_0x19723d);throw _0x19723d;});}return _0x1a77db;})[_0xfaee('0x23')](respondWithResult(_0x486ad5,0xc9))['catch'](handleError(_0x486ad5,null));};exports[_0xfaee('0x21')]=function(_0x3ac772,_0x54c1ba){if(_0x3ac772['body']['id']){delete _0x3ac772[_0xfaee('0x4b')]['id'];}return db[_0xfaee('0x2d')][_0xfaee('0x4e')]({'where':{'id':_0x3ac772[_0xfaee('0x47')]['id']}})['then'](handleEntityNotFound(_0x54c1ba,null))[_0xfaee('0x23')](saveUpdates(_0x3ac772[_0xfaee('0x4b')],null))[_0xfaee('0x23')](respondWithResult(_0x54c1ba,null))[_0xfaee('0x45')](handleError(_0x54c1ba,null));};exports[_0xfaee('0x22')]=function(_0x2509ab,_0x3f7025){return db[_0xfaee('0x2d')][_0xfaee('0x4e')]({'where':{'id':_0x2509ab['params']['id']}})['then'](handleEntityNotFound(_0x3f7025,null))[_0xfaee('0x23')](removeEntity(_0x3f7025,null))['catch'](handleError(_0x3f7025,null));};