Built motion from commit (unavailable).|2.5.3
[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 _0x4c75=['type','key','model','name','intersection','attributes','fields','length','nolimit','limit','query','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','keys','rawAttributes','catch','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','userProfileId','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','html-pdf','rimraf','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','status','end','json','count','offset','Content-Range','apply','save','update','then','destroy','get','Variables','sendStatus','error','stack','send','map','Variable','fieldName'];(function(_0x32f74a,_0x58cfab){var _0x3efbdf=function(_0x21a6b0){while(--_0x21a6b0){_0x32f74a['push'](_0x32f74a['shift']());}};_0x3efbdf(++_0x58cfab);}(_0x4c75,0x1ba));var _0x54c7=function(_0x40bdb3,_0x5a81f2){_0x40bdb3=_0x40bdb3-0x0;var _0xeac086=_0x4c75[_0x40bdb3];return _0xeac086;};'use strict';var pdf=require(_0x54c7('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x54c7('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x54c7('0x2'));var moment=require('moment');var BPromise=require(_0x54c7('0x3'));var Mustache=require(_0x54c7('0x4'));var util=require(_0x54c7('0x5'));var path=require(_0x54c7('0x6'));var sox=require(_0x54c7('0x7'));var csv=require(_0x54c7('0x8'));var ejs=require(_0x54c7('0x9'));var fs=require('fs');var _=require(_0x54c7('0xa'));var squel=require(_0x54c7('0xb'));var crypto=require(_0x54c7('0xc'));var jsforce=require(_0x54c7('0xd'));var deskjs=require(_0x54c7('0xe'));var toCsv=require(_0x54c7('0x8'));var querystring=require(_0x54c7('0xf'));var Papa=require(_0x54c7('0x10'));var Redis=require(_0x54c7('0x11'));var authService=require(_0x54c7('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x54c7('0x13'));var hardwareService=require(_0x54c7('0x14'));var logger=require(_0x54c7('0x15'))(_0x54c7('0x16'));var utils=require(_0x54c7('0x17'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x386455,_0x1be0ea){_0x1be0ea=_0x1be0ea||0xcc;return function(_0x43c4bd){if(_0x43c4bd){return _0x386455['sendStatus'](_0x1be0ea);}return _0x386455[_0x54c7('0x18')](_0x1be0ea)[_0x54c7('0x19')]();};}function respondWithResult(_0x57ce9f,_0x4aa3b7){_0x4aa3b7=_0x4aa3b7||0xc8;return function(_0x4ec18f){if(_0x4ec18f){return _0x57ce9f[_0x54c7('0x18')](_0x4aa3b7)[_0x54c7('0x1a')](_0x4ec18f);}};}function respondWithFilteredResult(_0x190480,_0x40cd89){return function(_0x5e50f9){if(_0x5e50f9){var _0x145568=_0x5e50f9[_0x54c7('0x1b')],_0x3d3cb7=_0x40cd89[_0x54c7('0x1c')],_0x3a7304=_0x40cd89['offset']+_0x40cd89['limit'],_0x86b644;if(_0x3a7304>=_0x145568){_0x3a7304=_0x145568;_0x86b644=0xc8;}else{_0x86b644=0xce;}_0x190480[_0x54c7('0x18')](_0x86b644);return _0x190480['set'](_0x54c7('0x1d'),_0x3d3cb7+'-'+_0x3a7304+'/'+_0x145568)[_0x54c7('0x1a')](_0x5e50f9);}return null;};}function patchUpdates(_0x124f94){return function(_0x4996a9){try{jsonpatch[_0x54c7('0x1e')](_0x4996a9,_0x124f94,!![]);}catch(_0x35a5f7){return BPromise['reject'](_0x35a5f7);}return _0x4996a9[_0x54c7('0x1f')]();};}function saveUpdates(_0x4d2425,_0x4398a2){return function(_0x41141f){if(_0x41141f){return _0x41141f[_0x54c7('0x20')](_0x4d2425)[_0x54c7('0x21')](function(_0x54c117){return _0x54c117;});}return null;};}function removeEntity(_0x59ce45,_0x2afbf2){return function(_0xd2bd5c){if(_0xd2bd5c){return _0xd2bd5c[_0x54c7('0x22')]()['then'](function(){var _0xe87609=_0xd2bd5c[_0x54c7('0x23')]({'plain':!![]});var _0x588d6d=_0x54c7('0x24');return db['UserProfileResource'][_0x54c7('0x22')]({'where':{'type':_0x588d6d,'resourceId':_0xe87609['id']}})[_0x54c7('0x21')](function(){return _0xd2bd5c;});})[_0x54c7('0x21')](function(){_0x59ce45[_0x54c7('0x18')](0xcc)[_0x54c7('0x19')]();});}};}function handleEntityNotFound(_0x530398,_0x56afc5){return function(_0x517e23){if(!_0x517e23){_0x530398[_0x54c7('0x25')](0x194);}return _0x517e23;};}function handleError(_0x229a5b,_0x12c144){_0x12c144=_0x12c144||0x1f4;return function(_0x527d94){logger[_0x54c7('0x26')](_0x527d94[_0x54c7('0x27')]);if(_0x527d94['name']){delete _0x527d94['name'];}_0x229a5b[_0x54c7('0x18')](_0x12c144)[_0x54c7('0x28')](_0x527d94);};}exports['index']=function(_0x5e9358,_0x560a4f){var _0x2a751c={},_0x972e31={},_0x2b8639={'count':0x0,'rows':[]};var _0x3b5829=_[_0x54c7('0x29')](db[_0x54c7('0x2a')]['rawAttributes'],function(_0x13c2c5){return{'name':_0x13c2c5[_0x54c7('0x2b')],'type':_0x13c2c5[_0x54c7('0x2c')][_0x54c7('0x2d')]};});_0x972e31[_0x54c7('0x2e')]=_[_0x54c7('0x29')](_0x3b5829,_0x54c7('0x2f'));_0x972e31['query']=_['keys'](_0x5e9358['query']);_0x972e31['filters']=_[_0x54c7('0x30')](_0x972e31[_0x54c7('0x2e')],_0x972e31['query']);_0x2a751c[_0x54c7('0x31')]=_[_0x54c7('0x30')](_0x972e31[_0x54c7('0x2e')],qs[_0x54c7('0x32')](_0x5e9358['query'][_0x54c7('0x32')]));_0x2a751c[_0x54c7('0x31')]=_0x2a751c['attributes'][_0x54c7('0x33')]?_0x2a751c[_0x54c7('0x31')]:_0x972e31[_0x54c7('0x2e')];if(!_0x5e9358['query']['hasOwnProperty'](_0x54c7('0x34'))){_0x2a751c[_0x54c7('0x35')]=qs[_0x54c7('0x35')](_0x5e9358[_0x54c7('0x36')][_0x54c7('0x35')]);_0x2a751c[_0x54c7('0x1c')]=qs[_0x54c7('0x1c')](_0x5e9358['query'][_0x54c7('0x1c')]);}_0x2a751c[_0x54c7('0x37')]=qs[_0x54c7('0x38')](_0x5e9358['query'][_0x54c7('0x38')]);_0x2a751c[_0x54c7('0x39')]=qs[_0x54c7('0x3a')](_[_0x54c7('0x3b')](_0x5e9358[_0x54c7('0x36')],_0x972e31['filters']),_0x3b5829);if(_0x5e9358[_0x54c7('0x36')][_0x54c7('0x3c')]){_0x2a751c[_0x54c7('0x39')]=_[_0x54c7('0x3d')](_0x2a751c[_0x54c7('0x39')],{'$or':_[_0x54c7('0x29')](_0x3b5829,function(_0x2210cd){if(_0x2210cd['type']!==_0x54c7('0x3e')){var _0x57911b={};_0x57911b[_0x2210cd[_0x54c7('0x2f')]]={'$like':'%'+_0x5e9358[_0x54c7('0x36')]['filter']+'%'};return _0x57911b;}})});}_0x2a751c=_[_0x54c7('0x3d')]({},_0x2a751c,_0x5e9358[_0x54c7('0x3f')]);var _0x45cb52={'where':_0x2a751c['where']};return db['Variable'][_0x54c7('0x1b')](_0x45cb52)[_0x54c7('0x21')](function(_0x17a5b7){_0x2b8639['count']=_0x17a5b7;if(_0x5e9358[_0x54c7('0x36')][_0x54c7('0x40')]){_0x2a751c[_0x54c7('0x41')]=[{'all':!![]}];}return db['Variable'][_0x54c7('0x42')](_0x2a751c);})[_0x54c7('0x21')](function(_0x4f075d){_0x2b8639[_0x54c7('0x43')]=_0x4f075d;return _0x2b8639;})[_0x54c7('0x21')](respondWithFilteredResult(_0x560a4f,_0x2a751c))['catch'](handleError(_0x560a4f,null));};exports[_0x54c7('0x44')]=function(_0x8a9c52,_0x3bda8b){var _0x2ccd1d={'raw':!![],'where':{'id':_0x8a9c52[_0x54c7('0x45')]['id']}},_0xe04faf={};_0xe04faf['model']=_[_0x54c7('0x46')](db[_0x54c7('0x2a')][_0x54c7('0x47')]);_0xe04faf[_0x54c7('0x36')]=_[_0x54c7('0x46')](_0x8a9c52[_0x54c7('0x36')]);_0xe04faf[_0x54c7('0x3a')]=_[_0x54c7('0x30')](_0xe04faf[_0x54c7('0x2e')],_0xe04faf[_0x54c7('0x36')]);_0x2ccd1d[_0x54c7('0x31')]=_['intersection'](_0xe04faf[_0x54c7('0x2e')],qs[_0x54c7('0x32')](_0x8a9c52['query'][_0x54c7('0x32')]));_0x2ccd1d['attributes']=_0x2ccd1d[_0x54c7('0x31')][_0x54c7('0x33')]?_0x2ccd1d[_0x54c7('0x31')]:_0xe04faf[_0x54c7('0x2e')];if(_0x8a9c52[_0x54c7('0x36')][_0x54c7('0x40')]){_0x2ccd1d['include']=[{'all':!![]}];}_0x2ccd1d=_[_0x54c7('0x3d')]({},_0x2ccd1d,_0x8a9c52[_0x54c7('0x3f')]);return db[_0x54c7('0x2a')]['find'](_0x2ccd1d)[_0x54c7('0x21')](handleEntityNotFound(_0x3bda8b,null))[_0x54c7('0x21')](respondWithResult(_0x3bda8b,null))[_0x54c7('0x48')](handleError(_0x3bda8b,null));};exports['create']=function(_0x410aff,_0x5df538){return db[_0x54c7('0x2a')]['create'](_0x410aff['body'],{})['then'](function(_0x5b6d37){var _0xd938ea=_0x410aff[_0x54c7('0x49')][_0x54c7('0x23')]({'plain':!![]});if(!_0xd938ea)throw new Error(_0x54c7('0x4a'));if(_0xd938ea[_0x54c7('0x4b')]===_0x54c7('0x49')){var _0x9d0bf6=_0x5b6d37[_0x54c7('0x23')]({'plain':!![]});var _0x3c67f8=_0x54c7('0x24');return db['UserProfileSection'][_0x54c7('0x4c')]({'where':{'name':_0x3c67f8,'userProfileId':_0xd938ea[_0x54c7('0x4d')]},'raw':!![]})[_0x54c7('0x21')](function(_0x437521){if(_0x437521&&_0x437521['autoAssociation']===0x0){return db['UserProfileResource'][_0x54c7('0x4e')]({'name':_0x9d0bf6[_0x54c7('0x2f')],'resourceId':_0x9d0bf6['id'],'type':_0x437521[_0x54c7('0x2f')],'sectionId':_0x437521['id']},{})[_0x54c7('0x21')](function(){return _0x5b6d37;});}else{return _0x5b6d37;}})[_0x54c7('0x48')](function(_0x3271ec){logger[_0x54c7('0x26')](_0x54c7('0x4f'),_0x3271ec);throw _0x3271ec;});}return _0x5b6d37;})[_0x54c7('0x21')](respondWithResult(_0x5df538,0xc9))['catch'](handleError(_0x5df538,null));};exports[_0x54c7('0x20')]=function(_0x51be51,_0x4f8c76){if(_0x51be51[_0x54c7('0x50')]['id']){delete _0x51be51['body']['id'];}return db['Variable'][_0x54c7('0x4c')]({'where':{'id':_0x51be51[_0x54c7('0x45')]['id']}})[_0x54c7('0x21')](handleEntityNotFound(_0x4f8c76,null))['then'](saveUpdates(_0x51be51[_0x54c7('0x50')],null))['then'](respondWithResult(_0x4f8c76,null))[_0x54c7('0x48')](handleError(_0x4f8c76,null));};exports[_0x54c7('0x22')]=function(_0x14de24,_0x337181){return db[_0x54c7('0x2a')][_0x54c7('0x4c')]({'where':{'id':_0x14de24[_0x54c7('0x45')]['id']}})[_0x54c7('0x21')](handleEntityNotFound(_0x337181,null))[_0x54c7('0x21')](removeEntity(_0x337181,null))['catch'](handleError(_0x337181,null));};