Built motion from commit (unavailable).|2.5.7
[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 _0x498d=['omit','ids','removeUsers','isArray','emit','userSquareProject:remove','getUsers','findOne','User','order','html-pdf','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','sendStatus','end','status','json','count','offset','limit','set','reject','save','update','then','SquareProjects','UserProfileResource','destroy','error','stack','name','send','index','fieldName','type','key','model','map','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filters','filter','where','merge','options','SquareProject','findAll','rows','catch','show','rawAttributes','keys','includeAll','include','find','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','get','UserProfileSection','userProfileId','autoAssociation','body','params','addUsers'];(function(_0x4c03ea,_0x3465be){var _0x7a6922=function(_0xd50354){while(--_0xd50354){_0x4c03ea['push'](_0x4c03ea['shift']());}};_0x7a6922(++_0x3465be);}(_0x498d,0x19e));var _0xd498=function(_0x1abeb2,_0x79f462){_0x1abeb2=_0x1abeb2-0x0;var _0x48da20=_0x498d[_0x1abeb2];return _0x48da20;};'use strict';var pdf=require(_0xd498('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xd498('0x1'));var zipdir=require(_0xd498('0x2'));var jsonpatch=require(_0xd498('0x3'));var rp=require('request-promise');var moment=require(_0xd498('0x4'));var BPromise=require(_0xd498('0x5'));var Mustache=require(_0xd498('0x6'));var util=require(_0xd498('0x7'));var path=require(_0xd498('0x8'));var sox=require('sox');var csv=require(_0xd498('0x9'));var ejs=require(_0xd498('0xa'));var fs=require('fs');var _=require(_0xd498('0xb'));var squel=require(_0xd498('0xc'));var crypto=require(_0xd498('0xd'));var jsforce=require(_0xd498('0xe'));var deskjs=require(_0xd498('0xf'));var toCsv=require(_0xd498('0x9'));var querystring=require(_0xd498('0x10'));var Papa=require(_0xd498('0x11'));var Redis=require('ioredis');var authService=require(_0xd498('0x12'));var qs=require(_0xd498('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd498('0x14'));var logger=require(_0xd498('0x15'))(_0xd498('0x16'));var utils=require(_0xd498('0x17'));var config=require(_0xd498('0x18'));var licenseUtil=require(_0xd498('0x19'));var db=require(_0xd498('0x1a'))['db'];config[_0xd498('0x1b')]=_[_0xd498('0x1c')](config[_0xd498('0x1b')],{'host':_0xd498('0x1d'),'port':0x18eb});var socket=require(_0xd498('0x1e'))(new Redis(config[_0xd498('0x1b')]));require('./squareProject.socket')['register'](socket);function respondWithStatusCode(_0x5c0853,_0x5b2a3f){_0x5b2a3f=_0x5b2a3f||0xcc;return function(_0x3f0101){if(_0x3f0101){return _0x5c0853[_0xd498('0x1f')](_0x5b2a3f);}return _0x5c0853['status'](_0x5b2a3f)[_0xd498('0x20')]();};}function respondWithResult(_0x482cbf,_0x538266){_0x538266=_0x538266||0xc8;return function(_0x45cb69){if(_0x45cb69){return _0x482cbf[_0xd498('0x21')](_0x538266)[_0xd498('0x22')](_0x45cb69);}};}function respondWithFilteredResult(_0x3975cf,_0x4409fa){return function(_0x1a481c){if(_0x1a481c){var _0xac6d2c=_0x1a481c[_0xd498('0x23')],_0x2680b8=_0x4409fa[_0xd498('0x24')],_0x3f76d1=_0x4409fa[_0xd498('0x24')]+_0x4409fa[_0xd498('0x25')],_0xc95534;if(_0x3f76d1>=_0xac6d2c){_0x3f76d1=_0xac6d2c;_0xc95534=0xc8;}else{_0xc95534=0xce;}_0x3975cf[_0xd498('0x21')](_0xc95534);return _0x3975cf[_0xd498('0x26')]('Content-Range',_0x2680b8+'-'+_0x3f76d1+'/'+_0xac6d2c)[_0xd498('0x22')](_0x1a481c);}return null;};}function patchUpdates(_0x187c04){return function(_0x52a1e2){try{jsonpatch['apply'](_0x52a1e2,_0x187c04,!![]);}catch(_0x377292){return BPromise[_0xd498('0x27')](_0x377292);}return _0x52a1e2[_0xd498('0x28')]();};}function saveUpdates(_0x1a1ec1,_0x5e02ca){return function(_0x4379d1){if(_0x4379d1){return _0x4379d1[_0xd498('0x29')](_0x1a1ec1)[_0xd498('0x2a')](function(_0x1f74b9){return _0x1f74b9;});}return null;};}function removeEntity(_0x16f43c,_0xbfbe06){return function(_0x461129){if(_0x461129){return _0x461129['destroy']()[_0xd498('0x2a')](function(){var _0x527cb9=_0x461129['get']({'plain':!![]});var _0x4d798e=_0xd498('0x2b');return db[_0xd498('0x2c')][_0xd498('0x2d')]({'where':{'type':_0x4d798e,'resourceId':_0x527cb9['id']}})[_0xd498('0x2a')](function(){return _0x461129;});})[_0xd498('0x2a')](function(){_0x16f43c[_0xd498('0x21')](0xcc)[_0xd498('0x20')]();});}};}function handleEntityNotFound(_0x134eda,_0x33e94a){return function(_0x62a86a){if(!_0x62a86a){_0x134eda[_0xd498('0x1f')](0x194);}return _0x62a86a;};}function handleError(_0x1aa95c,_0x3d0c4a){_0x3d0c4a=_0x3d0c4a||0x1f4;return function(_0x5951ed){logger[_0xd498('0x2e')](_0x5951ed[_0xd498('0x2f')]);if(_0x5951ed['name']){delete _0x5951ed[_0xd498('0x30')];}_0x1aa95c[_0xd498('0x21')](_0x3d0c4a)[_0xd498('0x31')](_0x5951ed);};}exports[_0xd498('0x32')]=function(_0x11f87f,_0x3d93c4){var _0x3666ba={},_0x25dbb4={},_0x5a898a={'count':0x0,'rows':[]};var _0x345aa6=_['map'](db['SquareProject']['rawAttributes'],function(_0x1f7e88){return{'name':_0x1f7e88[_0xd498('0x33')],'type':_0x1f7e88[_0xd498('0x34')][_0xd498('0x35')]};});_0x25dbb4[_0xd498('0x36')]=_[_0xd498('0x37')](_0x345aa6,_0xd498('0x30'));_0x25dbb4[_0xd498('0x38')]=_['keys'](_0x11f87f[_0xd498('0x38')]);_0x25dbb4['filters']=_[_0xd498('0x39')](_0x25dbb4[_0xd498('0x36')],_0x25dbb4[_0xd498('0x38')]);_0x3666ba[_0xd498('0x3a')]=_[_0xd498('0x39')](_0x25dbb4[_0xd498('0x36')],qs[_0xd498('0x3b')](_0x11f87f[_0xd498('0x38')]['fields']));_0x3666ba[_0xd498('0x3a')]=_0x3666ba['attributes'][_0xd498('0x3c')]?_0x3666ba[_0xd498('0x3a')]:_0x25dbb4[_0xd498('0x36')];if(!_0x11f87f[_0xd498('0x38')][_0xd498('0x3d')](_0xd498('0x3e'))){_0x3666ba[_0xd498('0x25')]=qs['limit'](_0x11f87f['query']['limit']);_0x3666ba[_0xd498('0x24')]=qs[_0xd498('0x24')](_0x11f87f[_0xd498('0x38')]['offset']);}_0x3666ba['order']=qs[_0xd498('0x3f')](_0x11f87f['query'][_0xd498('0x3f')]);_0x3666ba['where']=qs['filters'](_[_0xd498('0x40')](_0x11f87f[_0xd498('0x38')],_0x25dbb4[_0xd498('0x41')]),_0x345aa6);if(_0x11f87f[_0xd498('0x38')][_0xd498('0x42')]){_0x3666ba[_0xd498('0x43')]=_['merge'](_0x3666ba[_0xd498('0x43')],{'$or':_[_0xd498('0x37')](_0x345aa6,function(_0x59963c){if(_0x59963c[_0xd498('0x34')]!=='VIRTUAL'){var _0x51a408={};_0x51a408[_0x59963c[_0xd498('0x30')]]={'$like':'%'+_0x11f87f[_0xd498('0x38')][_0xd498('0x42')]+'%'};return _0x51a408;}})});}_0x3666ba=_[_0xd498('0x44')]({},_0x3666ba,_0x11f87f[_0xd498('0x45')]);var _0x44a73f={'where':_0x3666ba[_0xd498('0x43')]};return db[_0xd498('0x46')][_0xd498('0x23')](_0x44a73f)[_0xd498('0x2a')](function(_0x59fe67){_0x5a898a['count']=_0x59fe67;if(_0x11f87f[_0xd498('0x38')]['includeAll']){_0x3666ba['include']=[{'all':!![]}];}return db[_0xd498('0x46')][_0xd498('0x47')](_0x3666ba);})['then'](function(_0x3ac6b2){_0x5a898a[_0xd498('0x48')]=_0x3ac6b2;return _0x5a898a;})[_0xd498('0x2a')](respondWithFilteredResult(_0x3d93c4,_0x3666ba))[_0xd498('0x49')](handleError(_0x3d93c4,null));};exports[_0xd498('0x4a')]=function(_0x1f29d2,_0x5c7dbe){var _0x5c023d={'raw':![],'where':{'id':_0x1f29d2['params']['id']}},_0x50488c={};_0x50488c['model']=_['keys'](db[_0xd498('0x46')][_0xd498('0x4b')]);_0x50488c['query']=_[_0xd498('0x4c')](_0x1f29d2[_0xd498('0x38')]);_0x50488c['filters']=_[_0xd498('0x39')](_0x50488c[_0xd498('0x36')],_0x50488c[_0xd498('0x38')]);_0x5c023d[_0xd498('0x3a')]=_[_0xd498('0x39')](_0x50488c[_0xd498('0x36')],qs[_0xd498('0x3b')](_0x1f29d2['query']['fields']));_0x5c023d['attributes']=_0x5c023d[_0xd498('0x3a')][_0xd498('0x3c')]?_0x5c023d[_0xd498('0x3a')]:_0x50488c['model'];if(_0x1f29d2[_0xd498('0x38')][_0xd498('0x4d')]){_0x5c023d[_0xd498('0x4e')]=[{'all':!![]}];}_0x5c023d=_[_0xd498('0x44')]({},_0x5c023d,_0x1f29d2[_0xd498('0x45')]);return db['SquareProject'][_0xd498('0x4f')](_0x5c023d)[_0xd498('0x2a')](handleEntityNotFound(_0x5c7dbe,null))[_0xd498('0x2a')](respondWithResult(_0x5c7dbe,null))[_0xd498('0x49')](handleError(_0x5c7dbe,null));};exports[_0xd498('0x50')]=function(_0x240bc0,_0x3adb1c){return db[_0xd498('0x46')]['create'](_0x240bc0['body'],{})[_0xd498('0x2a')](function(_0x1bada5){var _0x220ff1=_0x240bc0['user']['get']({'plain':!![]});if(!_0x220ff1)throw new Error(_0xd498('0x51'));if(_0x220ff1[_0xd498('0x52')]===_0xd498('0x53')){var _0x42042a=_0x1bada5[_0xd498('0x54')]({'plain':!![]});var _0x1f22e8=_0xd498('0x2b');return db[_0xd498('0x55')][_0xd498('0x4f')]({'where':{'name':_0x1f22e8,'userProfileId':_0x220ff1[_0xd498('0x56')]},'raw':!![]})[_0xd498('0x2a')](function(_0x5e78a6){if(_0x5e78a6&&_0x5e78a6[_0xd498('0x57')]===0x0){return db[_0xd498('0x2c')][_0xd498('0x50')]({'name':_0x42042a[_0xd498('0x30')],'resourceId':_0x42042a['id'],'type':_0x5e78a6[_0xd498('0x30')],'sectionId':_0x5e78a6['id']},{})[_0xd498('0x2a')](function(){return _0x1bada5;});}else{return _0x1bada5;}})[_0xd498('0x49')](function(_0x14c3e5){logger[_0xd498('0x2e')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x14c3e5);throw _0x14c3e5;});}return _0x1bada5;})[_0xd498('0x2a')](respondWithResult(_0x3adb1c,0xc9))[_0xd498('0x49')](handleError(_0x3adb1c,null));};exports[_0xd498('0x29')]=function(_0x50bf9a,_0x349571){if(_0x50bf9a[_0xd498('0x58')]['id']){delete _0x50bf9a[_0xd498('0x58')]['id'];}return db['SquareProject'][_0xd498('0x4f')]({'where':{'id':_0x50bf9a[_0xd498('0x59')]['id']}})[_0xd498('0x2a')](handleEntityNotFound(_0x349571,null))[_0xd498('0x2a')](saveUpdates(_0x50bf9a[_0xd498('0x58')],null))[_0xd498('0x2a')](respondWithResult(_0x349571,null))['catch'](handleError(_0x349571,null));};exports[_0xd498('0x2d')]=function(_0x5e07a5,_0x384916){return db['SquareProject'][_0xd498('0x4f')]({'where':{'id':_0x5e07a5[_0xd498('0x59')]['id']}})[_0xd498('0x2a')](handleEntityNotFound(_0x384916,null))[_0xd498('0x2a')](removeEntity(_0x384916,null))[_0xd498('0x49')](handleError(_0x384916,null));};exports[_0xd498('0x5a')]=function(_0xa4564a,_0x2cab7b,_0x30054f){return db[_0xd498('0x46')][_0xd498('0x4f')]({'where':{'id':_0xa4564a[_0xd498('0x59')]['id']}})[_0xd498('0x2a')](handleEntityNotFound(_0x2cab7b,null))[_0xd498('0x2a')](function(_0x155c94){if(_0x155c94){return _0x155c94[_0xd498('0x5a')](_0xa4564a[_0xd498('0x58')]['ids'],_[_0xd498('0x5b')](_0xa4564a[_0xd498('0x58')],[_0xd498('0x5c'),'id'])||{});}})[_0xd498('0x2a')](respondWithResult(_0x2cab7b,null))[_0xd498('0x49')](handleError(_0x2cab7b,null));};exports[_0xd498('0x5d')]=function(_0x4e2d6c,_0x40b3b1,_0x392eed){return db[_0xd498('0x46')][_0xd498('0x4f')]({'where':{'id':_0x4e2d6c[_0xd498('0x59')]['id']}})[_0xd498('0x2a')](handleEntityNotFound(_0x40b3b1,null))[_0xd498('0x2a')](function(_0x192abb){if(_0x192abb){return _0x192abb[_0xd498('0x5d')](_0x4e2d6c['query'][_0xd498('0x5c')])[_0xd498('0x2a')](function(){if(_[_0xd498('0x5e')](_0x4e2d6c[_0xd498('0x38')][_0xd498('0x5c')])){for(var _0x51e5c5=0x0;_0x51e5c5<_0x4e2d6c[_0xd498('0x38')]['ids'][_0xd498('0x3c')];_0x51e5c5+=0x1){socket[_0xd498('0x5f')](_0xd498('0x60'),{'UserId':Number(_0x4e2d6c['query'][_0xd498('0x5c')][_0x51e5c5]),'SquareProjectId':Number(_0x4e2d6c['params']['id'])});}}else{socket[_0xd498('0x5f')]('userSquareProject:remove',{'UserId':Number(_0x4e2d6c[_0xd498('0x38')][_0xd498('0x5c')]),'SquareProjectId':Number(_0x4e2d6c[_0xd498('0x59')]['id'])});}});}})['then'](respondWithStatusCode(_0x40b3b1,null))[_0xd498('0x49')](handleError(_0x40b3b1,null));};exports[_0xd498('0x61')]=function(_0x4d56a8,_0x5eb76c,_0x53ba3d){var _0x414d00={};var _0x57d658={};var _0x25236f;var _0x4bc3ca;return db['SquareProject'][_0xd498('0x62')]({'where':{'id':_0x4d56a8[_0xd498('0x59')]['id']}})[_0xd498('0x2a')](handleEntityNotFound(_0x5eb76c,null))[_0xd498('0x2a')](function(_0x38cc3b){if(_0x38cc3b){_0x25236f=_0x38cc3b;_0x57d658[_0xd498('0x36')]=_[_0xd498('0x4c')](db[_0xd498('0x63')][_0xd498('0x4b')]);_0x57d658['query']=_[_0xd498('0x4c')](_0x4d56a8['query']);_0x57d658[_0xd498('0x41')]=_[_0xd498('0x39')](_0x57d658[_0xd498('0x36')],_0x57d658[_0xd498('0x38')]);_0x414d00[_0xd498('0x3a')]=_['intersection'](_0x57d658[_0xd498('0x36')],qs[_0xd498('0x3b')](_0x4d56a8['query'][_0xd498('0x3b')]));_0x414d00[_0xd498('0x3a')]=_0x414d00[_0xd498('0x3a')][_0xd498('0x3c')]?_0x414d00[_0xd498('0x3a')]:_0x57d658[_0xd498('0x36')];_0x414d00[_0xd498('0x64')]=qs[_0xd498('0x3f')](_0x4d56a8[_0xd498('0x38')][_0xd498('0x3f')]);_0x414d00[_0xd498('0x43')]=qs[_0xd498('0x41')](_['pick'](_0x4d56a8[_0xd498('0x38')],_0x57d658[_0xd498('0x41')]));if(_0x4d56a8[_0xd498('0x38')][_0xd498('0x42')]){_0x414d00[_0xd498('0x43')]=_[_0xd498('0x44')](_0x414d00[_0xd498('0x43')],{'$or':_[_0xd498('0x37')](_0x414d00[_0xd498('0x3a')],function(_0x5df149){var _0x538c86={};_0x538c86[_0x5df149]={'$like':'%'+_0x4d56a8['query'][_0xd498('0x42')]+'%'};return _0x538c86;})});}_0x414d00=_[_0xd498('0x44')]({},_0x414d00,_0x4d56a8[_0xd498('0x45')]);return _0x25236f[_0xd498('0x61')](_0x414d00);}})[_0xd498('0x2a')](function(_0x285614){if(_0x285614){_0x4bc3ca=_0x285614[_0xd498('0x3c')];if(!_0x4d56a8[_0xd498('0x38')][_0xd498('0x3d')]('nolimit')){_0x414d00[_0xd498('0x25')]=qs[_0xd498('0x25')](_0x4d56a8['query'][_0xd498('0x25')]);_0x414d00[_0xd498('0x24')]=qs['offset'](_0x4d56a8[_0xd498('0x38')][_0xd498('0x24')]);}return _0x25236f[_0xd498('0x61')](_0x414d00);}})[_0xd498('0x2a')](function(_0x5cdf83){if(_0x5cdf83){return _0x5cdf83?{'count':_0x4bc3ca,'rows':_0x5cdf83}:null;}})['then'](respondWithResult(_0x5eb76c,null))[_0xd498('0x49')](handleError(_0x5eb76c,null));};