Built motion from commit 10af8726.|2.6.34
[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 _0x244a=['get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','find','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','production','lodash','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','register','status','json','offset','undefined','limit','count','set','Content-Range','update','then','destroy','SquareProjects','publish','agi','stringify','sendStatus','stack','name','send','map','SquareProject','rawAttributes','fieldName','model','query','intersection','attributes','fields','length','nolimit','sort','filters','filter','where','merge','type','VIRTUAL','options','includeAll','findAll','rows','show','params','keys','catch','create','body'];(function(_0xbca1b1,_0x33f0ce){var _0x4e1686=function(_0x58a80c){while(--_0x58a80c){_0xbca1b1['push'](_0xbca1b1['shift']());}};_0x4e1686(++_0x33f0ce);}(_0x244a,0x164));var _0xa244=function(_0x1914a,_0x57dc2c){_0x1914a=_0x1914a-0x0;var _0xe2a1d3=_0x244a[_0x1914a];return _0xe2a1d3;};'use strict';var _=require(_0xa244('0x0'));var Redis=require('ioredis');var qs=require(_0xa244('0x1'));var logger=require(_0xa244('0x2'))(_0xa244('0x3'));var config=require(_0xa244('0x4'));var db=require(_0xa244('0x5'))['db'];config['redis']=_[_0xa244('0x6')](config[_0xa244('0x7')],{'host':_0xa244('0x8'),'port':0x18eb});var socket=require(_0xa244('0x9'))(new Redis(config[_0xa244('0x7')]));require('./squareProject.socket')[_0xa244('0xa')](socket);function respondWithResult(_0x5e451f,_0x286b22){_0x286b22=_0x286b22||0xc8;return function(_0xf50f1b){if(_0xf50f1b){return _0x5e451f[_0xa244('0xb')](_0x286b22)[_0xa244('0xc')](_0xf50f1b);}};}function respondWithFilteredResult(_0x34b3a1,_0x33346e){return function(_0x1d4298){if(_0x1d4298){var _0x2123f8=typeof _0x33346e[_0xa244('0xd')]===_0xa244('0xe')&&typeof _0x33346e[_0xa244('0xf')]===_0xa244('0xe');var _0x4b1b3d=_0x1d4298[_0xa244('0x10')];var _0x13d52c=_0x2123f8?0x0:_0x33346e[_0xa244('0xd')];var _0x33f3e9=_0x2123f8?_0x1d4298[_0xa244('0x10')]:_0x33346e['offset']+_0x33346e[_0xa244('0xf')];var _0x1f9d6e;if(_0x33f3e9>=_0x4b1b3d){_0x33f3e9=_0x4b1b3d;_0x1f9d6e=0xc8;}else{_0x1f9d6e=0xce;}_0x34b3a1[_0xa244('0xb')](_0x1f9d6e);return _0x34b3a1[_0xa244('0x11')](_0xa244('0x12'),_0x13d52c+'-'+_0x33f3e9+'/'+_0x4b1b3d)[_0xa244('0xc')](_0x1d4298);}return null;};}function saveUpdates(_0x421fc4){return function(_0x2125de){if(_0x2125de){return _0x2125de[_0xa244('0x13')](_0x421fc4)[_0xa244('0x14')](function(_0xb28b41){return _0xb28b41;});}return null;};}function removeEntity(_0x20fc95){return function(_0x24ed8d){if(_0x24ed8d){return _0x24ed8d[_0xa244('0x15')]()[_0xa244('0x14')](function(){var _0x1b9c83=_0x24ed8d['get']({'plain':!![]});var _0x148c63=_0xa244('0x16');return db['UserProfileResource'][_0xa244('0x15')]({'where':{'type':_0x148c63,'resourceId':_0x1b9c83['id']}})[_0xa244('0x14')](function(){return _0x24ed8d;});})[_0xa244('0x14')](function(){var _0x3f528e=new Redis(config[_0xa244('0x7')]);_0x3f528e[_0xa244('0x17')](_0xa244('0x18'),JSON[_0xa244('0x19')]({'id':_0x24ed8d['id'],'deleted':!![]}));})[_0xa244('0x14')](function(){_0x20fc95[_0xa244('0xb')](0xcc)['end']();});}};}function handleEntityNotFound(_0x139209){return function(_0x3f28ee){if(!_0x3f28ee){_0x139209[_0xa244('0x1a')](0x194);}return _0x3f28ee;};}function handleError(_0x28ea74,_0x2eac45){_0x2eac45=_0x2eac45||0x1f4;return function(_0x120eb2){logger['error'](_0x120eb2[_0xa244('0x1b')]);if(_0x120eb2['name']){delete _0x120eb2[_0xa244('0x1c')];}_0x28ea74[_0xa244('0xb')](_0x2eac45)[_0xa244('0x1d')](_0x120eb2);};}exports['index']=function(_0x95eda2,_0x4b510c){var _0xe96835={},_0x85669b={},_0x22b03b={'count':0x0,'rows':[]};var _0x537db6=_[_0xa244('0x1e')](db[_0xa244('0x1f')][_0xa244('0x20')],function(_0x487b20){return{'name':_0x487b20[_0xa244('0x21')],'type':_0x487b20['type']['key']};});_0x85669b[_0xa244('0x22')]=_[_0xa244('0x1e')](_0x537db6,_0xa244('0x1c'));_0x85669b[_0xa244('0x23')]=_['keys'](_0x95eda2['query']);_0x85669b['filters']=_[_0xa244('0x24')](_0x85669b[_0xa244('0x22')],_0x85669b[_0xa244('0x23')]);_0xe96835[_0xa244('0x25')]=_[_0xa244('0x24')](_0x85669b[_0xa244('0x22')],qs[_0xa244('0x26')](_0x95eda2['query'][_0xa244('0x26')]));_0xe96835['attributes']=_0xe96835[_0xa244('0x25')][_0xa244('0x27')]?_0xe96835['attributes']:_0x85669b[_0xa244('0x22')];if(!_0x95eda2[_0xa244('0x23')]['hasOwnProperty'](_0xa244('0x28'))){_0xe96835[_0xa244('0xf')]=qs[_0xa244('0xf')](_0x95eda2[_0xa244('0x23')][_0xa244('0xf')]);_0xe96835[_0xa244('0xd')]=qs[_0xa244('0xd')](_0x95eda2[_0xa244('0x23')][_0xa244('0xd')]);}_0xe96835['order']=qs[_0xa244('0x29')](_0x95eda2[_0xa244('0x23')][_0xa244('0x29')]);_0xe96835['where']=qs['filters'](_['pick'](_0x95eda2[_0xa244('0x23')],_0x85669b[_0xa244('0x2a')]),_0x537db6);if(_0x95eda2[_0xa244('0x23')][_0xa244('0x2b')]){_0xe96835[_0xa244('0x2c')]=_[_0xa244('0x2d')](_0xe96835['where'],{'$or':_[_0xa244('0x1e')](_0x537db6,function(_0x5bd60a){if(_0x5bd60a[_0xa244('0x2e')]!==_0xa244('0x2f')){var _0xd15fd7={};_0xd15fd7[_0x5bd60a[_0xa244('0x1c')]]={'$like':'%'+_0x95eda2[_0xa244('0x23')][_0xa244('0x2b')]+'%'};return _0xd15fd7;}})});}_0xe96835=_[_0xa244('0x2d')]({},_0xe96835,_0x95eda2[_0xa244('0x30')]);var _0xcddd73={'where':_0xe96835[_0xa244('0x2c')]};return db[_0xa244('0x1f')]['count'](_0xcddd73)[_0xa244('0x14')](function(_0x4adbe1){_0x22b03b['count']=_0x4adbe1;if(_0x95eda2[_0xa244('0x23')][_0xa244('0x31')]){_0xe96835['include']=[{'all':!![]}];}return db['SquareProject'][_0xa244('0x32')](_0xe96835);})['then'](function(_0x52eaeb){_0x22b03b[_0xa244('0x33')]=_0x52eaeb;return _0x22b03b;})[_0xa244('0x14')](respondWithFilteredResult(_0x4b510c,_0xe96835))['catch'](handleError(_0x4b510c,null));};exports[_0xa244('0x34')]=function(_0x4cb836,_0x48fe0e){var _0x21566d={'raw':![],'where':{'id':_0x4cb836[_0xa244('0x35')]['id']}},_0x4929ee={};_0x4929ee['model']=_[_0xa244('0x36')](db[_0xa244('0x1f')][_0xa244('0x20')]);_0x4929ee[_0xa244('0x23')]=_[_0xa244('0x36')](_0x4cb836[_0xa244('0x23')]);_0x4929ee[_0xa244('0x2a')]=_[_0xa244('0x24')](_0x4929ee['model'],_0x4929ee[_0xa244('0x23')]);_0x21566d['attributes']=_[_0xa244('0x24')](_0x4929ee[_0xa244('0x22')],qs[_0xa244('0x26')](_0x4cb836[_0xa244('0x23')][_0xa244('0x26')]));_0x21566d[_0xa244('0x25')]=_0x21566d['attributes']['length']?_0x21566d[_0xa244('0x25')]:_0x4929ee[_0xa244('0x22')];if(_0x4cb836['query'][_0xa244('0x31')]){_0x21566d['include']=[{'all':!![]}];}_0x21566d=_[_0xa244('0x2d')]({},_0x21566d,_0x4cb836[_0xa244('0x30')]);return db['SquareProject']['find'](_0x21566d)[_0xa244('0x14')](handleEntityNotFound(_0x48fe0e,null))['then'](respondWithResult(_0x48fe0e,null))[_0xa244('0x37')](handleError(_0x48fe0e,null));};exports[_0xa244('0x38')]=function(_0x4f33e8,_0x3f72fd){return db[_0xa244('0x1f')][_0xa244('0x38')](_0x4f33e8[_0xa244('0x39')],{})[_0xa244('0x14')](function(_0x50f214){var _0x96e888=_0x4f33e8['user'][_0xa244('0x3a')]({'plain':!![]});if(!_0x96e888)throw new Error(_0xa244('0x3b'));if(_0x96e888[_0xa244('0x3c')]===_0xa244('0x3d')){var _0x1132d4=_0x50f214[_0xa244('0x3a')]({'plain':!![]});var _0x3535ad=_0xa244('0x16');return db[_0xa244('0x3e')][_0xa244('0x3f')]({'where':{'name':_0x3535ad,'userProfileId':_0x96e888[_0xa244('0x40')]},'raw':!![]})[_0xa244('0x14')](function(_0x651d6){if(_0x651d6&&_0x651d6[_0xa244('0x41')]===0x0){return db['UserProfileResource'][_0xa244('0x38')]({'name':_0x1132d4[_0xa244('0x1c')],'resourceId':_0x1132d4['id'],'type':_0x651d6[_0xa244('0x1c')],'sectionId':_0x651d6['id']},{})[_0xa244('0x14')](function(){return _0x50f214;});}else{return _0x50f214;}})[_0xa244('0x37')](function(_0x560144){logger[_0xa244('0x42')](_0xa244('0x43'),_0x560144);throw _0x560144;});}return _0x50f214;})['then'](respondWithResult(_0x3f72fd,0xc9))[_0xa244('0x37')](handleError(_0x3f72fd,null));};exports[_0xa244('0x13')]=function(_0x479ebc,_0x28bcb5){if(_0x479ebc['body']['id']){delete _0x479ebc[_0xa244('0x39')]['id'];}return db[_0xa244('0x1f')][_0xa244('0x3f')]({'where':{'id':_0x479ebc[_0xa244('0x35')]['id']}})[_0xa244('0x14')](handleEntityNotFound(_0x28bcb5,null))[_0xa244('0x14')](saveUpdates(_0x479ebc[_0xa244('0x39')],null))[_0xa244('0x14')](function(_0x4551bb){if(!_0x4551bb)return;var _0x723563=_0x4551bb[_0xa244('0x3a')]({'plain':!![]});return _0x723563;})[_0xa244('0x14')](function(_0xf32b30){var _0x37aa71=new Redis(config[_0xa244('0x7')]);_0x37aa71['publish'](_0xa244('0x18'),JSON[_0xa244('0x19')](_['pick'](_0xf32b30,['id',_0xa244('0x1c'),_0xa244('0x44')])));return _0xf32b30;})[_0xa244('0x14')](respondWithResult(_0x28bcb5,null))[_0xa244('0x37')](handleError(_0x28bcb5,null));};exports['destroy']=function(_0xb05da9,_0x341030){return db[_0xa244('0x1f')]['find']({'where':{'id':_0xb05da9[_0xa244('0x35')]['id']}})['then'](handleEntityNotFound(_0x341030,null))[_0xa244('0x14')](removeEntity(_0x341030,null))[_0xa244('0x37')](handleError(_0x341030,null));};