Built motion from commit (unavailable).|2.5.21
[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 _0xa0f1=['send','index','map','SquareProject','rawAttributes','fieldName','type','key','keys','filters','intersection','model','query','attributes','fields','length','hasOwnProperty','order','sort','where','merge','VIRTUAL','count','includeAll','include','findAll','rows','show','params','options','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addUsers','ids','omit','removeUsers','isArray','emit','userSquareProject:remove','getUsers','findOne','User','filter','nolimit','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./squareProject.socket','register','sendStatus','status','json','offset','limit','set','Content-Range','apply','reject','update','destroy','then','get','SquareProjects','UserProfileResource','end','error','stack','name'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xa0f1,0x9e));var _0x1a0f=function(_0x1770a4,_0x1290aa){_0x1770a4=_0x1770a4-0x0;var _0x5169cc=_0xa0f1[_0x1770a4];return _0x5169cc;};'use strict';var pdf=require(_0x1a0f('0x0'));var emlformat=require(_0x1a0f('0x1'));var rimraf=require(_0x1a0f('0x2'));var zipdir=require(_0x1a0f('0x3'));var jsonpatch=require(_0x1a0f('0x4'));var rp=require(_0x1a0f('0x5'));var moment=require(_0x1a0f('0x6'));var BPromise=require(_0x1a0f('0x7'));var Mustache=require('mustache');var util=require('util');var path=require(_0x1a0f('0x8'));var sox=require(_0x1a0f('0x9'));var csv=require(_0x1a0f('0xa'));var ejs=require(_0x1a0f('0xb'));var fs=require('fs');var _=require(_0x1a0f('0xc'));var squel=require(_0x1a0f('0xd'));var crypto=require(_0x1a0f('0xe'));var jsforce=require(_0x1a0f('0xf'));var deskjs=require(_0x1a0f('0x10'));var toCsv=require(_0x1a0f('0xa'));var querystring=require(_0x1a0f('0x11'));var Papa=require('papaparse');var Redis=require(_0x1a0f('0x12'));var authService=require(_0x1a0f('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x1a0f('0x14'));var hardwareService=require(_0x1a0f('0x15'));var logger=require(_0x1a0f('0x16'))(_0x1a0f('0x17'));var utils=require('../../config/utils');var config=require(_0x1a0f('0x18'));var licenseUtil=require(_0x1a0f('0x19'));var db=require(_0x1a0f('0x1a'))['db'];config['redis']=_[_0x1a0f('0x1b')](config[_0x1a0f('0x1c')],{'host':_0x1a0f('0x1d'),'port':0x18eb});var socket=require(_0x1a0f('0x1e'))(new Redis(config[_0x1a0f('0x1c')]));require(_0x1a0f('0x1f'))[_0x1a0f('0x20')](socket);function respondWithStatusCode(_0x1a6e63,_0x51c423){_0x51c423=_0x51c423||0xcc;return function(_0x5b2705){if(_0x5b2705){return _0x1a6e63[_0x1a0f('0x21')](_0x51c423);}return _0x1a6e63[_0x1a0f('0x22')](_0x51c423)['end']();};}function respondWithResult(_0x23df84,_0x5085ce){_0x5085ce=_0x5085ce||0xc8;return function(_0x35bcbd){if(_0x35bcbd){return _0x23df84[_0x1a0f('0x22')](_0x5085ce)[_0x1a0f('0x23')](_0x35bcbd);}};}function respondWithFilteredResult(_0x356b9a,_0x10db61){return function(_0x5730de){if(_0x5730de){var _0x34c4ec=_0x5730de['count'],_0x1bc4a8=_0x10db61[_0x1a0f('0x24')],_0x53a00a=_0x10db61[_0x1a0f('0x24')]+_0x10db61[_0x1a0f('0x25')],_0x456c05;if(_0x53a00a>=_0x34c4ec){_0x53a00a=_0x34c4ec;_0x456c05=0xc8;}else{_0x456c05=0xce;}_0x356b9a[_0x1a0f('0x22')](_0x456c05);return _0x356b9a[_0x1a0f('0x26')](_0x1a0f('0x27'),_0x1bc4a8+'-'+_0x53a00a+'/'+_0x34c4ec)[_0x1a0f('0x23')](_0x5730de);}return null;};}function patchUpdates(_0x34b6d1){return function(_0x3f2feb){try{jsonpatch[_0x1a0f('0x28')](_0x3f2feb,_0x34b6d1,!![]);}catch(_0x2ed922){return BPromise[_0x1a0f('0x29')](_0x2ed922);}return _0x3f2feb['save']();};}function saveUpdates(_0x24f3b0,_0x156ea0){return function(_0x44b3da){if(_0x44b3da){return _0x44b3da[_0x1a0f('0x2a')](_0x24f3b0)['then'](function(_0x1d7249){return _0x1d7249;});}return null;};}function removeEntity(_0xe1fa88,_0x5eff32){return function(_0x29933f){if(_0x29933f){return _0x29933f[_0x1a0f('0x2b')]()[_0x1a0f('0x2c')](function(){var _0xd41702=_0x29933f[_0x1a0f('0x2d')]({'plain':!![]});var _0x25f430=_0x1a0f('0x2e');return db[_0x1a0f('0x2f')][_0x1a0f('0x2b')]({'where':{'type':_0x25f430,'resourceId':_0xd41702['id']}})['then'](function(){return _0x29933f;});})[_0x1a0f('0x2c')](function(){_0xe1fa88['status'](0xcc)[_0x1a0f('0x30')]();});}};}function handleEntityNotFound(_0x1aa03a,_0x1ae15a){return function(_0x2254c3){if(!_0x2254c3){_0x1aa03a['sendStatus'](0x194);}return _0x2254c3;};}function handleError(_0x2776b3,_0x5a757a){_0x5a757a=_0x5a757a||0x1f4;return function(_0x37c433){logger[_0x1a0f('0x31')](_0x37c433[_0x1a0f('0x32')]);if(_0x37c433['name']){delete _0x37c433[_0x1a0f('0x33')];}_0x2776b3[_0x1a0f('0x22')](_0x5a757a)[_0x1a0f('0x34')](_0x37c433);};}exports[_0x1a0f('0x35')]=function(_0xe5c77d,_0x39e9bb){var _0x2dc839={},_0xfa0562={},_0x4153bf={'count':0x0,'rows':[]};var _0x4798af=_[_0x1a0f('0x36')](db[_0x1a0f('0x37')][_0x1a0f('0x38')],function(_0x28239a){return{'name':_0x28239a[_0x1a0f('0x39')],'type':_0x28239a[_0x1a0f('0x3a')][_0x1a0f('0x3b')]};});_0xfa0562['model']=_[_0x1a0f('0x36')](_0x4798af,_0x1a0f('0x33'));_0xfa0562['query']=_[_0x1a0f('0x3c')](_0xe5c77d['query']);_0xfa0562[_0x1a0f('0x3d')]=_[_0x1a0f('0x3e')](_0xfa0562[_0x1a0f('0x3f')],_0xfa0562[_0x1a0f('0x40')]);_0x2dc839[_0x1a0f('0x41')]=_[_0x1a0f('0x3e')](_0xfa0562[_0x1a0f('0x3f')],qs[_0x1a0f('0x42')](_0xe5c77d[_0x1a0f('0x40')]['fields']));_0x2dc839[_0x1a0f('0x41')]=_0x2dc839[_0x1a0f('0x41')][_0x1a0f('0x43')]?_0x2dc839[_0x1a0f('0x41')]:_0xfa0562['model'];if(!_0xe5c77d[_0x1a0f('0x40')][_0x1a0f('0x44')]('nolimit')){_0x2dc839[_0x1a0f('0x25')]=qs[_0x1a0f('0x25')](_0xe5c77d[_0x1a0f('0x40')][_0x1a0f('0x25')]);_0x2dc839[_0x1a0f('0x24')]=qs[_0x1a0f('0x24')](_0xe5c77d[_0x1a0f('0x40')][_0x1a0f('0x24')]);}_0x2dc839[_0x1a0f('0x45')]=qs['sort'](_0xe5c77d['query'][_0x1a0f('0x46')]);_0x2dc839[_0x1a0f('0x47')]=qs[_0x1a0f('0x3d')](_['pick'](_0xe5c77d[_0x1a0f('0x40')],_0xfa0562['filters']),_0x4798af);if(_0xe5c77d['query']['filter']){_0x2dc839[_0x1a0f('0x47')]=_[_0x1a0f('0x48')](_0x2dc839['where'],{'$or':_[_0x1a0f('0x36')](_0x4798af,function(_0x345dd3){if(_0x345dd3[_0x1a0f('0x3a')]!==_0x1a0f('0x49')){var _0x46c661={};_0x46c661[_0x345dd3[_0x1a0f('0x33')]]={'$like':'%'+_0xe5c77d['query']['filter']+'%'};return _0x46c661;}})});}_0x2dc839=_[_0x1a0f('0x48')]({},_0x2dc839,_0xe5c77d['options']);var _0x3fd664={'where':_0x2dc839[_0x1a0f('0x47')]};return db['SquareProject'][_0x1a0f('0x4a')](_0x3fd664)[_0x1a0f('0x2c')](function(_0x2be1a2){_0x4153bf[_0x1a0f('0x4a')]=_0x2be1a2;if(_0xe5c77d['query'][_0x1a0f('0x4b')]){_0x2dc839[_0x1a0f('0x4c')]=[{'all':!![]}];}return db[_0x1a0f('0x37')][_0x1a0f('0x4d')](_0x2dc839);})['then'](function(_0x19e994){_0x4153bf[_0x1a0f('0x4e')]=_0x19e994;return _0x4153bf;})[_0x1a0f('0x2c')](respondWithFilteredResult(_0x39e9bb,_0x2dc839))['catch'](handleError(_0x39e9bb,null));};exports[_0x1a0f('0x4f')]=function(_0x106bcf,_0x3b772e){var _0xaabdf={'raw':![],'where':{'id':_0x106bcf[_0x1a0f('0x50')]['id']}},_0x4e81f7={};_0x4e81f7[_0x1a0f('0x3f')]=_[_0x1a0f('0x3c')](db['SquareProject'][_0x1a0f('0x38')]);_0x4e81f7[_0x1a0f('0x40')]=_['keys'](_0x106bcf[_0x1a0f('0x40')]);_0x4e81f7[_0x1a0f('0x3d')]=_[_0x1a0f('0x3e')](_0x4e81f7[_0x1a0f('0x3f')],_0x4e81f7[_0x1a0f('0x40')]);_0xaabdf['attributes']=_[_0x1a0f('0x3e')](_0x4e81f7[_0x1a0f('0x3f')],qs[_0x1a0f('0x42')](_0x106bcf[_0x1a0f('0x40')][_0x1a0f('0x42')]));_0xaabdf[_0x1a0f('0x41')]=_0xaabdf[_0x1a0f('0x41')][_0x1a0f('0x43')]?_0xaabdf[_0x1a0f('0x41')]:_0x4e81f7[_0x1a0f('0x3f')];if(_0x106bcf['query']['includeAll']){_0xaabdf[_0x1a0f('0x4c')]=[{'all':!![]}];}_0xaabdf=_[_0x1a0f('0x48')]({},_0xaabdf,_0x106bcf[_0x1a0f('0x51')]);return db['SquareProject']['find'](_0xaabdf)[_0x1a0f('0x2c')](handleEntityNotFound(_0x3b772e,null))[_0x1a0f('0x2c')](respondWithResult(_0x3b772e,null))[_0x1a0f('0x52')](handleError(_0x3b772e,null));};exports[_0x1a0f('0x53')]=function(_0x31508c,_0x53f859){return db[_0x1a0f('0x37')]['create'](_0x31508c[_0x1a0f('0x54')],{})[_0x1a0f('0x2c')](function(_0x50c02b){var _0x15b2a7=_0x31508c[_0x1a0f('0x55')][_0x1a0f('0x2d')]({'plain':!![]});if(!_0x15b2a7)throw new Error(_0x1a0f('0x56'));if(_0x15b2a7[_0x1a0f('0x57')]==='user'){var _0x5ffa44=_0x50c02b['get']({'plain':!![]});var _0x383b5f=_0x1a0f('0x2e');return db[_0x1a0f('0x58')][_0x1a0f('0x59')]({'where':{'name':_0x383b5f,'userProfileId':_0x15b2a7[_0x1a0f('0x5a')]},'raw':!![]})[_0x1a0f('0x2c')](function(_0x5de86f){if(_0x5de86f&&_0x5de86f[_0x1a0f('0x5b')]===0x0){return db['UserProfileResource'][_0x1a0f('0x53')]({'name':_0x5ffa44[_0x1a0f('0x33')],'resourceId':_0x5ffa44['id'],'type':_0x5de86f['name'],'sectionId':_0x5de86f['id']},{})[_0x1a0f('0x2c')](function(){return _0x50c02b;});}else{return _0x50c02b;}})[_0x1a0f('0x52')](function(_0x316bd6){logger[_0x1a0f('0x31')](_0x1a0f('0x5c'),_0x316bd6);throw _0x316bd6;});}return _0x50c02b;})[_0x1a0f('0x2c')](respondWithResult(_0x53f859,0xc9))[_0x1a0f('0x52')](handleError(_0x53f859,null));};exports[_0x1a0f('0x2a')]=function(_0x53fcb5,_0x24dcd9){if(_0x53fcb5[_0x1a0f('0x54')]['id']){delete _0x53fcb5[_0x1a0f('0x54')]['id'];}return db[_0x1a0f('0x37')][_0x1a0f('0x59')]({'where':{'id':_0x53fcb5[_0x1a0f('0x50')]['id']}})[_0x1a0f('0x2c')](handleEntityNotFound(_0x24dcd9,null))['then'](saveUpdates(_0x53fcb5['body'],null))[_0x1a0f('0x2c')](respondWithResult(_0x24dcd9,null))[_0x1a0f('0x52')](handleError(_0x24dcd9,null));};exports[_0x1a0f('0x2b')]=function(_0x298378,_0x5b0efc){return db[_0x1a0f('0x37')][_0x1a0f('0x59')]({'where':{'id':_0x298378['params']['id']}})['then'](handleEntityNotFound(_0x5b0efc,null))[_0x1a0f('0x2c')](removeEntity(_0x5b0efc,null))[_0x1a0f('0x52')](handleError(_0x5b0efc,null));};exports[_0x1a0f('0x5d')]=function(_0x4d4d15,_0x1ea365,_0x3f3f1e){return db[_0x1a0f('0x37')][_0x1a0f('0x59')]({'where':{'id':_0x4d4d15[_0x1a0f('0x50')]['id']}})[_0x1a0f('0x2c')](handleEntityNotFound(_0x1ea365,null))[_0x1a0f('0x2c')](function(_0x565abd){if(_0x565abd){return _0x565abd[_0x1a0f('0x5d')](_0x4d4d15[_0x1a0f('0x54')][_0x1a0f('0x5e')],_[_0x1a0f('0x5f')](_0x4d4d15[_0x1a0f('0x54')],[_0x1a0f('0x5e'),'id'])||{});}})[_0x1a0f('0x2c')](respondWithResult(_0x1ea365,null))[_0x1a0f('0x52')](handleError(_0x1ea365,null));};exports[_0x1a0f('0x60')]=function(_0xd1d0c3,_0x231b57,_0x51cd18){return db['SquareProject'][_0x1a0f('0x59')]({'where':{'id':_0xd1d0c3[_0x1a0f('0x50')]['id']}})[_0x1a0f('0x2c')](handleEntityNotFound(_0x231b57,null))[_0x1a0f('0x2c')](function(_0x6a5bd2){if(_0x6a5bd2){return _0x6a5bd2['removeUsers'](_0xd1d0c3['query'][_0x1a0f('0x5e')])[_0x1a0f('0x2c')](function(){if(_[_0x1a0f('0x61')](_0xd1d0c3['query'][_0x1a0f('0x5e')])){for(var _0x4a4878=0x0;_0x4a4878<_0xd1d0c3['query'][_0x1a0f('0x5e')][_0x1a0f('0x43')];_0x4a4878+=0x1){socket[_0x1a0f('0x62')](_0x1a0f('0x63'),{'UserId':Number(_0xd1d0c3['query'][_0x1a0f('0x5e')][_0x4a4878]),'SquareProjectId':Number(_0xd1d0c3[_0x1a0f('0x50')]['id'])});}}else{socket[_0x1a0f('0x62')](_0x1a0f('0x63'),{'UserId':Number(_0xd1d0c3['query'][_0x1a0f('0x5e')]),'SquareProjectId':Number(_0xd1d0c3[_0x1a0f('0x50')]['id'])});}});}})['then'](respondWithStatusCode(_0x231b57,null))[_0x1a0f('0x52')](handleError(_0x231b57,null));};exports[_0x1a0f('0x64')]=function(_0x2c8f3c,_0x18512d,_0x1855ca){var _0x3056ba={};var _0x1e0a43={};var _0x369d3e;var _0x321772;return db[_0x1a0f('0x37')][_0x1a0f('0x65')]({'where':{'id':_0x2c8f3c[_0x1a0f('0x50')]['id']}})[_0x1a0f('0x2c')](handleEntityNotFound(_0x18512d,null))[_0x1a0f('0x2c')](function(_0x2d116b){if(_0x2d116b){_0x369d3e=_0x2d116b;_0x1e0a43[_0x1a0f('0x3f')]=_[_0x1a0f('0x3c')](db[_0x1a0f('0x66')][_0x1a0f('0x38')]);_0x1e0a43[_0x1a0f('0x40')]=_['keys'](_0x2c8f3c[_0x1a0f('0x40')]);_0x1e0a43['filters']=_[_0x1a0f('0x3e')](_0x1e0a43['model'],_0x1e0a43[_0x1a0f('0x40')]);_0x3056ba[_0x1a0f('0x41')]=_['intersection'](_0x1e0a43[_0x1a0f('0x3f')],qs[_0x1a0f('0x42')](_0x2c8f3c[_0x1a0f('0x40')][_0x1a0f('0x42')]));_0x3056ba[_0x1a0f('0x41')]=_0x3056ba[_0x1a0f('0x41')][_0x1a0f('0x43')]?_0x3056ba[_0x1a0f('0x41')]:_0x1e0a43[_0x1a0f('0x3f')];_0x3056ba[_0x1a0f('0x45')]=qs[_0x1a0f('0x46')](_0x2c8f3c[_0x1a0f('0x40')][_0x1a0f('0x46')]);_0x3056ba['where']=qs['filters'](_['pick'](_0x2c8f3c[_0x1a0f('0x40')],_0x1e0a43[_0x1a0f('0x3d')]));if(_0x2c8f3c[_0x1a0f('0x40')][_0x1a0f('0x67')]){_0x3056ba[_0x1a0f('0x47')]=_['merge'](_0x3056ba[_0x1a0f('0x47')],{'$or':_[_0x1a0f('0x36')](_0x3056ba['attributes'],function(_0x59a33e){var _0x31761b={};_0x31761b[_0x59a33e]={'$like':'%'+_0x2c8f3c[_0x1a0f('0x40')][_0x1a0f('0x67')]+'%'};return _0x31761b;})});}_0x3056ba=_[_0x1a0f('0x48')]({},_0x3056ba,_0x2c8f3c[_0x1a0f('0x51')]);return _0x369d3e[_0x1a0f('0x64')](_0x3056ba);}})['then'](function(_0x100e29){if(_0x100e29){_0x321772=_0x100e29[_0x1a0f('0x43')];if(!_0x2c8f3c[_0x1a0f('0x40')][_0x1a0f('0x44')](_0x1a0f('0x68'))){_0x3056ba[_0x1a0f('0x25')]=qs[_0x1a0f('0x25')](_0x2c8f3c[_0x1a0f('0x40')][_0x1a0f('0x25')]);_0x3056ba[_0x1a0f('0x24')]=qs[_0x1a0f('0x24')](_0x2c8f3c['query'][_0x1a0f('0x24')]);}return _0x369d3e['getUsers'](_0x3056ba);}})['then'](function(_0x3eb613){if(_0x3eb613){return _0x3eb613?{'count':_0x321772,'rows':_0x3eb613}:null;}})[_0x1a0f('0x2c')](respondWithResult(_0x18512d,null))[_0x1a0f('0x52')](handleError(_0x18512d,null));};