ee5da608ff0d44098fb09a48af5c6601b87ccf99
[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 _0xcd06=['ids','omit','removeUsers','isArray','emit','userSquareProject:remove','getUsers','User','html-pdf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./squareProject.socket','register','sendStatus','end','status','count','offset','limit','Content-Range','json','apply','reject','update','then','destroy','get','error','stack','name','index','map','SquareProject','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','find','create','user','role','SquareProjects','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','addUsers'];(function(_0x14ff86,_0x182a44){var _0x857428=function(_0x3a4a93){while(--_0x3a4a93){_0x14ff86['push'](_0x14ff86['shift']());}};_0x857428(++_0x182a44);}(_0xcd06,0xd0));var _0x6cd0=function(_0x1a7770,_0x1a9c46){_0x1a7770=_0x1a7770-0x0;var _0x45ddfc=_0xcd06[_0x1a7770];return _0x45ddfc;};'use strict';var pdf=require(_0x6cd0('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x6cd0('0x1'));var jsonpatch=require(_0x6cd0('0x2'));var rp=require(_0x6cd0('0x3'));var moment=require(_0x6cd0('0x4'));var BPromise=require(_0x6cd0('0x5'));var Mustache=require(_0x6cd0('0x6'));var util=require(_0x6cd0('0x7'));var path=require(_0x6cd0('0x8'));var sox=require(_0x6cd0('0x9'));var csv=require('to-csv');var ejs=require(_0x6cd0('0xa'));var fs=require('fs');var _=require(_0x6cd0('0xb'));var squel=require(_0x6cd0('0xc'));var crypto=require(_0x6cd0('0xd'));var jsforce=require(_0x6cd0('0xe'));var deskjs=require(_0x6cd0('0xf'));var toCsv=require(_0x6cd0('0x10'));var querystring=require(_0x6cd0('0x11'));var Papa=require(_0x6cd0('0x12'));var Redis=require('ioredis');var authService=require(_0x6cd0('0x13'));var qs=require(_0x6cd0('0x14'));var as=require(_0x6cd0('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6cd0('0x16'))('api');var utils=require(_0x6cd0('0x17'));var config=require(_0x6cd0('0x18'));var licenseUtil=require(_0x6cd0('0x19'));var db=require('../../mysqldb')['db'];config[_0x6cd0('0x1a')]=_[_0x6cd0('0x1b')](config['redis'],{'host':_0x6cd0('0x1c'),'port':0x18eb});var socket=require(_0x6cd0('0x1d'))(new Redis(config[_0x6cd0('0x1a')]));require(_0x6cd0('0x1e'))[_0x6cd0('0x1f')](socket);function respondWithStatusCode(_0x44f7e3,_0x2f5153){_0x2f5153=_0x2f5153||0xcc;return function(_0x4b67fb){if(_0x4b67fb){return _0x44f7e3[_0x6cd0('0x20')](_0x2f5153);}return _0x44f7e3['status'](_0x2f5153)[_0x6cd0('0x21')]();};}function respondWithResult(_0x2a0452,_0x11ae57){_0x11ae57=_0x11ae57||0xc8;return function(_0x1de407){if(_0x1de407){return _0x2a0452[_0x6cd0('0x22')](_0x11ae57)['json'](_0x1de407);}};}function respondWithFilteredResult(_0x47c62c,_0x13df6f){return function(_0x30729a){if(_0x30729a){var _0xd19e6d=_0x30729a[_0x6cd0('0x23')],_0x3fc84d=_0x13df6f[_0x6cd0('0x24')],_0x786910=_0x13df6f['offset']+_0x13df6f[_0x6cd0('0x25')],_0x3fc4e0;if(_0x786910>=_0xd19e6d){_0x786910=_0xd19e6d;_0x3fc4e0=0xc8;}else{_0x3fc4e0=0xce;}_0x47c62c[_0x6cd0('0x22')](_0x3fc4e0);return _0x47c62c['set'](_0x6cd0('0x26'),_0x3fc84d+'-'+_0x786910+'/'+_0xd19e6d)[_0x6cd0('0x27')](_0x30729a);}return null;};}function patchUpdates(_0x51e409){return function(_0x47c3b9){try{jsonpatch[_0x6cd0('0x28')](_0x47c3b9,_0x51e409,!![]);}catch(_0x2e2efa){return BPromise[_0x6cd0('0x29')](_0x2e2efa);}return _0x47c3b9['save']();};}function saveUpdates(_0x52a976,_0x557862){return function(_0x2eee78){if(_0x2eee78){return _0x2eee78[_0x6cd0('0x2a')](_0x52a976)[_0x6cd0('0x2b')](function(_0x563daa){return _0x563daa;});}return null;};}function removeEntity(_0x2ebbe0,_0x2d2db4){return function(_0x20b845){if(_0x20b845){return _0x20b845[_0x6cd0('0x2c')]()[_0x6cd0('0x2b')](function(){var _0x3f2318=_0x20b845[_0x6cd0('0x2d')]({'plain':!![]});var _0x29cee1='SquareProjects';return db['UserProfileResource'][_0x6cd0('0x2c')]({'where':{'type':_0x29cee1,'resourceId':_0x3f2318['id']}})[_0x6cd0('0x2b')](function(){return _0x20b845;});})['then'](function(){_0x2ebbe0[_0x6cd0('0x22')](0xcc)[_0x6cd0('0x21')]();});}};}function handleEntityNotFound(_0x242f54,_0x487567){return function(_0x3268d2){if(!_0x3268d2){_0x242f54[_0x6cd0('0x20')](0x194);}return _0x3268d2;};}function handleError(_0x404c2a,_0xd1bb49){_0xd1bb49=_0xd1bb49||0x1f4;return function(_0x2478f7){logger[_0x6cd0('0x2e')](_0x2478f7[_0x6cd0('0x2f')]);if(_0x2478f7[_0x6cd0('0x30')]){delete _0x2478f7[_0x6cd0('0x30')];}_0x404c2a[_0x6cd0('0x22')](_0xd1bb49)['send'](_0x2478f7);};}exports[_0x6cd0('0x31')]=function(_0x234d01,_0x243168){var _0x168a14={},_0x48f9b3={},_0x22a82d={'count':0x0,'rows':[]};var _0x13d30b=_[_0x6cd0('0x32')](db[_0x6cd0('0x33')][_0x6cd0('0x34')],function(_0x34c590){return{'name':_0x34c590[_0x6cd0('0x35')],'type':_0x34c590[_0x6cd0('0x36')][_0x6cd0('0x37')]};});_0x48f9b3[_0x6cd0('0x38')]=_[_0x6cd0('0x32')](_0x13d30b,_0x6cd0('0x30'));_0x48f9b3['query']=_[_0x6cd0('0x39')](_0x234d01[_0x6cd0('0x3a')]);_0x48f9b3[_0x6cd0('0x3b')]=_[_0x6cd0('0x3c')](_0x48f9b3[_0x6cd0('0x38')],_0x48f9b3['query']);_0x168a14[_0x6cd0('0x3d')]=_[_0x6cd0('0x3c')](_0x48f9b3[_0x6cd0('0x38')],qs[_0x6cd0('0x3e')](_0x234d01[_0x6cd0('0x3a')]['fields']));_0x168a14['attributes']=_0x168a14[_0x6cd0('0x3d')][_0x6cd0('0x3f')]?_0x168a14[_0x6cd0('0x3d')]:_0x48f9b3[_0x6cd0('0x38')];if(!_0x234d01['query'][_0x6cd0('0x40')](_0x6cd0('0x41'))){_0x168a14[_0x6cd0('0x25')]=qs[_0x6cd0('0x25')](_0x234d01[_0x6cd0('0x3a')][_0x6cd0('0x25')]);_0x168a14['offset']=qs[_0x6cd0('0x24')](_0x234d01[_0x6cd0('0x3a')][_0x6cd0('0x24')]);}_0x168a14[_0x6cd0('0x42')]=qs[_0x6cd0('0x43')](_0x234d01[_0x6cd0('0x3a')][_0x6cd0('0x43')]);_0x168a14[_0x6cd0('0x44')]=qs[_0x6cd0('0x3b')](_[_0x6cd0('0x45')](_0x234d01['query'],_0x48f9b3[_0x6cd0('0x3b')]),_0x13d30b);if(_0x234d01[_0x6cd0('0x3a')][_0x6cd0('0x46')]){_0x168a14[_0x6cd0('0x44')]=_[_0x6cd0('0x47')](_0x168a14['where'],{'$or':_[_0x6cd0('0x32')](_0x13d30b,function(_0x172f94){if(_0x172f94['type']!==_0x6cd0('0x48')){var _0x21257a={};_0x21257a[_0x172f94[_0x6cd0('0x30')]]={'$like':'%'+_0x234d01['query']['filter']+'%'};return _0x21257a;}})});}_0x168a14=_[_0x6cd0('0x47')]({},_0x168a14,_0x234d01[_0x6cd0('0x49')]);var _0x260be7={'where':_0x168a14['where']};return db[_0x6cd0('0x33')][_0x6cd0('0x23')](_0x260be7)[_0x6cd0('0x2b')](function(_0x7f2578){_0x22a82d[_0x6cd0('0x23')]=_0x7f2578;if(_0x234d01[_0x6cd0('0x3a')][_0x6cd0('0x4a')]){_0x168a14[_0x6cd0('0x4b')]=[{'all':!![]}];}return db['SquareProject'][_0x6cd0('0x4c')](_0x168a14);})[_0x6cd0('0x2b')](function(_0x228b6a){_0x22a82d[_0x6cd0('0x4d')]=_0x228b6a;return _0x22a82d;})[_0x6cd0('0x2b')](respondWithFilteredResult(_0x243168,_0x168a14))[_0x6cd0('0x4e')](handleError(_0x243168,null));};exports['show']=function(_0x370627,_0x281dcc){var _0x1dcc10={'raw':![],'where':{'id':_0x370627[_0x6cd0('0x4f')]['id']}},_0x367d9c={};_0x367d9c[_0x6cd0('0x38')]=_[_0x6cd0('0x39')](db[_0x6cd0('0x33')][_0x6cd0('0x34')]);_0x367d9c['query']=_['keys'](_0x370627[_0x6cd0('0x3a')]);_0x367d9c['filters']=_[_0x6cd0('0x3c')](_0x367d9c['model'],_0x367d9c[_0x6cd0('0x3a')]);_0x1dcc10[_0x6cd0('0x3d')]=_[_0x6cd0('0x3c')](_0x367d9c[_0x6cd0('0x38')],qs[_0x6cd0('0x3e')](_0x370627[_0x6cd0('0x3a')][_0x6cd0('0x3e')]));_0x1dcc10[_0x6cd0('0x3d')]=_0x1dcc10[_0x6cd0('0x3d')][_0x6cd0('0x3f')]?_0x1dcc10[_0x6cd0('0x3d')]:_0x367d9c[_0x6cd0('0x38')];if(_0x370627[_0x6cd0('0x3a')][_0x6cd0('0x4a')]){_0x1dcc10[_0x6cd0('0x4b')]=[{'all':!![]}];}_0x1dcc10=_[_0x6cd0('0x47')]({},_0x1dcc10,_0x370627[_0x6cd0('0x49')]);return db['SquareProject'][_0x6cd0('0x50')](_0x1dcc10)[_0x6cd0('0x2b')](handleEntityNotFound(_0x281dcc,null))[_0x6cd0('0x2b')](respondWithResult(_0x281dcc,null))[_0x6cd0('0x4e')](handleError(_0x281dcc,null));};exports[_0x6cd0('0x51')]=function(_0xc30630,_0x4d3751){return db[_0x6cd0('0x33')][_0x6cd0('0x51')](_0xc30630['body'],{})[_0x6cd0('0x2b')](function(_0x2bdb1c){var _0x4b6e11=_0xc30630[_0x6cd0('0x52')][_0x6cd0('0x2d')]({'plain':!![]});if(!_0x4b6e11)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4b6e11[_0x6cd0('0x53')]===_0x6cd0('0x52')){var _0x4a7d95=_0x2bdb1c[_0x6cd0('0x2d')]({'plain':!![]});var _0x5055f1=_0x6cd0('0x54');return db[_0x6cd0('0x55')][_0x6cd0('0x50')]({'where':{'name':_0x5055f1,'userProfileId':_0x4b6e11[_0x6cd0('0x56')]},'raw':!![]})[_0x6cd0('0x2b')](function(_0x5ab8ce){if(_0x5ab8ce&&_0x5ab8ce[_0x6cd0('0x57')]===0x0){return db[_0x6cd0('0x58')]['create']({'name':_0x4a7d95[_0x6cd0('0x30')],'resourceId':_0x4a7d95['id'],'type':_0x5ab8ce[_0x6cd0('0x30')],'sectionId':_0x5ab8ce['id']},{})[_0x6cd0('0x2b')](function(){return _0x2bdb1c;});}else{return _0x2bdb1c;}})[_0x6cd0('0x4e')](function(_0x2b6859){logger[_0x6cd0('0x2e')](_0x6cd0('0x59'),_0x2b6859);throw _0x2b6859;});}return _0x2bdb1c;})['then'](respondWithResult(_0x4d3751,0xc9))[_0x6cd0('0x4e')](handleError(_0x4d3751,null));};exports['update']=function(_0x509b52,_0x2e8346){if(_0x509b52[_0x6cd0('0x5a')]['id']){delete _0x509b52['body']['id'];}return db[_0x6cd0('0x33')][_0x6cd0('0x50')]({'where':{'id':_0x509b52[_0x6cd0('0x4f')]['id']}})[_0x6cd0('0x2b')](handleEntityNotFound(_0x2e8346,null))[_0x6cd0('0x2b')](saveUpdates(_0x509b52[_0x6cd0('0x5a')],null))[_0x6cd0('0x2b')](respondWithResult(_0x2e8346,null))[_0x6cd0('0x4e')](handleError(_0x2e8346,null));};exports[_0x6cd0('0x2c')]=function(_0x8bbd9c,_0x2e68f8){return db[_0x6cd0('0x33')]['find']({'where':{'id':_0x8bbd9c[_0x6cd0('0x4f')]['id']}})[_0x6cd0('0x2b')](handleEntityNotFound(_0x2e68f8,null))[_0x6cd0('0x2b')](removeEntity(_0x2e68f8,null))[_0x6cd0('0x4e')](handleError(_0x2e68f8,null));};exports[_0x6cd0('0x5b')]=function(_0x18145c,_0x45c37c,_0x5a2b2b){return db[_0x6cd0('0x33')][_0x6cd0('0x50')]({'where':{'id':_0x18145c[_0x6cd0('0x4f')]['id']}})[_0x6cd0('0x2b')](handleEntityNotFound(_0x45c37c,null))[_0x6cd0('0x2b')](function(_0x3c63d4){if(_0x3c63d4){return _0x3c63d4[_0x6cd0('0x5b')](_0x18145c[_0x6cd0('0x5a')][_0x6cd0('0x5c')],_[_0x6cd0('0x5d')](_0x18145c[_0x6cd0('0x5a')],[_0x6cd0('0x5c'),'id'])||{});}})[_0x6cd0('0x2b')](respondWithResult(_0x45c37c,null))[_0x6cd0('0x4e')](handleError(_0x45c37c,null));};exports[_0x6cd0('0x5e')]=function(_0x182bd6,_0x2a0278,_0x2e6d4d){return db['SquareProject'][_0x6cd0('0x50')]({'where':{'id':_0x182bd6[_0x6cd0('0x4f')]['id']}})[_0x6cd0('0x2b')](handleEntityNotFound(_0x2a0278,null))['then'](function(_0x92b85c){if(_0x92b85c){return _0x92b85c['removeUsers'](_0x182bd6[_0x6cd0('0x3a')][_0x6cd0('0x5c')])[_0x6cd0('0x2b')](function(){if(_[_0x6cd0('0x5f')](_0x182bd6[_0x6cd0('0x3a')][_0x6cd0('0x5c')])){for(var _0x56651f=0x0;_0x56651f<_0x182bd6[_0x6cd0('0x3a')]['ids'][_0x6cd0('0x3f')];_0x56651f+=0x1){socket[_0x6cd0('0x60')](_0x6cd0('0x61'),{'UserId':Number(_0x182bd6['query']['ids'][_0x56651f]),'SquareProjectId':Number(_0x182bd6[_0x6cd0('0x4f')]['id'])});}}else{socket['emit'](_0x6cd0('0x61'),{'UserId':Number(_0x182bd6[_0x6cd0('0x3a')][_0x6cd0('0x5c')]),'SquareProjectId':Number(_0x182bd6[_0x6cd0('0x4f')]['id'])});}});}})[_0x6cd0('0x2b')](respondWithStatusCode(_0x2a0278,null))[_0x6cd0('0x4e')](handleError(_0x2a0278,null));};exports[_0x6cd0('0x62')]=function(_0x56bdd5,_0x1857dc,_0xd56856){var _0x46b900={};var _0xcbc6d6={};var _0x4df54a;var _0xa88f7a;return db[_0x6cd0('0x33')]['findOne']({'where':{'id':_0x56bdd5[_0x6cd0('0x4f')]['id']}})[_0x6cd0('0x2b')](handleEntityNotFound(_0x1857dc,null))[_0x6cd0('0x2b')](function(_0x3825fb){if(_0x3825fb){_0x4df54a=_0x3825fb;_0xcbc6d6['model']=_['keys'](db[_0x6cd0('0x63')][_0x6cd0('0x34')]);_0xcbc6d6['query']=_[_0x6cd0('0x39')](_0x56bdd5[_0x6cd0('0x3a')]);_0xcbc6d6[_0x6cd0('0x3b')]=_[_0x6cd0('0x3c')](_0xcbc6d6[_0x6cd0('0x38')],_0xcbc6d6[_0x6cd0('0x3a')]);_0x46b900[_0x6cd0('0x3d')]=_[_0x6cd0('0x3c')](_0xcbc6d6[_0x6cd0('0x38')],qs['fields'](_0x56bdd5[_0x6cd0('0x3a')][_0x6cd0('0x3e')]));_0x46b900[_0x6cd0('0x3d')]=_0x46b900[_0x6cd0('0x3d')][_0x6cd0('0x3f')]?_0x46b900['attributes']:_0xcbc6d6[_0x6cd0('0x38')];_0x46b900[_0x6cd0('0x42')]=qs[_0x6cd0('0x43')](_0x56bdd5[_0x6cd0('0x3a')]['sort']);_0x46b900[_0x6cd0('0x44')]=qs[_0x6cd0('0x3b')](_[_0x6cd0('0x45')](_0x56bdd5[_0x6cd0('0x3a')],_0xcbc6d6[_0x6cd0('0x3b')]));if(_0x56bdd5[_0x6cd0('0x3a')][_0x6cd0('0x46')]){_0x46b900['where']=_[_0x6cd0('0x47')](_0x46b900[_0x6cd0('0x44')],{'$or':_['map'](_0x46b900[_0x6cd0('0x3d')],function(_0xe54621){var _0x3e9743={};_0x3e9743[_0xe54621]={'$like':'%'+_0x56bdd5['query'][_0x6cd0('0x46')]+'%'};return _0x3e9743;})});}_0x46b900=_['merge']({},_0x46b900,_0x56bdd5[_0x6cd0('0x49')]);return _0x4df54a['getUsers'](_0x46b900);}})[_0x6cd0('0x2b')](function(_0x60fef5){if(_0x60fef5){_0xa88f7a=_0x60fef5[_0x6cd0('0x3f')];if(!_0x56bdd5[_0x6cd0('0x3a')][_0x6cd0('0x40')](_0x6cd0('0x41'))){_0x46b900[_0x6cd0('0x25')]=qs[_0x6cd0('0x25')](_0x56bdd5[_0x6cd0('0x3a')]['limit']);_0x46b900[_0x6cd0('0x24')]=qs[_0x6cd0('0x24')](_0x56bdd5['query'][_0x6cd0('0x24')]);}return _0x4df54a[_0x6cd0('0x62')](_0x46b900);}})['then'](function(_0x59cb8a){if(_0x59cb8a){return _0x59cb8a?{'count':_0xa88f7a,'rows':_0x59cb8a}:null;}})[_0x6cd0('0x2b')](respondWithResult(_0x1857dc,null))[_0x6cd0('0x4e')](handleError(_0x1857dc,null));};