Built motion from commit (unavailable).|2.6.0
[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 _0xaee8=['../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./squareProject.socket','register','status','end','json','limit','undefined','count','set','Content-Range','apply','reject','update','then','destroy','UserProfileResource','stack','name','send','map','SquareProject','fieldName','type','key','keys','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','offset','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','get','SquareProjects','find','userProfileId','autoAssociation','error','addUsers','ids','removeUsers','isArray','emit','userSquareProject:remove','findOne','User','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api'];(function(_0x3ab51d,_0x2fa01d){var _0x29a04e=function(_0x7807b0){while(--_0x7807b0){_0x3ab51d['push'](_0x3ab51d['shift']());}};_0x29a04e(++_0x2fa01d);}(_0xaee8,0x16b));var _0x8aee=function(_0x5a889c,_0x1d7328){_0x5a889c=_0x5a889c-0x0;var _0xa9ef9a=_0xaee8[_0x5a889c];return _0xa9ef9a;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x8aee('0x0'));var jsonpatch=require(_0x8aee('0x1'));var rp=require(_0x8aee('0x2'));var moment=require(_0x8aee('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x8aee('0x4'));var util=require('util');var path=require(_0x8aee('0x5'));var sox=require(_0x8aee('0x6'));var csv=require(_0x8aee('0x7'));var ejs=require(_0x8aee('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x8aee('0x9'));var squel=require('squel');var crypto=require(_0x8aee('0xa'));var jsforce=require(_0x8aee('0xb'));var deskjs=require(_0x8aee('0xc'));var toCsv=require(_0x8aee('0x7'));var querystring=require(_0x8aee('0xd'));var Papa=require(_0x8aee('0xe'));var Redis=require(_0x8aee('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x8aee('0x10'));var as=require(_0x8aee('0x11'));var hardwareService=require(_0x8aee('0x12'));var logger=require(_0x8aee('0x13'))(_0x8aee('0x14'));var utils=require(_0x8aee('0x15'));var config=require(_0x8aee('0x16'));var licenseUtil=require(_0x8aee('0x17'));var db=require(_0x8aee('0x18'))['db'];config[_0x8aee('0x19')]=_[_0x8aee('0x1a')](config[_0x8aee('0x19')],{'host':'localhost','port':0x18eb});var socket=require(_0x8aee('0x1b'))(new Redis(config[_0x8aee('0x19')]));require(_0x8aee('0x1c'))[_0x8aee('0x1d')](socket);function respondWithStatusCode(_0x80cedf,_0x47389e){_0x47389e=_0x47389e||0xcc;return function(_0x27ae2c){if(_0x27ae2c){return _0x80cedf['sendStatus'](_0x47389e);}return _0x80cedf[_0x8aee('0x1e')](_0x47389e)[_0x8aee('0x1f')]();};}function respondWithResult(_0x5c9f4e,_0x497b29){_0x497b29=_0x497b29||0xc8;return function(_0x750cb3){if(_0x750cb3){return _0x5c9f4e[_0x8aee('0x1e')](_0x497b29)[_0x8aee('0x20')](_0x750cb3);}};}function respondWithFilteredResult(_0x1b3c89,_0x4961a3){return function(_0x501f3e){if(_0x501f3e){var _0x34e03a=typeof _0x4961a3['offset']==='undefined'&&typeof _0x4961a3[_0x8aee('0x21')]===_0x8aee('0x22');var _0x28dfdc=_0x501f3e[_0x8aee('0x23')];var _0x45b579=_0x34e03a?0x0:_0x4961a3['offset'];var _0x54587c=_0x34e03a?_0x501f3e['count']:_0x4961a3['offset']+_0x4961a3['limit'];var _0x1feeaa;if(_0x54587c>=_0x28dfdc){_0x54587c=_0x28dfdc;_0x1feeaa=0xc8;}else{_0x1feeaa=0xce;}_0x1b3c89[_0x8aee('0x1e')](_0x1feeaa);return _0x1b3c89[_0x8aee('0x24')](_0x8aee('0x25'),_0x45b579+'-'+_0x54587c+'/'+_0x28dfdc)['json'](_0x501f3e);}return null;};}function patchUpdates(_0x2a69aa){return function(_0x524dda){try{jsonpatch[_0x8aee('0x26')](_0x524dda,_0x2a69aa,!![]);}catch(_0x38a699){return BPromise[_0x8aee('0x27')](_0x38a699);}return _0x524dda['save']();};}function saveUpdates(_0x2c6e11,_0x2c2bf4){return function(_0x2011e9){if(_0x2011e9){return _0x2011e9[_0x8aee('0x28')](_0x2c6e11)[_0x8aee('0x29')](function(_0x270d28){return _0x270d28;});}return null;};}function removeEntity(_0x5f4156,_0x2e19de){return function(_0x494011){if(_0x494011){return _0x494011[_0x8aee('0x2a')]()[_0x8aee('0x29')](function(){var _0x31f683=_0x494011['get']({'plain':!![]});var _0x25b8c7='SquareProjects';return db[_0x8aee('0x2b')][_0x8aee('0x2a')]({'where':{'type':_0x25b8c7,'resourceId':_0x31f683['id']}})[_0x8aee('0x29')](function(){return _0x494011;});})[_0x8aee('0x29')](function(){_0x5f4156['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2d1b1c,_0x335112){return function(_0x22a696){if(!_0x22a696){_0x2d1b1c['sendStatus'](0x194);}return _0x22a696;};}function handleError(_0x5d7af,_0x243dca){_0x243dca=_0x243dca||0x1f4;return function(_0x4210ca){logger['error'](_0x4210ca[_0x8aee('0x2c')]);if(_0x4210ca['name']){delete _0x4210ca[_0x8aee('0x2d')];}_0x5d7af[_0x8aee('0x1e')](_0x243dca)[_0x8aee('0x2e')](_0x4210ca);};}exports['index']=function(_0x229e85,_0x52f984){var _0x4ccd43={},_0x31c22b={},_0x1d209d={'count':0x0,'rows':[]};var _0xb937ac=_[_0x8aee('0x2f')](db[_0x8aee('0x30')]['rawAttributes'],function(_0x44e6fa){return{'name':_0x44e6fa[_0x8aee('0x31')],'type':_0x44e6fa[_0x8aee('0x32')][_0x8aee('0x33')]};});_0x31c22b['model']=_[_0x8aee('0x2f')](_0xb937ac,'name');_0x31c22b['query']=_[_0x8aee('0x34')](_0x229e85[_0x8aee('0x35')]);_0x31c22b[_0x8aee('0x36')]=_['intersection'](_0x31c22b[_0x8aee('0x37')],_0x31c22b[_0x8aee('0x35')]);_0x4ccd43[_0x8aee('0x38')]=_[_0x8aee('0x39')](_0x31c22b['model'],qs[_0x8aee('0x3a')](_0x229e85[_0x8aee('0x35')][_0x8aee('0x3a')]));_0x4ccd43['attributes']=_0x4ccd43[_0x8aee('0x38')][_0x8aee('0x3b')]?_0x4ccd43['attributes']:_0x31c22b[_0x8aee('0x37')];if(!_0x229e85[_0x8aee('0x35')][_0x8aee('0x3c')](_0x8aee('0x3d'))){_0x4ccd43[_0x8aee('0x21')]=qs[_0x8aee('0x21')](_0x229e85[_0x8aee('0x35')][_0x8aee('0x21')]);_0x4ccd43[_0x8aee('0x3e')]=qs[_0x8aee('0x3e')](_0x229e85['query'][_0x8aee('0x3e')]);}_0x4ccd43[_0x8aee('0x3f')]=qs[_0x8aee('0x40')](_0x229e85['query'][_0x8aee('0x40')]);_0x4ccd43['where']=qs['filters'](_[_0x8aee('0x41')](_0x229e85[_0x8aee('0x35')],_0x31c22b[_0x8aee('0x36')]),_0xb937ac);if(_0x229e85[_0x8aee('0x35')][_0x8aee('0x42')]){_0x4ccd43[_0x8aee('0x43')]=_[_0x8aee('0x44')](_0x4ccd43[_0x8aee('0x43')],{'$or':_[_0x8aee('0x2f')](_0xb937ac,function(_0x23acfd){if(_0x23acfd['type']!==_0x8aee('0x45')){var _0x1b414c={};_0x1b414c[_0x23acfd[_0x8aee('0x2d')]]={'$like':'%'+_0x229e85[_0x8aee('0x35')][_0x8aee('0x42')]+'%'};return _0x1b414c;}})});}_0x4ccd43=_['merge']({},_0x4ccd43,_0x229e85[_0x8aee('0x46')]);var _0x13ff18={'where':_0x4ccd43[_0x8aee('0x43')]};return db[_0x8aee('0x30')]['count'](_0x13ff18)[_0x8aee('0x29')](function(_0x303197){_0x1d209d[_0x8aee('0x23')]=_0x303197;if(_0x229e85[_0x8aee('0x35')][_0x8aee('0x47')]){_0x4ccd43[_0x8aee('0x48')]=[{'all':!![]}];}return db['SquareProject'][_0x8aee('0x49')](_0x4ccd43);})[_0x8aee('0x29')](function(_0x2ddd4a){_0x1d209d[_0x8aee('0x4a')]=_0x2ddd4a;return _0x1d209d;})['then'](respondWithFilteredResult(_0x52f984,_0x4ccd43))[_0x8aee('0x4b')](handleError(_0x52f984,null));};exports[_0x8aee('0x4c')]=function(_0x19866d,_0x3f3598){var _0x3f5598={'raw':![],'where':{'id':_0x19866d[_0x8aee('0x4d')]['id']}},_0x416849={};_0x416849[_0x8aee('0x37')]=_[_0x8aee('0x34')](db[_0x8aee('0x30')][_0x8aee('0x4e')]);_0x416849[_0x8aee('0x35')]=_[_0x8aee('0x34')](_0x19866d[_0x8aee('0x35')]);_0x416849[_0x8aee('0x36')]=_['intersection'](_0x416849[_0x8aee('0x37')],_0x416849['query']);_0x3f5598[_0x8aee('0x38')]=_['intersection'](_0x416849[_0x8aee('0x37')],qs[_0x8aee('0x3a')](_0x19866d[_0x8aee('0x35')][_0x8aee('0x3a')]));_0x3f5598['attributes']=_0x3f5598[_0x8aee('0x38')][_0x8aee('0x3b')]?_0x3f5598['attributes']:_0x416849[_0x8aee('0x37')];if(_0x19866d[_0x8aee('0x35')][_0x8aee('0x47')]){_0x3f5598['include']=[{'all':!![]}];}_0x3f5598=_[_0x8aee('0x44')]({},_0x3f5598,_0x19866d['options']);return db[_0x8aee('0x30')]['find'](_0x3f5598)['then'](handleEntityNotFound(_0x3f3598,null))[_0x8aee('0x29')](respondWithResult(_0x3f3598,null))[_0x8aee('0x4b')](handleError(_0x3f3598,null));};exports['create']=function(_0x359a87,_0x4a57fc){return db[_0x8aee('0x30')]['create'](_0x359a87[_0x8aee('0x4f')],{})['then'](function(_0x4784b2){var _0x1e587b=_0x359a87[_0x8aee('0x50')]['get']({'plain':!![]});if(!_0x1e587b)throw new Error(_0x8aee('0x51'));if(_0x1e587b['role']===_0x8aee('0x50')){var _0x226c13=_0x4784b2[_0x8aee('0x52')]({'plain':!![]});var _0x24c710=_0x8aee('0x53');return db['UserProfileSection'][_0x8aee('0x54')]({'where':{'name':_0x24c710,'userProfileId':_0x1e587b[_0x8aee('0x55')]},'raw':!![]})['then'](function(_0x108ad8){if(_0x108ad8&&_0x108ad8[_0x8aee('0x56')]===0x0){return db[_0x8aee('0x2b')]['create']({'name':_0x226c13['name'],'resourceId':_0x226c13['id'],'type':_0x108ad8['name'],'sectionId':_0x108ad8['id']},{})[_0x8aee('0x29')](function(){return _0x4784b2;});}else{return _0x4784b2;}})[_0x8aee('0x4b')](function(_0x56cdf1){logger[_0x8aee('0x57')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x56cdf1);throw _0x56cdf1;});}return _0x4784b2;})[_0x8aee('0x29')](respondWithResult(_0x4a57fc,0xc9))[_0x8aee('0x4b')](handleError(_0x4a57fc,null));};exports[_0x8aee('0x28')]=function(_0x5211d5,_0x1d6c46){if(_0x5211d5[_0x8aee('0x4f')]['id']){delete _0x5211d5['body']['id'];}return db['SquareProject']['find']({'where':{'id':_0x5211d5['params']['id']}})[_0x8aee('0x29')](handleEntityNotFound(_0x1d6c46,null))[_0x8aee('0x29')](saveUpdates(_0x5211d5[_0x8aee('0x4f')],null))[_0x8aee('0x29')](respondWithResult(_0x1d6c46,null))['catch'](handleError(_0x1d6c46,null));};exports[_0x8aee('0x2a')]=function(_0x595d4a,_0x5d1c71){return db[_0x8aee('0x30')][_0x8aee('0x54')]({'where':{'id':_0x595d4a['params']['id']}})[_0x8aee('0x29')](handleEntityNotFound(_0x5d1c71,null))[_0x8aee('0x29')](removeEntity(_0x5d1c71,null))[_0x8aee('0x4b')](handleError(_0x5d1c71,null));};exports[_0x8aee('0x58')]=function(_0x15dd3d,_0x8ba25b,_0x259dfa){return db['SquareProject'][_0x8aee('0x54')]({'where':{'id':_0x15dd3d[_0x8aee('0x4d')]['id']}})['then'](handleEntityNotFound(_0x8ba25b,null))[_0x8aee('0x29')](function(_0x56c41e){if(_0x56c41e){return _0x56c41e[_0x8aee('0x58')](_0x15dd3d[_0x8aee('0x4f')][_0x8aee('0x59')],_['omit'](_0x15dd3d['body'],['ids','id'])||{});}})[_0x8aee('0x29')](respondWithResult(_0x8ba25b,null))[_0x8aee('0x4b')](handleError(_0x8ba25b,null));};exports['removeUsers']=function(_0x42bae1,_0x327028,_0x151f64){return db[_0x8aee('0x30')][_0x8aee('0x54')]({'where':{'id':_0x42bae1[_0x8aee('0x4d')]['id']}})['then'](handleEntityNotFound(_0x327028,null))['then'](function(_0x128b1a){if(_0x128b1a){return _0x128b1a[_0x8aee('0x5a')](_0x42bae1['query'][_0x8aee('0x59')])[_0x8aee('0x29')](function(){if(_[_0x8aee('0x5b')](_0x42bae1[_0x8aee('0x35')][_0x8aee('0x59')])){for(var _0x41b141=0x0;_0x41b141<_0x42bae1[_0x8aee('0x35')][_0x8aee('0x59')][_0x8aee('0x3b')];_0x41b141+=0x1){socket[_0x8aee('0x5c')](_0x8aee('0x5d'),{'UserId':Number(_0x42bae1[_0x8aee('0x35')][_0x8aee('0x59')][_0x41b141]),'SquareProjectId':Number(_0x42bae1[_0x8aee('0x4d')]['id'])});}}else{socket[_0x8aee('0x5c')]('userSquareProject:remove',{'UserId':Number(_0x42bae1['query'][_0x8aee('0x59')]),'SquareProjectId':Number(_0x42bae1[_0x8aee('0x4d')]['id'])});}});}})[_0x8aee('0x29')](respondWithStatusCode(_0x327028,null))[_0x8aee('0x4b')](handleError(_0x327028,null));};exports['getUsers']=function(_0x42a70c,_0x132390,_0xa784e6){var _0x505186={};var _0x5daa3e={};var _0x43eb45;var _0x8ed9cc;return db[_0x8aee('0x30')][_0x8aee('0x5e')]({'where':{'id':_0x42a70c['params']['id']}})[_0x8aee('0x29')](handleEntityNotFound(_0x132390,null))['then'](function(_0x46ca34){if(_0x46ca34){_0x43eb45=_0x46ca34;_0x5daa3e['model']=_[_0x8aee('0x34')](db[_0x8aee('0x5f')][_0x8aee('0x4e')]);_0x5daa3e['query']=_[_0x8aee('0x34')](_0x42a70c[_0x8aee('0x35')]);_0x5daa3e['filters']=_[_0x8aee('0x39')](_0x5daa3e['model'],_0x5daa3e[_0x8aee('0x35')]);_0x505186[_0x8aee('0x38')]=_[_0x8aee('0x39')](_0x5daa3e[_0x8aee('0x37')],qs[_0x8aee('0x3a')](_0x42a70c[_0x8aee('0x35')]['fields']));_0x505186[_0x8aee('0x38')]=_0x505186[_0x8aee('0x38')][_0x8aee('0x3b')]?_0x505186[_0x8aee('0x38')]:_0x5daa3e[_0x8aee('0x37')];_0x505186[_0x8aee('0x3f')]=qs[_0x8aee('0x40')](_0x42a70c[_0x8aee('0x35')]['sort']);_0x505186[_0x8aee('0x43')]=qs[_0x8aee('0x36')](_['pick'](_0x42a70c[_0x8aee('0x35')],_0x5daa3e[_0x8aee('0x36')]));if(_0x42a70c[_0x8aee('0x35')][_0x8aee('0x42')]){_0x505186[_0x8aee('0x43')]=_[_0x8aee('0x44')](_0x505186[_0x8aee('0x43')],{'$or':_[_0x8aee('0x2f')](_0x505186[_0x8aee('0x38')],function(_0x1899e4){var _0x2cff4f={};_0x2cff4f[_0x1899e4]={'$like':'%'+_0x42a70c[_0x8aee('0x35')][_0x8aee('0x42')]+'%'};return _0x2cff4f;})});}_0x505186=_[_0x8aee('0x44')]({},_0x505186,_0x42a70c[_0x8aee('0x46')]);return _0x43eb45['getUsers'](_0x505186);}})[_0x8aee('0x29')](function(_0x4cd5a0){if(_0x4cd5a0){_0x8ed9cc=_0x4cd5a0[_0x8aee('0x3b')];if(!_0x42a70c[_0x8aee('0x35')][_0x8aee('0x3c')](_0x8aee('0x3d'))){_0x505186['limit']=qs[_0x8aee('0x21')](_0x42a70c[_0x8aee('0x35')][_0x8aee('0x21')]);_0x505186[_0x8aee('0x3e')]=qs[_0x8aee('0x3e')](_0x42a70c[_0x8aee('0x35')][_0x8aee('0x3e')]);}return _0x43eb45['getUsers'](_0x505186);}})['then'](function(_0xc98270){if(_0xc98270){return _0xc98270?{'count':_0x8ed9cc,'rows':_0xc98270}:null;}})[_0x8aee('0x29')](respondWithResult(_0x132390,null))[_0x8aee('0x4b')](handleError(_0x132390,null));};