Built motion from commit 9d0783e6.|2.6.13
[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 _0x8965=['set','update','then','destroy','get','SquareProjects','UserProfileResource','publish','agi','stringify','end','error','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','VIRTUAL','options','SquareProject','includeAll','include','rows','catch','params','create','body','user','role','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','production','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','status','json','offset','undefined','limit','count'];(function(_0x58564d,_0x4ede3c){var _0x45a08a=function(_0x1c8949){while(--_0x1c8949){_0x58564d['push'](_0x58564d['shift']());}};_0x45a08a(++_0x4ede3c);}(_0x8965,0x192));var _0x5896=function(_0x145401,_0xde47f9){_0x145401=_0x145401-0x0;var _0x3e0018=_0x8965[_0x145401];return _0x3e0018;};'use strict';var _=require(_0x5896('0x0'));var Redis=require(_0x5896('0x1'));var qs=require(_0x5896('0x2'));var logger=require(_0x5896('0x3'))(_0x5896('0x4'));var config=require(_0x5896('0x5'));var db=require(_0x5896('0x6'))['db'];config[_0x5896('0x7')]=_[_0x5896('0x8')](config[_0x5896('0x7')],{'host':_0x5896('0x9'),'port':0x18eb});var socket=require(_0x5896('0xa'))(new Redis(config[_0x5896('0x7')]));require('./squareProject.socket')[_0x5896('0xb')](socket);function respondWithResult(_0xabb6d4,_0x34f5c5){_0x34f5c5=_0x34f5c5||0xc8;return function(_0xe21e08){if(_0xe21e08){return _0xabb6d4[_0x5896('0xc')](_0x34f5c5)[_0x5896('0xd')](_0xe21e08);}};}function respondWithFilteredResult(_0x529d09,_0xac21ce){return function(_0x529b17){if(_0x529b17){var _0x236300=typeof _0xac21ce[_0x5896('0xe')]===_0x5896('0xf')&&typeof _0xac21ce[_0x5896('0x10')]===_0x5896('0xf');var _0x184561=_0x529b17[_0x5896('0x11')];var _0x39f950=_0x236300?0x0:_0xac21ce[_0x5896('0xe')];var _0x7dd88e=_0x236300?_0x529b17[_0x5896('0x11')]:_0xac21ce[_0x5896('0xe')]+_0xac21ce[_0x5896('0x10')];var _0x44bae0;if(_0x7dd88e>=_0x184561){_0x7dd88e=_0x184561;_0x44bae0=0xc8;}else{_0x44bae0=0xce;}_0x529d09[_0x5896('0xc')](_0x44bae0);return _0x529d09[_0x5896('0x12')]('Content-Range',_0x39f950+'-'+_0x7dd88e+'/'+_0x184561)[_0x5896('0xd')](_0x529b17);}return null;};}function saveUpdates(_0x2cd916){return function(_0x11a82b){if(_0x11a82b){return _0x11a82b[_0x5896('0x13')](_0x2cd916)[_0x5896('0x14')](function(_0x31292f){return _0x31292f;});}return null;};}function removeEntity(_0x4ee67e){return function(_0x228dbb){if(_0x228dbb){return _0x228dbb[_0x5896('0x15')]()['then'](function(){var _0xb349de=_0x228dbb[_0x5896('0x16')]({'plain':!![]});var _0x29f439=_0x5896('0x17');return db[_0x5896('0x18')][_0x5896('0x15')]({'where':{'type':_0x29f439,'resourceId':_0xb349de['id']}})[_0x5896('0x14')](function(){return _0x228dbb;});})[_0x5896('0x14')](function(){var _0x2d863f=new Redis(config[_0x5896('0x7')]);_0x2d863f[_0x5896('0x19')](_0x5896('0x1a'),JSON[_0x5896('0x1b')]({'id':_0x228dbb['id'],'deleted':!![]}));})[_0x5896('0x14')](function(){_0x4ee67e[_0x5896('0xc')](0xcc)[_0x5896('0x1c')]();});}};}function handleEntityNotFound(_0x5eda62){return function(_0x570e1f){if(!_0x570e1f){_0x5eda62['sendStatus'](0x194);}return _0x570e1f;};}function handleError(_0x339161,_0x3379c9){_0x3379c9=_0x3379c9||0x1f4;return function(_0x1b07a8){logger[_0x5896('0x1d')](_0x1b07a8['stack']);if(_0x1b07a8[_0x5896('0x1e')]){delete _0x1b07a8['name'];}_0x339161[_0x5896('0xc')](_0x3379c9)[_0x5896('0x1f')](_0x1b07a8);};}exports[_0x5896('0x20')]=function(_0x574ec4,_0xbe1e43){var _0x2a1357={},_0x4039da={},_0xb69d86={'count':0x0,'rows':[]};var _0x119273=_[_0x5896('0x21')](db['SquareProject'][_0x5896('0x22')],function(_0x11d716){return{'name':_0x11d716[_0x5896('0x23')],'type':_0x11d716[_0x5896('0x24')][_0x5896('0x25')]};});_0x4039da[_0x5896('0x26')]=_[_0x5896('0x21')](_0x119273,_0x5896('0x1e'));_0x4039da[_0x5896('0x27')]=_[_0x5896('0x28')](_0x574ec4[_0x5896('0x27')]);_0x4039da['filters']=_[_0x5896('0x29')](_0x4039da['model'],_0x4039da[_0x5896('0x27')]);_0x2a1357[_0x5896('0x2a')]=_['intersection'](_0x4039da['model'],qs[_0x5896('0x2b')](_0x574ec4[_0x5896('0x27')]['fields']));_0x2a1357[_0x5896('0x2a')]=_0x2a1357[_0x5896('0x2a')][_0x5896('0x2c')]?_0x2a1357[_0x5896('0x2a')]:_0x4039da['model'];if(!_0x574ec4[_0x5896('0x27')][_0x5896('0x2d')](_0x5896('0x2e'))){_0x2a1357[_0x5896('0x10')]=qs[_0x5896('0x10')](_0x574ec4[_0x5896('0x27')][_0x5896('0x10')]);_0x2a1357[_0x5896('0xe')]=qs['offset'](_0x574ec4[_0x5896('0x27')]['offset']);}_0x2a1357['order']=qs['sort'](_0x574ec4[_0x5896('0x27')][_0x5896('0x2f')]);_0x2a1357[_0x5896('0x30')]=qs[_0x5896('0x31')](_[_0x5896('0x32')](_0x574ec4[_0x5896('0x27')],_0x4039da['filters']),_0x119273);if(_0x574ec4[_0x5896('0x27')][_0x5896('0x33')]){_0x2a1357['where']=_[_0x5896('0x34')](_0x2a1357[_0x5896('0x30')],{'$or':_[_0x5896('0x21')](_0x119273,function(_0x306c54){if(_0x306c54[_0x5896('0x24')]!==_0x5896('0x35')){var _0x3d503d={};_0x3d503d[_0x306c54[_0x5896('0x1e')]]={'$like':'%'+_0x574ec4['query'][_0x5896('0x33')]+'%'};return _0x3d503d;}})});}_0x2a1357=_[_0x5896('0x34')]({},_0x2a1357,_0x574ec4[_0x5896('0x36')]);var _0x3f9c81={'where':_0x2a1357[_0x5896('0x30')]};return db[_0x5896('0x37')][_0x5896('0x11')](_0x3f9c81)[_0x5896('0x14')](function(_0x567145){_0xb69d86[_0x5896('0x11')]=_0x567145;if(_0x574ec4[_0x5896('0x27')][_0x5896('0x38')]){_0x2a1357[_0x5896('0x39')]=[{'all':!![]}];}return db[_0x5896('0x37')]['findAll'](_0x2a1357);})[_0x5896('0x14')](function(_0x1bb8cc){_0xb69d86[_0x5896('0x3a')]=_0x1bb8cc;return _0xb69d86;})[_0x5896('0x14')](respondWithFilteredResult(_0xbe1e43,_0x2a1357))[_0x5896('0x3b')](handleError(_0xbe1e43,null));};exports['show']=function(_0x1a7628,_0x245dd6){var _0x118009={'raw':![],'where':{'id':_0x1a7628[_0x5896('0x3c')]['id']}},_0x3cb5cb={};_0x3cb5cb[_0x5896('0x26')]=_[_0x5896('0x28')](db[_0x5896('0x37')][_0x5896('0x22')]);_0x3cb5cb[_0x5896('0x27')]=_[_0x5896('0x28')](_0x1a7628[_0x5896('0x27')]);_0x3cb5cb[_0x5896('0x31')]=_[_0x5896('0x29')](_0x3cb5cb[_0x5896('0x26')],_0x3cb5cb[_0x5896('0x27')]);_0x118009['attributes']=_[_0x5896('0x29')](_0x3cb5cb[_0x5896('0x26')],qs[_0x5896('0x2b')](_0x1a7628[_0x5896('0x27')][_0x5896('0x2b')]));_0x118009['attributes']=_0x118009[_0x5896('0x2a')]['length']?_0x118009[_0x5896('0x2a')]:_0x3cb5cb[_0x5896('0x26')];if(_0x1a7628[_0x5896('0x27')][_0x5896('0x38')]){_0x118009[_0x5896('0x39')]=[{'all':!![]}];}_0x118009=_['merge']({},_0x118009,_0x1a7628['options']);return db[_0x5896('0x37')]['find'](_0x118009)['then'](handleEntityNotFound(_0x245dd6,null))[_0x5896('0x14')](respondWithResult(_0x245dd6,null))[_0x5896('0x3b')](handleError(_0x245dd6,null));};exports[_0x5896('0x3d')]=function(_0x259de5,_0x12e77e){return db[_0x5896('0x37')][_0x5896('0x3d')](_0x259de5[_0x5896('0x3e')],{})[_0x5896('0x14')](function(_0x2eaff9){var _0x5669f3=_0x259de5[_0x5896('0x3f')][_0x5896('0x16')]({'plain':!![]});if(!_0x5669f3)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5669f3[_0x5896('0x40')]===_0x5896('0x3f')){var _0x41025c=_0x2eaff9[_0x5896('0x16')]({'plain':!![]});var _0x271005=_0x5896('0x17');return db['UserProfileSection'][_0x5896('0x41')]({'where':{'name':_0x271005,'userProfileId':_0x5669f3[_0x5896('0x42')]},'raw':!![]})[_0x5896('0x14')](function(_0x45d603){if(_0x45d603&&_0x45d603[_0x5896('0x43')]===0x0){return db[_0x5896('0x18')][_0x5896('0x3d')]({'name':_0x41025c[_0x5896('0x1e')],'resourceId':_0x41025c['id'],'type':_0x45d603[_0x5896('0x1e')],'sectionId':_0x45d603['id']},{})['then'](function(){return _0x2eaff9;});}else{return _0x2eaff9;}})[_0x5896('0x3b')](function(_0xe7a751){logger['error'](_0x5896('0x44'),_0xe7a751);throw _0xe7a751;});}return _0x2eaff9;})[_0x5896('0x14')](respondWithResult(_0x12e77e,0xc9))[_0x5896('0x3b')](handleError(_0x12e77e,null));};exports[_0x5896('0x13')]=function(_0x419b35,_0x683753){if(_0x419b35['body']['id']){delete _0x419b35[_0x5896('0x3e')]['id'];}return db[_0x5896('0x37')][_0x5896('0x41')]({'where':{'id':_0x419b35[_0x5896('0x3c')]['id']}})[_0x5896('0x14')](handleEntityNotFound(_0x683753,null))[_0x5896('0x14')](saveUpdates(_0x419b35[_0x5896('0x3e')],null))[_0x5896('0x14')](function(_0x4df901){if(!_0x4df901)return;var _0x1769f9=_0x4df901[_0x5896('0x16')]({'plain':!![]});return _0x1769f9;})['then'](function(_0x1357dd){var _0x27d152=new Redis(config['redis']);_0x27d152[_0x5896('0x19')](_0x5896('0x1a'),JSON['stringify'](_[_0x5896('0x32')](_0x1357dd,['id',_0x5896('0x1e'),_0x5896('0x45')])));return _0x1357dd;})[_0x5896('0x14')](respondWithResult(_0x683753,null))[_0x5896('0x3b')](handleError(_0x683753,null));};exports[_0x5896('0x15')]=function(_0x46f006,_0x53b87c){return db[_0x5896('0x37')][_0x5896('0x41')]({'where':{'id':_0x46f006['params']['id']}})[_0x5896('0x14')](handleEntityNotFound(_0x53b87c,null))[_0x5896('0x14')](removeEntity(_0x53b87c,null))[_0x5896('0x3b')](handleError(_0x53b87c,null));};