Built motion from commit (unavailable).|2.5.11
[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 _0x5bce=['rimraf','fast-json-patch','request-promise','bluebird','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','reject','update','then','destroy','get','Variables','error','stack','name','send','index','map','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','Variable','includeAll','findAll','rows','catch','show','include','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','html-pdf','eml-format'];(function(_0x4b0c30,_0x38dce7){var _0x536d6e=function(_0x3f6872){while(--_0x3f6872){_0x4b0c30['push'](_0x4b0c30['shift']());}};_0x536d6e(++_0x38dce7);}(_0x5bce,0xa6));var _0xe5bc=function(_0x2c5255,_0x4340c3){_0x2c5255=_0x2c5255-0x0;var _0x30d0ea=_0x5bce[_0x2c5255];return _0x30d0ea;};'use strict';var pdf=require(_0xe5bc('0x0'));var emlformat=require(_0xe5bc('0x1'));var rimraf=require(_0xe5bc('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe5bc('0x3'));var rp=require(_0xe5bc('0x4'));var moment=require('moment');var BPromise=require(_0xe5bc('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xe5bc('0x6'));var sox=require(_0xe5bc('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xe5bc('0x8'));var squel=require(_0xe5bc('0x9'));var crypto=require(_0xe5bc('0xa'));var jsforce=require(_0xe5bc('0xb'));var deskjs=require(_0xe5bc('0xc'));var toCsv=require(_0xe5bc('0xd'));var querystring=require('querystring');var Papa=require(_0xe5bc('0xe'));var Redis=require(_0xe5bc('0xf'));var authService=require(_0xe5bc('0x10'));var qs=require(_0xe5bc('0x11'));var as=require(_0xe5bc('0x12'));var hardwareService=require(_0xe5bc('0x13'));var logger=require(_0xe5bc('0x14'))(_0xe5bc('0x15'));var utils=require(_0xe5bc('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xe5bc('0x17'));var db=require(_0xe5bc('0x18'))['db'];function respondWithStatusCode(_0x4a8a28,_0x4864ae){_0x4864ae=_0x4864ae||0xcc;return function(_0x155733){if(_0x155733){return _0x4a8a28[_0xe5bc('0x19')](_0x4864ae);}return _0x4a8a28[_0xe5bc('0x1a')](_0x4864ae)[_0xe5bc('0x1b')]();};}function respondWithResult(_0x4a44fd,_0x52f41d){_0x52f41d=_0x52f41d||0xc8;return function(_0x147ffd){if(_0x147ffd){return _0x4a44fd[_0xe5bc('0x1a')](_0x52f41d)[_0xe5bc('0x1c')](_0x147ffd);}};}function respondWithFilteredResult(_0x28f801,_0x5bf000){return function(_0x5b3c7e){if(_0x5b3c7e){var _0x4de360=_0x5b3c7e[_0xe5bc('0x1d')],_0x1f005d=_0x5bf000[_0xe5bc('0x1e')],_0x44cb42=_0x5bf000['offset']+_0x5bf000['limit'],_0x284f5d;if(_0x44cb42>=_0x4de360){_0x44cb42=_0x4de360;_0x284f5d=0xc8;}else{_0x284f5d=0xce;}_0x28f801[_0xe5bc('0x1a')](_0x284f5d);return _0x28f801[_0xe5bc('0x1f')](_0xe5bc('0x20'),_0x1f005d+'-'+_0x44cb42+'/'+_0x4de360)[_0xe5bc('0x1c')](_0x5b3c7e);}return null;};}function patchUpdates(_0x386752){return function(_0x18ffbd){try{jsonpatch['apply'](_0x18ffbd,_0x386752,!![]);}catch(_0x31e297){return BPromise[_0xe5bc('0x21')](_0x31e297);}return _0x18ffbd['save']();};}function saveUpdates(_0xc1ab9f,_0x41baf2){return function(_0x2bbf65){if(_0x2bbf65){return _0x2bbf65[_0xe5bc('0x22')](_0xc1ab9f)[_0xe5bc('0x23')](function(_0x10c3ee){return _0x10c3ee;});}return null;};}function removeEntity(_0x97ab77,_0x1c040b){return function(_0x36f56b){if(_0x36f56b){return _0x36f56b[_0xe5bc('0x24')]()[_0xe5bc('0x23')](function(){var _0x2c1158=_0x36f56b[_0xe5bc('0x25')]({'plain':!![]});var _0x44ae57=_0xe5bc('0x26');return db['UserProfileResource'][_0xe5bc('0x24')]({'where':{'type':_0x44ae57,'resourceId':_0x2c1158['id']}})[_0xe5bc('0x23')](function(){return _0x36f56b;});})['then'](function(){_0x97ab77[_0xe5bc('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x561bad,_0x44aaf2){return function(_0x2403af){if(!_0x2403af){_0x561bad['sendStatus'](0x194);}return _0x2403af;};}function handleError(_0x3ab4a0,_0x4ad7ab){_0x4ad7ab=_0x4ad7ab||0x1f4;return function(_0x13e388){logger[_0xe5bc('0x27')](_0x13e388[_0xe5bc('0x28')]);if(_0x13e388[_0xe5bc('0x29')]){delete _0x13e388[_0xe5bc('0x29')];}_0x3ab4a0['status'](_0x4ad7ab)[_0xe5bc('0x2a')](_0x13e388);};}exports[_0xe5bc('0x2b')]=function(_0xc79d0,_0x9949e9){var _0x5b5317={},_0x4b5786={},_0xa68a74={'count':0x0,'rows':[]};var _0x16fa90=_[_0xe5bc('0x2c')](db['Variable'][_0xe5bc('0x2d')],function(_0x16a1ad){return{'name':_0x16a1ad[_0xe5bc('0x2e')],'type':_0x16a1ad[_0xe5bc('0x2f')]['key']};});_0x4b5786[_0xe5bc('0x30')]=_[_0xe5bc('0x2c')](_0x16fa90,_0xe5bc('0x29'));_0x4b5786[_0xe5bc('0x31')]=_[_0xe5bc('0x32')](_0xc79d0[_0xe5bc('0x31')]);_0x4b5786[_0xe5bc('0x33')]=_[_0xe5bc('0x34')](_0x4b5786['model'],_0x4b5786[_0xe5bc('0x31')]);_0x5b5317['attributes']=_[_0xe5bc('0x34')](_0x4b5786['model'],qs[_0xe5bc('0x35')](_0xc79d0[_0xe5bc('0x31')][_0xe5bc('0x35')]));_0x5b5317[_0xe5bc('0x36')]=_0x5b5317[_0xe5bc('0x36')][_0xe5bc('0x37')]?_0x5b5317[_0xe5bc('0x36')]:_0x4b5786[_0xe5bc('0x30')];if(!_0xc79d0[_0xe5bc('0x31')][_0xe5bc('0x38')](_0xe5bc('0x39'))){_0x5b5317[_0xe5bc('0x3a')]=qs[_0xe5bc('0x3a')](_0xc79d0[_0xe5bc('0x31')]['limit']);_0x5b5317['offset']=qs['offset'](_0xc79d0[_0xe5bc('0x31')]['offset']);}_0x5b5317[_0xe5bc('0x3b')]=qs[_0xe5bc('0x3c')](_0xc79d0[_0xe5bc('0x31')][_0xe5bc('0x3c')]);_0x5b5317[_0xe5bc('0x3d')]=qs[_0xe5bc('0x33')](_[_0xe5bc('0x3e')](_0xc79d0[_0xe5bc('0x31')],_0x4b5786[_0xe5bc('0x33')]),_0x16fa90);if(_0xc79d0['query'][_0xe5bc('0x3f')]){_0x5b5317[_0xe5bc('0x3d')]=_[_0xe5bc('0x40')](_0x5b5317['where'],{'$or':_['map'](_0x16fa90,function(_0x4914a1){if(_0x4914a1[_0xe5bc('0x2f')]!==_0xe5bc('0x41')){var _0x2a1752={};_0x2a1752[_0x4914a1[_0xe5bc('0x29')]]={'$like':'%'+_0xc79d0[_0xe5bc('0x31')][_0xe5bc('0x3f')]+'%'};return _0x2a1752;}})});}_0x5b5317=_['merge']({},_0x5b5317,_0xc79d0['options']);var _0x7c55db={'where':_0x5b5317['where']};return db[_0xe5bc('0x42')]['count'](_0x7c55db)[_0xe5bc('0x23')](function(_0xd26a34){_0xa68a74[_0xe5bc('0x1d')]=_0xd26a34;if(_0xc79d0[_0xe5bc('0x31')][_0xe5bc('0x43')]){_0x5b5317['include']=[{'all':!![]}];}return db[_0xe5bc('0x42')][_0xe5bc('0x44')](_0x5b5317);})[_0xe5bc('0x23')](function(_0x3fa7b1){_0xa68a74[_0xe5bc('0x45')]=_0x3fa7b1;return _0xa68a74;})['then'](respondWithFilteredResult(_0x9949e9,_0x5b5317))[_0xe5bc('0x46')](handleError(_0x9949e9,null));};exports[_0xe5bc('0x47')]=function(_0x2aaa71,_0x4f9022){var _0x56d4cf={'raw':!![],'where':{'id':_0x2aaa71['params']['id']}},_0x587429={};_0x587429[_0xe5bc('0x30')]=_[_0xe5bc('0x32')](db[_0xe5bc('0x42')][_0xe5bc('0x2d')]);_0x587429[_0xe5bc('0x31')]=_['keys'](_0x2aaa71['query']);_0x587429[_0xe5bc('0x33')]=_[_0xe5bc('0x34')](_0x587429[_0xe5bc('0x30')],_0x587429[_0xe5bc('0x31')]);_0x56d4cf[_0xe5bc('0x36')]=_[_0xe5bc('0x34')](_0x587429[_0xe5bc('0x30')],qs['fields'](_0x2aaa71['query'][_0xe5bc('0x35')]));_0x56d4cf['attributes']=_0x56d4cf[_0xe5bc('0x36')][_0xe5bc('0x37')]?_0x56d4cf[_0xe5bc('0x36')]:_0x587429[_0xe5bc('0x30')];if(_0x2aaa71[_0xe5bc('0x31')][_0xe5bc('0x43')]){_0x56d4cf[_0xe5bc('0x48')]=[{'all':!![]}];}_0x56d4cf=_[_0xe5bc('0x40')]({},_0x56d4cf,_0x2aaa71[_0xe5bc('0x49')]);return db['Variable'][_0xe5bc('0x4a')](_0x56d4cf)[_0xe5bc('0x23')](handleEntityNotFound(_0x4f9022,null))[_0xe5bc('0x23')](respondWithResult(_0x4f9022,null))[_0xe5bc('0x46')](handleError(_0x4f9022,null));};exports[_0xe5bc('0x4b')]=function(_0x29bcf7,_0x233d08){return db[_0xe5bc('0x42')]['create'](_0x29bcf7[_0xe5bc('0x4c')],{})['then'](function(_0x2d9c2d){var _0xf5e440=_0x29bcf7[_0xe5bc('0x4d')]['get']({'plain':!![]});if(!_0xf5e440)throw new Error(_0xe5bc('0x4e'));if(_0xf5e440['role']===_0xe5bc('0x4d')){var _0xc1712b=_0x2d9c2d['get']({'plain':!![]});var _0x7227a4=_0xe5bc('0x26');return db[_0xe5bc('0x4f')][_0xe5bc('0x4a')]({'where':{'name':_0x7227a4,'userProfileId':_0xf5e440[_0xe5bc('0x50')]},'raw':!![]})['then'](function(_0x2f1d33){if(_0x2f1d33&&_0x2f1d33[_0xe5bc('0x51')]===0x0){return db['UserProfileResource'][_0xe5bc('0x4b')]({'name':_0xc1712b['name'],'resourceId':_0xc1712b['id'],'type':_0x2f1d33[_0xe5bc('0x29')],'sectionId':_0x2f1d33['id']},{})[_0xe5bc('0x23')](function(){return _0x2d9c2d;});}else{return _0x2d9c2d;}})[_0xe5bc('0x46')](function(_0x1e8c8f){logger[_0xe5bc('0x27')](_0xe5bc('0x52'),_0x1e8c8f);throw _0x1e8c8f;});}return _0x2d9c2d;})['then'](respondWithResult(_0x233d08,0xc9))['catch'](handleError(_0x233d08,null));};exports['update']=function(_0x1c8001,_0x4281ff){if(_0x1c8001['body']['id']){delete _0x1c8001[_0xe5bc('0x4c')]['id'];}return db[_0xe5bc('0x42')]['find']({'where':{'id':_0x1c8001[_0xe5bc('0x53')]['id']}})[_0xe5bc('0x23')](handleEntityNotFound(_0x4281ff,null))[_0xe5bc('0x23')](saveUpdates(_0x1c8001[_0xe5bc('0x4c')],null))['then'](respondWithResult(_0x4281ff,null))[_0xe5bc('0x46')](handleError(_0x4281ff,null));};exports[_0xe5bc('0x24')]=function(_0x59f12a,_0x534a4d){return db['Variable']['find']({'where':{'id':_0x59f12a[_0xe5bc('0x53')]['id']}})[_0xe5bc('0x23')](handleEntityNotFound(_0x534a4d,null))[_0xe5bc('0x23')](removeEntity(_0x534a4d,null))[_0xe5bc('0x46')](handleError(_0x534a4d,null));};