Built motion from commit 85328c08.|2.5.50
[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 _0xf915=['type','VIRTUAL','includeAll','include','SquareProject','findAll','rows','catch','params','options','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addUsers','ids','omit','removeUsers','isArray','emit','userSquareProject:remove','getUsers','User','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./squareProject.socket','register','sendStatus','status','end','json','offset','limit','count','set','Content-Range','apply','reject','save','update','then','SquareProjects','UserProfileResource','error','stack','name','index','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge'];(function(_0x25fa5c,_0x421141){var _0x1bade2=function(_0x3faf20){while(--_0x3faf20){_0x25fa5c['push'](_0x25fa5c['shift']());}};_0x1bade2(++_0x421141);}(_0xf915,0x142));var _0x5f91=function(_0x57b54c,_0x54ce0d){_0x57b54c=_0x57b54c-0x0;var _0x59cc19=_0xf915[_0x57b54c];return _0x59cc19;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x5f91('0x0'));var zipdir=require(_0x5f91('0x1'));var jsonpatch=require(_0x5f91('0x2'));var rp=require(_0x5f91('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x5f91('0x4'));var util=require(_0x5f91('0x5'));var path=require(_0x5f91('0x6'));var sox=require(_0x5f91('0x7'));var csv=require(_0x5f91('0x8'));var ejs=require(_0x5f91('0x9'));var fs=require('fs');var fs_extra=require(_0x5f91('0xa'));var _=require(_0x5f91('0xb'));var squel=require(_0x5f91('0xc'));var crypto=require('crypto');var jsforce=require(_0x5f91('0xd'));var deskjs=require(_0x5f91('0xe'));var toCsv=require('to-csv');var querystring=require(_0x5f91('0xf'));var Papa=require('papaparse');var Redis=require(_0x5f91('0x10'));var authService=require(_0x5f91('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x5f91('0x12'));var hardwareService=require(_0x5f91('0x13'));var logger=require(_0x5f91('0x14'))(_0x5f91('0x15'));var utils=require(_0x5f91('0x16'));var config=require(_0x5f91('0x17'));var licenseUtil=require(_0x5f91('0x18'));var db=require(_0x5f91('0x19'))['db'];config[_0x5f91('0x1a')]=_[_0x5f91('0x1b')](config[_0x5f91('0x1a')],{'host':_0x5f91('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x5f91('0x1a')]));require(_0x5f91('0x1d'))[_0x5f91('0x1e')](socket);function respondWithStatusCode(_0x4f10af,_0x159678){_0x159678=_0x159678||0xcc;return function(_0x3b035b){if(_0x3b035b){return _0x4f10af[_0x5f91('0x1f')](_0x159678);}return _0x4f10af[_0x5f91('0x20')](_0x159678)[_0x5f91('0x21')]();};}function respondWithResult(_0x1c6e47,_0x17d5fd){_0x17d5fd=_0x17d5fd||0xc8;return function(_0x3a2c46){if(_0x3a2c46){return _0x1c6e47[_0x5f91('0x20')](_0x17d5fd)[_0x5f91('0x22')](_0x3a2c46);}};}function respondWithFilteredResult(_0x18d055,_0x1d6538){return function(_0x50c547){if(_0x50c547){var _0x219b30=typeof _0x1d6538[_0x5f91('0x23')]==='undefined'&&typeof _0x1d6538[_0x5f91('0x24')]==='undefined';var _0x2fa8b3=_0x50c547[_0x5f91('0x25')];var _0x4d6c6a=_0x219b30?0x0:_0x1d6538[_0x5f91('0x23')];var _0x416b54=_0x219b30?_0x50c547[_0x5f91('0x25')]:_0x1d6538['offset']+_0x1d6538[_0x5f91('0x24')];var _0x4476e0;if(_0x416b54>=_0x2fa8b3){_0x416b54=_0x2fa8b3;_0x4476e0=0xc8;}else{_0x4476e0=0xce;}_0x18d055[_0x5f91('0x20')](_0x4476e0);return _0x18d055[_0x5f91('0x26')](_0x5f91('0x27'),_0x4d6c6a+'-'+_0x416b54+'/'+_0x2fa8b3)[_0x5f91('0x22')](_0x50c547);}return null;};}function patchUpdates(_0x3efeef){return function(_0x1700ac){try{jsonpatch[_0x5f91('0x28')](_0x1700ac,_0x3efeef,!![]);}catch(_0x1a1080){return BPromise[_0x5f91('0x29')](_0x1a1080);}return _0x1700ac[_0x5f91('0x2a')]();};}function saveUpdates(_0x56c08c,_0x2806b4){return function(_0x5c655d){if(_0x5c655d){return _0x5c655d[_0x5f91('0x2b')](_0x56c08c)[_0x5f91('0x2c')](function(_0x43d96a){return _0x43d96a;});}return null;};}function removeEntity(_0x171a30,_0x208f44){return function(_0x3257b4){if(_0x3257b4){return _0x3257b4['destroy']()['then'](function(){var _0x639ac2=_0x3257b4['get']({'plain':!![]});var _0x1a7037=_0x5f91('0x2d');return db[_0x5f91('0x2e')]['destroy']({'where':{'type':_0x1a7037,'resourceId':_0x639ac2['id']}})['then'](function(){return _0x3257b4;});})[_0x5f91('0x2c')](function(){_0x171a30['status'](0xcc)[_0x5f91('0x21')]();});}};}function handleEntityNotFound(_0x2c6e01,_0xc59968){return function(_0x37fff3){if(!_0x37fff3){_0x2c6e01[_0x5f91('0x1f')](0x194);}return _0x37fff3;};}function handleError(_0x40b0a2,_0xba33a4){_0xba33a4=_0xba33a4||0x1f4;return function(_0x5ba0ac){logger[_0x5f91('0x2f')](_0x5ba0ac[_0x5f91('0x30')]);if(_0x5ba0ac[_0x5f91('0x31')]){delete _0x5ba0ac['name'];}_0x40b0a2['status'](_0xba33a4)['send'](_0x5ba0ac);};}exports[_0x5f91('0x32')]=function(_0x16d4d8,_0xe2536d){var _0x304f66={},_0x12b2f3={},_0x12c61b={'count':0x0,'rows':[]};var _0x4be84f=_['map'](db['SquareProject'][_0x5f91('0x33')],function(_0x10879b){return{'name':_0x10879b[_0x5f91('0x34')],'type':_0x10879b['type'][_0x5f91('0x35')]};});_0x12b2f3[_0x5f91('0x36')]=_['map'](_0x4be84f,_0x5f91('0x31'));_0x12b2f3[_0x5f91('0x37')]=_[_0x5f91('0x38')](_0x16d4d8[_0x5f91('0x37')]);_0x12b2f3[_0x5f91('0x39')]=_[_0x5f91('0x3a')](_0x12b2f3[_0x5f91('0x36')],_0x12b2f3[_0x5f91('0x37')]);_0x304f66[_0x5f91('0x3b')]=_[_0x5f91('0x3a')](_0x12b2f3['model'],qs[_0x5f91('0x3c')](_0x16d4d8['query'][_0x5f91('0x3c')]));_0x304f66['attributes']=_0x304f66['attributes'][_0x5f91('0x3d')]?_0x304f66[_0x5f91('0x3b')]:_0x12b2f3['model'];if(!_0x16d4d8[_0x5f91('0x37')][_0x5f91('0x3e')](_0x5f91('0x3f'))){_0x304f66[_0x5f91('0x24')]=qs[_0x5f91('0x24')](_0x16d4d8['query']['limit']);_0x304f66[_0x5f91('0x23')]=qs[_0x5f91('0x23')](_0x16d4d8['query'][_0x5f91('0x23')]);}_0x304f66[_0x5f91('0x40')]=qs[_0x5f91('0x41')](_0x16d4d8['query'][_0x5f91('0x41')]);_0x304f66[_0x5f91('0x42')]=qs[_0x5f91('0x39')](_[_0x5f91('0x43')](_0x16d4d8[_0x5f91('0x37')],_0x12b2f3[_0x5f91('0x39')]),_0x4be84f);if(_0x16d4d8[_0x5f91('0x37')][_0x5f91('0x44')]){_0x304f66[_0x5f91('0x42')]=_[_0x5f91('0x45')](_0x304f66[_0x5f91('0x42')],{'$or':_['map'](_0x4be84f,function(_0x569f05){if(_0x569f05[_0x5f91('0x46')]!==_0x5f91('0x47')){var _0x4ac776={};_0x4ac776[_0x569f05[_0x5f91('0x31')]]={'$like':'%'+_0x16d4d8['query'][_0x5f91('0x44')]+'%'};return _0x4ac776;}})});}_0x304f66=_[_0x5f91('0x45')]({},_0x304f66,_0x16d4d8['options']);var _0x10899e={'where':_0x304f66[_0x5f91('0x42')]};return db['SquareProject'][_0x5f91('0x25')](_0x10899e)[_0x5f91('0x2c')](function(_0x2e1f67){_0x12c61b['count']=_0x2e1f67;if(_0x16d4d8['query'][_0x5f91('0x48')]){_0x304f66[_0x5f91('0x49')]=[{'all':!![]}];}return db[_0x5f91('0x4a')][_0x5f91('0x4b')](_0x304f66);})['then'](function(_0x3c634a){_0x12c61b[_0x5f91('0x4c')]=_0x3c634a;return _0x12c61b;})['then'](respondWithFilteredResult(_0xe2536d,_0x304f66))[_0x5f91('0x4d')](handleError(_0xe2536d,null));};exports['show']=function(_0x19ab5b,_0x5d0c61){var _0x187299={'raw':![],'where':{'id':_0x19ab5b[_0x5f91('0x4e')]['id']}},_0x38af1d={};_0x38af1d[_0x5f91('0x36')]=_[_0x5f91('0x38')](db[_0x5f91('0x4a')][_0x5f91('0x33')]);_0x38af1d[_0x5f91('0x37')]=_[_0x5f91('0x38')](_0x19ab5b[_0x5f91('0x37')]);_0x38af1d['filters']=_[_0x5f91('0x3a')](_0x38af1d[_0x5f91('0x36')],_0x38af1d[_0x5f91('0x37')]);_0x187299['attributes']=_[_0x5f91('0x3a')](_0x38af1d[_0x5f91('0x36')],qs[_0x5f91('0x3c')](_0x19ab5b['query'][_0x5f91('0x3c')]));_0x187299[_0x5f91('0x3b')]=_0x187299[_0x5f91('0x3b')][_0x5f91('0x3d')]?_0x187299[_0x5f91('0x3b')]:_0x38af1d[_0x5f91('0x36')];if(_0x19ab5b[_0x5f91('0x37')]['includeAll']){_0x187299[_0x5f91('0x49')]=[{'all':!![]}];}_0x187299=_[_0x5f91('0x45')]({},_0x187299,_0x19ab5b[_0x5f91('0x4f')]);return db[_0x5f91('0x4a')][_0x5f91('0x50')](_0x187299)[_0x5f91('0x2c')](handleEntityNotFound(_0x5d0c61,null))[_0x5f91('0x2c')](respondWithResult(_0x5d0c61,null))['catch'](handleError(_0x5d0c61,null));};exports[_0x5f91('0x51')]=function(_0x1d5ada,_0x443bfb){return db[_0x5f91('0x4a')][_0x5f91('0x51')](_0x1d5ada[_0x5f91('0x52')],{})[_0x5f91('0x2c')](function(_0x351c09){var _0x203063=_0x1d5ada['user'][_0x5f91('0x53')]({'plain':!![]});if(!_0x203063)throw new Error(_0x5f91('0x54'));if(_0x203063['role']===_0x5f91('0x55')){var _0x345a86=_0x351c09[_0x5f91('0x53')]({'plain':!![]});var _0x327313=_0x5f91('0x2d');return db[_0x5f91('0x56')][_0x5f91('0x50')]({'where':{'name':_0x327313,'userProfileId':_0x203063['userProfileId']},'raw':!![]})[_0x5f91('0x2c')](function(_0x152a3d){if(_0x152a3d&&_0x152a3d[_0x5f91('0x57')]===0x0){return db[_0x5f91('0x2e')][_0x5f91('0x51')]({'name':_0x345a86['name'],'resourceId':_0x345a86['id'],'type':_0x152a3d[_0x5f91('0x31')],'sectionId':_0x152a3d['id']},{})[_0x5f91('0x2c')](function(){return _0x351c09;});}else{return _0x351c09;}})[_0x5f91('0x4d')](function(_0x3361fa){logger['error'](_0x5f91('0x58'),_0x3361fa);throw _0x3361fa;});}return _0x351c09;})[_0x5f91('0x2c')](respondWithResult(_0x443bfb,0xc9))[_0x5f91('0x4d')](handleError(_0x443bfb,null));};exports['update']=function(_0x2b517a,_0x243648){if(_0x2b517a['body']['id']){delete _0x2b517a[_0x5f91('0x52')]['id'];}return db[_0x5f91('0x4a')][_0x5f91('0x50')]({'where':{'id':_0x2b517a['params']['id']}})[_0x5f91('0x2c')](handleEntityNotFound(_0x243648,null))['then'](saveUpdates(_0x2b517a[_0x5f91('0x52')],null))[_0x5f91('0x2c')](respondWithResult(_0x243648,null))[_0x5f91('0x4d')](handleError(_0x243648,null));};exports['destroy']=function(_0x1169b2,_0x4ec2e0){return db[_0x5f91('0x4a')][_0x5f91('0x50')]({'where':{'id':_0x1169b2[_0x5f91('0x4e')]['id']}})[_0x5f91('0x2c')](handleEntityNotFound(_0x4ec2e0,null))[_0x5f91('0x2c')](removeEntity(_0x4ec2e0,null))[_0x5f91('0x4d')](handleError(_0x4ec2e0,null));};exports[_0x5f91('0x59')]=function(_0x2662a5,_0x572879,_0x30cd03){return db[_0x5f91('0x4a')]['find']({'where':{'id':_0x2662a5[_0x5f91('0x4e')]['id']}})[_0x5f91('0x2c')](handleEntityNotFound(_0x572879,null))[_0x5f91('0x2c')](function(_0x5187c2){if(_0x5187c2){return _0x5187c2[_0x5f91('0x59')](_0x2662a5[_0x5f91('0x52')][_0x5f91('0x5a')],_[_0x5f91('0x5b')](_0x2662a5['body'],['ids','id'])||{});}})[_0x5f91('0x2c')](respondWithResult(_0x572879,null))['catch'](handleError(_0x572879,null));};exports[_0x5f91('0x5c')]=function(_0x5059c7,_0x47fa9b,_0x34a291){return db['SquareProject'][_0x5f91('0x50')]({'where':{'id':_0x5059c7[_0x5f91('0x4e')]['id']}})[_0x5f91('0x2c')](handleEntityNotFound(_0x47fa9b,null))[_0x5f91('0x2c')](function(_0x3d5959){if(_0x3d5959){return _0x3d5959[_0x5f91('0x5c')](_0x5059c7[_0x5f91('0x37')]['ids'])[_0x5f91('0x2c')](function(){if(_[_0x5f91('0x5d')](_0x5059c7[_0x5f91('0x37')][_0x5f91('0x5a')])){for(var _0x4bd0e4=0x0;_0x4bd0e4<_0x5059c7[_0x5f91('0x37')][_0x5f91('0x5a')]['length'];_0x4bd0e4+=0x1){socket[_0x5f91('0x5e')](_0x5f91('0x5f'),{'UserId':Number(_0x5059c7[_0x5f91('0x37')][_0x5f91('0x5a')][_0x4bd0e4]),'SquareProjectId':Number(_0x5059c7[_0x5f91('0x4e')]['id'])});}}else{socket[_0x5f91('0x5e')](_0x5f91('0x5f'),{'UserId':Number(_0x5059c7[_0x5f91('0x37')]['ids']),'SquareProjectId':Number(_0x5059c7['params']['id'])});}});}})['then'](respondWithStatusCode(_0x47fa9b,null))['catch'](handleError(_0x47fa9b,null));};exports[_0x5f91('0x60')]=function(_0x196bcc,_0x47fdd4,_0x3756b5){var _0x1c5453={};var _0x292154={};var _0x2599f0;var _0xb5c284;return db[_0x5f91('0x4a')]['findOne']({'where':{'id':_0x196bcc[_0x5f91('0x4e')]['id']}})[_0x5f91('0x2c')](handleEntityNotFound(_0x47fdd4,null))['then'](function(_0x3d3edf){if(_0x3d3edf){_0x2599f0=_0x3d3edf;_0x292154[_0x5f91('0x36')]=_[_0x5f91('0x38')](db[_0x5f91('0x61')]['rawAttributes']);_0x292154[_0x5f91('0x37')]=_[_0x5f91('0x38')](_0x196bcc[_0x5f91('0x37')]);_0x292154[_0x5f91('0x39')]=_[_0x5f91('0x3a')](_0x292154[_0x5f91('0x36')],_0x292154[_0x5f91('0x37')]);_0x1c5453[_0x5f91('0x3b')]=_['intersection'](_0x292154[_0x5f91('0x36')],qs['fields'](_0x196bcc[_0x5f91('0x37')][_0x5f91('0x3c')]));_0x1c5453[_0x5f91('0x3b')]=_0x1c5453[_0x5f91('0x3b')][_0x5f91('0x3d')]?_0x1c5453[_0x5f91('0x3b')]:_0x292154[_0x5f91('0x36')];_0x1c5453[_0x5f91('0x40')]=qs[_0x5f91('0x41')](_0x196bcc['query'][_0x5f91('0x41')]);_0x1c5453['where']=qs[_0x5f91('0x39')](_[_0x5f91('0x43')](_0x196bcc[_0x5f91('0x37')],_0x292154[_0x5f91('0x39')]));if(_0x196bcc[_0x5f91('0x37')][_0x5f91('0x44')]){_0x1c5453[_0x5f91('0x42')]=_[_0x5f91('0x45')](_0x1c5453[_0x5f91('0x42')],{'$or':_['map'](_0x1c5453['attributes'],function(_0x2acab7){var _0x140d74={};_0x140d74[_0x2acab7]={'$like':'%'+_0x196bcc[_0x5f91('0x37')][_0x5f91('0x44')]+'%'};return _0x140d74;})});}_0x1c5453=_['merge']({},_0x1c5453,_0x196bcc[_0x5f91('0x4f')]);return _0x2599f0[_0x5f91('0x60')](_0x1c5453);}})[_0x5f91('0x2c')](function(_0x2ffd7b){if(_0x2ffd7b){_0xb5c284=_0x2ffd7b[_0x5f91('0x3d')];if(!_0x196bcc['query']['hasOwnProperty'](_0x5f91('0x3f'))){_0x1c5453[_0x5f91('0x24')]=qs['limit'](_0x196bcc['query']['limit']);_0x1c5453[_0x5f91('0x23')]=qs['offset'](_0x196bcc['query'][_0x5f91('0x23')]);}return _0x2599f0[_0x5f91('0x60')](_0x1c5453);}})[_0x5f91('0x2c')](function(_0x1ec0da){if(_0x1ec0da){return _0x1ec0da?{'count':_0xb5c284,'rows':_0x1ec0da}:null;}})[_0x5f91('0x2c')](respondWithResult(_0x47fdd4,null))['catch'](handleError(_0x47fdd4,null));};