Built motion from commit (unavailable).|2.5.14
[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 _0x13cf=['then','get','SquareProjects','UserProfileResource','destroy','error','stack','name','send','index','SquareProject','map','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','type','VIRTUAL','merge','count','includeAll','include','findAll','rows','catch','show','params','rawAttributes','options','find','create','user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','addUsers','omit','ids','removeUsers','isArray','emit','userSquareProject:remove','getUsers','findOne','User','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./squareProject.socket','register','sendStatus','end','status','json','offset','set','apply','save','update'];(function(_0x26355f,_0x198959){var _0x3a3807=function(_0x5eb637){while(--_0x5eb637){_0x26355f['push'](_0x26355f['shift']());}};_0x3a3807(++_0x198959);}(_0x13cf,0x1c3));var _0xf13c=function(_0x2d7f0e,_0x3e6fbd){_0x2d7f0e=_0x2d7f0e-0x0;var _0x110b07=_0x13cf[_0x2d7f0e];return _0x110b07;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xf13c('0x0'));var rimraf=require(_0xf13c('0x1'));var zipdir=require(_0xf13c('0x2'));var jsonpatch=require(_0xf13c('0x3'));var rp=require(_0xf13c('0x4'));var moment=require(_0xf13c('0x5'));var BPromise=require(_0xf13c('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0xf13c('0x7'));var sox=require(_0xf13c('0x8'));var csv=require(_0xf13c('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xf13c('0xa'));var squel=require('squel');var crypto=require(_0xf13c('0xb'));var jsforce=require(_0xf13c('0xc'));var deskjs=require(_0xf13c('0xd'));var toCsv=require(_0xf13c('0x9'));var querystring=require(_0xf13c('0xe'));var Papa=require(_0xf13c('0xf'));var Redis=require('ioredis');var authService=require(_0xf13c('0x10'));var qs=require(_0xf13c('0x11'));var as=require(_0xf13c('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xf13c('0x13'))('api');var utils=require(_0xf13c('0x14'));var config=require(_0xf13c('0x15'));var licenseUtil=require(_0xf13c('0x16'));var db=require(_0xf13c('0x17'))['db'];config[_0xf13c('0x18')]=_[_0xf13c('0x19')](config[_0xf13c('0x18')],{'host':_0xf13c('0x1a'),'port':0x18eb});var socket=require(_0xf13c('0x1b'))(new Redis(config[_0xf13c('0x18')]));require(_0xf13c('0x1c'))[_0xf13c('0x1d')](socket);function respondWithStatusCode(_0x113a37,_0x5b1d68){_0x5b1d68=_0x5b1d68||0xcc;return function(_0x2724a7){if(_0x2724a7){return _0x113a37[_0xf13c('0x1e')](_0x5b1d68);}return _0x113a37['status'](_0x5b1d68)[_0xf13c('0x1f')]();};}function respondWithResult(_0x24e888,_0x3f753c){_0x3f753c=_0x3f753c||0xc8;return function(_0x560a8b){if(_0x560a8b){return _0x24e888[_0xf13c('0x20')](_0x3f753c)[_0xf13c('0x21')](_0x560a8b);}};}function respondWithFilteredResult(_0x23a67d,_0x531d42){return function(_0x12c7fc){if(_0x12c7fc){var _0x279c66=_0x12c7fc['count'],_0x52c0ee=_0x531d42[_0xf13c('0x22')],_0x104145=_0x531d42[_0xf13c('0x22')]+_0x531d42['limit'],_0x922163;if(_0x104145>=_0x279c66){_0x104145=_0x279c66;_0x922163=0xc8;}else{_0x922163=0xce;}_0x23a67d['status'](_0x922163);return _0x23a67d[_0xf13c('0x23')]('Content-Range',_0x52c0ee+'-'+_0x104145+'/'+_0x279c66)['json'](_0x12c7fc);}return null;};}function patchUpdates(_0x5a794d){return function(_0x11d6f8){try{jsonpatch[_0xf13c('0x24')](_0x11d6f8,_0x5a794d,!![]);}catch(_0x3fe003){return BPromise['reject'](_0x3fe003);}return _0x11d6f8[_0xf13c('0x25')]();};}function saveUpdates(_0x26754b,_0x35d91f){return function(_0x4cc8d0){if(_0x4cc8d0){return _0x4cc8d0[_0xf13c('0x26')](_0x26754b)[_0xf13c('0x27')](function(_0x1a4fde){return _0x1a4fde;});}return null;};}function removeEntity(_0x23561d,_0x2fb43c){return function(_0xf224c2){if(_0xf224c2){return _0xf224c2['destroy']()['then'](function(){var _0x1419c1=_0xf224c2[_0xf13c('0x28')]({'plain':!![]});var _0x2877b6=_0xf13c('0x29');return db[_0xf13c('0x2a')][_0xf13c('0x2b')]({'where':{'type':_0x2877b6,'resourceId':_0x1419c1['id']}})[_0xf13c('0x27')](function(){return _0xf224c2;});})[_0xf13c('0x27')](function(){_0x23561d[_0xf13c('0x20')](0xcc)[_0xf13c('0x1f')]();});}};}function handleEntityNotFound(_0x59eb9a,_0x3565ec){return function(_0x21ee20){if(!_0x21ee20){_0x59eb9a['sendStatus'](0x194);}return _0x21ee20;};}function handleError(_0x2e9641,_0x46e1b5){_0x46e1b5=_0x46e1b5||0x1f4;return function(_0x211456){logger[_0xf13c('0x2c')](_0x211456[_0xf13c('0x2d')]);if(_0x211456[_0xf13c('0x2e')]){delete _0x211456[_0xf13c('0x2e')];}_0x2e9641[_0xf13c('0x20')](_0x46e1b5)[_0xf13c('0x2f')](_0x211456);};}exports[_0xf13c('0x30')]=function(_0x2f211a,_0x49bc5c){var _0x2c536={},_0x3a0052={},_0xc4ce97={'count':0x0,'rows':[]};var _0x43771e=_['map'](db[_0xf13c('0x31')]['rawAttributes'],function(_0x24f46e){return{'name':_0x24f46e['fieldName'],'type':_0x24f46e['type']['key']};});_0x3a0052['model']=_[_0xf13c('0x32')](_0x43771e,_0xf13c('0x2e'));_0x3a0052['query']=_[_0xf13c('0x33')](_0x2f211a[_0xf13c('0x34')]);_0x3a0052[_0xf13c('0x35')]=_[_0xf13c('0x36')](_0x3a0052[_0xf13c('0x37')],_0x3a0052[_0xf13c('0x34')]);_0x2c536[_0xf13c('0x38')]=_[_0xf13c('0x36')](_0x3a0052['model'],qs['fields'](_0x2f211a['query'][_0xf13c('0x39')]));_0x2c536[_0xf13c('0x38')]=_0x2c536[_0xf13c('0x38')][_0xf13c('0x3a')]?_0x2c536[_0xf13c('0x38')]:_0x3a0052[_0xf13c('0x37')];if(!_0x2f211a['query'][_0xf13c('0x3b')](_0xf13c('0x3c'))){_0x2c536['limit']=qs[_0xf13c('0x3d')](_0x2f211a[_0xf13c('0x34')]['limit']);_0x2c536['offset']=qs[_0xf13c('0x22')](_0x2f211a[_0xf13c('0x34')][_0xf13c('0x22')]);}_0x2c536[_0xf13c('0x3e')]=qs[_0xf13c('0x3f')](_0x2f211a['query'][_0xf13c('0x3f')]);_0x2c536[_0xf13c('0x40')]=qs[_0xf13c('0x35')](_[_0xf13c('0x41')](_0x2f211a[_0xf13c('0x34')],_0x3a0052[_0xf13c('0x35')]),_0x43771e);if(_0x2f211a[_0xf13c('0x34')][_0xf13c('0x42')]){_0x2c536[_0xf13c('0x40')]=_['merge'](_0x2c536[_0xf13c('0x40')],{'$or':_[_0xf13c('0x32')](_0x43771e,function(_0x58d99a){if(_0x58d99a[_0xf13c('0x43')]!==_0xf13c('0x44')){var _0x156daa={};_0x156daa[_0x58d99a[_0xf13c('0x2e')]]={'$like':'%'+_0x2f211a[_0xf13c('0x34')]['filter']+'%'};return _0x156daa;}})});}_0x2c536=_[_0xf13c('0x45')]({},_0x2c536,_0x2f211a['options']);var _0x15585a={'where':_0x2c536[_0xf13c('0x40')]};return db[_0xf13c('0x31')][_0xf13c('0x46')](_0x15585a)['then'](function(_0x576481){_0xc4ce97['count']=_0x576481;if(_0x2f211a[_0xf13c('0x34')][_0xf13c('0x47')]){_0x2c536[_0xf13c('0x48')]=[{'all':!![]}];}return db[_0xf13c('0x31')][_0xf13c('0x49')](_0x2c536);})[_0xf13c('0x27')](function(_0x412f71){_0xc4ce97[_0xf13c('0x4a')]=_0x412f71;return _0xc4ce97;})['then'](respondWithFilteredResult(_0x49bc5c,_0x2c536))[_0xf13c('0x4b')](handleError(_0x49bc5c,null));};exports[_0xf13c('0x4c')]=function(_0x4c259b,_0x55607d){var _0x407041={'raw':![],'where':{'id':_0x4c259b[_0xf13c('0x4d')]['id']}},_0x5693ba={};_0x5693ba['model']=_[_0xf13c('0x33')](db['SquareProject'][_0xf13c('0x4e')]);_0x5693ba[_0xf13c('0x34')]=_['keys'](_0x4c259b['query']);_0x5693ba['filters']=_[_0xf13c('0x36')](_0x5693ba[_0xf13c('0x37')],_0x5693ba[_0xf13c('0x34')]);_0x407041['attributes']=_['intersection'](_0x5693ba[_0xf13c('0x37')],qs[_0xf13c('0x39')](_0x4c259b[_0xf13c('0x34')][_0xf13c('0x39')]));_0x407041[_0xf13c('0x38')]=_0x407041[_0xf13c('0x38')][_0xf13c('0x3a')]?_0x407041[_0xf13c('0x38')]:_0x5693ba['model'];if(_0x4c259b[_0xf13c('0x34')][_0xf13c('0x47')]){_0x407041[_0xf13c('0x48')]=[{'all':!![]}];}_0x407041=_['merge']({},_0x407041,_0x4c259b[_0xf13c('0x4f')]);return db['SquareProject'][_0xf13c('0x50')](_0x407041)[_0xf13c('0x27')](handleEntityNotFound(_0x55607d,null))[_0xf13c('0x27')](respondWithResult(_0x55607d,null))[_0xf13c('0x4b')](handleError(_0x55607d,null));};exports[_0xf13c('0x51')]=function(_0x13e3d0,_0x5cd231){return db['SquareProject'][_0xf13c('0x51')](_0x13e3d0['body'],{})['then'](function(_0x49e2e3){var _0xe2d2b1=_0x13e3d0[_0xf13c('0x52')][_0xf13c('0x28')]({'plain':!![]});if(!_0xe2d2b1)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xe2d2b1[_0xf13c('0x53')]===_0xf13c('0x52')){var _0xa0751e=_0x49e2e3['get']({'plain':!![]});var _0x4fccbf=_0xf13c('0x29');return db[_0xf13c('0x54')]['find']({'where':{'name':_0x4fccbf,'userProfileId':_0xe2d2b1[_0xf13c('0x55')]},'raw':!![]})[_0xf13c('0x27')](function(_0x1d5190){if(_0x1d5190&&_0x1d5190['autoAssociation']===0x0){return db['UserProfileResource'][_0xf13c('0x51')]({'name':_0xa0751e[_0xf13c('0x2e')],'resourceId':_0xa0751e['id'],'type':_0x1d5190[_0xf13c('0x2e')],'sectionId':_0x1d5190['id']},{})[_0xf13c('0x27')](function(){return _0x49e2e3;});}else{return _0x49e2e3;}})[_0xf13c('0x4b')](function(_0x36d757){logger[_0xf13c('0x2c')](_0xf13c('0x56'),_0x36d757);throw _0x36d757;});}return _0x49e2e3;})[_0xf13c('0x27')](respondWithResult(_0x5cd231,0xc9))['catch'](handleError(_0x5cd231,null));};exports[_0xf13c('0x26')]=function(_0x436bcf,_0x58d48d){if(_0x436bcf[_0xf13c('0x57')]['id']){delete _0x436bcf[_0xf13c('0x57')]['id'];}return db['SquareProject'][_0xf13c('0x50')]({'where':{'id':_0x436bcf[_0xf13c('0x4d')]['id']}})[_0xf13c('0x27')](handleEntityNotFound(_0x58d48d,null))[_0xf13c('0x27')](saveUpdates(_0x436bcf['body'],null))[_0xf13c('0x27')](respondWithResult(_0x58d48d,null))[_0xf13c('0x4b')](handleError(_0x58d48d,null));};exports[_0xf13c('0x2b')]=function(_0x3c3da6,_0x3048d4){return db['SquareProject'][_0xf13c('0x50')]({'where':{'id':_0x3c3da6[_0xf13c('0x4d')]['id']}})['then'](handleEntityNotFound(_0x3048d4,null))[_0xf13c('0x27')](removeEntity(_0x3048d4,null))['catch'](handleError(_0x3048d4,null));};exports[_0xf13c('0x58')]=function(_0x4fa74b,_0x30de10,_0x525029){return db['SquareProject'][_0xf13c('0x50')]({'where':{'id':_0x4fa74b[_0xf13c('0x4d')]['id']}})[_0xf13c('0x27')](handleEntityNotFound(_0x30de10,null))[_0xf13c('0x27')](function(_0x16f77){if(_0x16f77){return _0x16f77['addUsers'](_0x4fa74b['body']['ids'],_[_0xf13c('0x59')](_0x4fa74b[_0xf13c('0x57')],[_0xf13c('0x5a'),'id'])||{});}})['then'](respondWithResult(_0x30de10,null))[_0xf13c('0x4b')](handleError(_0x30de10,null));};exports[_0xf13c('0x5b')]=function(_0x4b7db7,_0x2da31d,_0x358c55){return db[_0xf13c('0x31')][_0xf13c('0x50')]({'where':{'id':_0x4b7db7[_0xf13c('0x4d')]['id']}})['then'](handleEntityNotFound(_0x2da31d,null))[_0xf13c('0x27')](function(_0x6c530e){if(_0x6c530e){return _0x6c530e[_0xf13c('0x5b')](_0x4b7db7[_0xf13c('0x34')][_0xf13c('0x5a')])[_0xf13c('0x27')](function(){if(_[_0xf13c('0x5c')](_0x4b7db7['query']['ids'])){for(var _0x3033d9=0x0;_0x3033d9<_0x4b7db7['query'][_0xf13c('0x5a')][_0xf13c('0x3a')];_0x3033d9+=0x1){socket[_0xf13c('0x5d')](_0xf13c('0x5e'),{'UserId':Number(_0x4b7db7[_0xf13c('0x34')][_0xf13c('0x5a')][_0x3033d9]),'SquareProjectId':Number(_0x4b7db7[_0xf13c('0x4d')]['id'])});}}else{socket[_0xf13c('0x5d')]('userSquareProject:remove',{'UserId':Number(_0x4b7db7['query'][_0xf13c('0x5a')]),'SquareProjectId':Number(_0x4b7db7['params']['id'])});}});}})[_0xf13c('0x27')](respondWithStatusCode(_0x2da31d,null))['catch'](handleError(_0x2da31d,null));};exports[_0xf13c('0x5f')]=function(_0x212998,_0x3c5dd9,_0x2ff4d7){var _0x279ca3={};var _0x4bd03a={};var _0x2c4e4f;var _0x5c6ac8;return db[_0xf13c('0x31')][_0xf13c('0x60')]({'where':{'id':_0x212998[_0xf13c('0x4d')]['id']}})[_0xf13c('0x27')](handleEntityNotFound(_0x3c5dd9,null))['then'](function(_0x109b25){if(_0x109b25){_0x2c4e4f=_0x109b25;_0x4bd03a[_0xf13c('0x37')]=_[_0xf13c('0x33')](db[_0xf13c('0x61')][_0xf13c('0x4e')]);_0x4bd03a[_0xf13c('0x34')]=_['keys'](_0x212998[_0xf13c('0x34')]);_0x4bd03a[_0xf13c('0x35')]=_[_0xf13c('0x36')](_0x4bd03a['model'],_0x4bd03a[_0xf13c('0x34')]);_0x279ca3[_0xf13c('0x38')]=_[_0xf13c('0x36')](_0x4bd03a['model'],qs[_0xf13c('0x39')](_0x212998[_0xf13c('0x34')]['fields']));_0x279ca3[_0xf13c('0x38')]=_0x279ca3['attributes'][_0xf13c('0x3a')]?_0x279ca3[_0xf13c('0x38')]:_0x4bd03a[_0xf13c('0x37')];_0x279ca3['order']=qs['sort'](_0x212998[_0xf13c('0x34')][_0xf13c('0x3f')]);_0x279ca3[_0xf13c('0x40')]=qs[_0xf13c('0x35')](_['pick'](_0x212998[_0xf13c('0x34')],_0x4bd03a[_0xf13c('0x35')]));if(_0x212998[_0xf13c('0x34')]['filter']){_0x279ca3[_0xf13c('0x40')]=_['merge'](_0x279ca3['where'],{'$or':_[_0xf13c('0x32')](_0x279ca3[_0xf13c('0x38')],function(_0x58a85a){var _0x57fccf={};_0x57fccf[_0x58a85a]={'$like':'%'+_0x212998[_0xf13c('0x34')][_0xf13c('0x42')]+'%'};return _0x57fccf;})});}_0x279ca3=_[_0xf13c('0x45')]({},_0x279ca3,_0x212998[_0xf13c('0x4f')]);return _0x2c4e4f[_0xf13c('0x5f')](_0x279ca3);}})[_0xf13c('0x27')](function(_0x3cc319){if(_0x3cc319){_0x5c6ac8=_0x3cc319[_0xf13c('0x3a')];if(!_0x212998[_0xf13c('0x34')][_0xf13c('0x3b')](_0xf13c('0x3c'))){_0x279ca3['limit']=qs[_0xf13c('0x3d')](_0x212998['query'][_0xf13c('0x3d')]);_0x279ca3[_0xf13c('0x22')]=qs[_0xf13c('0x22')](_0x212998[_0xf13c('0x34')][_0xf13c('0x22')]);}return _0x2c4e4f[_0xf13c('0x5f')](_0x279ca3);}})[_0xf13c('0x27')](function(_0x4d691a){if(_0x4d691a){return _0x4d691a?{'count':_0x5c6ac8,'rows':_0x4d691a}:null;}})[_0xf13c('0x27')](respondWithResult(_0x3c5dd9,null))[_0xf13c('0x4b')](handleError(_0x3c5dd9,null));};