Built motion from commit (unavailable).|2.5.13
[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 _0x3aeb=['options','include','findAll','catch','params','includeAll','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','limit','set','apply','reject','update','destroy','then','get','Variables','UserProfileResource','end','stack','send','index','map','Variable','rawAttributes','type','key','model','name','keys','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','where','filters','filter','merge'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x3aeb,0xf0));var _0xb3ae=function(_0x5cbbeb,_0x201924){_0x5cbbeb=_0x5cbbeb-0x0;var _0x135976=_0x3aeb[_0x5cbbeb];return _0x135976;};'use strict';var pdf=require(_0xb3ae('0x0'));var emlformat=require(_0xb3ae('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xb3ae('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb3ae('0x3'));var moment=require(_0xb3ae('0x4'));var BPromise=require(_0xb3ae('0x5'));var Mustache=require(_0xb3ae('0x6'));var util=require(_0xb3ae('0x7'));var path=require('path');var sox=require(_0xb3ae('0x8'));var csv=require(_0xb3ae('0x9'));var ejs=require(_0xb3ae('0xa'));var fs=require('fs');var _=require(_0xb3ae('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xb3ae('0xc'));var deskjs=require(_0xb3ae('0xd'));var toCsv=require(_0xb3ae('0x9'));var querystring=require('querystring');var Papa=require(_0xb3ae('0xe'));var Redis=require('ioredis');var authService=require(_0xb3ae('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xb3ae('0x10'));var hardwareService=require(_0xb3ae('0x11'));var logger=require(_0xb3ae('0x12'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xb3ae('0x13'));var db=require(_0xb3ae('0x14'))['db'];function respondWithStatusCode(_0x481832,_0x5d3039){_0x5d3039=_0x5d3039||0xcc;return function(_0x2687eb){if(_0x2687eb){return _0x481832[_0xb3ae('0x15')](_0x5d3039);}return _0x481832[_0xb3ae('0x16')](_0x5d3039)['end']();};}function respondWithResult(_0x5bdff6,_0x2c9c6c){_0x2c9c6c=_0x2c9c6c||0xc8;return function(_0x4b1300){if(_0x4b1300){return _0x5bdff6[_0xb3ae('0x16')](_0x2c9c6c)[_0xb3ae('0x17')](_0x4b1300);}};}function respondWithFilteredResult(_0x44f31c,_0x3329fb){return function(_0x4af28a){if(_0x4af28a){var _0x542c8c=_0x4af28a[_0xb3ae('0x18')],_0x1a3713=_0x3329fb[_0xb3ae('0x19')],_0x42451b=_0x3329fb['offset']+_0x3329fb[_0xb3ae('0x1a')],_0x29d43a;if(_0x42451b>=_0x542c8c){_0x42451b=_0x542c8c;_0x29d43a=0xc8;}else{_0x29d43a=0xce;}_0x44f31c[_0xb3ae('0x16')](_0x29d43a);return _0x44f31c[_0xb3ae('0x1b')]('Content-Range',_0x1a3713+'-'+_0x42451b+'/'+_0x542c8c)[_0xb3ae('0x17')](_0x4af28a);}return null;};}function patchUpdates(_0x4185ac){return function(_0x114a0f){try{jsonpatch[_0xb3ae('0x1c')](_0x114a0f,_0x4185ac,!![]);}catch(_0x3a2192){return BPromise[_0xb3ae('0x1d')](_0x3a2192);}return _0x114a0f['save']();};}function saveUpdates(_0x5974ad,_0x144034){return function(_0x7eed5f){if(_0x7eed5f){return _0x7eed5f[_0xb3ae('0x1e')](_0x5974ad)['then'](function(_0x2ed416){return _0x2ed416;});}return null;};}function removeEntity(_0x398ed7,_0x47b380){return function(_0x4377bc){if(_0x4377bc){return _0x4377bc[_0xb3ae('0x1f')]()[_0xb3ae('0x20')](function(){var _0xa6b226=_0x4377bc[_0xb3ae('0x21')]({'plain':!![]});var _0x260e30=_0xb3ae('0x22');return db[_0xb3ae('0x23')][_0xb3ae('0x1f')]({'where':{'type':_0x260e30,'resourceId':_0xa6b226['id']}})[_0xb3ae('0x20')](function(){return _0x4377bc;});})[_0xb3ae('0x20')](function(){_0x398ed7['status'](0xcc)[_0xb3ae('0x24')]();});}};}function handleEntityNotFound(_0x177a6b,_0x2882ed){return function(_0xd74c40){if(!_0xd74c40){_0x177a6b[_0xb3ae('0x15')](0x194);}return _0xd74c40;};}function handleError(_0x546057,_0x5dbd07){_0x5dbd07=_0x5dbd07||0x1f4;return function(_0x13b5a6){logger['error'](_0x13b5a6[_0xb3ae('0x25')]);if(_0x13b5a6['name']){delete _0x13b5a6['name'];}_0x546057[_0xb3ae('0x16')](_0x5dbd07)[_0xb3ae('0x26')](_0x13b5a6);};}exports[_0xb3ae('0x27')]=function(_0x5a9b29,_0x1aa6a0){var _0x240a30={},_0x2be64d={},_0x525862={'count':0x0,'rows':[]};var _0x39e134=_[_0xb3ae('0x28')](db[_0xb3ae('0x29')][_0xb3ae('0x2a')],function(_0x2eb9e6){return{'name':_0x2eb9e6['fieldName'],'type':_0x2eb9e6[_0xb3ae('0x2b')][_0xb3ae('0x2c')]};});_0x2be64d[_0xb3ae('0x2d')]=_[_0xb3ae('0x28')](_0x39e134,_0xb3ae('0x2e'));_0x2be64d['query']=_[_0xb3ae('0x2f')](_0x5a9b29[_0xb3ae('0x30')]);_0x2be64d['filters']=_[_0xb3ae('0x31')](_0x2be64d['model'],_0x2be64d[_0xb3ae('0x30')]);_0x240a30['attributes']=_['intersection'](_0x2be64d[_0xb3ae('0x2d')],qs[_0xb3ae('0x32')](_0x5a9b29['query'][_0xb3ae('0x32')]));_0x240a30[_0xb3ae('0x33')]=_0x240a30[_0xb3ae('0x33')][_0xb3ae('0x34')]?_0x240a30[_0xb3ae('0x33')]:_0x2be64d[_0xb3ae('0x2d')];if(!_0x5a9b29[_0xb3ae('0x30')][_0xb3ae('0x35')](_0xb3ae('0x36'))){_0x240a30[_0xb3ae('0x1a')]=qs[_0xb3ae('0x1a')](_0x5a9b29[_0xb3ae('0x30')][_0xb3ae('0x1a')]);_0x240a30[_0xb3ae('0x19')]=qs[_0xb3ae('0x19')](_0x5a9b29[_0xb3ae('0x30')]['offset']);}_0x240a30[_0xb3ae('0x37')]=qs['sort'](_0x5a9b29['query']['sort']);_0x240a30[_0xb3ae('0x38')]=qs[_0xb3ae('0x39')](_['pick'](_0x5a9b29[_0xb3ae('0x30')],_0x2be64d[_0xb3ae('0x39')]),_0x39e134);if(_0x5a9b29[_0xb3ae('0x30')][_0xb3ae('0x3a')]){_0x240a30[_0xb3ae('0x38')]=_['merge'](_0x240a30[_0xb3ae('0x38')],{'$or':_[_0xb3ae('0x28')](_0x39e134,function(_0x449bd9){if(_0x449bd9[_0xb3ae('0x2b')]!=='VIRTUAL'){var _0x27f48b={};_0x27f48b[_0x449bd9[_0xb3ae('0x2e')]]={'$like':'%'+_0x5a9b29['query'][_0xb3ae('0x3a')]+'%'};return _0x27f48b;}})});}_0x240a30=_[_0xb3ae('0x3b')]({},_0x240a30,_0x5a9b29[_0xb3ae('0x3c')]);var _0x4ecc93={'where':_0x240a30[_0xb3ae('0x38')]};return db[_0xb3ae('0x29')][_0xb3ae('0x18')](_0x4ecc93)[_0xb3ae('0x20')](function(_0x22939e){_0x525862[_0xb3ae('0x18')]=_0x22939e;if(_0x5a9b29[_0xb3ae('0x30')]['includeAll']){_0x240a30[_0xb3ae('0x3d')]=[{'all':!![]}];}return db[_0xb3ae('0x29')][_0xb3ae('0x3e')](_0x240a30);})[_0xb3ae('0x20')](function(_0x3281f1){_0x525862['rows']=_0x3281f1;return _0x525862;})[_0xb3ae('0x20')](respondWithFilteredResult(_0x1aa6a0,_0x240a30))[_0xb3ae('0x3f')](handleError(_0x1aa6a0,null));};exports['show']=function(_0x42dda6,_0x494593){var _0x352c0a={'raw':!![],'where':{'id':_0x42dda6[_0xb3ae('0x40')]['id']}},_0x5d3d32={};_0x5d3d32[_0xb3ae('0x2d')]=_['keys'](db[_0xb3ae('0x29')][_0xb3ae('0x2a')]);_0x5d3d32[_0xb3ae('0x30')]=_[_0xb3ae('0x2f')](_0x42dda6[_0xb3ae('0x30')]);_0x5d3d32[_0xb3ae('0x39')]=_['intersection'](_0x5d3d32[_0xb3ae('0x2d')],_0x5d3d32[_0xb3ae('0x30')]);_0x352c0a['attributes']=_[_0xb3ae('0x31')](_0x5d3d32[_0xb3ae('0x2d')],qs['fields'](_0x42dda6[_0xb3ae('0x30')][_0xb3ae('0x32')]));_0x352c0a[_0xb3ae('0x33')]=_0x352c0a[_0xb3ae('0x33')][_0xb3ae('0x34')]?_0x352c0a[_0xb3ae('0x33')]:_0x5d3d32[_0xb3ae('0x2d')];if(_0x42dda6[_0xb3ae('0x30')][_0xb3ae('0x41')]){_0x352c0a[_0xb3ae('0x3d')]=[{'all':!![]}];}_0x352c0a=_[_0xb3ae('0x3b')]({},_0x352c0a,_0x42dda6[_0xb3ae('0x3c')]);return db[_0xb3ae('0x29')][_0xb3ae('0x42')](_0x352c0a)[_0xb3ae('0x20')](handleEntityNotFound(_0x494593,null))[_0xb3ae('0x20')](respondWithResult(_0x494593,null))[_0xb3ae('0x3f')](handleError(_0x494593,null));};exports[_0xb3ae('0x43')]=function(_0x2f197f,_0x946380){return db[_0xb3ae('0x29')][_0xb3ae('0x43')](_0x2f197f['body'],{})[_0xb3ae('0x20')](function(_0x1ec977){var _0x2266c3=_0x2f197f[_0xb3ae('0x44')]['get']({'plain':!![]});if(!_0x2266c3)throw new Error(_0xb3ae('0x45'));if(_0x2266c3[_0xb3ae('0x46')]==='user'){var _0x4e9d43=_0x1ec977[_0xb3ae('0x21')]({'plain':!![]});var _0x165b67=_0xb3ae('0x22');return db[_0xb3ae('0x47')][_0xb3ae('0x42')]({'where':{'name':_0x165b67,'userProfileId':_0x2266c3[_0xb3ae('0x48')]},'raw':!![]})[_0xb3ae('0x20')](function(_0x248d94){if(_0x248d94&&_0x248d94['autoAssociation']===0x0){return db[_0xb3ae('0x23')][_0xb3ae('0x43')]({'name':_0x4e9d43[_0xb3ae('0x2e')],'resourceId':_0x4e9d43['id'],'type':_0x248d94[_0xb3ae('0x2e')],'sectionId':_0x248d94['id']},{})[_0xb3ae('0x20')](function(){return _0x1ec977;});}else{return _0x1ec977;}})[_0xb3ae('0x3f')](function(_0x176d61){logger['error'](_0xb3ae('0x49'),_0x176d61);throw _0x176d61;});}return _0x1ec977;})[_0xb3ae('0x20')](respondWithResult(_0x946380,0xc9))[_0xb3ae('0x3f')](handleError(_0x946380,null));};exports[_0xb3ae('0x1e')]=function(_0x11be4d,_0x8dbf70){if(_0x11be4d['body']['id']){delete _0x11be4d[_0xb3ae('0x4a')]['id'];}return db[_0xb3ae('0x29')][_0xb3ae('0x42')]({'where':{'id':_0x11be4d[_0xb3ae('0x40')]['id']}})['then'](handleEntityNotFound(_0x8dbf70,null))['then'](saveUpdates(_0x11be4d[_0xb3ae('0x4a')],null))[_0xb3ae('0x20')](respondWithResult(_0x8dbf70,null))[_0xb3ae('0x3f')](handleError(_0x8dbf70,null));};exports[_0xb3ae('0x1f')]=function(_0x1cbd8e,_0x2f8a4b){return db[_0xb3ae('0x29')][_0xb3ae('0x42')]({'where':{'id':_0x1cbd8e[_0xb3ae('0x40')]['id']}})[_0xb3ae('0x20')](handleEntityNotFound(_0x2f8a4b,null))['then'](removeEntity(_0x2f8a4b,null))['catch'](handleError(_0x2f8a4b,null));};