Built motion from commit (unavailable).|2.5.14
[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 _0x3e50=['Variables','sendStatus','error','stack','name','map','Variable','rawAttributes','fieldName','type','model','query','keys','intersection','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','includeAll','rows','catch','show','params','fields','length','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','get','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy'];(function(_0x9bdcf2,_0x24f92c){var _0x6249b0=function(_0x337d73){while(--_0x337d73){_0x9bdcf2['push'](_0x9bdcf2['shift']());}};_0x6249b0(++_0x24f92c);}(_0x3e50,0x80));var _0x03e5=function(_0x32cafe,_0x4e5b7e){_0x32cafe=_0x32cafe-0x0;var _0x535f0b=_0x3e50[_0x32cafe];return _0x535f0b;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x03e5('0x0'));var rimraf=require(_0x03e5('0x1'));var zipdir=require(_0x03e5('0x2'));var jsonpatch=require(_0x03e5('0x3'));var rp=require(_0x03e5('0x4'));var moment=require(_0x03e5('0x5'));var BPromise=require(_0x03e5('0x6'));var Mustache=require(_0x03e5('0x7'));var util=require(_0x03e5('0x8'));var path=require(_0x03e5('0x9'));var sox=require(_0x03e5('0xa'));var csv=require(_0x03e5('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x03e5('0xc'));var squel=require(_0x03e5('0xd'));var crypto=require(_0x03e5('0xe'));var jsforce=require(_0x03e5('0xf'));var deskjs=require(_0x03e5('0x10'));var toCsv=require(_0x03e5('0xb'));var querystring=require(_0x03e5('0x11'));var Papa=require('papaparse');var Redis=require(_0x03e5('0x12'));var authService=require(_0x03e5('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x03e5('0x14'));var hardwareService=require(_0x03e5('0x15'));var logger=require(_0x03e5('0x16'))(_0x03e5('0x17'));var utils=require(_0x03e5('0x18'));var config=require(_0x03e5('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x03e5('0x1a'))['db'];function respondWithStatusCode(_0x2510f2,_0x21e37b){_0x21e37b=_0x21e37b||0xcc;return function(_0x56725a){if(_0x56725a){return _0x2510f2['sendStatus'](_0x21e37b);}return _0x2510f2[_0x03e5('0x1b')](_0x21e37b)[_0x03e5('0x1c')]();};}function respondWithResult(_0x3bddfc,_0x4fbfbd){_0x4fbfbd=_0x4fbfbd||0xc8;return function(_0x1e67b6){if(_0x1e67b6){return _0x3bddfc[_0x03e5('0x1b')](_0x4fbfbd)[_0x03e5('0x1d')](_0x1e67b6);}};}function respondWithFilteredResult(_0x3f8532,_0x56f92c){return function(_0x239316){if(_0x239316){var _0x4c2d1b=_0x239316[_0x03e5('0x1e')],_0x4986b0=_0x56f92c['offset'],_0x36ad20=_0x56f92c[_0x03e5('0x1f')]+_0x56f92c[_0x03e5('0x20')],_0x3429ed;if(_0x36ad20>=_0x4c2d1b){_0x36ad20=_0x4c2d1b;_0x3429ed=0xc8;}else{_0x3429ed=0xce;}_0x3f8532[_0x03e5('0x1b')](_0x3429ed);return _0x3f8532[_0x03e5('0x21')](_0x03e5('0x22'),_0x4986b0+'-'+_0x36ad20+'/'+_0x4c2d1b)['json'](_0x239316);}return null;};}function patchUpdates(_0x2e3ecb){return function(_0x1a4cde){try{jsonpatch[_0x03e5('0x23')](_0x1a4cde,_0x2e3ecb,!![]);}catch(_0xd2e4c7){return BPromise['reject'](_0xd2e4c7);}return _0x1a4cde[_0x03e5('0x24')]();};}function saveUpdates(_0x46bc71,_0x384e43){return function(_0x386039){if(_0x386039){return _0x386039[_0x03e5('0x25')](_0x46bc71)[_0x03e5('0x26')](function(_0x3354bd){return _0x3354bd;});}return null;};}function removeEntity(_0x1bbd93,_0x402751){return function(_0x18f5bd){if(_0x18f5bd){return _0x18f5bd[_0x03e5('0x27')]()[_0x03e5('0x26')](function(){var _0x228caf=_0x18f5bd['get']({'plain':!![]});var _0x152839=_0x03e5('0x28');return db['UserProfileResource']['destroy']({'where':{'type':_0x152839,'resourceId':_0x228caf['id']}})[_0x03e5('0x26')](function(){return _0x18f5bd;});})[_0x03e5('0x26')](function(){_0x1bbd93[_0x03e5('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x14afbe,_0x4c7a04){return function(_0x187adb){if(!_0x187adb){_0x14afbe[_0x03e5('0x29')](0x194);}return _0x187adb;};}function handleError(_0x5d9cdf,_0xb34c31){_0xb34c31=_0xb34c31||0x1f4;return function(_0x554a30){logger[_0x03e5('0x2a')](_0x554a30[_0x03e5('0x2b')]);if(_0x554a30[_0x03e5('0x2c')]){delete _0x554a30['name'];}_0x5d9cdf['status'](_0xb34c31)['send'](_0x554a30);};}exports['index']=function(_0x5c994d,_0x3540d1){var _0x4ca98b={},_0x56ba88={},_0x3fd10c={'count':0x0,'rows':[]};var _0x38aa7f=_[_0x03e5('0x2d')](db[_0x03e5('0x2e')][_0x03e5('0x2f')],function(_0x3a99e0){return{'name':_0x3a99e0[_0x03e5('0x30')],'type':_0x3a99e0[_0x03e5('0x31')]['key']};});_0x56ba88[_0x03e5('0x32')]=_[_0x03e5('0x2d')](_0x38aa7f,_0x03e5('0x2c'));_0x56ba88[_0x03e5('0x33')]=_[_0x03e5('0x34')](_0x5c994d['query']);_0x56ba88['filters']=_[_0x03e5('0x35')](_0x56ba88[_0x03e5('0x32')],_0x56ba88[_0x03e5('0x33')]);_0x4ca98b[_0x03e5('0x36')]=_[_0x03e5('0x35')](_0x56ba88[_0x03e5('0x32')],qs['fields'](_0x5c994d[_0x03e5('0x33')]['fields']));_0x4ca98b[_0x03e5('0x36')]=_0x4ca98b[_0x03e5('0x36')]['length']?_0x4ca98b[_0x03e5('0x36')]:_0x56ba88[_0x03e5('0x32')];if(!_0x5c994d['query'][_0x03e5('0x37')](_0x03e5('0x38'))){_0x4ca98b[_0x03e5('0x20')]=qs[_0x03e5('0x20')](_0x5c994d[_0x03e5('0x33')][_0x03e5('0x20')]);_0x4ca98b[_0x03e5('0x1f')]=qs[_0x03e5('0x1f')](_0x5c994d[_0x03e5('0x33')][_0x03e5('0x1f')]);}_0x4ca98b[_0x03e5('0x39')]=qs['sort'](_0x5c994d[_0x03e5('0x33')][_0x03e5('0x3a')]);_0x4ca98b[_0x03e5('0x3b')]=qs[_0x03e5('0x3c')](_[_0x03e5('0x3d')](_0x5c994d[_0x03e5('0x33')],_0x56ba88[_0x03e5('0x3c')]),_0x38aa7f);if(_0x5c994d['query']['filter']){_0x4ca98b[_0x03e5('0x3b')]=_[_0x03e5('0x3e')](_0x4ca98b[_0x03e5('0x3b')],{'$or':_[_0x03e5('0x2d')](_0x38aa7f,function(_0x4f9046){if(_0x4f9046[_0x03e5('0x31')]!==_0x03e5('0x3f')){var _0x3dffdf={};_0x3dffdf[_0x4f9046[_0x03e5('0x2c')]]={'$like':'%'+_0x5c994d['query'][_0x03e5('0x40')]+'%'};return _0x3dffdf;}})});}_0x4ca98b=_[_0x03e5('0x3e')]({},_0x4ca98b,_0x5c994d[_0x03e5('0x41')]);var _0x3ff8ef={'where':_0x4ca98b['where']};return db['Variable']['count'](_0x3ff8ef)[_0x03e5('0x26')](function(_0x26fa77){_0x3fd10c[_0x03e5('0x1e')]=_0x26fa77;if(_0x5c994d['query'][_0x03e5('0x42')]){_0x4ca98b['include']=[{'all':!![]}];}return db[_0x03e5('0x2e')]['findAll'](_0x4ca98b);})['then'](function(_0x53eb30){_0x3fd10c[_0x03e5('0x43')]=_0x53eb30;return _0x3fd10c;})[_0x03e5('0x26')](respondWithFilteredResult(_0x3540d1,_0x4ca98b))[_0x03e5('0x44')](handleError(_0x3540d1,null));};exports[_0x03e5('0x45')]=function(_0x12e3c4,_0x5e8d42){var _0xed8882={'raw':!![],'where':{'id':_0x12e3c4[_0x03e5('0x46')]['id']}},_0x15575c={};_0x15575c[_0x03e5('0x32')]=_[_0x03e5('0x34')](db[_0x03e5('0x2e')][_0x03e5('0x2f')]);_0x15575c[_0x03e5('0x33')]=_[_0x03e5('0x34')](_0x12e3c4[_0x03e5('0x33')]);_0x15575c[_0x03e5('0x3c')]=_[_0x03e5('0x35')](_0x15575c[_0x03e5('0x32')],_0x15575c['query']);_0xed8882['attributes']=_[_0x03e5('0x35')](_0x15575c[_0x03e5('0x32')],qs[_0x03e5('0x47')](_0x12e3c4['query'][_0x03e5('0x47')]));_0xed8882[_0x03e5('0x36')]=_0xed8882['attributes'][_0x03e5('0x48')]?_0xed8882['attributes']:_0x15575c[_0x03e5('0x32')];if(_0x12e3c4[_0x03e5('0x33')]['includeAll']){_0xed8882['include']=[{'all':!![]}];}_0xed8882=_[_0x03e5('0x3e')]({},_0xed8882,_0x12e3c4['options']);return db[_0x03e5('0x2e')][_0x03e5('0x49')](_0xed8882)[_0x03e5('0x26')](handleEntityNotFound(_0x5e8d42,null))['then'](respondWithResult(_0x5e8d42,null))['catch'](handleError(_0x5e8d42,null));};exports[_0x03e5('0x4a')]=function(_0x56779b,_0x2065b0){return db[_0x03e5('0x2e')]['create'](_0x56779b[_0x03e5('0x4b')],{})[_0x03e5('0x26')](function(_0xdde609){var _0x37caea=_0x56779b['user']['get']({'plain':!![]});if(!_0x37caea)throw new Error(_0x03e5('0x4c'));if(_0x37caea[_0x03e5('0x4d')]===_0x03e5('0x4e')){var _0x12102e=_0xdde609[_0x03e5('0x4f')]({'plain':!![]});var _0x2a66b8=_0x03e5('0x28');return db[_0x03e5('0x50')][_0x03e5('0x49')]({'where':{'name':_0x2a66b8,'userProfileId':_0x37caea[_0x03e5('0x51')]},'raw':!![]})[_0x03e5('0x26')](function(_0x50c0cc){if(_0x50c0cc&&_0x50c0cc['autoAssociation']===0x0){return db[_0x03e5('0x52')][_0x03e5('0x4a')]({'name':_0x12102e[_0x03e5('0x2c')],'resourceId':_0x12102e['id'],'type':_0x50c0cc[_0x03e5('0x2c')],'sectionId':_0x50c0cc['id']},{})[_0x03e5('0x26')](function(){return _0xdde609;});}else{return _0xdde609;}})['catch'](function(_0x52ab1e){logger['error'](_0x03e5('0x53'),_0x52ab1e);throw _0x52ab1e;});}return _0xdde609;})[_0x03e5('0x26')](respondWithResult(_0x2065b0,0xc9))['catch'](handleError(_0x2065b0,null));};exports[_0x03e5('0x25')]=function(_0x13f624,_0x4a8a89){if(_0x13f624['body']['id']){delete _0x13f624['body']['id'];}return db[_0x03e5('0x2e')]['find']({'where':{'id':_0x13f624[_0x03e5('0x46')]['id']}})[_0x03e5('0x26')](handleEntityNotFound(_0x4a8a89,null))[_0x03e5('0x26')](saveUpdates(_0x13f624[_0x03e5('0x4b')],null))['then'](respondWithResult(_0x4a8a89,null))[_0x03e5('0x44')](handleError(_0x4a8a89,null));};exports[_0x03e5('0x27')]=function(_0x5654ad,_0x28e0b0){return db[_0x03e5('0x2e')]['find']({'where':{'id':_0x5654ad[_0x03e5('0x46')]['id']}})[_0x03e5('0x26')](handleEntityNotFound(_0x28e0b0,null))[_0x03e5('0x26')](removeEntity(_0x28e0b0,null))[_0x03e5('0x44')](handleError(_0x28e0b0,null));};