Built motion from commit c738b9ac.|2.6.25
[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 _0xc240=['SquareProjects','UserProfileResource','publish','agi','stringify','end','sendStatus','stack','send','index','map','SquareProject','rawAttributes','fieldName','type','name','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','params','length','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','production','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','localhost','./squareProject.socket','register','undefined','limit','count','offset','status','set','json','then','destroy','get'];(function(_0x5815dd,_0x1254d1){var _0x55835f=function(_0x246024){while(--_0x246024){_0x5815dd['push'](_0x5815dd['shift']());}};_0x55835f(++_0x1254d1);}(_0xc240,0x1d4));var _0x0c24=function(_0x380774,_0x2424bf){_0x380774=_0x380774-0x0;var _0x1e0bac=_0xc240[_0x380774];return _0x1e0bac;};'use strict';var _=require(_0x0c24('0x0'));var Redis=require(_0x0c24('0x1'));var qs=require(_0x0c24('0x2'));var logger=require(_0x0c24('0x3'))(_0x0c24('0x4'));var config=require(_0x0c24('0x5'));var db=require(_0x0c24('0x6'))['db'];config['redis']=_[_0x0c24('0x7')](config[_0x0c24('0x8')],{'host':_0x0c24('0x9'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x0c24('0xa'))[_0x0c24('0xb')](socket);function respondWithResult(_0xd813a0,_0x572326){_0x572326=_0x572326||0xc8;return function(_0x569f34){if(_0x569f34){return _0xd813a0['status'](_0x572326)['json'](_0x569f34);}};}function respondWithFilteredResult(_0x236312,_0x538052){return function(_0xdffdc7){if(_0xdffdc7){var _0x56ed44=typeof _0x538052['offset']===_0x0c24('0xc')&&typeof _0x538052[_0x0c24('0xd')]===_0x0c24('0xc');var _0x5111f2=_0xdffdc7[_0x0c24('0xe')];var _0x2c4ed7=_0x56ed44?0x0:_0x538052[_0x0c24('0xf')];var _0x2906ea=_0x56ed44?_0xdffdc7[_0x0c24('0xe')]:_0x538052[_0x0c24('0xf')]+_0x538052[_0x0c24('0xd')];var _0x3a3e67;if(_0x2906ea>=_0x5111f2){_0x2906ea=_0x5111f2;_0x3a3e67=0xc8;}else{_0x3a3e67=0xce;}_0x236312[_0x0c24('0x10')](_0x3a3e67);return _0x236312[_0x0c24('0x11')]('Content-Range',_0x2c4ed7+'-'+_0x2906ea+'/'+_0x5111f2)[_0x0c24('0x12')](_0xdffdc7);}return null;};}function saveUpdates(_0x5783b4){return function(_0x915d78){if(_0x915d78){return _0x915d78['update'](_0x5783b4)[_0x0c24('0x13')](function(_0x4dda14){return _0x4dda14;});}return null;};}function removeEntity(_0x1463d3){return function(_0x1c0a58){if(_0x1c0a58){return _0x1c0a58[_0x0c24('0x14')]()[_0x0c24('0x13')](function(){var _0x18fde3=_0x1c0a58[_0x0c24('0x15')]({'plain':!![]});var _0x1ad436=_0x0c24('0x16');return db[_0x0c24('0x17')][_0x0c24('0x14')]({'where':{'type':_0x1ad436,'resourceId':_0x18fde3['id']}})['then'](function(){return _0x1c0a58;});})[_0x0c24('0x13')](function(){var _0x3cec4b=new Redis(config[_0x0c24('0x8')]);_0x3cec4b[_0x0c24('0x18')](_0x0c24('0x19'),JSON[_0x0c24('0x1a')]({'id':_0x1c0a58['id'],'deleted':!![]}));})[_0x0c24('0x13')](function(){_0x1463d3[_0x0c24('0x10')](0xcc)[_0x0c24('0x1b')]();});}};}function handleEntityNotFound(_0x3bec90){return function(_0x1b556b){if(!_0x1b556b){_0x3bec90[_0x0c24('0x1c')](0x194);}return _0x1b556b;};}function handleError(_0x4da3a2,_0x2ee923){_0x2ee923=_0x2ee923||0x1f4;return function(_0x13ee94){logger['error'](_0x13ee94[_0x0c24('0x1d')]);if(_0x13ee94['name']){delete _0x13ee94['name'];}_0x4da3a2[_0x0c24('0x10')](_0x2ee923)[_0x0c24('0x1e')](_0x13ee94);};}exports[_0x0c24('0x1f')]=function(_0x316728,_0x103134){var _0x44555b={},_0x40738b={},_0x34b294={'count':0x0,'rows':[]};var _0x487d1c=_[_0x0c24('0x20')](db[_0x0c24('0x21')][_0x0c24('0x22')],function(_0x83dcf8){return{'name':_0x83dcf8[_0x0c24('0x23')],'type':_0x83dcf8[_0x0c24('0x24')]['key']};});_0x40738b['model']=_[_0x0c24('0x20')](_0x487d1c,_0x0c24('0x25'));_0x40738b[_0x0c24('0x26')]=_[_0x0c24('0x27')](_0x316728[_0x0c24('0x26')]);_0x40738b[_0x0c24('0x28')]=_[_0x0c24('0x29')](_0x40738b[_0x0c24('0x2a')],_0x40738b[_0x0c24('0x26')]);_0x44555b[_0x0c24('0x2b')]=_[_0x0c24('0x29')](_0x40738b['model'],qs[_0x0c24('0x2c')](_0x316728[_0x0c24('0x26')][_0x0c24('0x2c')]));_0x44555b[_0x0c24('0x2b')]=_0x44555b[_0x0c24('0x2b')]['length']?_0x44555b[_0x0c24('0x2b')]:_0x40738b[_0x0c24('0x2a')];if(!_0x316728[_0x0c24('0x26')][_0x0c24('0x2d')](_0x0c24('0x2e'))){_0x44555b[_0x0c24('0xd')]=qs['limit'](_0x316728[_0x0c24('0x26')][_0x0c24('0xd')]);_0x44555b[_0x0c24('0xf')]=qs['offset'](_0x316728['query']['offset']);}_0x44555b['order']=qs['sort'](_0x316728[_0x0c24('0x26')][_0x0c24('0x2f')]);_0x44555b[_0x0c24('0x30')]=qs[_0x0c24('0x28')](_['pick'](_0x316728['query'],_0x40738b[_0x0c24('0x28')]),_0x487d1c);if(_0x316728[_0x0c24('0x26')][_0x0c24('0x31')]){_0x44555b[_0x0c24('0x30')]=_[_0x0c24('0x32')](_0x44555b[_0x0c24('0x30')],{'$or':_[_0x0c24('0x20')](_0x487d1c,function(_0x2d123c){if(_0x2d123c[_0x0c24('0x24')]!==_0x0c24('0x33')){var _0x1bd688={};_0x1bd688[_0x2d123c[_0x0c24('0x25')]]={'$like':'%'+_0x316728[_0x0c24('0x26')][_0x0c24('0x31')]+'%'};return _0x1bd688;}})});}_0x44555b=_[_0x0c24('0x32')]({},_0x44555b,_0x316728[_0x0c24('0x34')]);var _0x1732c1={'where':_0x44555b[_0x0c24('0x30')]};return db[_0x0c24('0x21')][_0x0c24('0xe')](_0x1732c1)[_0x0c24('0x13')](function(_0xe33f12){_0x34b294[_0x0c24('0xe')]=_0xe33f12;if(_0x316728[_0x0c24('0x26')][_0x0c24('0x35')]){_0x44555b[_0x0c24('0x36')]=[{'all':!![]}];}return db[_0x0c24('0x21')][_0x0c24('0x37')](_0x44555b);})['then'](function(_0x1bf246){_0x34b294['rows']=_0x1bf246;return _0x34b294;})[_0x0c24('0x13')](respondWithFilteredResult(_0x103134,_0x44555b))[_0x0c24('0x38')](handleError(_0x103134,null));};exports['show']=function(_0x199687,_0x298d7d){var _0x37d063={'raw':![],'where':{'id':_0x199687[_0x0c24('0x39')]['id']}},_0xd1a958={};_0xd1a958[_0x0c24('0x2a')]=_[_0x0c24('0x27')](db['SquareProject']['rawAttributes']);_0xd1a958[_0x0c24('0x26')]=_[_0x0c24('0x27')](_0x199687['query']);_0xd1a958[_0x0c24('0x28')]=_[_0x0c24('0x29')](_0xd1a958[_0x0c24('0x2a')],_0xd1a958['query']);_0x37d063[_0x0c24('0x2b')]=_[_0x0c24('0x29')](_0xd1a958[_0x0c24('0x2a')],qs[_0x0c24('0x2c')](_0x199687[_0x0c24('0x26')][_0x0c24('0x2c')]));_0x37d063['attributes']=_0x37d063[_0x0c24('0x2b')][_0x0c24('0x3a')]?_0x37d063['attributes']:_0xd1a958[_0x0c24('0x2a')];if(_0x199687[_0x0c24('0x26')][_0x0c24('0x35')]){_0x37d063[_0x0c24('0x36')]=[{'all':!![]}];}_0x37d063=_[_0x0c24('0x32')]({},_0x37d063,_0x199687['options']);return db[_0x0c24('0x21')][_0x0c24('0x3b')](_0x37d063)[_0x0c24('0x13')](handleEntityNotFound(_0x298d7d,null))[_0x0c24('0x13')](respondWithResult(_0x298d7d,null))[_0x0c24('0x38')](handleError(_0x298d7d,null));};exports[_0x0c24('0x3c')]=function(_0x30d1ce,_0x53101d){return db['SquareProject']['create'](_0x30d1ce['body'],{})[_0x0c24('0x13')](function(_0x56c5d7){var _0x51ac1d=_0x30d1ce[_0x0c24('0x3d')]['get']({'plain':!![]});if(!_0x51ac1d)throw new Error(_0x0c24('0x3e'));if(_0x51ac1d[_0x0c24('0x3f')]===_0x0c24('0x3d')){var _0x588798=_0x56c5d7[_0x0c24('0x15')]({'plain':!![]});var _0x3214cb=_0x0c24('0x16');return db[_0x0c24('0x40')][_0x0c24('0x3b')]({'where':{'name':_0x3214cb,'userProfileId':_0x51ac1d['userProfileId']},'raw':!![]})[_0x0c24('0x13')](function(_0x1f6c33){if(_0x1f6c33&&_0x1f6c33[_0x0c24('0x41')]===0x0){return db[_0x0c24('0x17')][_0x0c24('0x3c')]({'name':_0x588798[_0x0c24('0x25')],'resourceId':_0x588798['id'],'type':_0x1f6c33[_0x0c24('0x25')],'sectionId':_0x1f6c33['id']},{})[_0x0c24('0x13')](function(){return _0x56c5d7;});}else{return _0x56c5d7;}})[_0x0c24('0x38')](function(_0x3a29bf){logger[_0x0c24('0x42')](_0x0c24('0x43'),_0x3a29bf);throw _0x3a29bf;});}return _0x56c5d7;})[_0x0c24('0x13')](respondWithResult(_0x53101d,0xc9))['catch'](handleError(_0x53101d,null));};exports['update']=function(_0x50e52f,_0x51b897){if(_0x50e52f[_0x0c24('0x44')]['id']){delete _0x50e52f[_0x0c24('0x44')]['id'];}return db[_0x0c24('0x21')][_0x0c24('0x3b')]({'where':{'id':_0x50e52f[_0x0c24('0x39')]['id']}})[_0x0c24('0x13')](handleEntityNotFound(_0x51b897,null))['then'](saveUpdates(_0x50e52f['body'],null))[_0x0c24('0x13')](function(_0x8c32b4){if(!_0x8c32b4)return;var _0x230b9f=_0x8c32b4[_0x0c24('0x15')]({'plain':!![]});return _0x230b9f;})['then'](function(_0x412d8d){var _0x23639d=new Redis(config[_0x0c24('0x8')]);_0x23639d[_0x0c24('0x18')](_0x0c24('0x19'),JSON['stringify'](_['pick'](_0x412d8d,['id',_0x0c24('0x25'),_0x0c24('0x45')])));return _0x412d8d;})[_0x0c24('0x13')](respondWithResult(_0x51b897,null))[_0x0c24('0x38')](handleError(_0x51b897,null));};exports[_0x0c24('0x14')]=function(_0x5782cc,_0x4e1d26){return db['SquareProject'][_0x0c24('0x3b')]({'where':{'id':_0x5782cc[_0x0c24('0x39')]['id']}})[_0x0c24('0x13')](handleEntityNotFound(_0x4e1d26,null))['then'](removeEntity(_0x4e1d26,null))[_0x0c24('0x38')](handleError(_0x4e1d26,null));};