Built motion from commit e8da49ee.|2.6.33
[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 _0x9364=['UserProfileSection','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','lodash','../../config/logger','api','../../config/environment','../../mysqldb','defaults','localhost','socket.io-emitter','./squareProject.socket','register','status','json','offset','undefined','limit','count','set','update','then','get','SquareProjects','UserProfileResource','destroy','redis','publish','agi','stringify','end','name','send','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','filter','type','VIRTUAL','merge','SquareProject','include','rows','catch','show','includeAll','find','create','body','user'];(function(_0x45fa43,_0x489dfe){var _0x477cc2=function(_0x44a8d8){while(--_0x44a8d8){_0x45fa43['push'](_0x45fa43['shift']());}};_0x477cc2(++_0x489dfe);}(_0x9364,0x87));var _0x4936=function(_0xc93a87,_0x43e41d){_0xc93a87=_0xc93a87-0x0;var _0x2dca8a=_0x9364[_0xc93a87];return _0x2dca8a;};'use strict';var _=require(_0x4936('0x0'));var Redis=require('ioredis');var qs=require('../../components/parsers/qs');var logger=require(_0x4936('0x1'))(_0x4936('0x2'));var config=require(_0x4936('0x3'));var db=require(_0x4936('0x4'))['db'];config['redis']=_[_0x4936('0x5')](config['redis'],{'host':_0x4936('0x6'),'port':0x18eb});var socket=require(_0x4936('0x7'))(new Redis(config['redis']));require(_0x4936('0x8'))[_0x4936('0x9')](socket);function respondWithResult(_0x382f06,_0x3b2d2b){_0x3b2d2b=_0x3b2d2b||0xc8;return function(_0x3ceb86){if(_0x3ceb86){return _0x382f06[_0x4936('0xa')](_0x3b2d2b)[_0x4936('0xb')](_0x3ceb86);}};}function respondWithFilteredResult(_0xccb12a,_0x6d67c4){return function(_0x165e85){if(_0x165e85){var _0x3c4566=typeof _0x6d67c4[_0x4936('0xc')]===_0x4936('0xd')&&typeof _0x6d67c4[_0x4936('0xe')]===_0x4936('0xd');var _0x352d44=_0x165e85['count'];var _0x13c57e=_0x3c4566?0x0:_0x6d67c4[_0x4936('0xc')];var _0x49ca8b=_0x3c4566?_0x165e85[_0x4936('0xf')]:_0x6d67c4['offset']+_0x6d67c4[_0x4936('0xe')];var _0x28d618;if(_0x49ca8b>=_0x352d44){_0x49ca8b=_0x352d44;_0x28d618=0xc8;}else{_0x28d618=0xce;}_0xccb12a[_0x4936('0xa')](_0x28d618);return _0xccb12a[_0x4936('0x10')]('Content-Range',_0x13c57e+'-'+_0x49ca8b+'/'+_0x352d44)[_0x4936('0xb')](_0x165e85);}return null;};}function saveUpdates(_0x4a8a23){return function(_0x272228){if(_0x272228){return _0x272228[_0x4936('0x11')](_0x4a8a23)[_0x4936('0x12')](function(_0x574148){return _0x574148;});}return null;};}function removeEntity(_0xfbe6ad){return function(_0x49b4cb){if(_0x49b4cb){return _0x49b4cb['destroy']()[_0x4936('0x12')](function(){var _0x297585=_0x49b4cb[_0x4936('0x13')]({'plain':!![]});var _0x42d165=_0x4936('0x14');return db[_0x4936('0x15')][_0x4936('0x16')]({'where':{'type':_0x42d165,'resourceId':_0x297585['id']}})[_0x4936('0x12')](function(){return _0x49b4cb;});})[_0x4936('0x12')](function(){var _0x3b9476=new Redis(config[_0x4936('0x17')]);_0x3b9476[_0x4936('0x18')](_0x4936('0x19'),JSON[_0x4936('0x1a')]({'id':_0x49b4cb['id'],'deleted':!![]}));})[_0x4936('0x12')](function(){_0xfbe6ad[_0x4936('0xa')](0xcc)[_0x4936('0x1b')]();});}};}function handleEntityNotFound(_0x1290f){return function(_0x3682e3){if(!_0x3682e3){_0x1290f['sendStatus'](0x194);}return _0x3682e3;};}function handleError(_0x13b7b3,_0x4ebfb0){_0x4ebfb0=_0x4ebfb0||0x1f4;return function(_0x15d999){logger['error'](_0x15d999['stack']);if(_0x15d999[_0x4936('0x1c')]){delete _0x15d999[_0x4936('0x1c')];}_0x13b7b3['status'](_0x4ebfb0)[_0x4936('0x1d')](_0x15d999);};}exports['index']=function(_0x4c5afc,_0x4f2bc3){var _0x1af963={},_0x1fce61={},_0x520607={'count':0x0,'rows':[]};var _0x1dd72d=_[_0x4936('0x1e')](db['SquareProject'][_0x4936('0x1f')],function(_0x41eaca){return{'name':_0x41eaca[_0x4936('0x20')],'type':_0x41eaca['type'][_0x4936('0x21')]};});_0x1fce61[_0x4936('0x22')]=_['map'](_0x1dd72d,'name');_0x1fce61[_0x4936('0x23')]=_[_0x4936('0x24')](_0x4c5afc['query']);_0x1fce61[_0x4936('0x25')]=_[_0x4936('0x26')](_0x1fce61[_0x4936('0x22')],_0x1fce61[_0x4936('0x23')]);_0x1af963[_0x4936('0x27')]=_[_0x4936('0x26')](_0x1fce61[_0x4936('0x22')],qs[_0x4936('0x28')](_0x4c5afc[_0x4936('0x23')][_0x4936('0x28')]));_0x1af963[_0x4936('0x27')]=_0x1af963[_0x4936('0x27')][_0x4936('0x29')]?_0x1af963[_0x4936('0x27')]:_0x1fce61['model'];if(!_0x4c5afc['query']['hasOwnProperty'](_0x4936('0x2a'))){_0x1af963[_0x4936('0xe')]=qs['limit'](_0x4c5afc[_0x4936('0x23')]['limit']);_0x1af963['offset']=qs[_0x4936('0xc')](_0x4c5afc[_0x4936('0x23')][_0x4936('0xc')]);}_0x1af963[_0x4936('0x2b')]=qs['sort'](_0x4c5afc[_0x4936('0x23')][_0x4936('0x2c')]);_0x1af963[_0x4936('0x2d')]=qs['filters'](_['pick'](_0x4c5afc['query'],_0x1fce61[_0x4936('0x25')]),_0x1dd72d);if(_0x4c5afc[_0x4936('0x23')][_0x4936('0x2e')]){_0x1af963[_0x4936('0x2d')]=_['merge'](_0x1af963['where'],{'$or':_[_0x4936('0x1e')](_0x1dd72d,function(_0xe6d58c){if(_0xe6d58c[_0x4936('0x2f')]!==_0x4936('0x30')){var _0x472b53={};_0x472b53[_0xe6d58c[_0x4936('0x1c')]]={'$like':'%'+_0x4c5afc[_0x4936('0x23')][_0x4936('0x2e')]+'%'};return _0x472b53;}})});}_0x1af963=_[_0x4936('0x31')]({},_0x1af963,_0x4c5afc['options']);var _0x322a9d={'where':_0x1af963[_0x4936('0x2d')]};return db[_0x4936('0x32')]['count'](_0x322a9d)[_0x4936('0x12')](function(_0x2d0d99){_0x520607[_0x4936('0xf')]=_0x2d0d99;if(_0x4c5afc[_0x4936('0x23')]['includeAll']){_0x1af963[_0x4936('0x33')]=[{'all':!![]}];}return db[_0x4936('0x32')]['findAll'](_0x1af963);})['then'](function(_0x3242c6){_0x520607[_0x4936('0x34')]=_0x3242c6;return _0x520607;})[_0x4936('0x12')](respondWithFilteredResult(_0x4f2bc3,_0x1af963))[_0x4936('0x35')](handleError(_0x4f2bc3,null));};exports[_0x4936('0x36')]=function(_0x534089,_0x2c41a9){var _0x1dd1fb={'raw':![],'where':{'id':_0x534089['params']['id']}},_0x5a9049={};_0x5a9049['model']=_['keys'](db['SquareProject'][_0x4936('0x1f')]);_0x5a9049['query']=_[_0x4936('0x24')](_0x534089[_0x4936('0x23')]);_0x5a9049['filters']=_[_0x4936('0x26')](_0x5a9049[_0x4936('0x22')],_0x5a9049[_0x4936('0x23')]);_0x1dd1fb[_0x4936('0x27')]=_['intersection'](_0x5a9049['model'],qs[_0x4936('0x28')](_0x534089[_0x4936('0x23')]['fields']));_0x1dd1fb['attributes']=_0x1dd1fb[_0x4936('0x27')][_0x4936('0x29')]?_0x1dd1fb[_0x4936('0x27')]:_0x5a9049[_0x4936('0x22')];if(_0x534089[_0x4936('0x23')][_0x4936('0x37')]){_0x1dd1fb[_0x4936('0x33')]=[{'all':!![]}];}_0x1dd1fb=_[_0x4936('0x31')]({},_0x1dd1fb,_0x534089['options']);return db[_0x4936('0x32')][_0x4936('0x38')](_0x1dd1fb)[_0x4936('0x12')](handleEntityNotFound(_0x2c41a9,null))[_0x4936('0x12')](respondWithResult(_0x2c41a9,null))[_0x4936('0x35')](handleError(_0x2c41a9,null));};exports[_0x4936('0x39')]=function(_0x252ef6,_0x5ace68){return db['SquareProject'][_0x4936('0x39')](_0x252ef6[_0x4936('0x3a')],{})['then'](function(_0x2d2cca){var _0x1e514b=_0x252ef6[_0x4936('0x3b')]['get']({'plain':!![]});if(!_0x1e514b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1e514b['role']==='user'){var _0xdb9bcf=_0x2d2cca[_0x4936('0x13')]({'plain':!![]});var _0x2def18=_0x4936('0x14');return db[_0x4936('0x3c')][_0x4936('0x38')]({'where':{'name':_0x2def18,'userProfileId':_0x1e514b['userProfileId']},'raw':!![]})['then'](function(_0x2854bc){if(_0x2854bc&&_0x2854bc[_0x4936('0x3d')]===0x0){return db[_0x4936('0x15')][_0x4936('0x39')]({'name':_0xdb9bcf[_0x4936('0x1c')],'resourceId':_0xdb9bcf['id'],'type':_0x2854bc[_0x4936('0x1c')],'sectionId':_0x2854bc['id']},{})[_0x4936('0x12')](function(){return _0x2d2cca;});}else{return _0x2d2cca;}})[_0x4936('0x35')](function(_0x94c19c){logger[_0x4936('0x3e')](_0x4936('0x3f'),_0x94c19c);throw _0x94c19c;});}return _0x2d2cca;})[_0x4936('0x12')](respondWithResult(_0x5ace68,0xc9))['catch'](handleError(_0x5ace68,null));};exports[_0x4936('0x11')]=function(_0x2f910b,_0x5c96d8){if(_0x2f910b['body']['id']){delete _0x2f910b[_0x4936('0x3a')]['id'];}return db[_0x4936('0x32')][_0x4936('0x38')]({'where':{'id':_0x2f910b[_0x4936('0x40')]['id']}})['then'](handleEntityNotFound(_0x5c96d8,null))[_0x4936('0x12')](saveUpdates(_0x2f910b['body'],null))[_0x4936('0x12')](function(_0x343f76){if(!_0x343f76)return;var _0x38e8ba=_0x343f76['get']({'plain':!![]});return _0x38e8ba;})[_0x4936('0x12')](function(_0x10e07e){var _0x6fe5a6=new Redis(config['redis']);_0x6fe5a6[_0x4936('0x18')]('agi',JSON[_0x4936('0x1a')](_['pick'](_0x10e07e,['id',_0x4936('0x1c'),'production'])));return _0x10e07e;})[_0x4936('0x12')](respondWithResult(_0x5c96d8,null))[_0x4936('0x35')](handleError(_0x5c96d8,null));};exports[_0x4936('0x16')]=function(_0x5817e7,_0x16c221){return db[_0x4936('0x32')]['find']({'where':{'id':_0x5817e7[_0x4936('0x40')]['id']}})[_0x4936('0x12')](handleEntityNotFound(_0x16c221,null))[_0x4936('0x12')](removeEntity(_0x16c221,null))[_0x4936('0x35')](handleError(_0x16c221,null));};