Built motion from commit (unavailable).|2.5.24
[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 _0x7015=['apply','reject','update','then','destroy','SquareProjects','end','error','stack','name','send','index','map','SquareProject','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','catch','show','keys','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','params','addUsers','omit','removeUsers','ids','isArray','emit','userSquareProject:remove','getUsers','findOne','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./squareProject.socket','register','sendStatus','status','json','count','offset','set','Content-Range'];(function(_0x2fbd0d,_0x48339d){var _0x2de520=function(_0x564615){while(--_0x564615){_0x2fbd0d['push'](_0x2fbd0d['shift']());}};_0x2de520(++_0x48339d);}(_0x7015,0xa3));var _0x5701=function(_0x59cc3d,_0x16a5fb){_0x59cc3d=_0x59cc3d-0x0;var _0x2949a8=_0x7015[_0x59cc3d];return _0x2949a8;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x5701('0x0'));var rimraf=require(_0x5701('0x1'));var zipdir=require(_0x5701('0x2'));var jsonpatch=require(_0x5701('0x3'));var rp=require(_0x5701('0x4'));var moment=require('moment');var BPromise=require(_0x5701('0x5'));var Mustache=require(_0x5701('0x6'));var util=require(_0x5701('0x7'));var path=require('path');var sox=require(_0x5701('0x8'));var csv=require(_0x5701('0x9'));var ejs=require(_0x5701('0xa'));var fs=require('fs');var _=require(_0x5701('0xb'));var squel=require(_0x5701('0xc'));var crypto=require(_0x5701('0xd'));var jsforce=require(_0x5701('0xe'));var deskjs=require(_0x5701('0xf'));var toCsv=require(_0x5701('0x9'));var querystring=require(_0x5701('0x10'));var Papa=require(_0x5701('0x11'));var Redis=require('ioredis');var authService=require(_0x5701('0x12'));var qs=require(_0x5701('0x13'));var as=require(_0x5701('0x14'));var hardwareService=require(_0x5701('0x15'));var logger=require(_0x5701('0x16'))('api');var utils=require('../../config/utils');var config=require(_0x5701('0x17'));var licenseUtil=require(_0x5701('0x18'));var db=require(_0x5701('0x19'))['db'];config[_0x5701('0x1a')]=_[_0x5701('0x1b')](config[_0x5701('0x1a')],{'host':_0x5701('0x1c'),'port':0x18eb});var socket=require(_0x5701('0x1d'))(new Redis(config[_0x5701('0x1a')]));require(_0x5701('0x1e'))[_0x5701('0x1f')](socket);function respondWithStatusCode(_0x722dd4,_0x154094){_0x154094=_0x154094||0xcc;return function(_0x14ecd7){if(_0x14ecd7){return _0x722dd4[_0x5701('0x20')](_0x154094);}return _0x722dd4['status'](_0x154094)['end']();};}function respondWithResult(_0x1ed9df,_0x2fc867){_0x2fc867=_0x2fc867||0xc8;return function(_0x32b470){if(_0x32b470){return _0x1ed9df[_0x5701('0x21')](_0x2fc867)[_0x5701('0x22')](_0x32b470);}};}function respondWithFilteredResult(_0x4bfaf3,_0x386c9c){return function(_0x3f8a62){if(_0x3f8a62){var _0x41bd73=_0x3f8a62[_0x5701('0x23')],_0x1f1616=_0x386c9c[_0x5701('0x24')],_0x43c7a0=_0x386c9c['offset']+_0x386c9c['limit'],_0x181867;if(_0x43c7a0>=_0x41bd73){_0x43c7a0=_0x41bd73;_0x181867=0xc8;}else{_0x181867=0xce;}_0x4bfaf3['status'](_0x181867);return _0x4bfaf3[_0x5701('0x25')](_0x5701('0x26'),_0x1f1616+'-'+_0x43c7a0+'/'+_0x41bd73)['json'](_0x3f8a62);}return null;};}function patchUpdates(_0x1d7b4c){return function(_0x50f40c){try{jsonpatch[_0x5701('0x27')](_0x50f40c,_0x1d7b4c,!![]);}catch(_0x45cdc4){return BPromise[_0x5701('0x28')](_0x45cdc4);}return _0x50f40c['save']();};}function saveUpdates(_0x99b50e,_0x2ee851){return function(_0x379f9a){if(_0x379f9a){return _0x379f9a[_0x5701('0x29')](_0x99b50e)[_0x5701('0x2a')](function(_0x11fd5e){return _0x11fd5e;});}return null;};}function removeEntity(_0x53f73e,_0x1173d7){return function(_0x2f2261){if(_0x2f2261){return _0x2f2261[_0x5701('0x2b')]()['then'](function(){var _0x27b814=_0x2f2261['get']({'plain':!![]});var _0x5f0b9a=_0x5701('0x2c');return db['UserProfileResource'][_0x5701('0x2b')]({'where':{'type':_0x5f0b9a,'resourceId':_0x27b814['id']}})['then'](function(){return _0x2f2261;});})[_0x5701('0x2a')](function(){_0x53f73e[_0x5701('0x21')](0xcc)[_0x5701('0x2d')]();});}};}function handleEntityNotFound(_0x55c118,_0x76e5f9){return function(_0x3276a8){if(!_0x3276a8){_0x55c118[_0x5701('0x20')](0x194);}return _0x3276a8;};}function handleError(_0x27513b,_0x387d2d){_0x387d2d=_0x387d2d||0x1f4;return function(_0xeae485){logger[_0x5701('0x2e')](_0xeae485[_0x5701('0x2f')]);if(_0xeae485[_0x5701('0x30')]){delete _0xeae485['name'];}_0x27513b['status'](_0x387d2d)[_0x5701('0x31')](_0xeae485);};}exports[_0x5701('0x32')]=function(_0x4bd5d3,_0x59a244){var _0x2b904d={},_0x3cdf51={},_0x525f73={'count':0x0,'rows':[]};var _0x18400b=_[_0x5701('0x33')](db[_0x5701('0x34')][_0x5701('0x35')],function(_0x58c63e){return{'name':_0x58c63e[_0x5701('0x36')],'type':_0x58c63e[_0x5701('0x37')][_0x5701('0x38')]};});_0x3cdf51[_0x5701('0x39')]=_['map'](_0x18400b,_0x5701('0x30'));_0x3cdf51[_0x5701('0x3a')]=_['keys'](_0x4bd5d3['query']);_0x3cdf51[_0x5701('0x3b')]=_[_0x5701('0x3c')](_0x3cdf51[_0x5701('0x39')],_0x3cdf51['query']);_0x2b904d[_0x5701('0x3d')]=_[_0x5701('0x3c')](_0x3cdf51[_0x5701('0x39')],qs[_0x5701('0x3e')](_0x4bd5d3[_0x5701('0x3a')][_0x5701('0x3e')]));_0x2b904d[_0x5701('0x3d')]=_0x2b904d['attributes'][_0x5701('0x3f')]?_0x2b904d[_0x5701('0x3d')]:_0x3cdf51[_0x5701('0x39')];if(!_0x4bd5d3[_0x5701('0x3a')][_0x5701('0x40')](_0x5701('0x41'))){_0x2b904d[_0x5701('0x42')]=qs['limit'](_0x4bd5d3[_0x5701('0x3a')][_0x5701('0x42')]);_0x2b904d[_0x5701('0x24')]=qs[_0x5701('0x24')](_0x4bd5d3['query'][_0x5701('0x24')]);}_0x2b904d[_0x5701('0x43')]=qs[_0x5701('0x44')](_0x4bd5d3[_0x5701('0x3a')]['sort']);_0x2b904d[_0x5701('0x45')]=qs[_0x5701('0x3b')](_[_0x5701('0x46')](_0x4bd5d3[_0x5701('0x3a')],_0x3cdf51['filters']),_0x18400b);if(_0x4bd5d3[_0x5701('0x3a')][_0x5701('0x47')]){_0x2b904d[_0x5701('0x45')]=_[_0x5701('0x48')](_0x2b904d[_0x5701('0x45')],{'$or':_[_0x5701('0x33')](_0x18400b,function(_0x393fc5){if(_0x393fc5[_0x5701('0x37')]!=='VIRTUAL'){var _0x1cde26={};_0x1cde26[_0x393fc5['name']]={'$like':'%'+_0x4bd5d3[_0x5701('0x3a')][_0x5701('0x47')]+'%'};return _0x1cde26;}})});}_0x2b904d=_[_0x5701('0x48')]({},_0x2b904d,_0x4bd5d3[_0x5701('0x49')]);var _0xe90c67={'where':_0x2b904d[_0x5701('0x45')]};return db[_0x5701('0x34')][_0x5701('0x23')](_0xe90c67)[_0x5701('0x2a')](function(_0x430969){_0x525f73['count']=_0x430969;if(_0x4bd5d3[_0x5701('0x3a')][_0x5701('0x4a')]){_0x2b904d[_0x5701('0x4b')]=[{'all':!![]}];}return db[_0x5701('0x34')][_0x5701('0x4c')](_0x2b904d);})[_0x5701('0x2a')](function(_0x10808e){_0x525f73['rows']=_0x10808e;return _0x525f73;})[_0x5701('0x2a')](respondWithFilteredResult(_0x59a244,_0x2b904d))[_0x5701('0x4d')](handleError(_0x59a244,null));};exports[_0x5701('0x4e')]=function(_0x2417cd,_0x11d4c7){var _0x5ad4ee={'raw':![],'where':{'id':_0x2417cd['params']['id']}},_0x491a26={};_0x491a26[_0x5701('0x39')]=_[_0x5701('0x4f')](db[_0x5701('0x34')]['rawAttributes']);_0x491a26['query']=_[_0x5701('0x4f')](_0x2417cd[_0x5701('0x3a')]);_0x491a26[_0x5701('0x3b')]=_[_0x5701('0x3c')](_0x491a26[_0x5701('0x39')],_0x491a26[_0x5701('0x3a')]);_0x5ad4ee[_0x5701('0x3d')]=_[_0x5701('0x3c')](_0x491a26['model'],qs[_0x5701('0x3e')](_0x2417cd['query'][_0x5701('0x3e')]));_0x5ad4ee['attributes']=_0x5ad4ee['attributes'][_0x5701('0x3f')]?_0x5ad4ee[_0x5701('0x3d')]:_0x491a26['model'];if(_0x2417cd[_0x5701('0x3a')]['includeAll']){_0x5ad4ee['include']=[{'all':!![]}];}_0x5ad4ee=_[_0x5701('0x48')]({},_0x5ad4ee,_0x2417cd[_0x5701('0x49')]);return db['SquareProject'][_0x5701('0x50')](_0x5ad4ee)[_0x5701('0x2a')](handleEntityNotFound(_0x11d4c7,null))[_0x5701('0x2a')](respondWithResult(_0x11d4c7,null))[_0x5701('0x4d')](handleError(_0x11d4c7,null));};exports[_0x5701('0x51')]=function(_0x11bcdc,_0x1ce35b){return db[_0x5701('0x34')]['create'](_0x11bcdc[_0x5701('0x52')],{})[_0x5701('0x2a')](function(_0x3c19ea){var _0x1c4173=_0x11bcdc['user'][_0x5701('0x53')]({'plain':!![]});if(!_0x1c4173)throw new Error(_0x5701('0x54'));if(_0x1c4173[_0x5701('0x55')]===_0x5701('0x56')){var _0x58f4fe=_0x3c19ea['get']({'plain':!![]});var _0x490546='SquareProjects';return db[_0x5701('0x57')][_0x5701('0x50')]({'where':{'name':_0x490546,'userProfileId':_0x1c4173[_0x5701('0x58')]},'raw':!![]})['then'](function(_0x3fff4d){if(_0x3fff4d&&_0x3fff4d[_0x5701('0x59')]===0x0){return db[_0x5701('0x5a')][_0x5701('0x51')]({'name':_0x58f4fe['name'],'resourceId':_0x58f4fe['id'],'type':_0x3fff4d[_0x5701('0x30')],'sectionId':_0x3fff4d['id']},{})[_0x5701('0x2a')](function(){return _0x3c19ea;});}else{return _0x3c19ea;}})[_0x5701('0x4d')](function(_0x528be8){logger[_0x5701('0x2e')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x528be8);throw _0x528be8;});}return _0x3c19ea;})[_0x5701('0x2a')](respondWithResult(_0x1ce35b,0xc9))[_0x5701('0x4d')](handleError(_0x1ce35b,null));};exports[_0x5701('0x29')]=function(_0x1575df,_0x577e8a){if(_0x1575df[_0x5701('0x52')]['id']){delete _0x1575df[_0x5701('0x52')]['id'];}return db['SquareProject'][_0x5701('0x50')]({'where':{'id':_0x1575df[_0x5701('0x5b')]['id']}})[_0x5701('0x2a')](handleEntityNotFound(_0x577e8a,null))[_0x5701('0x2a')](saveUpdates(_0x1575df[_0x5701('0x52')],null))['then'](respondWithResult(_0x577e8a,null))[_0x5701('0x4d')](handleError(_0x577e8a,null));};exports[_0x5701('0x2b')]=function(_0x381afe,_0x5dabd9){return db[_0x5701('0x34')][_0x5701('0x50')]({'where':{'id':_0x381afe[_0x5701('0x5b')]['id']}})[_0x5701('0x2a')](handleEntityNotFound(_0x5dabd9,null))[_0x5701('0x2a')](removeEntity(_0x5dabd9,null))['catch'](handleError(_0x5dabd9,null));};exports[_0x5701('0x5c')]=function(_0x50853e,_0x124b91,_0x5bdf64){return db[_0x5701('0x34')][_0x5701('0x50')]({'where':{'id':_0x50853e[_0x5701('0x5b')]['id']}})[_0x5701('0x2a')](handleEntityNotFound(_0x124b91,null))[_0x5701('0x2a')](function(_0x1eb5bf){if(_0x1eb5bf){return _0x1eb5bf['addUsers'](_0x50853e[_0x5701('0x52')]['ids'],_[_0x5701('0x5d')](_0x50853e['body'],['ids','id'])||{});}})[_0x5701('0x2a')](respondWithResult(_0x124b91,null))['catch'](handleError(_0x124b91,null));};exports[_0x5701('0x5e')]=function(_0x1015e6,_0x108037,_0x352812){return db['SquareProject'][_0x5701('0x50')]({'where':{'id':_0x1015e6['params']['id']}})[_0x5701('0x2a')](handleEntityNotFound(_0x108037,null))['then'](function(_0x31953b){if(_0x31953b){return _0x31953b['removeUsers'](_0x1015e6[_0x5701('0x3a')][_0x5701('0x5f')])[_0x5701('0x2a')](function(){if(_[_0x5701('0x60')](_0x1015e6[_0x5701('0x3a')]['ids'])){for(var _0x21fbe2=0x0;_0x21fbe2<_0x1015e6[_0x5701('0x3a')][_0x5701('0x5f')]['length'];_0x21fbe2+=0x1){socket[_0x5701('0x61')](_0x5701('0x62'),{'UserId':Number(_0x1015e6['query'][_0x5701('0x5f')][_0x21fbe2]),'SquareProjectId':Number(_0x1015e6[_0x5701('0x5b')]['id'])});}}else{socket[_0x5701('0x61')](_0x5701('0x62'),{'UserId':Number(_0x1015e6['query'][_0x5701('0x5f')]),'SquareProjectId':Number(_0x1015e6[_0x5701('0x5b')]['id'])});}});}})[_0x5701('0x2a')](respondWithStatusCode(_0x108037,null))[_0x5701('0x4d')](handleError(_0x108037,null));};exports[_0x5701('0x63')]=function(_0x26c44d,_0x298d82,_0x5cbe49){var _0x46c6d6={};var _0x87694c={};var _0x3fb4ad;var _0x476635;return db[_0x5701('0x34')][_0x5701('0x64')]({'where':{'id':_0x26c44d[_0x5701('0x5b')]['id']}})[_0x5701('0x2a')](handleEntityNotFound(_0x298d82,null))[_0x5701('0x2a')](function(_0x31c69a){if(_0x31c69a){_0x3fb4ad=_0x31c69a;_0x87694c[_0x5701('0x39')]=_[_0x5701('0x4f')](db['User'][_0x5701('0x35')]);_0x87694c['query']=_[_0x5701('0x4f')](_0x26c44d[_0x5701('0x3a')]);_0x87694c['filters']=_[_0x5701('0x3c')](_0x87694c[_0x5701('0x39')],_0x87694c['query']);_0x46c6d6[_0x5701('0x3d')]=_[_0x5701('0x3c')](_0x87694c[_0x5701('0x39')],qs[_0x5701('0x3e')](_0x26c44d[_0x5701('0x3a')]['fields']));_0x46c6d6[_0x5701('0x3d')]=_0x46c6d6['attributes'][_0x5701('0x3f')]?_0x46c6d6[_0x5701('0x3d')]:_0x87694c[_0x5701('0x39')];_0x46c6d6['order']=qs[_0x5701('0x44')](_0x26c44d[_0x5701('0x3a')][_0x5701('0x44')]);_0x46c6d6[_0x5701('0x45')]=qs[_0x5701('0x3b')](_[_0x5701('0x46')](_0x26c44d[_0x5701('0x3a')],_0x87694c[_0x5701('0x3b')]));if(_0x26c44d[_0x5701('0x3a')][_0x5701('0x47')]){_0x46c6d6[_0x5701('0x45')]=_[_0x5701('0x48')](_0x46c6d6[_0x5701('0x45')],{'$or':_[_0x5701('0x33')](_0x46c6d6[_0x5701('0x3d')],function(_0x3e7b5){var _0x4476c0={};_0x4476c0[_0x3e7b5]={'$like':'%'+_0x26c44d[_0x5701('0x3a')]['filter']+'%'};return _0x4476c0;})});}_0x46c6d6=_[_0x5701('0x48')]({},_0x46c6d6,_0x26c44d[_0x5701('0x49')]);return _0x3fb4ad['getUsers'](_0x46c6d6);}})[_0x5701('0x2a')](function(_0x26abf5){if(_0x26abf5){_0x476635=_0x26abf5[_0x5701('0x3f')];if(!_0x26c44d['query'][_0x5701('0x40')](_0x5701('0x41'))){_0x46c6d6[_0x5701('0x42')]=qs[_0x5701('0x42')](_0x26c44d['query'][_0x5701('0x42')]);_0x46c6d6['offset']=qs[_0x5701('0x24')](_0x26c44d[_0x5701('0x3a')][_0x5701('0x24')]);}return _0x3fb4ad[_0x5701('0x63')](_0x46c6d6);}})[_0x5701('0x2a')](function(_0x4dc791){if(_0x4dc791){return _0x4dc791?{'count':_0x476635,'rows':_0x4dc791}:null;}})[_0x5701('0x2a')](respondWithResult(_0x298d82,null))[_0x5701('0x4d')](handleError(_0x298d82,null));};