Built motion from commit d5e4af8c.|2.6.23
[motion2.git] / server / api / squareProject / squareProject.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 _0xaa2e=['SquareProject','includeAll','include','findAll','params','find','catch','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','pick','production','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./squareProject.socket','register','status','json','offset','undefined','limit','count','Content-Range','update','then','SquareProjects','destroy','publish','agi','end','error','stack','name','send','index','map','rawAttributes','fieldName','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','type','VIRTUAL','options'];(function(_0x36ed48,_0x1ee0d4){var _0x51c63a=function(_0x2d0a40){while(--_0x2d0a40){_0x36ed48['push'](_0x36ed48['shift']());}};_0x51c63a(++_0x1ee0d4);}(_0xaa2e,0x128));var _0xeaa2=function(_0x102ad7,_0x5cbdc7){_0x102ad7=_0x102ad7-0x0;var _0x5746e8=_0xaa2e[_0x102ad7];return _0x5746e8;};'use strict';var _=require('lodash');var Redis=require('ioredis');var qs=require(_0xeaa2('0x0'));var logger=require(_0xeaa2('0x1'))(_0xeaa2('0x2'));var config=require(_0xeaa2('0x3'));var db=require(_0xeaa2('0x4'))['db'];config['redis']=_['defaults'](config[_0xeaa2('0x5')],{'host':_0xeaa2('0x6'),'port':0x18eb});var socket=require(_0xeaa2('0x7'))(new Redis(config[_0xeaa2('0x5')]));require(_0xeaa2('0x8'))[_0xeaa2('0x9')](socket);function respondWithResult(_0x5d8487,_0x4296f0){_0x4296f0=_0x4296f0||0xc8;return function(_0x3e5334){if(_0x3e5334){return _0x5d8487[_0xeaa2('0xa')](_0x4296f0)[_0xeaa2('0xb')](_0x3e5334);}};}function respondWithFilteredResult(_0x288c09,_0x26017f){return function(_0x29e873){if(_0x29e873){var _0x485d15=typeof _0x26017f[_0xeaa2('0xc')]===_0xeaa2('0xd')&&typeof _0x26017f[_0xeaa2('0xe')]===_0xeaa2('0xd');var _0xc20d40=_0x29e873[_0xeaa2('0xf')];var _0x48f5be=_0x485d15?0x0:_0x26017f[_0xeaa2('0xc')];var _0x3183ee=_0x485d15?_0x29e873['count']:_0x26017f[_0xeaa2('0xc')]+_0x26017f[_0xeaa2('0xe')];var _0x1ff4d5;if(_0x3183ee>=_0xc20d40){_0x3183ee=_0xc20d40;_0x1ff4d5=0xc8;}else{_0x1ff4d5=0xce;}_0x288c09[_0xeaa2('0xa')](_0x1ff4d5);return _0x288c09['set'](_0xeaa2('0x10'),_0x48f5be+'-'+_0x3183ee+'/'+_0xc20d40)[_0xeaa2('0xb')](_0x29e873);}return null;};}function saveUpdates(_0xf0b205){return function(_0x14fa3e){if(_0x14fa3e){return _0x14fa3e[_0xeaa2('0x11')](_0xf0b205)[_0xeaa2('0x12')](function(_0x461b55){return _0x461b55;});}return null;};}function removeEntity(_0x40d8ad){return function(_0xb4daef){if(_0xb4daef){return _0xb4daef['destroy']()[_0xeaa2('0x12')](function(){var _0x1afb1e=_0xb4daef['get']({'plain':!![]});var _0x4413fe=_0xeaa2('0x13');return db['UserProfileResource'][_0xeaa2('0x14')]({'where':{'type':_0x4413fe,'resourceId':_0x1afb1e['id']}})['then'](function(){return _0xb4daef;});})[_0xeaa2('0x12')](function(){var _0xec536=new Redis(config['redis']);_0xec536[_0xeaa2('0x15')](_0xeaa2('0x16'),JSON['stringify']({'id':_0xb4daef['id'],'deleted':!![]}));})[_0xeaa2('0x12')](function(){_0x40d8ad['status'](0xcc)[_0xeaa2('0x17')]();});}};}function handleEntityNotFound(_0x51c416){return function(_0x4e1b45){if(!_0x4e1b45){_0x51c416['sendStatus'](0x194);}return _0x4e1b45;};}function handleError(_0x1e2830,_0x1313ae){_0x1313ae=_0x1313ae||0x1f4;return function(_0x1eb4a5){logger[_0xeaa2('0x18')](_0x1eb4a5[_0xeaa2('0x19')]);if(_0x1eb4a5[_0xeaa2('0x1a')]){delete _0x1eb4a5[_0xeaa2('0x1a')];}_0x1e2830[_0xeaa2('0xa')](_0x1313ae)[_0xeaa2('0x1b')](_0x1eb4a5);};}exports[_0xeaa2('0x1c')]=function(_0x49e262,_0x4f6ac0){var _0x2afbf5={},_0xff51c={},_0x5ee75b={'count':0x0,'rows':[]};var _0x18964a=_[_0xeaa2('0x1d')](db['SquareProject'][_0xeaa2('0x1e')],function(_0x31729a){return{'name':_0x31729a[_0xeaa2('0x1f')],'type':_0x31729a['type']['key']};});_0xff51c[_0xeaa2('0x20')]=_['map'](_0x18964a,_0xeaa2('0x1a'));_0xff51c[_0xeaa2('0x21')]=_['keys'](_0x49e262[_0xeaa2('0x21')]);_0xff51c['filters']=_[_0xeaa2('0x22')](_0xff51c['model'],_0xff51c['query']);_0x2afbf5[_0xeaa2('0x23')]=_[_0xeaa2('0x22')](_0xff51c[_0xeaa2('0x20')],qs['fields'](_0x49e262['query'][_0xeaa2('0x24')]));_0x2afbf5[_0xeaa2('0x23')]=_0x2afbf5[_0xeaa2('0x23')][_0xeaa2('0x25')]?_0x2afbf5[_0xeaa2('0x23')]:_0xff51c[_0xeaa2('0x20')];if(!_0x49e262['query'][_0xeaa2('0x26')](_0xeaa2('0x27'))){_0x2afbf5[_0xeaa2('0xe')]=qs[_0xeaa2('0xe')](_0x49e262[_0xeaa2('0x21')]['limit']);_0x2afbf5[_0xeaa2('0xc')]=qs[_0xeaa2('0xc')](_0x49e262[_0xeaa2('0x21')][_0xeaa2('0xc')]);}_0x2afbf5[_0xeaa2('0x28')]=qs[_0xeaa2('0x29')](_0x49e262[_0xeaa2('0x21')][_0xeaa2('0x29')]);_0x2afbf5[_0xeaa2('0x2a')]=qs['filters'](_['pick'](_0x49e262['query'],_0xff51c[_0xeaa2('0x2b')]),_0x18964a);if(_0x49e262['query'][_0xeaa2('0x2c')]){_0x2afbf5[_0xeaa2('0x2a')]=_[_0xeaa2('0x2d')](_0x2afbf5[_0xeaa2('0x2a')],{'$or':_['map'](_0x18964a,function(_0x264ace){if(_0x264ace[_0xeaa2('0x2e')]!==_0xeaa2('0x2f')){var _0x14f1dd={};_0x14f1dd[_0x264ace[_0xeaa2('0x1a')]]={'$like':'%'+_0x49e262[_0xeaa2('0x21')][_0xeaa2('0x2c')]+'%'};return _0x14f1dd;}})});}_0x2afbf5=_['merge']({},_0x2afbf5,_0x49e262[_0xeaa2('0x30')]);var _0x521650={'where':_0x2afbf5['where']};return db[_0xeaa2('0x31')][_0xeaa2('0xf')](_0x521650)[_0xeaa2('0x12')](function(_0x3f1136){_0x5ee75b['count']=_0x3f1136;if(_0x49e262[_0xeaa2('0x21')][_0xeaa2('0x32')]){_0x2afbf5[_0xeaa2('0x33')]=[{'all':!![]}];}return db[_0xeaa2('0x31')][_0xeaa2('0x34')](_0x2afbf5);})[_0xeaa2('0x12')](function(_0x302537){_0x5ee75b['rows']=_0x302537;return _0x5ee75b;})['then'](respondWithFilteredResult(_0x4f6ac0,_0x2afbf5))['catch'](handleError(_0x4f6ac0,null));};exports['show']=function(_0x4f741c,_0x3623d9){var _0x59b74b={'raw':![],'where':{'id':_0x4f741c[_0xeaa2('0x35')]['id']}},_0x250520={};_0x250520[_0xeaa2('0x20')]=_['keys'](db['SquareProject']['rawAttributes']);_0x250520[_0xeaa2('0x21')]=_['keys'](_0x4f741c[_0xeaa2('0x21')]);_0x250520['filters']=_['intersection'](_0x250520['model'],_0x250520[_0xeaa2('0x21')]);_0x59b74b['attributes']=_[_0xeaa2('0x22')](_0x250520[_0xeaa2('0x20')],qs[_0xeaa2('0x24')](_0x4f741c[_0xeaa2('0x21')]['fields']));_0x59b74b[_0xeaa2('0x23')]=_0x59b74b['attributes'][_0xeaa2('0x25')]?_0x59b74b[_0xeaa2('0x23')]:_0x250520['model'];if(_0x4f741c[_0xeaa2('0x21')][_0xeaa2('0x32')]){_0x59b74b[_0xeaa2('0x33')]=[{'all':!![]}];}_0x59b74b=_[_0xeaa2('0x2d')]({},_0x59b74b,_0x4f741c[_0xeaa2('0x30')]);return db[_0xeaa2('0x31')][_0xeaa2('0x36')](_0x59b74b)['then'](handleEntityNotFound(_0x3623d9,null))[_0xeaa2('0x12')](respondWithResult(_0x3623d9,null))[_0xeaa2('0x37')](handleError(_0x3623d9,null));};exports['create']=function(_0x454e84,_0x58f07d){return db[_0xeaa2('0x31')]['create'](_0x454e84['body'],{})[_0xeaa2('0x12')](function(_0x5c2596){var _0x9cbe06=_0x454e84[_0xeaa2('0x38')][_0xeaa2('0x39')]({'plain':!![]});if(!_0x9cbe06)throw new Error(_0xeaa2('0x3a'));if(_0x9cbe06[_0xeaa2('0x3b')]===_0xeaa2('0x38')){var _0x216a7c=_0x5c2596[_0xeaa2('0x39')]({'plain':!![]});var _0x47c45a=_0xeaa2('0x13');return db[_0xeaa2('0x3c')][_0xeaa2('0x36')]({'where':{'name':_0x47c45a,'userProfileId':_0x9cbe06[_0xeaa2('0x3d')]},'raw':!![]})[_0xeaa2('0x12')](function(_0x14246e){if(_0x14246e&&_0x14246e[_0xeaa2('0x3e')]===0x0){return db[_0xeaa2('0x3f')][_0xeaa2('0x40')]({'name':_0x216a7c['name'],'resourceId':_0x216a7c['id'],'type':_0x14246e['name'],'sectionId':_0x14246e['id']},{})[_0xeaa2('0x12')](function(){return _0x5c2596;});}else{return _0x5c2596;}})['catch'](function(_0x31e2fd){logger['error'](_0xeaa2('0x41'),_0x31e2fd);throw _0x31e2fd;});}return _0x5c2596;})[_0xeaa2('0x12')](respondWithResult(_0x58f07d,0xc9))['catch'](handleError(_0x58f07d,null));};exports['update']=function(_0x1e46f2,_0x1875dc){if(_0x1e46f2[_0xeaa2('0x42')]['id']){delete _0x1e46f2[_0xeaa2('0x42')]['id'];}return db['SquareProject'][_0xeaa2('0x36')]({'where':{'id':_0x1e46f2['params']['id']}})['then'](handleEntityNotFound(_0x1875dc,null))['then'](saveUpdates(_0x1e46f2[_0xeaa2('0x42')],null))[_0xeaa2('0x12')](function(_0x5c71a4){if(!_0x5c71a4)return;var _0x203ef1=_0x5c71a4[_0xeaa2('0x39')]({'plain':!![]});return _0x203ef1;})[_0xeaa2('0x12')](function(_0x4b20bf){var _0x4f6eea=new Redis(config['redis']);_0x4f6eea[_0xeaa2('0x15')](_0xeaa2('0x16'),JSON['stringify'](_[_0xeaa2('0x43')](_0x4b20bf,['id',_0xeaa2('0x1a'),_0xeaa2('0x44')])));return _0x4b20bf;})['then'](respondWithResult(_0x1875dc,null))[_0xeaa2('0x37')](handleError(_0x1875dc,null));};exports[_0xeaa2('0x14')]=function(_0xd66fb8,_0x2aeb81){return db[_0xeaa2('0x31')][_0xeaa2('0x36')]({'where':{'id':_0xd66fb8[_0xeaa2('0x35')]['id']}})['then'](handleEntityNotFound(_0x2aeb81,null))[_0xeaa2('0x12')](removeEntity(_0x2aeb81,null))['catch'](handleError(_0x2aeb81,null));};