Built motion from commit e02f907f.|2.6.14
[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 _0x6628=['keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','filters','where','VIRTUAL','filter','merge','options','includeAll','include','findAll','rows','show','params','find','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','publish','agi','stringify','pick','production','lodash','../../config/logger','api','../../config/environment','../../mysqldb','redis','socket.io-emitter','./squareProject.socket','register','status','offset','undefined','limit','count','set','Content-Range','json','update','then','get','SquareProjects','UserProfileResource','end','error','stack','name','index','map','SquareProject','rawAttributes','type','key','model','query'];(function(_0x4d4ade,_0x431763){var _0xd60777=function(_0x4cbdd8){while(--_0x4cbdd8){_0x4d4ade['push'](_0x4d4ade['shift']());}};_0xd60777(++_0x431763);}(_0x6628,0x66));var _0x8662=function(_0x4e455f,_0x5a388f){_0x4e455f=_0x4e455f-0x0;var _0x49c81b=_0x6628[_0x4e455f];return _0x49c81b;};'use strict';var _=require(_0x8662('0x0'));var Redis=require('ioredis');var qs=require('../../components/parsers/qs');var logger=require(_0x8662('0x1'))(_0x8662('0x2'));var config=require(_0x8662('0x3'));var db=require(_0x8662('0x4'))['db'];config[_0x8662('0x5')]=_['defaults'](config[_0x8662('0x5')],{'host':'localhost','port':0x18eb});var socket=require(_0x8662('0x6'))(new Redis(config[_0x8662('0x5')]));require(_0x8662('0x7'))[_0x8662('0x8')](socket);function respondWithResult(_0x5e0151,_0x39c49e){_0x39c49e=_0x39c49e||0xc8;return function(_0xf72c09){if(_0xf72c09){return _0x5e0151[_0x8662('0x9')](_0x39c49e)['json'](_0xf72c09);}};}function respondWithFilteredResult(_0x1ed350,_0x4653a5){return function(_0x4d5b26){if(_0x4d5b26){var _0x3e8d0b=typeof _0x4653a5[_0x8662('0xa')]===_0x8662('0xb')&&typeof _0x4653a5[_0x8662('0xc')]===_0x8662('0xb');var _0x4d05b6=_0x4d5b26['count'];var _0x28c297=_0x3e8d0b?0x0:_0x4653a5['offset'];var _0x2c2694=_0x3e8d0b?_0x4d5b26[_0x8662('0xd')]:_0x4653a5[_0x8662('0xa')]+_0x4653a5[_0x8662('0xc')];var _0x323644;if(_0x2c2694>=_0x4d05b6){_0x2c2694=_0x4d05b6;_0x323644=0xc8;}else{_0x323644=0xce;}_0x1ed350[_0x8662('0x9')](_0x323644);return _0x1ed350[_0x8662('0xe')](_0x8662('0xf'),_0x28c297+'-'+_0x2c2694+'/'+_0x4d05b6)[_0x8662('0x10')](_0x4d5b26);}return null;};}function saveUpdates(_0x113cf5){return function(_0x393079){if(_0x393079){return _0x393079[_0x8662('0x11')](_0x113cf5)['then'](function(_0x236168){return _0x236168;});}return null;};}function removeEntity(_0x327280){return function(_0x2e3739){if(_0x2e3739){return _0x2e3739['destroy']()[_0x8662('0x12')](function(){var _0x58ea11=_0x2e3739[_0x8662('0x13')]({'plain':!![]});var _0x6c1e40=_0x8662('0x14');return db[_0x8662('0x15')]['destroy']({'where':{'type':_0x6c1e40,'resourceId':_0x58ea11['id']}})[_0x8662('0x12')](function(){return _0x2e3739;});})[_0x8662('0x12')](function(){var _0x2f3255=new Redis(config['redis']);_0x2f3255['publish']('agi',JSON['stringify']({'id':_0x2e3739['id'],'deleted':!![]}));})[_0x8662('0x12')](function(){_0x327280[_0x8662('0x9')](0xcc)[_0x8662('0x16')]();});}};}function handleEntityNotFound(_0x52efde){return function(_0x177e60){if(!_0x177e60){_0x52efde['sendStatus'](0x194);}return _0x177e60;};}function handleError(_0x521997,_0x266cb3){_0x266cb3=_0x266cb3||0x1f4;return function(_0x350f79){logger[_0x8662('0x17')](_0x350f79[_0x8662('0x18')]);if(_0x350f79['name']){delete _0x350f79[_0x8662('0x19')];}_0x521997[_0x8662('0x9')](_0x266cb3)['send'](_0x350f79);};}exports[_0x8662('0x1a')]=function(_0x585620,_0x572e78){var _0x268c89={},_0x5fdfe3={},_0x5e4622={'count':0x0,'rows':[]};var _0x304744=_[_0x8662('0x1b')](db[_0x8662('0x1c')][_0x8662('0x1d')],function(_0x58af1c){return{'name':_0x58af1c['fieldName'],'type':_0x58af1c[_0x8662('0x1e')][_0x8662('0x1f')]};});_0x5fdfe3[_0x8662('0x20')]=_[_0x8662('0x1b')](_0x304744,_0x8662('0x19'));_0x5fdfe3[_0x8662('0x21')]=_[_0x8662('0x22')](_0x585620[_0x8662('0x21')]);_0x5fdfe3['filters']=_[_0x8662('0x23')](_0x5fdfe3[_0x8662('0x20')],_0x5fdfe3[_0x8662('0x21')]);_0x268c89['attributes']=_[_0x8662('0x23')](_0x5fdfe3['model'],qs[_0x8662('0x24')](_0x585620['query'][_0x8662('0x24')]));_0x268c89['attributes']=_0x268c89[_0x8662('0x25')][_0x8662('0x26')]?_0x268c89['attributes']:_0x5fdfe3[_0x8662('0x20')];if(!_0x585620[_0x8662('0x21')][_0x8662('0x27')](_0x8662('0x28'))){_0x268c89[_0x8662('0xc')]=qs[_0x8662('0xc')](_0x585620['query'][_0x8662('0xc')]);_0x268c89[_0x8662('0xa')]=qs[_0x8662('0xa')](_0x585620[_0x8662('0x21')][_0x8662('0xa')]);}_0x268c89[_0x8662('0x29')]=qs[_0x8662('0x2a')](_0x585620['query']['sort']);_0x268c89['where']=qs[_0x8662('0x2b')](_['pick'](_0x585620[_0x8662('0x21')],_0x5fdfe3[_0x8662('0x2b')]),_0x304744);if(_0x585620[_0x8662('0x21')]['filter']){_0x268c89[_0x8662('0x2c')]=_['merge'](_0x268c89[_0x8662('0x2c')],{'$or':_['map'](_0x304744,function(_0xe195ea){if(_0xe195ea['type']!==_0x8662('0x2d')){var _0x3109bb={};_0x3109bb[_0xe195ea[_0x8662('0x19')]]={'$like':'%'+_0x585620[_0x8662('0x21')][_0x8662('0x2e')]+'%'};return _0x3109bb;}})});}_0x268c89=_[_0x8662('0x2f')]({},_0x268c89,_0x585620[_0x8662('0x30')]);var _0x491a49={'where':_0x268c89[_0x8662('0x2c')]};return db[_0x8662('0x1c')][_0x8662('0xd')](_0x491a49)[_0x8662('0x12')](function(_0x3f1887){_0x5e4622[_0x8662('0xd')]=_0x3f1887;if(_0x585620['query'][_0x8662('0x31')]){_0x268c89[_0x8662('0x32')]=[{'all':!![]}];}return db[_0x8662('0x1c')][_0x8662('0x33')](_0x268c89);})[_0x8662('0x12')](function(_0x1cb4d8){_0x5e4622[_0x8662('0x34')]=_0x1cb4d8;return _0x5e4622;})[_0x8662('0x12')](respondWithFilteredResult(_0x572e78,_0x268c89))['catch'](handleError(_0x572e78,null));};exports[_0x8662('0x35')]=function(_0x188224,_0x1986ba){var _0x576c87={'raw':![],'where':{'id':_0x188224[_0x8662('0x36')]['id']}},_0x272c18={};_0x272c18['model']=_[_0x8662('0x22')](db[_0x8662('0x1c')][_0x8662('0x1d')]);_0x272c18[_0x8662('0x21')]=_['keys'](_0x188224[_0x8662('0x21')]);_0x272c18[_0x8662('0x2b')]=_[_0x8662('0x23')](_0x272c18[_0x8662('0x20')],_0x272c18['query']);_0x576c87[_0x8662('0x25')]=_[_0x8662('0x23')](_0x272c18[_0x8662('0x20')],qs[_0x8662('0x24')](_0x188224[_0x8662('0x21')][_0x8662('0x24')]));_0x576c87[_0x8662('0x25')]=_0x576c87['attributes'][_0x8662('0x26')]?_0x576c87[_0x8662('0x25')]:_0x272c18['model'];if(_0x188224['query']['includeAll']){_0x576c87[_0x8662('0x32')]=[{'all':!![]}];}_0x576c87=_['merge']({},_0x576c87,_0x188224[_0x8662('0x30')]);return db['SquareProject'][_0x8662('0x37')](_0x576c87)[_0x8662('0x12')](handleEntityNotFound(_0x1986ba,null))[_0x8662('0x12')](respondWithResult(_0x1986ba,null))[_0x8662('0x38')](handleError(_0x1986ba,null));};exports[_0x8662('0x39')]=function(_0x456b4a,_0x134287){return db[_0x8662('0x1c')][_0x8662('0x39')](_0x456b4a[_0x8662('0x3a')],{})[_0x8662('0x12')](function(_0x5ac731){var _0x524bb0=_0x456b4a['user'][_0x8662('0x13')]({'plain':!![]});if(!_0x524bb0)throw new Error(_0x8662('0x3b'));if(_0x524bb0[_0x8662('0x3c')]==='user'){var _0x58fd62=_0x5ac731[_0x8662('0x13')]({'plain':!![]});var _0x1cdd84=_0x8662('0x14');return db[_0x8662('0x3d')]['find']({'where':{'name':_0x1cdd84,'userProfileId':_0x524bb0['userProfileId']},'raw':!![]})[_0x8662('0x12')](function(_0x26a200){if(_0x26a200&&_0x26a200[_0x8662('0x3e')]===0x0){return db[_0x8662('0x15')][_0x8662('0x39')]({'name':_0x58fd62[_0x8662('0x19')],'resourceId':_0x58fd62['id'],'type':_0x26a200['name'],'sectionId':_0x26a200['id']},{})[_0x8662('0x12')](function(){return _0x5ac731;});}else{return _0x5ac731;}})[_0x8662('0x38')](function(_0x33ff0c){logger[_0x8662('0x17')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x33ff0c);throw _0x33ff0c;});}return _0x5ac731;})[_0x8662('0x12')](respondWithResult(_0x134287,0xc9))['catch'](handleError(_0x134287,null));};exports[_0x8662('0x11')]=function(_0x385e76,_0x5a3f1c){if(_0x385e76[_0x8662('0x3a')]['id']){delete _0x385e76[_0x8662('0x3a')]['id'];}return db['SquareProject'][_0x8662('0x37')]({'where':{'id':_0x385e76[_0x8662('0x36')]['id']}})[_0x8662('0x12')](handleEntityNotFound(_0x5a3f1c,null))['then'](saveUpdates(_0x385e76[_0x8662('0x3a')],null))[_0x8662('0x12')](function(_0xdf12f3){if(!_0xdf12f3)return;var _0x55c452=_0xdf12f3[_0x8662('0x13')]({'plain':!![]});return _0x55c452;})[_0x8662('0x12')](function(_0x1589e8){var _0x1b1604=new Redis(config[_0x8662('0x5')]);_0x1b1604[_0x8662('0x3f')](_0x8662('0x40'),JSON[_0x8662('0x41')](_[_0x8662('0x42')](_0x1589e8,['id',_0x8662('0x19'),_0x8662('0x43')])));return _0x1589e8;})[_0x8662('0x12')](respondWithResult(_0x5a3f1c,null))['catch'](handleError(_0x5a3f1c,null));};exports['destroy']=function(_0x16954f,_0x196c3b){return db[_0x8662('0x1c')][_0x8662('0x37')]({'where':{'id':_0x16954f[_0x8662('0x36')]['id']}})['then'](handleEntityNotFound(_0x196c3b,null))[_0x8662('0x12')](removeEntity(_0x196c3b,null))[_0x8662('0x38')](handleError(_0x196c3b,null));};