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 _0xdc4b=['count','includeAll','findAll','rows','catch','show','length','include','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Variables','UserProfileSection','userProfileId','UserProfileResource','html-pdf','eml-format','rimraf','zip-dir','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','nolimit','where','pick','filter','merge','VIRTUAL','Variable'];(function(_0x5609d8,_0x283093){var _0x4a54cc=function(_0x5b755b){while(--_0x5b755b){_0x5609d8['push'](_0x5609d8['shift']());}};_0x4a54cc(++_0x283093);}(_0xdc4b,0x66));var _0xbdc4=function(_0x40a045,_0x516f0e){_0x40a045=_0x40a045-0x0;var _0x1a687c=_0xdc4b[_0x40a045];return _0x1a687c;};'use strict';var pdf=require(_0xbdc4('0x0'));var emlformat=require(_0xbdc4('0x1'));var rimraf=require(_0xbdc4('0x2'));var zipdir=require(_0xbdc4('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xbdc4('0x4'));var Mustache=require(_0xbdc4('0x5'));var util=require(_0xbdc4('0x6'));var path=require(_0xbdc4('0x7'));var sox=require(_0xbdc4('0x8'));var csv=require(_0xbdc4('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xbdc4('0xa'));var squel=require('squel');var crypto=require(_0xbdc4('0xb'));var jsforce=require(_0xbdc4('0xc'));var deskjs=require(_0xbdc4('0xd'));var toCsv=require(_0xbdc4('0x9'));var querystring=require(_0xbdc4('0xe'));var Papa=require('papaparse');var Redis=require(_0xbdc4('0xf'));var authService=require(_0xbdc4('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xbdc4('0x11'));var hardwareService=require(_0xbdc4('0x12'));var logger=require(_0xbdc4('0x13'))(_0xbdc4('0x14'));var utils=require(_0xbdc4('0x15'));var config=require(_0xbdc4('0x16'));var licenseUtil=require(_0xbdc4('0x17'));var db=require(_0xbdc4('0x18'))['db'];function respondWithStatusCode(_0x273d93,_0x3922e7){_0x3922e7=_0x3922e7||0xcc;return function(_0x1b79b8){if(_0x1b79b8){return _0x273d93[_0xbdc4('0x19')](_0x3922e7);}return _0x273d93[_0xbdc4('0x1a')](_0x3922e7)[_0xbdc4('0x1b')]();};}function respondWithResult(_0x30c732,_0x231c46){_0x231c46=_0x231c46||0xc8;return function(_0x7a0c9a){if(_0x7a0c9a){return _0x30c732[_0xbdc4('0x1a')](_0x231c46)[_0xbdc4('0x1c')](_0x7a0c9a);}};}function respondWithFilteredResult(_0x6856f6,_0x4b66fd){return function(_0x15a5de){if(_0x15a5de){var _0x3464f3=_0x15a5de['count'],_0x17485f=_0x4b66fd[_0xbdc4('0x1d')],_0x396288=_0x4b66fd['offset']+_0x4b66fd[_0xbdc4('0x1e')],_0x21c187;if(_0x396288>=_0x3464f3){_0x396288=_0x3464f3;_0x21c187=0xc8;}else{_0x21c187=0xce;}_0x6856f6[_0xbdc4('0x1a')](_0x21c187);return _0x6856f6[_0xbdc4('0x1f')](_0xbdc4('0x20'),_0x17485f+'-'+_0x396288+'/'+_0x3464f3)[_0xbdc4('0x1c')](_0x15a5de);}return null;};}function patchUpdates(_0x104d18){return function(_0x2a8612){try{jsonpatch[_0xbdc4('0x21')](_0x2a8612,_0x104d18,!![]);}catch(_0xa7a855){return BPromise[_0xbdc4('0x22')](_0xa7a855);}return _0x2a8612[_0xbdc4('0x23')]();};}function saveUpdates(_0x9a3df9,_0x2ec443){return function(_0x9a5fb9){if(_0x9a5fb9){return _0x9a5fb9[_0xbdc4('0x24')](_0x9a3df9)[_0xbdc4('0x25')](function(_0x63b9e0){return _0x63b9e0;});}return null;};}function removeEntity(_0x255952,_0x23a507){return function(_0x1e9bd){if(_0x1e9bd){return _0x1e9bd[_0xbdc4('0x26')]()[_0xbdc4('0x25')](function(){var _0x326db4=_0x1e9bd[_0xbdc4('0x27')]({'plain':!![]});var _0x3c841e='Variables';return db['UserProfileResource'][_0xbdc4('0x26')]({'where':{'type':_0x3c841e,'resourceId':_0x326db4['id']}})[_0xbdc4('0x25')](function(){return _0x1e9bd;});})[_0xbdc4('0x25')](function(){_0x255952['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x493e9b,_0xd2816b){return function(_0x55ac7f){if(!_0x55ac7f){_0x493e9b[_0xbdc4('0x19')](0x194);}return _0x55ac7f;};}function handleError(_0x575253,_0xe800dc){_0xe800dc=_0xe800dc||0x1f4;return function(_0x14d251){logger[_0xbdc4('0x28')](_0x14d251[_0xbdc4('0x29')]);if(_0x14d251[_0xbdc4('0x2a')]){delete _0x14d251[_0xbdc4('0x2a')];}_0x575253[_0xbdc4('0x1a')](_0xe800dc)[_0xbdc4('0x2b')](_0x14d251);};}exports[_0xbdc4('0x2c')]=function(_0xa490a5,_0x5c2f46){var _0x2faaf2={},_0x34c3aa={},_0x19a687={'count':0x0,'rows':[]};var _0x4d72db=_[_0xbdc4('0x2d')](db['Variable'][_0xbdc4('0x2e')],function(_0x2688d0){return{'name':_0x2688d0[_0xbdc4('0x2f')],'type':_0x2688d0[_0xbdc4('0x30')][_0xbdc4('0x31')]};});_0x34c3aa[_0xbdc4('0x32')]=_['map'](_0x4d72db,'name');_0x34c3aa[_0xbdc4('0x33')]=_[_0xbdc4('0x34')](_0xa490a5[_0xbdc4('0x33')]);_0x34c3aa[_0xbdc4('0x35')]=_[_0xbdc4('0x36')](_0x34c3aa['model'],_0x34c3aa[_0xbdc4('0x33')]);_0x2faaf2['attributes']=_[_0xbdc4('0x36')](_0x34c3aa['model'],qs[_0xbdc4('0x37')](_0xa490a5['query'][_0xbdc4('0x37')]));_0x2faaf2[_0xbdc4('0x38')]=_0x2faaf2[_0xbdc4('0x38')]['length']?_0x2faaf2['attributes']:_0x34c3aa[_0xbdc4('0x32')];if(!_0xa490a5[_0xbdc4('0x33')]['hasOwnProperty'](_0xbdc4('0x39'))){_0x2faaf2['limit']=qs[_0xbdc4('0x1e')](_0xa490a5[_0xbdc4('0x33')][_0xbdc4('0x1e')]);_0x2faaf2[_0xbdc4('0x1d')]=qs['offset'](_0xa490a5[_0xbdc4('0x33')][_0xbdc4('0x1d')]);}_0x2faaf2['order']=qs['sort'](_0xa490a5[_0xbdc4('0x33')]['sort']);_0x2faaf2[_0xbdc4('0x3a')]=qs['filters'](_[_0xbdc4('0x3b')](_0xa490a5['query'],_0x34c3aa[_0xbdc4('0x35')]),_0x4d72db);if(_0xa490a5[_0xbdc4('0x33')][_0xbdc4('0x3c')]){_0x2faaf2[_0xbdc4('0x3a')]=_[_0xbdc4('0x3d')](_0x2faaf2[_0xbdc4('0x3a')],{'$or':_[_0xbdc4('0x2d')](_0x4d72db,function(_0x31c5f4){if(_0x31c5f4['type']!==_0xbdc4('0x3e')){var _0x373429={};_0x373429[_0x31c5f4['name']]={'$like':'%'+_0xa490a5[_0xbdc4('0x33')][_0xbdc4('0x3c')]+'%'};return _0x373429;}})});}_0x2faaf2=_[_0xbdc4('0x3d')]({},_0x2faaf2,_0xa490a5['options']);var _0x5c8ee1={'where':_0x2faaf2[_0xbdc4('0x3a')]};return db[_0xbdc4('0x3f')]['count'](_0x5c8ee1)[_0xbdc4('0x25')](function(_0xbe8b12){_0x19a687[_0xbdc4('0x40')]=_0xbe8b12;if(_0xa490a5[_0xbdc4('0x33')][_0xbdc4('0x41')]){_0x2faaf2['include']=[{'all':!![]}];}return db[_0xbdc4('0x3f')][_0xbdc4('0x42')](_0x2faaf2);})[_0xbdc4('0x25')](function(_0x3fff25){_0x19a687[_0xbdc4('0x43')]=_0x3fff25;return _0x19a687;})[_0xbdc4('0x25')](respondWithFilteredResult(_0x5c2f46,_0x2faaf2))[_0xbdc4('0x44')](handleError(_0x5c2f46,null));};exports[_0xbdc4('0x45')]=function(_0x3bc377,_0x4a8a02){var _0x3e0fd3={'raw':!![],'where':{'id':_0x3bc377['params']['id']}},_0x70e57d={};_0x70e57d[_0xbdc4('0x32')]=_[_0xbdc4('0x34')](db[_0xbdc4('0x3f')][_0xbdc4('0x2e')]);_0x70e57d['query']=_[_0xbdc4('0x34')](_0x3bc377['query']);_0x70e57d[_0xbdc4('0x35')]=_[_0xbdc4('0x36')](_0x70e57d[_0xbdc4('0x32')],_0x70e57d['query']);_0x3e0fd3[_0xbdc4('0x38')]=_[_0xbdc4('0x36')](_0x70e57d[_0xbdc4('0x32')],qs[_0xbdc4('0x37')](_0x3bc377[_0xbdc4('0x33')][_0xbdc4('0x37')]));_0x3e0fd3[_0xbdc4('0x38')]=_0x3e0fd3[_0xbdc4('0x38')][_0xbdc4('0x46')]?_0x3e0fd3['attributes']:_0x70e57d['model'];if(_0x3bc377[_0xbdc4('0x33')]['includeAll']){_0x3e0fd3[_0xbdc4('0x47')]=[{'all':!![]}];}_0x3e0fd3=_['merge']({},_0x3e0fd3,_0x3bc377[_0xbdc4('0x48')]);return db[_0xbdc4('0x3f')][_0xbdc4('0x49')](_0x3e0fd3)['then'](handleEntityNotFound(_0x4a8a02,null))[_0xbdc4('0x25')](respondWithResult(_0x4a8a02,null))[_0xbdc4('0x44')](handleError(_0x4a8a02,null));};exports[_0xbdc4('0x4a')]=function(_0xa1e69a,_0x156f60){return db[_0xbdc4('0x3f')][_0xbdc4('0x4a')](_0xa1e69a[_0xbdc4('0x4b')],{})['then'](function(_0x28b6c5){var _0x492f7e=_0xa1e69a[_0xbdc4('0x4c')][_0xbdc4('0x27')]({'plain':!![]});if(!_0x492f7e)throw new Error(_0xbdc4('0x4d'));if(_0x492f7e[_0xbdc4('0x4e')]==='user'){var _0x1a952d=_0x28b6c5[_0xbdc4('0x27')]({'plain':!![]});var _0x299ec7=_0xbdc4('0x4f');return db[_0xbdc4('0x50')][_0xbdc4('0x49')]({'where':{'name':_0x299ec7,'userProfileId':_0x492f7e[_0xbdc4('0x51')]},'raw':!![]})['then'](function(_0x4036b8){if(_0x4036b8&&_0x4036b8['autoAssociation']===0x0){return db[_0xbdc4('0x52')]['create']({'name':_0x1a952d[_0xbdc4('0x2a')],'resourceId':_0x1a952d['id'],'type':_0x4036b8[_0xbdc4('0x2a')],'sectionId':_0x4036b8['id']},{})['then'](function(){return _0x28b6c5;});}else{return _0x28b6c5;}})[_0xbdc4('0x44')](function(_0x313fde){logger[_0xbdc4('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x313fde);throw _0x313fde;});}return _0x28b6c5;})[_0xbdc4('0x25')](respondWithResult(_0x156f60,0xc9))['catch'](handleError(_0x156f60,null));};exports[_0xbdc4('0x24')]=function(_0x4139d1,_0x2ea516){if(_0x4139d1['body']['id']){delete _0x4139d1[_0xbdc4('0x4b')]['id'];}return db[_0xbdc4('0x3f')][_0xbdc4('0x49')]({'where':{'id':_0x4139d1['params']['id']}})[_0xbdc4('0x25')](handleEntityNotFound(_0x2ea516,null))['then'](saveUpdates(_0x4139d1[_0xbdc4('0x4b')],null))[_0xbdc4('0x25')](respondWithResult(_0x2ea516,null))[_0xbdc4('0x44')](handleError(_0x2ea516,null));};exports[_0xbdc4('0x26')]=function(_0x26c505,_0x38e8ea){return db[_0xbdc4('0x3f')]['find']({'where':{'id':_0x26c505['params']['id']}})[_0xbdc4('0x25')](handleEntityNotFound(_0x38e8ea,null))['then'](removeEntity(_0x38e8ea,null))[_0xbdc4('0x44')](handleError(_0x38e8ea,null));};