Built motion from commit 3e059bc2.|2.5.32
[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 _0x0e8f=['undefined','limit','count','apply','reject','save','update','then','destroy','get','SquareProjects','error','name','send','index','SquareProject','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','rawAttributes','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addUsers','ids','omit','removeUsers','isArray','userSquareProject:remove','getUsers','User','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','json','offset'];(function(_0x413feb,_0x10477f){var _0x40ee88=function(_0x32a3f6){while(--_0x32a3f6){_0x413feb['push'](_0x413feb['shift']());}};_0x40ee88(++_0x10477f);}(_0x0e8f,0xa6));var _0xf0e8=function(_0x59d89e,_0x55edf5){_0x59d89e=_0x59d89e-0x0;var _0x554e93=_0x0e8f[_0x59d89e];return _0x554e93;};'use strict';var emlformat=require(_0xf0e8('0x0'));var rimraf=require(_0xf0e8('0x1'));var zipdir=require(_0xf0e8('0x2'));var jsonpatch=require(_0xf0e8('0x3'));var rp=require(_0xf0e8('0x4'));var moment=require('moment');var BPromise=require(_0xf0e8('0x5'));var Mustache=require(_0xf0e8('0x6'));var util=require(_0xf0e8('0x7'));var path=require(_0xf0e8('0x8'));var sox=require(_0xf0e8('0x9'));var csv=require(_0xf0e8('0xa'));var ejs=require(_0xf0e8('0xb'));var fs=require('fs');var fs_extra=require(_0xf0e8('0xc'));var _=require(_0xf0e8('0xd'));var squel=require('squel');var crypto=require(_0xf0e8('0xe'));var jsforce=require(_0xf0e8('0xf'));var deskjs=require(_0xf0e8('0x10'));var toCsv=require('to-csv');var querystring=require(_0xf0e8('0x11'));var Papa=require(_0xf0e8('0x12'));var Redis=require('ioredis');var authService=require(_0xf0e8('0x13'));var qs=require(_0xf0e8('0x14'));var as=require(_0xf0e8('0x15'));var hardwareService=require(_0xf0e8('0x16'));var logger=require(_0xf0e8('0x17'))(_0xf0e8('0x18'));var utils=require(_0xf0e8('0x19'));var config=require(_0xf0e8('0x1a'));var licenseUtil=require(_0xf0e8('0x1b'));var db=require(_0xf0e8('0x1c'))['db'];config[_0xf0e8('0x1d')]=_[_0xf0e8('0x1e')](config[_0xf0e8('0x1d')],{'host':_0xf0e8('0x1f'),'port':0x18eb});var socket=require(_0xf0e8('0x20'))(new Redis(config[_0xf0e8('0x1d')]));require('./squareProject.socket')[_0xf0e8('0x21')](socket);function respondWithStatusCode(_0x3ff8f0,_0x4e6e91){_0x4e6e91=_0x4e6e91||0xcc;return function(_0x3ea698){if(_0x3ea698){return _0x3ff8f0[_0xf0e8('0x22')](_0x4e6e91);}return _0x3ff8f0[_0xf0e8('0x23')](_0x4e6e91)['end']();};}function respondWithResult(_0x3d595d,_0x578714){_0x578714=_0x578714||0xc8;return function(_0x2d3ff0){if(_0x2d3ff0){return _0x3d595d[_0xf0e8('0x23')](_0x578714)[_0xf0e8('0x24')](_0x2d3ff0);}};}function respondWithFilteredResult(_0x3144c7,_0x49e136){return function(_0x5ea69c){if(_0x5ea69c){var _0x49b690=typeof _0x49e136[_0xf0e8('0x25')]===_0xf0e8('0x26')&&typeof _0x49e136[_0xf0e8('0x27')]===_0xf0e8('0x26');var _0x27c481=_0x5ea69c['count'];var _0x1be006=_0x49b690?0x0:_0x49e136[_0xf0e8('0x25')];var _0x4dac53=_0x49b690?_0x5ea69c[_0xf0e8('0x28')]:_0x49e136['offset']+_0x49e136[_0xf0e8('0x27')];var _0x108410;if(_0x4dac53>=_0x27c481){_0x4dac53=_0x27c481;_0x108410=0xc8;}else{_0x108410=0xce;}_0x3144c7[_0xf0e8('0x23')](_0x108410);return _0x3144c7['set']('Content-Range',_0x1be006+'-'+_0x4dac53+'/'+_0x27c481)[_0xf0e8('0x24')](_0x5ea69c);}return null;};}function patchUpdates(_0x789bd5){return function(_0x46ce6a){try{jsonpatch[_0xf0e8('0x29')](_0x46ce6a,_0x789bd5,!![]);}catch(_0x3654ee){return BPromise[_0xf0e8('0x2a')](_0x3654ee);}return _0x46ce6a[_0xf0e8('0x2b')]();};}function saveUpdates(_0x37b7ff,_0x5c9b5c){return function(_0x5678ea){if(_0x5678ea){return _0x5678ea[_0xf0e8('0x2c')](_0x37b7ff)[_0xf0e8('0x2d')](function(_0x242ac2){return _0x242ac2;});}return null;};}function removeEntity(_0x196d81,_0x2efcca){return function(_0x1dc3a5){if(_0x1dc3a5){return _0x1dc3a5[_0xf0e8('0x2e')]()[_0xf0e8('0x2d')](function(){var _0x2debd4=_0x1dc3a5[_0xf0e8('0x2f')]({'plain':!![]});var _0x4be654=_0xf0e8('0x30');return db['UserProfileResource'][_0xf0e8('0x2e')]({'where':{'type':_0x4be654,'resourceId':_0x2debd4['id']}})[_0xf0e8('0x2d')](function(){return _0x1dc3a5;});})[_0xf0e8('0x2d')](function(){_0x196d81[_0xf0e8('0x23')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3290d2,_0x5bb086){return function(_0x372065){if(!_0x372065){_0x3290d2[_0xf0e8('0x22')](0x194);}return _0x372065;};}function handleError(_0x141eec,_0x1609fc){_0x1609fc=_0x1609fc||0x1f4;return function(_0x4be3bf){logger[_0xf0e8('0x31')](_0x4be3bf['stack']);if(_0x4be3bf[_0xf0e8('0x32')]){delete _0x4be3bf[_0xf0e8('0x32')];}_0x141eec[_0xf0e8('0x23')](_0x1609fc)[_0xf0e8('0x33')](_0x4be3bf);};}exports[_0xf0e8('0x34')]=function(_0xb44162,_0x10a027){var _0x85422c={},_0x227907={},_0x5d0752={'count':0x0,'rows':[]};var _0x493ee9=_['map'](db[_0xf0e8('0x35')]['rawAttributes'],function(_0x577a3c){return{'name':_0x577a3c[_0xf0e8('0x36')],'type':_0x577a3c[_0xf0e8('0x37')][_0xf0e8('0x38')]};});_0x227907[_0xf0e8('0x39')]=_[_0xf0e8('0x3a')](_0x493ee9,_0xf0e8('0x32'));_0x227907[_0xf0e8('0x3b')]=_[_0xf0e8('0x3c')](_0xb44162['query']);_0x227907['filters']=_[_0xf0e8('0x3d')](_0x227907[_0xf0e8('0x39')],_0x227907[_0xf0e8('0x3b')]);_0x85422c[_0xf0e8('0x3e')]=_[_0xf0e8('0x3d')](_0x227907[_0xf0e8('0x39')],qs['fields'](_0xb44162[_0xf0e8('0x3b')][_0xf0e8('0x3f')]));_0x85422c[_0xf0e8('0x3e')]=_0x85422c[_0xf0e8('0x3e')][_0xf0e8('0x40')]?_0x85422c[_0xf0e8('0x3e')]:_0x227907[_0xf0e8('0x39')];if(!_0xb44162[_0xf0e8('0x3b')][_0xf0e8('0x41')](_0xf0e8('0x42'))){_0x85422c[_0xf0e8('0x27')]=qs[_0xf0e8('0x27')](_0xb44162[_0xf0e8('0x3b')][_0xf0e8('0x27')]);_0x85422c[_0xf0e8('0x25')]=qs['offset'](_0xb44162[_0xf0e8('0x3b')]['offset']);}_0x85422c[_0xf0e8('0x43')]=qs[_0xf0e8('0x44')](_0xb44162[_0xf0e8('0x3b')]['sort']);_0x85422c[_0xf0e8('0x45')]=qs[_0xf0e8('0x46')](_[_0xf0e8('0x47')](_0xb44162[_0xf0e8('0x3b')],_0x227907[_0xf0e8('0x46')]),_0x493ee9);if(_0xb44162[_0xf0e8('0x3b')][_0xf0e8('0x48')]){_0x85422c[_0xf0e8('0x45')]=_[_0xf0e8('0x49')](_0x85422c['where'],{'$or':_[_0xf0e8('0x3a')](_0x493ee9,function(_0x29413e){if(_0x29413e[_0xf0e8('0x37')]!==_0xf0e8('0x4a')){var _0x4cb6b8={};_0x4cb6b8[_0x29413e[_0xf0e8('0x32')]]={'$like':'%'+_0xb44162['query'][_0xf0e8('0x48')]+'%'};return _0x4cb6b8;}})});}_0x85422c=_[_0xf0e8('0x49')]({},_0x85422c,_0xb44162[_0xf0e8('0x4b')]);var _0x2388e7={'where':_0x85422c['where']};return db[_0xf0e8('0x35')][_0xf0e8('0x28')](_0x2388e7)['then'](function(_0x377f05){_0x5d0752[_0xf0e8('0x28')]=_0x377f05;if(_0xb44162[_0xf0e8('0x3b')][_0xf0e8('0x4c')]){_0x85422c[_0xf0e8('0x4d')]=[{'all':!![]}];}return db[_0xf0e8('0x35')]['findAll'](_0x85422c);})['then'](function(_0x32096b){_0x5d0752[_0xf0e8('0x4e')]=_0x32096b;return _0x5d0752;})[_0xf0e8('0x2d')](respondWithFilteredResult(_0x10a027,_0x85422c))[_0xf0e8('0x4f')](handleError(_0x10a027,null));};exports[_0xf0e8('0x50')]=function(_0x2b12c4,_0x9bc26){var _0x5cc1cd={'raw':![],'where':{'id':_0x2b12c4[_0xf0e8('0x51')]['id']}},_0xd0e362={};_0xd0e362['model']=_['keys'](db['SquareProject'][_0xf0e8('0x52')]);_0xd0e362['query']=_[_0xf0e8('0x3c')](_0x2b12c4[_0xf0e8('0x3b')]);_0xd0e362[_0xf0e8('0x46')]=_[_0xf0e8('0x3d')](_0xd0e362[_0xf0e8('0x39')],_0xd0e362[_0xf0e8('0x3b')]);_0x5cc1cd[_0xf0e8('0x3e')]=_[_0xf0e8('0x3d')](_0xd0e362['model'],qs[_0xf0e8('0x3f')](_0x2b12c4[_0xf0e8('0x3b')][_0xf0e8('0x3f')]));_0x5cc1cd[_0xf0e8('0x3e')]=_0x5cc1cd['attributes'][_0xf0e8('0x40')]?_0x5cc1cd['attributes']:_0xd0e362['model'];if(_0x2b12c4[_0xf0e8('0x3b')][_0xf0e8('0x4c')]){_0x5cc1cd[_0xf0e8('0x4d')]=[{'all':!![]}];}_0x5cc1cd=_[_0xf0e8('0x49')]({},_0x5cc1cd,_0x2b12c4[_0xf0e8('0x4b')]);return db[_0xf0e8('0x35')][_0xf0e8('0x53')](_0x5cc1cd)['then'](handleEntityNotFound(_0x9bc26,null))[_0xf0e8('0x2d')](respondWithResult(_0x9bc26,null))[_0xf0e8('0x4f')](handleError(_0x9bc26,null));};exports[_0xf0e8('0x54')]=function(_0x3c977,_0x1cd1bd){return db[_0xf0e8('0x35')][_0xf0e8('0x54')](_0x3c977[_0xf0e8('0x55')],{})[_0xf0e8('0x2d')](function(_0x2626b0){var _0x54cd75=_0x3c977[_0xf0e8('0x56')][_0xf0e8('0x2f')]({'plain':!![]});if(!_0x54cd75)throw new Error(_0xf0e8('0x57'));if(_0x54cd75[_0xf0e8('0x58')]===_0xf0e8('0x56')){var _0x517ff7=_0x2626b0[_0xf0e8('0x2f')]({'plain':!![]});var _0xb6da28=_0xf0e8('0x30');return db[_0xf0e8('0x59')][_0xf0e8('0x53')]({'where':{'name':_0xb6da28,'userProfileId':_0x54cd75[_0xf0e8('0x5a')]},'raw':!![]})[_0xf0e8('0x2d')](function(_0x3fae3e){if(_0x3fae3e&&_0x3fae3e[_0xf0e8('0x5b')]===0x0){return db[_0xf0e8('0x5c')][_0xf0e8('0x54')]({'name':_0x517ff7[_0xf0e8('0x32')],'resourceId':_0x517ff7['id'],'type':_0x3fae3e['name'],'sectionId':_0x3fae3e['id']},{})[_0xf0e8('0x2d')](function(){return _0x2626b0;});}else{return _0x2626b0;}})['catch'](function(_0x2e205c){logger[_0xf0e8('0x31')](_0xf0e8('0x5d'),_0x2e205c);throw _0x2e205c;});}return _0x2626b0;})['then'](respondWithResult(_0x1cd1bd,0xc9))[_0xf0e8('0x4f')](handleError(_0x1cd1bd,null));};exports['update']=function(_0x1a34df,_0x33c0e9){if(_0x1a34df[_0xf0e8('0x55')]['id']){delete _0x1a34df[_0xf0e8('0x55')]['id'];}return db[_0xf0e8('0x35')]['find']({'where':{'id':_0x1a34df[_0xf0e8('0x51')]['id']}})[_0xf0e8('0x2d')](handleEntityNotFound(_0x33c0e9,null))[_0xf0e8('0x2d')](saveUpdates(_0x1a34df[_0xf0e8('0x55')],null))[_0xf0e8('0x2d')](respondWithResult(_0x33c0e9,null))['catch'](handleError(_0x33c0e9,null));};exports[_0xf0e8('0x2e')]=function(_0x4cbf77,_0x3b1d7f){return db['SquareProject'][_0xf0e8('0x53')]({'where':{'id':_0x4cbf77['params']['id']}})[_0xf0e8('0x2d')](handleEntityNotFound(_0x3b1d7f,null))[_0xf0e8('0x2d')](removeEntity(_0x3b1d7f,null))[_0xf0e8('0x4f')](handleError(_0x3b1d7f,null));};exports[_0xf0e8('0x5e')]=function(_0xcea807,_0x56a603,_0x5efb9f){return db[_0xf0e8('0x35')][_0xf0e8('0x53')]({'where':{'id':_0xcea807[_0xf0e8('0x51')]['id']}})[_0xf0e8('0x2d')](handleEntityNotFound(_0x56a603,null))['then'](function(_0x123b50){if(_0x123b50){return _0x123b50[_0xf0e8('0x5e')](_0xcea807[_0xf0e8('0x55')][_0xf0e8('0x5f')],_[_0xf0e8('0x60')](_0xcea807[_0xf0e8('0x55')],[_0xf0e8('0x5f'),'id'])||{});}})[_0xf0e8('0x2d')](respondWithResult(_0x56a603,null))[_0xf0e8('0x4f')](handleError(_0x56a603,null));};exports[_0xf0e8('0x61')]=function(_0x21e0fb,_0x19857d,_0x2461b4){return db[_0xf0e8('0x35')][_0xf0e8('0x53')]({'where':{'id':_0x21e0fb[_0xf0e8('0x51')]['id']}})[_0xf0e8('0x2d')](handleEntityNotFound(_0x19857d,null))[_0xf0e8('0x2d')](function(_0x221f06){if(_0x221f06){return _0x221f06[_0xf0e8('0x61')](_0x21e0fb['query'][_0xf0e8('0x5f')])['then'](function(){if(_[_0xf0e8('0x62')](_0x21e0fb['query'][_0xf0e8('0x5f')])){for(var _0x5bdea5=0x0;_0x5bdea5<_0x21e0fb[_0xf0e8('0x3b')][_0xf0e8('0x5f')]['length'];_0x5bdea5+=0x1){socket['emit'](_0xf0e8('0x63'),{'UserId':Number(_0x21e0fb[_0xf0e8('0x3b')]['ids'][_0x5bdea5]),'SquareProjectId':Number(_0x21e0fb['params']['id'])});}}else{socket['emit'](_0xf0e8('0x63'),{'UserId':Number(_0x21e0fb['query']['ids']),'SquareProjectId':Number(_0x21e0fb[_0xf0e8('0x51')]['id'])});}});}})[_0xf0e8('0x2d')](respondWithStatusCode(_0x19857d,null))[_0xf0e8('0x4f')](handleError(_0x19857d,null));};exports[_0xf0e8('0x64')]=function(_0x56a8af,_0x1812b3,_0x40a2cf){var _0xff5da8={};var _0x5c23d2={};var _0x967569;var _0x599125;return db['SquareProject']['findOne']({'where':{'id':_0x56a8af[_0xf0e8('0x51')]['id']}})[_0xf0e8('0x2d')](handleEntityNotFound(_0x1812b3,null))[_0xf0e8('0x2d')](function(_0x335372){if(_0x335372){_0x967569=_0x335372;_0x5c23d2[_0xf0e8('0x39')]=_[_0xf0e8('0x3c')](db[_0xf0e8('0x65')][_0xf0e8('0x52')]);_0x5c23d2[_0xf0e8('0x3b')]=_[_0xf0e8('0x3c')](_0x56a8af[_0xf0e8('0x3b')]);_0x5c23d2[_0xf0e8('0x46')]=_[_0xf0e8('0x3d')](_0x5c23d2[_0xf0e8('0x39')],_0x5c23d2['query']);_0xff5da8[_0xf0e8('0x3e')]=_[_0xf0e8('0x3d')](_0x5c23d2[_0xf0e8('0x39')],qs[_0xf0e8('0x3f')](_0x56a8af[_0xf0e8('0x3b')][_0xf0e8('0x3f')]));_0xff5da8[_0xf0e8('0x3e')]=_0xff5da8[_0xf0e8('0x3e')][_0xf0e8('0x40')]?_0xff5da8['attributes']:_0x5c23d2[_0xf0e8('0x39')];_0xff5da8['order']=qs[_0xf0e8('0x44')](_0x56a8af[_0xf0e8('0x3b')][_0xf0e8('0x44')]);_0xff5da8['where']=qs[_0xf0e8('0x46')](_['pick'](_0x56a8af[_0xf0e8('0x3b')],_0x5c23d2[_0xf0e8('0x46')]));if(_0x56a8af[_0xf0e8('0x3b')][_0xf0e8('0x48')]){_0xff5da8[_0xf0e8('0x45')]=_[_0xf0e8('0x49')](_0xff5da8[_0xf0e8('0x45')],{'$or':_[_0xf0e8('0x3a')](_0xff5da8[_0xf0e8('0x3e')],function(_0x501800){var _0x5159f9={};_0x5159f9[_0x501800]={'$like':'%'+_0x56a8af['query']['filter']+'%'};return _0x5159f9;})});}_0xff5da8=_[_0xf0e8('0x49')]({},_0xff5da8,_0x56a8af[_0xf0e8('0x4b')]);return _0x967569[_0xf0e8('0x64')](_0xff5da8);}})[_0xf0e8('0x2d')](function(_0x273b61){if(_0x273b61){_0x599125=_0x273b61[_0xf0e8('0x40')];if(!_0x56a8af[_0xf0e8('0x3b')][_0xf0e8('0x41')](_0xf0e8('0x42'))){_0xff5da8[_0xf0e8('0x27')]=qs[_0xf0e8('0x27')](_0x56a8af[_0xf0e8('0x3b')][_0xf0e8('0x27')]);_0xff5da8[_0xf0e8('0x25')]=qs[_0xf0e8('0x25')](_0x56a8af[_0xf0e8('0x3b')][_0xf0e8('0x25')]);}return _0x967569[_0xf0e8('0x64')](_0xff5da8);}})[_0xf0e8('0x2d')](function(_0x567911){if(_0x567911){return _0x567911?{'count':_0x599125,'rows':_0x567911}:null;}})[_0xf0e8('0x2d')](respondWithResult(_0x1812b3,null))['catch'](handleError(_0x1812b3,null));};