Built motion from commit f7863d46.|2.5.41
[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 _0x3cf8=['../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./squareProject.socket','register','status','json','undefined','count','offset','reject','update','then','UserProfileResource','destroy','end','name','map','rawAttributes','fieldName','type','key','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','VIRTUAL','merge','options','SquareProject','includeAll','include','findAll','rows','catch','show','params','keys','find','create','get','user','SquareProjects','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','addUsers','ids','omit','removeUsers','isArray','emit','userSquareProject:remove','getUsers','findOne','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment'];(function(_0x21c38d,_0xec05ef){var _0x5d4705=function(_0x2f0b18){while(--_0x2f0b18){_0x21c38d['push'](_0x21c38d['shift']());}};_0x5d4705(++_0xec05ef);}(_0x3cf8,0x107));var _0x83cf=function(_0x507844,_0x2b1f38){_0x507844=_0x507844-0x0;var _0x51e6fe=_0x3cf8[_0x507844];return _0x51e6fe;};'use strict';var emlformat=require(_0x83cf('0x0'));var rimraf=require(_0x83cf('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x83cf('0x2'));var rp=require(_0x83cf('0x3'));var moment=require(_0x83cf('0x4'));var BPromise=require(_0x83cf('0x5'));var Mustache=require(_0x83cf('0x6'));var util=require(_0x83cf('0x7'));var path=require(_0x83cf('0x8'));var sox=require('sox');var csv=require(_0x83cf('0x9'));var ejs=require(_0x83cf('0xa'));var fs=require('fs');var fs_extra=require(_0x83cf('0xb'));var _=require(_0x83cf('0xc'));var squel=require(_0x83cf('0xd'));var crypto=require(_0x83cf('0xe'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x83cf('0x9'));var querystring=require(_0x83cf('0xf'));var Papa=require(_0x83cf('0x10'));var Redis=require(_0x83cf('0x11'));var authService=require(_0x83cf('0x12'));var qs=require(_0x83cf('0x13'));var as=require(_0x83cf('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x83cf('0x15'))(_0x83cf('0x16'));var utils=require(_0x83cf('0x17'));var config=require(_0x83cf('0x18'));var licenseUtil=require(_0x83cf('0x19'));var db=require(_0x83cf('0x1a'))['db'];config[_0x83cf('0x1b')]=_['defaults'](config['redis'],{'host':_0x83cf('0x1c'),'port':0x18eb});var socket=require(_0x83cf('0x1d'))(new Redis(config[_0x83cf('0x1b')]));require(_0x83cf('0x1e'))[_0x83cf('0x1f')](socket);function respondWithStatusCode(_0x1351fa,_0x56a455){_0x56a455=_0x56a455||0xcc;return function(_0x187e3a){if(_0x187e3a){return _0x1351fa['sendStatus'](_0x56a455);}return _0x1351fa['status'](_0x56a455)['end']();};}function respondWithResult(_0x335ebc,_0x2f580c){_0x2f580c=_0x2f580c||0xc8;return function(_0x9513cd){if(_0x9513cd){return _0x335ebc[_0x83cf('0x20')](_0x2f580c)[_0x83cf('0x21')](_0x9513cd);}};}function respondWithFilteredResult(_0x5000de,_0x2c4abe){return function(_0x2ca083){if(_0x2ca083){var _0x3ead09=typeof _0x2c4abe['offset']==='undefined'&&typeof _0x2c4abe['limit']===_0x83cf('0x22');var _0x5b741c=_0x2ca083[_0x83cf('0x23')];var _0x35c07b=_0x3ead09?0x0:_0x2c4abe[_0x83cf('0x24')];var _0x5d7d14=_0x3ead09?_0x2ca083['count']:_0x2c4abe[_0x83cf('0x24')]+_0x2c4abe['limit'];var _0x4df176;if(_0x5d7d14>=_0x5b741c){_0x5d7d14=_0x5b741c;_0x4df176=0xc8;}else{_0x4df176=0xce;}_0x5000de['status'](_0x4df176);return _0x5000de['set']('Content-Range',_0x35c07b+'-'+_0x5d7d14+'/'+_0x5b741c)[_0x83cf('0x21')](_0x2ca083);}return null;};}function patchUpdates(_0x37e48e){return function(_0x388788){try{jsonpatch['apply'](_0x388788,_0x37e48e,!![]);}catch(_0x254cfa){return BPromise[_0x83cf('0x25')](_0x254cfa);}return _0x388788['save']();};}function saveUpdates(_0x175b5a,_0xd4738e){return function(_0x5296a9){if(_0x5296a9){return _0x5296a9[_0x83cf('0x26')](_0x175b5a)[_0x83cf('0x27')](function(_0x4e3140){return _0x4e3140;});}return null;};}function removeEntity(_0x535337,_0x11ab9b){return function(_0x5c54e8){if(_0x5c54e8){return _0x5c54e8['destroy']()[_0x83cf('0x27')](function(){var _0x5dd14a=_0x5c54e8['get']({'plain':!![]});var _0x47c6c3='SquareProjects';return db[_0x83cf('0x28')][_0x83cf('0x29')]({'where':{'type':_0x47c6c3,'resourceId':_0x5dd14a['id']}})[_0x83cf('0x27')](function(){return _0x5c54e8;});})[_0x83cf('0x27')](function(){_0x535337[_0x83cf('0x20')](0xcc)[_0x83cf('0x2a')]();});}};}function handleEntityNotFound(_0x442f4e,_0x2eb945){return function(_0x2f08e4){if(!_0x2f08e4){_0x442f4e['sendStatus'](0x194);}return _0x2f08e4;};}function handleError(_0x169b74,_0x1f94e4){_0x1f94e4=_0x1f94e4||0x1f4;return function(_0x498e55){logger['error'](_0x498e55['stack']);if(_0x498e55[_0x83cf('0x2b')]){delete _0x498e55[_0x83cf('0x2b')];}_0x169b74[_0x83cf('0x20')](_0x1f94e4)['send'](_0x498e55);};}exports['index']=function(_0x2ffbbf,_0x4b63db){var _0x427ec6={},_0x523b34={},_0x363a1d={'count':0x0,'rows':[]};var _0x30c5af=_[_0x83cf('0x2c')](db['SquareProject'][_0x83cf('0x2d')],function(_0x3393ae){return{'name':_0x3393ae[_0x83cf('0x2e')],'type':_0x3393ae[_0x83cf('0x2f')][_0x83cf('0x30')]};});_0x523b34[_0x83cf('0x31')]=_[_0x83cf('0x2c')](_0x30c5af,_0x83cf('0x2b'));_0x523b34['query']=_['keys'](_0x2ffbbf[_0x83cf('0x32')]);_0x523b34[_0x83cf('0x33')]=_['intersection'](_0x523b34[_0x83cf('0x31')],_0x523b34[_0x83cf('0x32')]);_0x427ec6[_0x83cf('0x34')]=_[_0x83cf('0x35')](_0x523b34[_0x83cf('0x31')],qs[_0x83cf('0x36')](_0x2ffbbf[_0x83cf('0x32')][_0x83cf('0x36')]));_0x427ec6[_0x83cf('0x34')]=_0x427ec6[_0x83cf('0x34')][_0x83cf('0x37')]?_0x427ec6[_0x83cf('0x34')]:_0x523b34['model'];if(!_0x2ffbbf[_0x83cf('0x32')][_0x83cf('0x38')](_0x83cf('0x39'))){_0x427ec6[_0x83cf('0x3a')]=qs['limit'](_0x2ffbbf[_0x83cf('0x32')][_0x83cf('0x3a')]);_0x427ec6[_0x83cf('0x24')]=qs[_0x83cf('0x24')](_0x2ffbbf['query'][_0x83cf('0x24')]);}_0x427ec6[_0x83cf('0x3b')]=qs[_0x83cf('0x3c')](_0x2ffbbf['query'][_0x83cf('0x3c')]);_0x427ec6['where']=qs[_0x83cf('0x33')](_[_0x83cf('0x3d')](_0x2ffbbf[_0x83cf('0x32')],_0x523b34[_0x83cf('0x33')]),_0x30c5af);if(_0x2ffbbf[_0x83cf('0x32')][_0x83cf('0x3e')]){_0x427ec6[_0x83cf('0x3f')]=_['merge'](_0x427ec6['where'],{'$or':_[_0x83cf('0x2c')](_0x30c5af,function(_0x5fe2de){if(_0x5fe2de[_0x83cf('0x2f')]!==_0x83cf('0x40')){var _0x35648f={};_0x35648f[_0x5fe2de[_0x83cf('0x2b')]]={'$like':'%'+_0x2ffbbf[_0x83cf('0x32')][_0x83cf('0x3e')]+'%'};return _0x35648f;}})});}_0x427ec6=_[_0x83cf('0x41')]({},_0x427ec6,_0x2ffbbf[_0x83cf('0x42')]);var _0x5ee86f={'where':_0x427ec6[_0x83cf('0x3f')]};return db[_0x83cf('0x43')][_0x83cf('0x23')](_0x5ee86f)[_0x83cf('0x27')](function(_0x1ddfd){_0x363a1d[_0x83cf('0x23')]=_0x1ddfd;if(_0x2ffbbf[_0x83cf('0x32')][_0x83cf('0x44')]){_0x427ec6[_0x83cf('0x45')]=[{'all':!![]}];}return db[_0x83cf('0x43')][_0x83cf('0x46')](_0x427ec6);})[_0x83cf('0x27')](function(_0x31f352){_0x363a1d[_0x83cf('0x47')]=_0x31f352;return _0x363a1d;})[_0x83cf('0x27')](respondWithFilteredResult(_0x4b63db,_0x427ec6))[_0x83cf('0x48')](handleError(_0x4b63db,null));};exports[_0x83cf('0x49')]=function(_0x398fcd,_0xd6cb4e){var _0x213027={'raw':![],'where':{'id':_0x398fcd[_0x83cf('0x4a')]['id']}},_0x1c73be={};_0x1c73be['model']=_[_0x83cf('0x4b')](db['SquareProject']['rawAttributes']);_0x1c73be[_0x83cf('0x32')]=_[_0x83cf('0x4b')](_0x398fcd[_0x83cf('0x32')]);_0x1c73be[_0x83cf('0x33')]=_['intersection'](_0x1c73be['model'],_0x1c73be[_0x83cf('0x32')]);_0x213027['attributes']=_[_0x83cf('0x35')](_0x1c73be[_0x83cf('0x31')],qs['fields'](_0x398fcd[_0x83cf('0x32')][_0x83cf('0x36')]));_0x213027[_0x83cf('0x34')]=_0x213027[_0x83cf('0x34')][_0x83cf('0x37')]?_0x213027['attributes']:_0x1c73be[_0x83cf('0x31')];if(_0x398fcd['query'][_0x83cf('0x44')]){_0x213027[_0x83cf('0x45')]=[{'all':!![]}];}_0x213027=_[_0x83cf('0x41')]({},_0x213027,_0x398fcd[_0x83cf('0x42')]);return db[_0x83cf('0x43')][_0x83cf('0x4c')](_0x213027)['then'](handleEntityNotFound(_0xd6cb4e,null))[_0x83cf('0x27')](respondWithResult(_0xd6cb4e,null))['catch'](handleError(_0xd6cb4e,null));};exports['create']=function(_0x498637,_0x2026a0){return db[_0x83cf('0x43')][_0x83cf('0x4d')](_0x498637['body'],{})[_0x83cf('0x27')](function(_0xacf44){var _0x5107c6=_0x498637['user'][_0x83cf('0x4e')]({'plain':!![]});if(!_0x5107c6)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5107c6['role']===_0x83cf('0x4f')){var _0x3c239e=_0xacf44[_0x83cf('0x4e')]({'plain':!![]});var _0xd2033e=_0x83cf('0x50');return db[_0x83cf('0x51')][_0x83cf('0x4c')]({'where':{'name':_0xd2033e,'userProfileId':_0x5107c6[_0x83cf('0x52')]},'raw':!![]})[_0x83cf('0x27')](function(_0x24a7d5){if(_0x24a7d5&&_0x24a7d5[_0x83cf('0x53')]===0x0){return db[_0x83cf('0x28')][_0x83cf('0x4d')]({'name':_0x3c239e['name'],'resourceId':_0x3c239e['id'],'type':_0x24a7d5['name'],'sectionId':_0x24a7d5['id']},{})[_0x83cf('0x27')](function(){return _0xacf44;});}else{return _0xacf44;}})[_0x83cf('0x48')](function(_0xbd0ae){logger[_0x83cf('0x54')](_0x83cf('0x55'),_0xbd0ae);throw _0xbd0ae;});}return _0xacf44;})[_0x83cf('0x27')](respondWithResult(_0x2026a0,0xc9))['catch'](handleError(_0x2026a0,null));};exports['update']=function(_0x32b599,_0x37b8b0){if(_0x32b599[_0x83cf('0x56')]['id']){delete _0x32b599[_0x83cf('0x56')]['id'];}return db[_0x83cf('0x43')][_0x83cf('0x4c')]({'where':{'id':_0x32b599['params']['id']}})['then'](handleEntityNotFound(_0x37b8b0,null))[_0x83cf('0x27')](saveUpdates(_0x32b599[_0x83cf('0x56')],null))[_0x83cf('0x27')](respondWithResult(_0x37b8b0,null))['catch'](handleError(_0x37b8b0,null));};exports['destroy']=function(_0x1c9c4d,_0x533022){return db[_0x83cf('0x43')][_0x83cf('0x4c')]({'where':{'id':_0x1c9c4d['params']['id']}})[_0x83cf('0x27')](handleEntityNotFound(_0x533022,null))[_0x83cf('0x27')](removeEntity(_0x533022,null))[_0x83cf('0x48')](handleError(_0x533022,null));};exports[_0x83cf('0x57')]=function(_0x18b660,_0x5ec117,_0x4ab33a){return db[_0x83cf('0x43')]['find']({'where':{'id':_0x18b660[_0x83cf('0x4a')]['id']}})[_0x83cf('0x27')](handleEntityNotFound(_0x5ec117,null))[_0x83cf('0x27')](function(_0x2ad2c3){if(_0x2ad2c3){return _0x2ad2c3['addUsers'](_0x18b660[_0x83cf('0x56')][_0x83cf('0x58')],_[_0x83cf('0x59')](_0x18b660['body'],[_0x83cf('0x58'),'id'])||{});}})[_0x83cf('0x27')](respondWithResult(_0x5ec117,null))[_0x83cf('0x48')](handleError(_0x5ec117,null));};exports[_0x83cf('0x5a')]=function(_0x50bdbe,_0x1a01f7,_0x87a558){return db['SquareProject'][_0x83cf('0x4c')]({'where':{'id':_0x50bdbe[_0x83cf('0x4a')]['id']}})[_0x83cf('0x27')](handleEntityNotFound(_0x1a01f7,null))[_0x83cf('0x27')](function(_0x428032){if(_0x428032){return _0x428032[_0x83cf('0x5a')](_0x50bdbe[_0x83cf('0x32')][_0x83cf('0x58')])[_0x83cf('0x27')](function(){if(_[_0x83cf('0x5b')](_0x50bdbe['query']['ids'])){for(var _0x35c295=0x0;_0x35c295<_0x50bdbe[_0x83cf('0x32')][_0x83cf('0x58')][_0x83cf('0x37')];_0x35c295+=0x1){socket[_0x83cf('0x5c')]('userSquareProject:remove',{'UserId':Number(_0x50bdbe[_0x83cf('0x32')]['ids'][_0x35c295]),'SquareProjectId':Number(_0x50bdbe['params']['id'])});}}else{socket['emit'](_0x83cf('0x5d'),{'UserId':Number(_0x50bdbe[_0x83cf('0x32')][_0x83cf('0x58')]),'SquareProjectId':Number(_0x50bdbe['params']['id'])});}});}})[_0x83cf('0x27')](respondWithStatusCode(_0x1a01f7,null))[_0x83cf('0x48')](handleError(_0x1a01f7,null));};exports[_0x83cf('0x5e')]=function(_0x4351a6,_0x29dee2,_0x22950f){var _0x1ad12a={};var _0x31609f={};var _0x5809b9;var _0x5ac036;return db[_0x83cf('0x43')][_0x83cf('0x5f')]({'where':{'id':_0x4351a6[_0x83cf('0x4a')]['id']}})[_0x83cf('0x27')](handleEntityNotFound(_0x29dee2,null))[_0x83cf('0x27')](function(_0x1140fb){if(_0x1140fb){_0x5809b9=_0x1140fb;_0x31609f[_0x83cf('0x31')]=_[_0x83cf('0x4b')](db['User'][_0x83cf('0x2d')]);_0x31609f['query']=_[_0x83cf('0x4b')](_0x4351a6[_0x83cf('0x32')]);_0x31609f['filters']=_['intersection'](_0x31609f['model'],_0x31609f[_0x83cf('0x32')]);_0x1ad12a['attributes']=_[_0x83cf('0x35')](_0x31609f['model'],qs[_0x83cf('0x36')](_0x4351a6[_0x83cf('0x32')]['fields']));_0x1ad12a[_0x83cf('0x34')]=_0x1ad12a['attributes'][_0x83cf('0x37')]?_0x1ad12a[_0x83cf('0x34')]:_0x31609f[_0x83cf('0x31')];_0x1ad12a[_0x83cf('0x3b')]=qs['sort'](_0x4351a6[_0x83cf('0x32')][_0x83cf('0x3c')]);_0x1ad12a[_0x83cf('0x3f')]=qs[_0x83cf('0x33')](_[_0x83cf('0x3d')](_0x4351a6[_0x83cf('0x32')],_0x31609f['filters']));if(_0x4351a6['query'][_0x83cf('0x3e')]){_0x1ad12a[_0x83cf('0x3f')]=_[_0x83cf('0x41')](_0x1ad12a[_0x83cf('0x3f')],{'$or':_[_0x83cf('0x2c')](_0x1ad12a[_0x83cf('0x34')],function(_0xad4f8d){var _0x1c7af4={};_0x1c7af4[_0xad4f8d]={'$like':'%'+_0x4351a6['query'][_0x83cf('0x3e')]+'%'};return _0x1c7af4;})});}_0x1ad12a=_[_0x83cf('0x41')]({},_0x1ad12a,_0x4351a6[_0x83cf('0x42')]);return _0x5809b9['getUsers'](_0x1ad12a);}})['then'](function(_0x3ca808){if(_0x3ca808){_0x5ac036=_0x3ca808['length'];if(!_0x4351a6[_0x83cf('0x32')][_0x83cf('0x38')](_0x83cf('0x39'))){_0x1ad12a['limit']=qs[_0x83cf('0x3a')](_0x4351a6[_0x83cf('0x32')][_0x83cf('0x3a')]);_0x1ad12a[_0x83cf('0x24')]=qs[_0x83cf('0x24')](_0x4351a6['query']['offset']);}return _0x5809b9[_0x83cf('0x5e')](_0x1ad12a);}})[_0x83cf('0x27')](function(_0x2378f7){if(_0x2378f7){return _0x2378f7?{'count':_0x5ac036,'rows':_0x2378f7}:null;}})[_0x83cf('0x27')](respondWithResult(_0x29dee2,null))[_0x83cf('0x48')](handleError(_0x29dee2,null));};