Built motion from commit (unavailable).|2.5.31
[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 _0x814b=['omit','removeUsers','isArray','emit','userSquareProject:remove','getUsers','findOne','User','hasOwnProperty','nolimit','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./squareProject.socket','register','sendStatus','status','end','json','offset','count','limit','set','Content-Range','apply','reject','update','then','destroy','get','SquareProjects','UserProfileResource','stack','render','contact','message','interaction','account','index','map','SquareProject','rawAttributes','type','model','name','keys','query','intersection','attributes','length','order','sort','where','filters','pick','filter','options','includeAll','include','findAll','catch','show','params','fields','merge','body','user','role','userProfileId','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','addUsers','ids'];(function(_0xd92031,_0xdc1d3a){var _0x4db3da=function(_0x3d2354){while(--_0x3d2354){_0xd92031['push'](_0xd92031['shift']());}};_0x4db3da(++_0xdc1d3a);}(_0x814b,0x1a2));var _0xb814=function(_0x2ff4bd,_0x4780a6){_0x2ff4bd=_0x2ff4bd-0x0;var _0x28edc6=_0x814b[_0x2ff4bd];return _0x28edc6;};'use strict';var emlformat=require(_0xb814('0x0'));var rimraf=require(_0xb814('0x1'));var zipdir=require(_0xb814('0x2'));var jsonpatch=require(_0xb814('0x3'));var rp=require(_0xb814('0x4'));var moment=require(_0xb814('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xb814('0x6'));var util=require(_0xb814('0x7'));var path=require(_0xb814('0x8'));var sox=require(_0xb814('0x9'));var csv=require(_0xb814('0xa'));var ejs=require(_0xb814('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xb814('0xc'));var squel=require(_0xb814('0xd'));var crypto=require('crypto');var jsforce=require(_0xb814('0xe'));var deskjs=require(_0xb814('0xf'));var toCsv=require(_0xb814('0xa'));var querystring=require(_0xb814('0x10'));var Papa=require(_0xb814('0x11'));var Redis=require(_0xb814('0x12'));var authService=require(_0xb814('0x13'));var qs=require(_0xb814('0x14'));var as=require(_0xb814('0x15'));var hardwareService=require(_0xb814('0x16'));var logger=require(_0xb814('0x17'))('api');var utils=require(_0xb814('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0xb814('0x19'));var db=require(_0xb814('0x1a'))['db'];config[_0xb814('0x1b')]=_[_0xb814('0x1c')](config[_0xb814('0x1b')],{'host':_0xb814('0x1d'),'port':0x18eb});var socket=require(_0xb814('0x1e'))(new Redis(config[_0xb814('0x1b')]));require(_0xb814('0x1f'))[_0xb814('0x20')](socket);function respondWithStatusCode(_0x3f4881,_0x44fb96){_0x44fb96=_0x44fb96||0xcc;return function(_0x17f5bd){if(_0x17f5bd){return _0x3f4881[_0xb814('0x21')](_0x44fb96);}return _0x3f4881[_0xb814('0x22')](_0x44fb96)[_0xb814('0x23')]();};}function respondWithResult(_0x45e0d0,_0x265a83){_0x265a83=_0x265a83||0xc8;return function(_0x125ce2){if(_0x125ce2){return _0x45e0d0[_0xb814('0x22')](_0x265a83)[_0xb814('0x24')](_0x125ce2);}};}function respondWithFilteredResult(_0x48c9df,_0x168a48){return function(_0x55ba16){if(_0x55ba16){var _0x270598=typeof _0x168a48[_0xb814('0x25')]==='undefined'&&typeof _0x168a48['limit']==='undefined';var _0x399b43=_0x55ba16['count'];var _0x57c128=_0x270598?0x0:_0x168a48[_0xb814('0x25')];var _0x24211d=_0x270598?_0x55ba16[_0xb814('0x26')]:_0x168a48['offset']+_0x168a48[_0xb814('0x27')];var _0x531032;if(_0x24211d>=_0x399b43){_0x24211d=_0x399b43;_0x531032=0xc8;}else{_0x531032=0xce;}_0x48c9df[_0xb814('0x22')](_0x531032);return _0x48c9df[_0xb814('0x28')](_0xb814('0x29'),_0x57c128+'-'+_0x24211d+'/'+_0x399b43)[_0xb814('0x24')](_0x55ba16);}return null;};}function patchUpdates(_0x27352e){return function(_0x2bd039){try{jsonpatch[_0xb814('0x2a')](_0x2bd039,_0x27352e,!![]);}catch(_0x594470){return BPromise[_0xb814('0x2b')](_0x594470);}return _0x2bd039['save']();};}function saveUpdates(_0x3f81d0,_0x457dac){return function(_0x31c7ec){if(_0x31c7ec){return _0x31c7ec[_0xb814('0x2c')](_0x3f81d0)[_0xb814('0x2d')](function(_0xb9e57d){return _0xb9e57d;});}return null;};}function removeEntity(_0x3d836c,_0x5755ea){return function(_0x392222){if(_0x392222){return _0x392222[_0xb814('0x2e')]()[_0xb814('0x2d')](function(){var _0x349394=_0x392222[_0xb814('0x2f')]({'plain':!![]});var _0x1d5965=_0xb814('0x30');return db[_0xb814('0x31')]['destroy']({'where':{'type':_0x1d5965,'resourceId':_0x349394['id']}})[_0xb814('0x2d')](function(){return _0x392222;});})[_0xb814('0x2d')](function(){_0x3d836c['status'](0xcc)[_0xb814('0x23')]();});}};}function handleEntityNotFound(_0x37d24d,_0x530744){return function(_0x499f22){if(!_0x499f22){_0x37d24d[_0xb814('0x21')](0x194);}return _0x499f22;};}function handleError(_0x2051d0,_0x58c3ca){_0x58c3ca=_0x58c3ca||0x1f4;return function(_0x338a28){logger['error'](_0x338a28[_0xb814('0x32')]);if(_0x338a28['name']){delete _0x338a28['name'];}_0x2051d0[_0xb814('0x22')](_0x58c3ca)['send'](_0x338a28);};}function getMustacheRender(_0x2431e2,_0x19469b){return Mustache[_0xb814('0x33')](_0x2431e2,_['merge'](_0x19469b['body'],{'contact':_0x19469b[_0xb814('0x34')],'message':_0x19469b[_0xb814('0x35')],'agent':_0x19469b['agent'],'interaction':_0x19469b[_0xb814('0x36')],'account':_0x19469b[_0xb814('0x37')]}))||'';}exports[_0xb814('0x38')]=function(_0x217b7e,_0x1b78de){var _0x60024d={},_0x3672f3={},_0x4df4e6={'count':0x0,'rows':[]};var _0x3207ec=_[_0xb814('0x39')](db[_0xb814('0x3a')][_0xb814('0x3b')],function(_0x14100d){return{'name':_0x14100d['fieldName'],'type':_0x14100d[_0xb814('0x3c')]['key']};});_0x3672f3[_0xb814('0x3d')]=_[_0xb814('0x39')](_0x3207ec,_0xb814('0x3e'));_0x3672f3['query']=_[_0xb814('0x3f')](_0x217b7e[_0xb814('0x40')]);_0x3672f3['filters']=_[_0xb814('0x41')](_0x3672f3[_0xb814('0x3d')],_0x3672f3[_0xb814('0x40')]);_0x60024d[_0xb814('0x42')]=_[_0xb814('0x41')](_0x3672f3[_0xb814('0x3d')],qs['fields'](_0x217b7e[_0xb814('0x40')]['fields']));_0x60024d[_0xb814('0x42')]=_0x60024d['attributes'][_0xb814('0x43')]?_0x60024d['attributes']:_0x3672f3[_0xb814('0x3d')];if(!_0x217b7e[_0xb814('0x40')]['hasOwnProperty']('nolimit')){_0x60024d['limit']=qs['limit'](_0x217b7e[_0xb814('0x40')][_0xb814('0x27')]);_0x60024d[_0xb814('0x25')]=qs[_0xb814('0x25')](_0x217b7e['query']['offset']);}_0x60024d[_0xb814('0x44')]=qs['sort'](_0x217b7e[_0xb814('0x40')][_0xb814('0x45')]);_0x60024d[_0xb814('0x46')]=qs[_0xb814('0x47')](_[_0xb814('0x48')](_0x217b7e[_0xb814('0x40')],_0x3672f3[_0xb814('0x47')]),_0x3207ec);if(_0x217b7e[_0xb814('0x40')][_0xb814('0x49')]){_0x60024d['where']=_['merge'](_0x60024d['where'],{'$or':_[_0xb814('0x39')](_0x3207ec,function(_0x5ba0bc){if(_0x5ba0bc[_0xb814('0x3c')]!=='VIRTUAL'){var _0x411723={};_0x411723[_0x5ba0bc[_0xb814('0x3e')]]={'$like':'%'+_0x217b7e[_0xb814('0x40')][_0xb814('0x49')]+'%'};return _0x411723;}})});}_0x60024d=_['merge']({},_0x60024d,_0x217b7e[_0xb814('0x4a')]);var _0x15f01a={'where':_0x60024d[_0xb814('0x46')]};return db[_0xb814('0x3a')][_0xb814('0x26')](_0x15f01a)[_0xb814('0x2d')](function(_0x534eb8){_0x4df4e6[_0xb814('0x26')]=_0x534eb8;if(_0x217b7e[_0xb814('0x40')][_0xb814('0x4b')]){_0x60024d[_0xb814('0x4c')]=[{'all':!![]}];}return db[_0xb814('0x3a')][_0xb814('0x4d')](_0x60024d);})[_0xb814('0x2d')](function(_0x519545){_0x4df4e6['rows']=_0x519545;return _0x4df4e6;})[_0xb814('0x2d')](respondWithFilteredResult(_0x1b78de,_0x60024d))[_0xb814('0x4e')](handleError(_0x1b78de,null));};exports[_0xb814('0x4f')]=function(_0x2bf906,_0x43f1b){var _0x40e627={'raw':![],'where':{'id':_0x2bf906[_0xb814('0x50')]['id']}},_0x24b697={};_0x24b697[_0xb814('0x3d')]=_[_0xb814('0x3f')](db[_0xb814('0x3a')]['rawAttributes']);_0x24b697[_0xb814('0x40')]=_[_0xb814('0x3f')](_0x2bf906['query']);_0x24b697[_0xb814('0x47')]=_['intersection'](_0x24b697[_0xb814('0x3d')],_0x24b697[_0xb814('0x40')]);_0x40e627[_0xb814('0x42')]=_[_0xb814('0x41')](_0x24b697[_0xb814('0x3d')],qs[_0xb814('0x51')](_0x2bf906[_0xb814('0x40')][_0xb814('0x51')]));_0x40e627[_0xb814('0x42')]=_0x40e627[_0xb814('0x42')]['length']?_0x40e627['attributes']:_0x24b697[_0xb814('0x3d')];if(_0x2bf906[_0xb814('0x40')][_0xb814('0x4b')]){_0x40e627[_0xb814('0x4c')]=[{'all':!![]}];}_0x40e627=_[_0xb814('0x52')]({},_0x40e627,_0x2bf906[_0xb814('0x4a')]);return db[_0xb814('0x3a')]['find'](_0x40e627)[_0xb814('0x2d')](handleEntityNotFound(_0x43f1b,null))[_0xb814('0x2d')](respondWithResult(_0x43f1b,null))[_0xb814('0x4e')](handleError(_0x43f1b,null));};exports['create']=function(_0x3a5556,_0x4e6f3c){return db[_0xb814('0x3a')]['create'](_0x3a5556[_0xb814('0x53')],{})[_0xb814('0x2d')](function(_0x590c4b){var _0x793ea1=_0x3a5556[_0xb814('0x54')][_0xb814('0x2f')]({'plain':!![]});if(!_0x793ea1)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x793ea1[_0xb814('0x55')]==='user'){var _0x13bdcf=_0x590c4b[_0xb814('0x2f')]({'plain':!![]});var _0x4aed78=_0xb814('0x30');return db['UserProfileSection']['find']({'where':{'name':_0x4aed78,'userProfileId':_0x793ea1[_0xb814('0x56')]},'raw':!![]})[_0xb814('0x2d')](function(_0x34935b){if(_0x34935b&&_0x34935b['autoAssociation']===0x0){return db[_0xb814('0x31')]['create']({'name':_0x13bdcf[_0xb814('0x3e')],'resourceId':_0x13bdcf['id'],'type':_0x34935b[_0xb814('0x3e')],'sectionId':_0x34935b['id']},{})['then'](function(){return _0x590c4b;});}else{return _0x590c4b;}})[_0xb814('0x4e')](function(_0x5c32c2){logger[_0xb814('0x57')](_0xb814('0x58'),_0x5c32c2);throw _0x5c32c2;});}return _0x590c4b;})[_0xb814('0x2d')](respondWithResult(_0x4e6f3c,0xc9))[_0xb814('0x4e')](handleError(_0x4e6f3c,null));};exports[_0xb814('0x2c')]=function(_0x34acca,_0x21d3e9){if(_0x34acca[_0xb814('0x53')]['id']){delete _0x34acca['body']['id'];}return db[_0xb814('0x3a')][_0xb814('0x59')]({'where':{'id':_0x34acca['params']['id']}})[_0xb814('0x2d')](handleEntityNotFound(_0x21d3e9,null))[_0xb814('0x2d')](saveUpdates(_0x34acca['body'],null))[_0xb814('0x2d')](respondWithResult(_0x21d3e9,null))['catch'](handleError(_0x21d3e9,null));};exports['destroy']=function(_0x2114ca,_0x5257be){return db[_0xb814('0x3a')][_0xb814('0x59')]({'where':{'id':_0x2114ca[_0xb814('0x50')]['id']}})['then'](handleEntityNotFound(_0x5257be,null))[_0xb814('0x2d')](removeEntity(_0x5257be,null))['catch'](handleError(_0x5257be,null));};exports[_0xb814('0x5a')]=function(_0x1e9196,_0x1236d4,_0x176585){return db[_0xb814('0x3a')][_0xb814('0x59')]({'where':{'id':_0x1e9196[_0xb814('0x50')]['id']}})[_0xb814('0x2d')](handleEntityNotFound(_0x1236d4,null))[_0xb814('0x2d')](function(_0x4d611d){if(_0x4d611d){return _0x4d611d[_0xb814('0x5a')](_0x1e9196[_0xb814('0x53')][_0xb814('0x5b')],_[_0xb814('0x5c')](_0x1e9196[_0xb814('0x53')],[_0xb814('0x5b'),'id'])||{});}})['then'](respondWithResult(_0x1236d4,null))[_0xb814('0x4e')](handleError(_0x1236d4,null));};exports['removeUsers']=function(_0x3cd4f7,_0x39b754,_0xac95cf){return db['SquareProject'][_0xb814('0x59')]({'where':{'id':_0x3cd4f7['params']['id']}})[_0xb814('0x2d')](handleEntityNotFound(_0x39b754,null))['then'](function(_0x2f0c94){if(_0x2f0c94){return _0x2f0c94[_0xb814('0x5d')](_0x3cd4f7[_0xb814('0x40')][_0xb814('0x5b')])[_0xb814('0x2d')](function(){if(_[_0xb814('0x5e')](_0x3cd4f7[_0xb814('0x40')]['ids'])){for(var _0x44088d=0x0;_0x44088d<_0x3cd4f7['query'][_0xb814('0x5b')][_0xb814('0x43')];_0x44088d+=0x1){socket[_0xb814('0x5f')](_0xb814('0x60'),{'UserId':Number(_0x3cd4f7[_0xb814('0x40')][_0xb814('0x5b')][_0x44088d]),'SquareProjectId':Number(_0x3cd4f7['params']['id'])});}}else{socket[_0xb814('0x5f')](_0xb814('0x60'),{'UserId':Number(_0x3cd4f7['query'][_0xb814('0x5b')]),'SquareProjectId':Number(_0x3cd4f7[_0xb814('0x50')]['id'])});}});}})[_0xb814('0x2d')](respondWithStatusCode(_0x39b754,null))[_0xb814('0x4e')](handleError(_0x39b754,null));};exports[_0xb814('0x61')]=function(_0x51d834,_0x3a4d4b,_0x5e8e8e){var _0x24594a={};var _0x16f8f2={};var _0x2645f6;var _0x45dc85;return db[_0xb814('0x3a')][_0xb814('0x62')]({'where':{'id':_0x51d834['params']['id']}})['then'](handleEntityNotFound(_0x3a4d4b,null))['then'](function(_0x25c776){if(_0x25c776){_0x2645f6=_0x25c776;_0x16f8f2['model']=_[_0xb814('0x3f')](db[_0xb814('0x63')][_0xb814('0x3b')]);_0x16f8f2['query']=_[_0xb814('0x3f')](_0x51d834[_0xb814('0x40')]);_0x16f8f2[_0xb814('0x47')]=_['intersection'](_0x16f8f2[_0xb814('0x3d')],_0x16f8f2[_0xb814('0x40')]);_0x24594a[_0xb814('0x42')]=_[_0xb814('0x41')](_0x16f8f2['model'],qs['fields'](_0x51d834[_0xb814('0x40')][_0xb814('0x51')]));_0x24594a[_0xb814('0x42')]=_0x24594a[_0xb814('0x42')][_0xb814('0x43')]?_0x24594a[_0xb814('0x42')]:_0x16f8f2[_0xb814('0x3d')];_0x24594a[_0xb814('0x44')]=qs[_0xb814('0x45')](_0x51d834[_0xb814('0x40')][_0xb814('0x45')]);_0x24594a[_0xb814('0x46')]=qs[_0xb814('0x47')](_[_0xb814('0x48')](_0x51d834[_0xb814('0x40')],_0x16f8f2['filters']));if(_0x51d834[_0xb814('0x40')][_0xb814('0x49')]){_0x24594a[_0xb814('0x46')]=_[_0xb814('0x52')](_0x24594a[_0xb814('0x46')],{'$or':_[_0xb814('0x39')](_0x24594a['attributes'],function(_0xff4dc2){var _0x52e1fc={};_0x52e1fc[_0xff4dc2]={'$like':'%'+_0x51d834[_0xb814('0x40')][_0xb814('0x49')]+'%'};return _0x52e1fc;})});}_0x24594a=_[_0xb814('0x52')]({},_0x24594a,_0x51d834[_0xb814('0x4a')]);return _0x2645f6[_0xb814('0x61')](_0x24594a);}})['then'](function(_0x4c44ee){if(_0x4c44ee){_0x45dc85=_0x4c44ee[_0xb814('0x43')];if(!_0x51d834[_0xb814('0x40')][_0xb814('0x64')](_0xb814('0x65'))){_0x24594a['limit']=qs[_0xb814('0x27')](_0x51d834['query'][_0xb814('0x27')]);_0x24594a[_0xb814('0x25')]=qs['offset'](_0x51d834['query'][_0xb814('0x25')]);}return _0x2645f6['getUsers'](_0x24594a);}})[_0xb814('0x2d')](function(_0x163c2b){if(_0x163c2b){return _0x163c2b?{'count':_0x45dc85,'rows':_0x163c2b}:null;}})[_0xb814('0x2d')](respondWithResult(_0x3a4d4b,null))[_0xb814('0x4e')](handleError(_0x3a4d4b,null));};