Built motion from commit 9d1906d1.|2.5.40
[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 _0x4d1e=['order','map','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','socket.io-emitter','./squareProject.socket','register','status','json','limit','count','offset','apply','reject','save','update','destroy','then','get','UserProfileResource','end','sendStatus','error','stack','name','send','index','SquareProject','rawAttributes','fieldName','type','key','keys','filters','intersection','query','attributes','model','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','SquareProjects','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','find','addUsers','ids','omit','removeUsers','isArray','emit','userSquareProject:remove','getUsers'];(function(_0x30cb24,_0x270eac){var _0x4abcd5=function(_0x28237e){while(--_0x28237e){_0x30cb24['push'](_0x30cb24['shift']());}};_0x4abcd5(++_0x270eac);}(_0x4d1e,0x18e));var _0xe4d1=function(_0x25cd2c,_0x57498e){_0x25cd2c=_0x25cd2c-0x0;var _0x1e364c=_0x4d1e[_0x25cd2c];return _0x1e364c;};'use strict';var emlformat=require(_0xe4d1('0x0'));var rimraf=require(_0xe4d1('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe4d1('0x2'));var rp=require('request-promise');var moment=require(_0xe4d1('0x3'));var BPromise=require(_0xe4d1('0x4'));var Mustache=require(_0xe4d1('0x5'));var util=require(_0xe4d1('0x6'));var path=require(_0xe4d1('0x7'));var sox=require(_0xe4d1('0x8'));var csv=require('to-csv');var ejs=require(_0xe4d1('0x9'));var fs=require('fs');var fs_extra=require(_0xe4d1('0xa'));var _=require('lodash');var squel=require(_0xe4d1('0xb'));var crypto=require('crypto');var jsforce=require(_0xe4d1('0xc'));var deskjs=require(_0xe4d1('0xd'));var toCsv=require('to-csv');var querystring=require(_0xe4d1('0xe'));var Papa=require(_0xe4d1('0xf'));var Redis=require('ioredis');var authService=require(_0xe4d1('0x10'));var qs=require(_0xe4d1('0x11'));var as=require(_0xe4d1('0x12'));var hardwareService=require(_0xe4d1('0x13'));var logger=require('../../config/logger')(_0xe4d1('0x14'));var utils=require(_0xe4d1('0x15'));var config=require(_0xe4d1('0x16'));var licenseUtil=require(_0xe4d1('0x17'));var db=require(_0xe4d1('0x18'))['db'];config[_0xe4d1('0x19')]=_['defaults'](config[_0xe4d1('0x19')],{'host':'localhost','port':0x18eb});var socket=require(_0xe4d1('0x1a'))(new Redis(config[_0xe4d1('0x19')]));require(_0xe4d1('0x1b'))[_0xe4d1('0x1c')](socket);function respondWithStatusCode(_0x430ece,_0x8583bd){_0x8583bd=_0x8583bd||0xcc;return function(_0x5cb13d){if(_0x5cb13d){return _0x430ece['sendStatus'](_0x8583bd);}return _0x430ece[_0xe4d1('0x1d')](_0x8583bd)['end']();};}function respondWithResult(_0x53039b,_0x28d5a){_0x28d5a=_0x28d5a||0xc8;return function(_0x45a613){if(_0x45a613){return _0x53039b[_0xe4d1('0x1d')](_0x28d5a)[_0xe4d1('0x1e')](_0x45a613);}};}function respondWithFilteredResult(_0x427130,_0x285e9d){return function(_0x45b233){if(_0x45b233){var _0x5de376=typeof _0x285e9d['offset']==='undefined'&&typeof _0x285e9d[_0xe4d1('0x1f')]==='undefined';var _0x153a19=_0x45b233[_0xe4d1('0x20')];var _0x2b9806=_0x5de376?0x0:_0x285e9d[_0xe4d1('0x21')];var _0x299084=_0x5de376?_0x45b233[_0xe4d1('0x20')]:_0x285e9d[_0xe4d1('0x21')]+_0x285e9d['limit'];var _0x68df9c;if(_0x299084>=_0x153a19){_0x299084=_0x153a19;_0x68df9c=0xc8;}else{_0x68df9c=0xce;}_0x427130[_0xe4d1('0x1d')](_0x68df9c);return _0x427130['set']('Content-Range',_0x2b9806+'-'+_0x299084+'/'+_0x153a19)[_0xe4d1('0x1e')](_0x45b233);}return null;};}function patchUpdates(_0x3f4014){return function(_0x275436){try{jsonpatch[_0xe4d1('0x22')](_0x275436,_0x3f4014,!![]);}catch(_0x594fcc){return BPromise[_0xe4d1('0x23')](_0x594fcc);}return _0x275436[_0xe4d1('0x24')]();};}function saveUpdates(_0x189509,_0x34149b){return function(_0x1a2a6b){if(_0x1a2a6b){return _0x1a2a6b[_0xe4d1('0x25')](_0x189509)['then'](function(_0x29e7ad){return _0x29e7ad;});}return null;};}function removeEntity(_0x3f9093,_0x5239c0){return function(_0x209a4f){if(_0x209a4f){return _0x209a4f[_0xe4d1('0x26')]()[_0xe4d1('0x27')](function(){var _0x304d81=_0x209a4f[_0xe4d1('0x28')]({'plain':!![]});var _0x4c9a7f='SquareProjects';return db[_0xe4d1('0x29')][_0xe4d1('0x26')]({'where':{'type':_0x4c9a7f,'resourceId':_0x304d81['id']}})[_0xe4d1('0x27')](function(){return _0x209a4f;});})[_0xe4d1('0x27')](function(){_0x3f9093[_0xe4d1('0x1d')](0xcc)[_0xe4d1('0x2a')]();});}};}function handleEntityNotFound(_0x1b0654,_0x25bd35){return function(_0x433016){if(!_0x433016){_0x1b0654[_0xe4d1('0x2b')](0x194);}return _0x433016;};}function handleError(_0x2f7446,_0x28e6f4){_0x28e6f4=_0x28e6f4||0x1f4;return function(_0x1b9197){logger[_0xe4d1('0x2c')](_0x1b9197[_0xe4d1('0x2d')]);if(_0x1b9197[_0xe4d1('0x2e')]){delete _0x1b9197[_0xe4d1('0x2e')];}_0x2f7446[_0xe4d1('0x1d')](_0x28e6f4)[_0xe4d1('0x2f')](_0x1b9197);};}exports[_0xe4d1('0x30')]=function(_0x42c598,_0x1fe5d4){var _0x3e7c1a={},_0x1ad448={},_0x51c689={'count':0x0,'rows':[]};var _0x30039d=_['map'](db[_0xe4d1('0x31')][_0xe4d1('0x32')],function(_0x675330){return{'name':_0x675330[_0xe4d1('0x33')],'type':_0x675330[_0xe4d1('0x34')][_0xe4d1('0x35')]};});_0x1ad448['model']=_['map'](_0x30039d,'name');_0x1ad448['query']=_[_0xe4d1('0x36')](_0x42c598['query']);_0x1ad448[_0xe4d1('0x37')]=_[_0xe4d1('0x38')](_0x1ad448['model'],_0x1ad448[_0xe4d1('0x39')]);_0x3e7c1a[_0xe4d1('0x3a')]=_[_0xe4d1('0x38')](_0x1ad448[_0xe4d1('0x3b')],qs[_0xe4d1('0x3c')](_0x42c598[_0xe4d1('0x39')][_0xe4d1('0x3c')]));_0x3e7c1a[_0xe4d1('0x3a')]=_0x3e7c1a[_0xe4d1('0x3a')][_0xe4d1('0x3d')]?_0x3e7c1a[_0xe4d1('0x3a')]:_0x1ad448[_0xe4d1('0x3b')];if(!_0x42c598[_0xe4d1('0x39')][_0xe4d1('0x3e')](_0xe4d1('0x3f'))){_0x3e7c1a[_0xe4d1('0x1f')]=qs[_0xe4d1('0x1f')](_0x42c598['query']['limit']);_0x3e7c1a[_0xe4d1('0x21')]=qs[_0xe4d1('0x21')](_0x42c598['query'][_0xe4d1('0x21')]);}_0x3e7c1a['order']=qs[_0xe4d1('0x40')](_0x42c598['query'][_0xe4d1('0x40')]);_0x3e7c1a[_0xe4d1('0x41')]=qs['filters'](_[_0xe4d1('0x42')](_0x42c598[_0xe4d1('0x39')],_0x1ad448[_0xe4d1('0x37')]),_0x30039d);if(_0x42c598[_0xe4d1('0x39')][_0xe4d1('0x43')]){_0x3e7c1a[_0xe4d1('0x41')]=_[_0xe4d1('0x44')](_0x3e7c1a[_0xe4d1('0x41')],{'$or':_['map'](_0x30039d,function(_0x975058){if(_0x975058['type']!==_0xe4d1('0x45')){var _0x56c8dd={};_0x56c8dd[_0x975058[_0xe4d1('0x2e')]]={'$like':'%'+_0x42c598[_0xe4d1('0x39')][_0xe4d1('0x43')]+'%'};return _0x56c8dd;}})});}_0x3e7c1a=_['merge']({},_0x3e7c1a,_0x42c598[_0xe4d1('0x46')]);var _0x41ed45={'where':_0x3e7c1a['where']};return db[_0xe4d1('0x31')][_0xe4d1('0x20')](_0x41ed45)['then'](function(_0x2991a7){_0x51c689[_0xe4d1('0x20')]=_0x2991a7;if(_0x42c598[_0xe4d1('0x39')][_0xe4d1('0x47')]){_0x3e7c1a[_0xe4d1('0x48')]=[{'all':!![]}];}return db[_0xe4d1('0x31')][_0xe4d1('0x49')](_0x3e7c1a);})['then'](function(_0x215052){_0x51c689[_0xe4d1('0x4a')]=_0x215052;return _0x51c689;})[_0xe4d1('0x27')](respondWithFilteredResult(_0x1fe5d4,_0x3e7c1a))[_0xe4d1('0x4b')](handleError(_0x1fe5d4,null));};exports[_0xe4d1('0x4c')]=function(_0x58a723,_0x464c5b){var _0x2c962a={'raw':![],'where':{'id':_0x58a723[_0xe4d1('0x4d')]['id']}},_0x57e3e6={};_0x57e3e6[_0xe4d1('0x3b')]=_[_0xe4d1('0x36')](db['SquareProject']['rawAttributes']);_0x57e3e6[_0xe4d1('0x39')]=_[_0xe4d1('0x36')](_0x58a723[_0xe4d1('0x39')]);_0x57e3e6[_0xe4d1('0x37')]=_[_0xe4d1('0x38')](_0x57e3e6[_0xe4d1('0x3b')],_0x57e3e6[_0xe4d1('0x39')]);_0x2c962a['attributes']=_[_0xe4d1('0x38')](_0x57e3e6[_0xe4d1('0x3b')],qs['fields'](_0x58a723[_0xe4d1('0x39')][_0xe4d1('0x3c')]));_0x2c962a[_0xe4d1('0x3a')]=_0x2c962a[_0xe4d1('0x3a')][_0xe4d1('0x3d')]?_0x2c962a[_0xe4d1('0x3a')]:_0x57e3e6[_0xe4d1('0x3b')];if(_0x58a723['query'][_0xe4d1('0x47')]){_0x2c962a[_0xe4d1('0x48')]=[{'all':!![]}];}_0x2c962a=_[_0xe4d1('0x44')]({},_0x2c962a,_0x58a723[_0xe4d1('0x46')]);return db[_0xe4d1('0x31')]['find'](_0x2c962a)['then'](handleEntityNotFound(_0x464c5b,null))[_0xe4d1('0x27')](respondWithResult(_0x464c5b,null))[_0xe4d1('0x4b')](handleError(_0x464c5b,null));};exports[_0xe4d1('0x4e')]=function(_0x30b920,_0x523383){return db[_0xe4d1('0x31')]['create'](_0x30b920['body'],{})[_0xe4d1('0x27')](function(_0x24789a){var _0x1df8fd=_0x30b920[_0xe4d1('0x4f')][_0xe4d1('0x28')]({'plain':!![]});if(!_0x1df8fd)throw new Error(_0xe4d1('0x50'));if(_0x1df8fd[_0xe4d1('0x51')]===_0xe4d1('0x4f')){var _0x2af292=_0x24789a[_0xe4d1('0x28')]({'plain':!![]});var _0xedd310=_0xe4d1('0x52');return db[_0xe4d1('0x53')]['find']({'where':{'name':_0xedd310,'userProfileId':_0x1df8fd[_0xe4d1('0x54')]},'raw':!![]})['then'](function(_0x5bdd4c){if(_0x5bdd4c&&_0x5bdd4c[_0xe4d1('0x55')]===0x0){return db[_0xe4d1('0x29')][_0xe4d1('0x4e')]({'name':_0x2af292[_0xe4d1('0x2e')],'resourceId':_0x2af292['id'],'type':_0x5bdd4c[_0xe4d1('0x2e')],'sectionId':_0x5bdd4c['id']},{})[_0xe4d1('0x27')](function(){return _0x24789a;});}else{return _0x24789a;}})[_0xe4d1('0x4b')](function(_0xda4dc9){logger[_0xe4d1('0x2c')](_0xe4d1('0x56'),_0xda4dc9);throw _0xda4dc9;});}return _0x24789a;})[_0xe4d1('0x27')](respondWithResult(_0x523383,0xc9))['catch'](handleError(_0x523383,null));};exports['update']=function(_0x11ddf7,_0x7af95e){if(_0x11ddf7[_0xe4d1('0x57')]['id']){delete _0x11ddf7[_0xe4d1('0x57')]['id'];}return db['SquareProject']['find']({'where':{'id':_0x11ddf7['params']['id']}})[_0xe4d1('0x27')](handleEntityNotFound(_0x7af95e,null))['then'](saveUpdates(_0x11ddf7[_0xe4d1('0x57')],null))[_0xe4d1('0x27')](respondWithResult(_0x7af95e,null))[_0xe4d1('0x4b')](handleError(_0x7af95e,null));};exports[_0xe4d1('0x26')]=function(_0x5b5c5d,_0x5491bc){return db[_0xe4d1('0x31')][_0xe4d1('0x58')]({'where':{'id':_0x5b5c5d[_0xe4d1('0x4d')]['id']}})['then'](handleEntityNotFound(_0x5491bc,null))[_0xe4d1('0x27')](removeEntity(_0x5491bc,null))[_0xe4d1('0x4b')](handleError(_0x5491bc,null));};exports[_0xe4d1('0x59')]=function(_0x2e5296,_0x294ced,_0x56e490){return db[_0xe4d1('0x31')][_0xe4d1('0x58')]({'where':{'id':_0x2e5296[_0xe4d1('0x4d')]['id']}})['then'](handleEntityNotFound(_0x294ced,null))[_0xe4d1('0x27')](function(_0x5a9555){if(_0x5a9555){return _0x5a9555[_0xe4d1('0x59')](_0x2e5296[_0xe4d1('0x57')][_0xe4d1('0x5a')],_[_0xe4d1('0x5b')](_0x2e5296[_0xe4d1('0x57')],[_0xe4d1('0x5a'),'id'])||{});}})[_0xe4d1('0x27')](respondWithResult(_0x294ced,null))[_0xe4d1('0x4b')](handleError(_0x294ced,null));};exports[_0xe4d1('0x5c')]=function(_0x654e0f,_0x5f2ff0,_0x41503f){return db[_0xe4d1('0x31')]['find']({'where':{'id':_0x654e0f[_0xe4d1('0x4d')]['id']}})[_0xe4d1('0x27')](handleEntityNotFound(_0x5f2ff0,null))['then'](function(_0x1801a9){if(_0x1801a9){return _0x1801a9[_0xe4d1('0x5c')](_0x654e0f[_0xe4d1('0x39')][_0xe4d1('0x5a')])[_0xe4d1('0x27')](function(){if(_[_0xe4d1('0x5d')](_0x654e0f[_0xe4d1('0x39')][_0xe4d1('0x5a')])){for(var _0x1c9dd0=0x0;_0x1c9dd0<_0x654e0f['query'][_0xe4d1('0x5a')]['length'];_0x1c9dd0+=0x1){socket[_0xe4d1('0x5e')](_0xe4d1('0x5f'),{'UserId':Number(_0x654e0f['query'][_0xe4d1('0x5a')][_0x1c9dd0]),'SquareProjectId':Number(_0x654e0f[_0xe4d1('0x4d')]['id'])});}}else{socket[_0xe4d1('0x5e')](_0xe4d1('0x5f'),{'UserId':Number(_0x654e0f[_0xe4d1('0x39')][_0xe4d1('0x5a')]),'SquareProjectId':Number(_0x654e0f[_0xe4d1('0x4d')]['id'])});}});}})[_0xe4d1('0x27')](respondWithStatusCode(_0x5f2ff0,null))[_0xe4d1('0x4b')](handleError(_0x5f2ff0,null));};exports[_0xe4d1('0x60')]=function(_0x2dfffd,_0x5c3cfc,_0x293c2a){var _0x2bd897={};var _0x3b96d0={};var _0x9d9a3f;var _0x2798f8;return db[_0xe4d1('0x31')]['findOne']({'where':{'id':_0x2dfffd[_0xe4d1('0x4d')]['id']}})[_0xe4d1('0x27')](handleEntityNotFound(_0x5c3cfc,null))[_0xe4d1('0x27')](function(_0x3d33d3){if(_0x3d33d3){_0x9d9a3f=_0x3d33d3;_0x3b96d0['model']=_[_0xe4d1('0x36')](db['User']['rawAttributes']);_0x3b96d0['query']=_[_0xe4d1('0x36')](_0x2dfffd['query']);_0x3b96d0[_0xe4d1('0x37')]=_[_0xe4d1('0x38')](_0x3b96d0[_0xe4d1('0x3b')],_0x3b96d0['query']);_0x2bd897[_0xe4d1('0x3a')]=_[_0xe4d1('0x38')](_0x3b96d0['model'],qs[_0xe4d1('0x3c')](_0x2dfffd['query'][_0xe4d1('0x3c')]));_0x2bd897[_0xe4d1('0x3a')]=_0x2bd897[_0xe4d1('0x3a')][_0xe4d1('0x3d')]?_0x2bd897[_0xe4d1('0x3a')]:_0x3b96d0[_0xe4d1('0x3b')];_0x2bd897[_0xe4d1('0x61')]=qs[_0xe4d1('0x40')](_0x2dfffd[_0xe4d1('0x39')][_0xe4d1('0x40')]);_0x2bd897[_0xe4d1('0x41')]=qs[_0xe4d1('0x37')](_[_0xe4d1('0x42')](_0x2dfffd['query'],_0x3b96d0[_0xe4d1('0x37')]));if(_0x2dfffd['query'][_0xe4d1('0x43')]){_0x2bd897['where']=_[_0xe4d1('0x44')](_0x2bd897[_0xe4d1('0x41')],{'$or':_[_0xe4d1('0x62')](_0x2bd897[_0xe4d1('0x3a')],function(_0x8aeb4){var _0x5ade1e={};_0x5ade1e[_0x8aeb4]={'$like':'%'+_0x2dfffd[_0xe4d1('0x39')][_0xe4d1('0x43')]+'%'};return _0x5ade1e;})});}_0x2bd897=_[_0xe4d1('0x44')]({},_0x2bd897,_0x2dfffd[_0xe4d1('0x46')]);return _0x9d9a3f[_0xe4d1('0x60')](_0x2bd897);}})[_0xe4d1('0x27')](function(_0x3a024d){if(_0x3a024d){_0x2798f8=_0x3a024d[_0xe4d1('0x3d')];if(!_0x2dfffd['query'][_0xe4d1('0x3e')]('nolimit')){_0x2bd897[_0xe4d1('0x1f')]=qs[_0xe4d1('0x1f')](_0x2dfffd['query'][_0xe4d1('0x1f')]);_0x2bd897[_0xe4d1('0x21')]=qs['offset'](_0x2dfffd[_0xe4d1('0x39')][_0xe4d1('0x21')]);}return _0x9d9a3f[_0xe4d1('0x60')](_0x2bd897);}})[_0xe4d1('0x27')](function(_0x1a7e24){if(_0x1a7e24){return _0x1a7e24?{'count':_0x2798f8,'rows':_0x1a7e24}:null;}})['then'](respondWithResult(_0x5c3cfc,null))[_0xe4d1('0x4b')](handleError(_0x5c3cfc,null));};