Built motion from commit (unavailable).|2.5.3
[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 _0x45af=['eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./squareProject.socket','register','sendStatus','status','end','json','offset','limit','Content-Range','reject','update','then','get','SquareProjects','UserProfileResource','stack','name','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','SquareProject','count','includeAll','findAll','rows','params','length','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','ids','omit','removeUsers','userSquareProject:remove','emit','getUsers','User','html-pdf'];(function(_0x2eac4d,_0x2ecebf){var _0xb11d0e=function(_0xe709af){while(--_0xe709af){_0x2eac4d['push'](_0x2eac4d['shift']());}};_0xb11d0e(++_0x2ecebf);}(_0x45af,0xc1));var _0xf45a=function(_0xefe76,_0x339327){_0xefe76=_0xefe76-0x0;var _0x1879e9=_0x45af[_0xefe76];return _0x1879e9;};'use strict';var pdf=require(_0xf45a('0x0'));var emlformat=require(_0xf45a('0x1'));var rimraf=require(_0xf45a('0x2'));var zipdir=require(_0xf45a('0x3'));var jsonpatch=require(_0xf45a('0x4'));var rp=require(_0xf45a('0x5'));var moment=require(_0xf45a('0x6'));var BPromise=require(_0xf45a('0x7'));var Mustache=require(_0xf45a('0x8'));var util=require('util');var path=require(_0xf45a('0x9'));var sox=require(_0xf45a('0xa'));var csv=require(_0xf45a('0xb'));var ejs=require(_0xf45a('0xc'));var fs=require('fs');var _=require('lodash');var squel=require(_0xf45a('0xd'));var crypto=require(_0xf45a('0xe'));var jsforce=require(_0xf45a('0xf'));var deskjs=require(_0xf45a('0x10'));var toCsv=require(_0xf45a('0xb'));var querystring=require(_0xf45a('0x11'));var Papa=require(_0xf45a('0x12'));var Redis=require(_0xf45a('0x13'));var authService=require('../../components/auth/service');var qs=require(_0xf45a('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf45a('0x15'));var logger=require(_0xf45a('0x16'))('api');var utils=require(_0xf45a('0x17'));var config=require(_0xf45a('0x18'));var db=require(_0xf45a('0x19'))['db'];config[_0xf45a('0x1a')]=_[_0xf45a('0x1b')](config[_0xf45a('0x1a')],{'host':_0xf45a('0x1c'),'port':0x18eb});var socket=require(_0xf45a('0x1d'))(new Redis(config['redis']));require(_0xf45a('0x1e'))[_0xf45a('0x1f')](socket);function respondWithStatusCode(_0x18817c,_0x2175d1){_0x2175d1=_0x2175d1||0xcc;return function(_0x43005f){if(_0x43005f){return _0x18817c[_0xf45a('0x20')](_0x2175d1);}return _0x18817c[_0xf45a('0x21')](_0x2175d1)[_0xf45a('0x22')]();};}function respondWithResult(_0x5ac50b,_0x30bbe8){_0x30bbe8=_0x30bbe8||0xc8;return function(_0x5314f2){if(_0x5314f2){return _0x5ac50b[_0xf45a('0x21')](_0x30bbe8)[_0xf45a('0x23')](_0x5314f2);}};}function respondWithFilteredResult(_0x28c61b,_0x34d436){return function(_0x59543c){if(_0x59543c){var _0x532074=_0x59543c['count'],_0x5094ae=_0x34d436[_0xf45a('0x24')],_0x1c880b=_0x34d436[_0xf45a('0x24')]+_0x34d436[_0xf45a('0x25')],_0x20821d;if(_0x1c880b>=_0x532074){_0x1c880b=_0x532074;_0x20821d=0xc8;}else{_0x20821d=0xce;}_0x28c61b['status'](_0x20821d);return _0x28c61b['set'](_0xf45a('0x26'),_0x5094ae+'-'+_0x1c880b+'/'+_0x532074)[_0xf45a('0x23')](_0x59543c);}return null;};}function patchUpdates(_0x5859d5){return function(_0x2db7af){try{jsonpatch['apply'](_0x2db7af,_0x5859d5,!![]);}catch(_0x1e48b4){return BPromise[_0xf45a('0x27')](_0x1e48b4);}return _0x2db7af['save']();};}function saveUpdates(_0x13c2a8,_0x478d29){return function(_0x5091bc){if(_0x5091bc){return _0x5091bc[_0xf45a('0x28')](_0x13c2a8)[_0xf45a('0x29')](function(_0x318d11){return _0x318d11;});}return null;};}function removeEntity(_0x1e0860,_0x4fa28e){return function(_0x53a567){if(_0x53a567){return _0x53a567['destroy']()[_0xf45a('0x29')](function(){var _0x92d594=_0x53a567[_0xf45a('0x2a')]({'plain':!![]});var _0x1d77ca=_0xf45a('0x2b');return db[_0xf45a('0x2c')]['destroy']({'where':{'type':_0x1d77ca,'resourceId':_0x92d594['id']}})[_0xf45a('0x29')](function(){return _0x53a567;});})['then'](function(){_0x1e0860[_0xf45a('0x21')](0xcc)[_0xf45a('0x22')]();});}};}function handleEntityNotFound(_0x976560,_0x357eac){return function(_0x114994){if(!_0x114994){_0x976560[_0xf45a('0x20')](0x194);}return _0x114994;};}function handleError(_0x326407,_0x2cfefc){_0x2cfefc=_0x2cfefc||0x1f4;return function(_0x4431a6){logger['error'](_0x4431a6[_0xf45a('0x2d')]);if(_0x4431a6[_0xf45a('0x2e')]){delete _0x4431a6[_0xf45a('0x2e')];}_0x326407[_0xf45a('0x21')](_0x2cfefc)['send'](_0x4431a6);};}exports[_0xf45a('0x2f')]=function(_0x5dc6b3,_0x3b73f3){var _0x73f3da={},_0x310317={},_0x16c634={'count':0x0,'rows':[]};var _0x20bfbc=_[_0xf45a('0x30')](db['SquareProject'][_0xf45a('0x31')],function(_0x2c278c){return{'name':_0x2c278c[_0xf45a('0x32')],'type':_0x2c278c[_0xf45a('0x33')][_0xf45a('0x34')]};});_0x310317[_0xf45a('0x35')]=_[_0xf45a('0x30')](_0x20bfbc,'name');_0x310317[_0xf45a('0x36')]=_[_0xf45a('0x37')](_0x5dc6b3['query']);_0x310317[_0xf45a('0x38')]=_[_0xf45a('0x39')](_0x310317[_0xf45a('0x35')],_0x310317['query']);_0x73f3da[_0xf45a('0x3a')]=_[_0xf45a('0x39')](_0x310317[_0xf45a('0x35')],qs[_0xf45a('0x3b')](_0x5dc6b3[_0xf45a('0x36')]['fields']));_0x73f3da['attributes']=_0x73f3da[_0xf45a('0x3a')]['length']?_0x73f3da[_0xf45a('0x3a')]:_0x310317[_0xf45a('0x35')];if(!_0x5dc6b3[_0xf45a('0x36')][_0xf45a('0x3c')](_0xf45a('0x3d'))){_0x73f3da[_0xf45a('0x25')]=qs[_0xf45a('0x25')](_0x5dc6b3[_0xf45a('0x36')][_0xf45a('0x25')]);_0x73f3da[_0xf45a('0x24')]=qs['offset'](_0x5dc6b3['query']['offset']);}_0x73f3da[_0xf45a('0x3e')]=qs[_0xf45a('0x3f')](_0x5dc6b3[_0xf45a('0x36')][_0xf45a('0x3f')]);_0x73f3da[_0xf45a('0x40')]=qs[_0xf45a('0x38')](_[_0xf45a('0x41')](_0x5dc6b3[_0xf45a('0x36')],_0x310317[_0xf45a('0x38')]),_0x20bfbc);if(_0x5dc6b3[_0xf45a('0x36')][_0xf45a('0x42')]){_0x73f3da[_0xf45a('0x40')]=_['merge'](_0x73f3da[_0xf45a('0x40')],{'$or':_[_0xf45a('0x30')](_0x20bfbc,function(_0x56b447){if(_0x56b447[_0xf45a('0x33')]!==_0xf45a('0x43')){var _0x37808f={};_0x37808f[_0x56b447[_0xf45a('0x2e')]]={'$like':'%'+_0x5dc6b3[_0xf45a('0x36')]['filter']+'%'};return _0x37808f;}})});}_0x73f3da=_[_0xf45a('0x44')]({},_0x73f3da,_0x5dc6b3[_0xf45a('0x45')]);var _0x4d2f65={'where':_0x73f3da[_0xf45a('0x40')]};return db[_0xf45a('0x46')][_0xf45a('0x47')](_0x4d2f65)[_0xf45a('0x29')](function(_0x1f625e){_0x16c634[_0xf45a('0x47')]=_0x1f625e;if(_0x5dc6b3[_0xf45a('0x36')][_0xf45a('0x48')]){_0x73f3da['include']=[{'all':!![]}];}return db[_0xf45a('0x46')][_0xf45a('0x49')](_0x73f3da);})[_0xf45a('0x29')](function(_0x2f3457){_0x16c634[_0xf45a('0x4a')]=_0x2f3457;return _0x16c634;})[_0xf45a('0x29')](respondWithFilteredResult(_0x3b73f3,_0x73f3da))['catch'](handleError(_0x3b73f3,null));};exports['show']=function(_0x70ae49,_0x4151d1){var _0x15f38a={'raw':![],'where':{'id':_0x70ae49[_0xf45a('0x4b')]['id']}},_0xaf8d80={};_0xaf8d80[_0xf45a('0x35')]=_[_0xf45a('0x37')](db[_0xf45a('0x46')][_0xf45a('0x31')]);_0xaf8d80[_0xf45a('0x36')]=_[_0xf45a('0x37')](_0x70ae49[_0xf45a('0x36')]);_0xaf8d80[_0xf45a('0x38')]=_[_0xf45a('0x39')](_0xaf8d80['model'],_0xaf8d80['query']);_0x15f38a[_0xf45a('0x3a')]=_[_0xf45a('0x39')](_0xaf8d80[_0xf45a('0x35')],qs[_0xf45a('0x3b')](_0x70ae49[_0xf45a('0x36')][_0xf45a('0x3b')]));_0x15f38a[_0xf45a('0x3a')]=_0x15f38a[_0xf45a('0x3a')][_0xf45a('0x4c')]?_0x15f38a[_0xf45a('0x3a')]:_0xaf8d80[_0xf45a('0x35')];if(_0x70ae49['query'][_0xf45a('0x48')]){_0x15f38a['include']=[{'all':!![]}];}_0x15f38a=_[_0xf45a('0x44')]({},_0x15f38a,_0x70ae49['options']);return db[_0xf45a('0x46')]['find'](_0x15f38a)[_0xf45a('0x29')](handleEntityNotFound(_0x4151d1,null))[_0xf45a('0x29')](respondWithResult(_0x4151d1,null))[_0xf45a('0x4d')](handleError(_0x4151d1,null));};exports[_0xf45a('0x4e')]=function(_0x42be20,_0x1e0ff9){return db[_0xf45a('0x46')][_0xf45a('0x4e')](_0x42be20[_0xf45a('0x4f')],{})[_0xf45a('0x29')](function(_0x4562d7){var _0x3612c4=_0x42be20[_0xf45a('0x50')][_0xf45a('0x2a')]({'plain':!![]});if(!_0x3612c4)throw new Error(_0xf45a('0x51'));if(_0x3612c4[_0xf45a('0x52')]===_0xf45a('0x50')){var _0x567de4=_0x4562d7[_0xf45a('0x2a')]({'plain':!![]});var _0x1287ab=_0xf45a('0x2b');return db[_0xf45a('0x53')][_0xf45a('0x54')]({'where':{'name':_0x1287ab,'userProfileId':_0x3612c4[_0xf45a('0x55')]},'raw':!![]})[_0xf45a('0x29')](function(_0x18ab01){if(_0x18ab01&&_0x18ab01[_0xf45a('0x56')]===0x0){return db[_0xf45a('0x2c')][_0xf45a('0x4e')]({'name':_0x567de4[_0xf45a('0x2e')],'resourceId':_0x567de4['id'],'type':_0x18ab01['name'],'sectionId':_0x18ab01['id']},{})['then'](function(){return _0x4562d7;});}else{return _0x4562d7;}})['catch'](function(_0x1416ce){logger[_0xf45a('0x57')](_0xf45a('0x58'),_0x1416ce);throw _0x1416ce;});}return _0x4562d7;})[_0xf45a('0x29')](respondWithResult(_0x1e0ff9,0xc9))[_0xf45a('0x4d')](handleError(_0x1e0ff9,null));};exports[_0xf45a('0x28')]=function(_0x218aa2,_0x51bda0){if(_0x218aa2['body']['id']){delete _0x218aa2[_0xf45a('0x4f')]['id'];}return db[_0xf45a('0x46')][_0xf45a('0x54')]({'where':{'id':_0x218aa2['params']['id']}})[_0xf45a('0x29')](handleEntityNotFound(_0x51bda0,null))[_0xf45a('0x29')](saveUpdates(_0x218aa2[_0xf45a('0x4f')],null))[_0xf45a('0x29')](respondWithResult(_0x51bda0,null))['catch'](handleError(_0x51bda0,null));};exports[_0xf45a('0x59')]=function(_0x257cba,_0x27af5c){return db[_0xf45a('0x46')][_0xf45a('0x54')]({'where':{'id':_0x257cba[_0xf45a('0x4b')]['id']}})[_0xf45a('0x29')](handleEntityNotFound(_0x27af5c,null))[_0xf45a('0x29')](removeEntity(_0x27af5c,null))[_0xf45a('0x4d')](handleError(_0x27af5c,null));};exports['addUsers']=function(_0x29e88f,_0x3238b1,_0x17ea78){return db['SquareProject'][_0xf45a('0x54')]({'where':{'id':_0x29e88f[_0xf45a('0x4b')]['id']}})[_0xf45a('0x29')](handleEntityNotFound(_0x3238b1,null))[_0xf45a('0x29')](function(_0x23b41e){if(_0x23b41e){return _0x23b41e['addUsers'](_0x29e88f[_0xf45a('0x4f')][_0xf45a('0x5a')],_[_0xf45a('0x5b')](_0x29e88f[_0xf45a('0x4f')],['ids','id'])||{});}})[_0xf45a('0x29')](respondWithResult(_0x3238b1,null))['catch'](handleError(_0x3238b1,null));};exports[_0xf45a('0x5c')]=function(_0x2756b2,_0x3c2b4f,_0x21ad23){return db['SquareProject'][_0xf45a('0x54')]({'where':{'id':_0x2756b2[_0xf45a('0x4b')]['id']}})['then'](handleEntityNotFound(_0x3c2b4f,null))[_0xf45a('0x29')](function(_0x25d132){if(_0x25d132){return _0x25d132[_0xf45a('0x5c')](_0x2756b2[_0xf45a('0x36')][_0xf45a('0x5a')])[_0xf45a('0x29')](function(){if(_['isArray'](_0x2756b2[_0xf45a('0x36')]['ids'])){for(var _0x395884=0x0;_0x395884<_0x2756b2[_0xf45a('0x36')]['ids'][_0xf45a('0x4c')];_0x395884+=0x1){socket['emit'](_0xf45a('0x5d'),{'UserId':Number(_0x2756b2['query']['ids'][_0x395884]),'SquareProjectId':Number(_0x2756b2[_0xf45a('0x4b')]['id'])});}}else{socket[_0xf45a('0x5e')](_0xf45a('0x5d'),{'UserId':Number(_0x2756b2['query']['ids']),'SquareProjectId':Number(_0x2756b2[_0xf45a('0x4b')]['id'])});}});}})[_0xf45a('0x29')](respondWithStatusCode(_0x3c2b4f,null))['catch'](handleError(_0x3c2b4f,null));};exports[_0xf45a('0x5f')]=function(_0x569366,_0x35e107,_0x28b674){var _0x13e654={};var _0x53b0ff={};var _0x4a6988;var _0x2e0029;return db[_0xf45a('0x46')]['findOne']({'where':{'id':_0x569366[_0xf45a('0x4b')]['id']}})[_0xf45a('0x29')](handleEntityNotFound(_0x35e107,null))['then'](function(_0x629624){if(_0x629624){_0x4a6988=_0x629624;_0x53b0ff[_0xf45a('0x35')]=_[_0xf45a('0x37')](db[_0xf45a('0x60')]['rawAttributes']);_0x53b0ff[_0xf45a('0x36')]=_[_0xf45a('0x37')](_0x569366[_0xf45a('0x36')]);_0x53b0ff['filters']=_[_0xf45a('0x39')](_0x53b0ff[_0xf45a('0x35')],_0x53b0ff[_0xf45a('0x36')]);_0x13e654[_0xf45a('0x3a')]=_[_0xf45a('0x39')](_0x53b0ff[_0xf45a('0x35')],qs[_0xf45a('0x3b')](_0x569366[_0xf45a('0x36')]['fields']));_0x13e654[_0xf45a('0x3a')]=_0x13e654[_0xf45a('0x3a')][_0xf45a('0x4c')]?_0x13e654[_0xf45a('0x3a')]:_0x53b0ff[_0xf45a('0x35')];_0x13e654[_0xf45a('0x3e')]=qs['sort'](_0x569366[_0xf45a('0x36')]['sort']);_0x13e654[_0xf45a('0x40')]=qs[_0xf45a('0x38')](_[_0xf45a('0x41')](_0x569366[_0xf45a('0x36')],_0x53b0ff['filters']));if(_0x569366[_0xf45a('0x36')][_0xf45a('0x42')]){_0x13e654[_0xf45a('0x40')]=_[_0xf45a('0x44')](_0x13e654[_0xf45a('0x40')],{'$or':_['map'](_0x13e654[_0xf45a('0x3a')],function(_0x2042d3){var _0x186bac={};_0x186bac[_0x2042d3]={'$like':'%'+_0x569366[_0xf45a('0x36')][_0xf45a('0x42')]+'%'};return _0x186bac;})});}_0x13e654=_['merge']({},_0x13e654,_0x569366[_0xf45a('0x45')]);return _0x4a6988[_0xf45a('0x5f')](_0x13e654);}})[_0xf45a('0x29')](function(_0x34a6bf){if(_0x34a6bf){_0x2e0029=_0x34a6bf[_0xf45a('0x4c')];if(!_0x569366[_0xf45a('0x36')][_0xf45a('0x3c')](_0xf45a('0x3d'))){_0x13e654[_0xf45a('0x25')]=qs[_0xf45a('0x25')](_0x569366['query'][_0xf45a('0x25')]);_0x13e654['offset']=qs[_0xf45a('0x24')](_0x569366['query'][_0xf45a('0x24')]);}return _0x4a6988[_0xf45a('0x5f')](_0x13e654);}})[_0xf45a('0x29')](function(_0x155ca6){if(_0x155ca6){return _0x155ca6?{'count':_0x2e0029,'rows':_0x155ca6}:null;}})[_0xf45a('0x29')](respondWithResult(_0x35e107,null))[_0xf45a('0x4d')](handleError(_0x35e107,null));};