Built motion from commit 43538d75.|2.5.35
[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 _0x45dc=['pick','merge','VIRTUAL','filter','where','includeAll','include','findAll','rows','show','params','keys','options','find','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addUsers','ids','omit','removeUsers','isArray','userSquareProject:remove','emit','getUsers','findOne','User','nolimit','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','sendStatus','status','end','json','offset','undefined','limit','count','apply','update','then','destroy','get','error','stack','name','send','index','map','SquareProject','rawAttributes','fieldName','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort'];(function(_0x464d42,_0x4f1d09){var _0x1483d3=function(_0x3061eb){while(--_0x3061eb){_0x464d42['push'](_0x464d42['shift']());}};_0x1483d3(++_0x4f1d09);}(_0x45dc,0x149));var _0xc45d=function(_0x10244a,_0x3e96f4){_0x10244a=_0x10244a-0x0;var _0x4daacd=_0x45dc[_0x10244a];return _0x4daacd;};'use strict';var emlformat=require(_0xc45d('0x0'));var rimraf=require(_0xc45d('0x1'));var zipdir=require(_0xc45d('0x2'));var jsonpatch=require(_0xc45d('0x3'));var rp=require(_0xc45d('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xc45d('0x5'));var util=require(_0xc45d('0x6'));var path=require(_0xc45d('0x7'));var sox=require(_0xc45d('0x8'));var csv=require(_0xc45d('0x9'));var ejs=require(_0xc45d('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xc45d('0xb'));var crypto=require(_0xc45d('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xc45d('0xd'));var toCsv=require('to-csv');var querystring=require(_0xc45d('0xe'));var Papa=require(_0xc45d('0xf'));var Redis=require(_0xc45d('0x10'));var authService=require(_0xc45d('0x11'));var qs=require(_0xc45d('0x12'));var as=require(_0xc45d('0x13'));var hardwareService=require(_0xc45d('0x14'));var logger=require(_0xc45d('0x15'))(_0xc45d('0x16'));var utils=require(_0xc45d('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xc45d('0x18'));var db=require(_0xc45d('0x19'))['db'];config['redis']=_[_0xc45d('0x1a')](config[_0xc45d('0x1b')],{'host':_0xc45d('0x1c'),'port':0x18eb});var socket=require(_0xc45d('0x1d'))(new Redis(config[_0xc45d('0x1b')]));require('./squareProject.socket')['register'](socket);function respondWithStatusCode(_0x5446c8,_0x260aa0){_0x260aa0=_0x260aa0||0xcc;return function(_0x149cbb){if(_0x149cbb){return _0x5446c8[_0xc45d('0x1e')](_0x260aa0);}return _0x5446c8[_0xc45d('0x1f')](_0x260aa0)[_0xc45d('0x20')]();};}function respondWithResult(_0x56a844,_0x55769f){_0x55769f=_0x55769f||0xc8;return function(_0x1d3467){if(_0x1d3467){return _0x56a844['status'](_0x55769f)[_0xc45d('0x21')](_0x1d3467);}};}function respondWithFilteredResult(_0x4d52b8,_0x24812c){return function(_0x312a42){if(_0x312a42){var _0x287a06=typeof _0x24812c[_0xc45d('0x22')]===_0xc45d('0x23')&&typeof _0x24812c[_0xc45d('0x24')]===_0xc45d('0x23');var _0x456c9f=_0x312a42[_0xc45d('0x25')];var _0xe4347a=_0x287a06?0x0:_0x24812c[_0xc45d('0x22')];var _0x56df13=_0x287a06?_0x312a42[_0xc45d('0x25')]:_0x24812c['offset']+_0x24812c[_0xc45d('0x24')];var _0x6bd0f7;if(_0x56df13>=_0x456c9f){_0x56df13=_0x456c9f;_0x6bd0f7=0xc8;}else{_0x6bd0f7=0xce;}_0x4d52b8[_0xc45d('0x1f')](_0x6bd0f7);return _0x4d52b8['set']('Content-Range',_0xe4347a+'-'+_0x56df13+'/'+_0x456c9f)[_0xc45d('0x21')](_0x312a42);}return null;};}function patchUpdates(_0xef9f5e){return function(_0x2fd592){try{jsonpatch[_0xc45d('0x26')](_0x2fd592,_0xef9f5e,!![]);}catch(_0xf4f724){return BPromise['reject'](_0xf4f724);}return _0x2fd592['save']();};}function saveUpdates(_0x1dfa8a,_0x24f09d){return function(_0x568af4){if(_0x568af4){return _0x568af4[_0xc45d('0x27')](_0x1dfa8a)[_0xc45d('0x28')](function(_0x46c831){return _0x46c831;});}return null;};}function removeEntity(_0x4fe533,_0x380e9a){return function(_0x3975ef){if(_0x3975ef){return _0x3975ef[_0xc45d('0x29')]()[_0xc45d('0x28')](function(){var _0x439748=_0x3975ef[_0xc45d('0x2a')]({'plain':!![]});var _0x1c6196='SquareProjects';return db['UserProfileResource']['destroy']({'where':{'type':_0x1c6196,'resourceId':_0x439748['id']}})[_0xc45d('0x28')](function(){return _0x3975ef;});})[_0xc45d('0x28')](function(){_0x4fe533['status'](0xcc)[_0xc45d('0x20')]();});}};}function handleEntityNotFound(_0x56dc56,_0x18c71f){return function(_0x5e5ea3){if(!_0x5e5ea3){_0x56dc56[_0xc45d('0x1e')](0x194);}return _0x5e5ea3;};}function handleError(_0xdeb99,_0x82b8a0){_0x82b8a0=_0x82b8a0||0x1f4;return function(_0x345ab4){logger[_0xc45d('0x2b')](_0x345ab4[_0xc45d('0x2c')]);if(_0x345ab4[_0xc45d('0x2d')]){delete _0x345ab4[_0xc45d('0x2d')];}_0xdeb99['status'](_0x82b8a0)[_0xc45d('0x2e')](_0x345ab4);};}exports[_0xc45d('0x2f')]=function(_0x33e766,_0x1671f1){var _0x25f0a4={},_0x59f694={},_0x457ddc={'count':0x0,'rows':[]};var _0x12c97d=_[_0xc45d('0x30')](db[_0xc45d('0x31')][_0xc45d('0x32')],function(_0x129446){return{'name':_0x129446[_0xc45d('0x33')],'type':_0x129446['type'][_0xc45d('0x34')]};});_0x59f694[_0xc45d('0x35')]=_[_0xc45d('0x30')](_0x12c97d,_0xc45d('0x2d'));_0x59f694['query']=_['keys'](_0x33e766[_0xc45d('0x36')]);_0x59f694[_0xc45d('0x37')]=_[_0xc45d('0x38')](_0x59f694[_0xc45d('0x35')],_0x59f694[_0xc45d('0x36')]);_0x25f0a4[_0xc45d('0x39')]=_[_0xc45d('0x38')](_0x59f694['model'],qs[_0xc45d('0x3a')](_0x33e766[_0xc45d('0x36')]['fields']));_0x25f0a4[_0xc45d('0x39')]=_0x25f0a4[_0xc45d('0x39')][_0xc45d('0x3b')]?_0x25f0a4[_0xc45d('0x39')]:_0x59f694[_0xc45d('0x35')];if(!_0x33e766[_0xc45d('0x36')][_0xc45d('0x3c')]('nolimit')){_0x25f0a4[_0xc45d('0x24')]=qs[_0xc45d('0x24')](_0x33e766[_0xc45d('0x36')][_0xc45d('0x24')]);_0x25f0a4[_0xc45d('0x22')]=qs['offset'](_0x33e766[_0xc45d('0x36')][_0xc45d('0x22')]);}_0x25f0a4[_0xc45d('0x3d')]=qs[_0xc45d('0x3e')](_0x33e766[_0xc45d('0x36')]['sort']);_0x25f0a4['where']=qs[_0xc45d('0x37')](_[_0xc45d('0x3f')](_0x33e766[_0xc45d('0x36')],_0x59f694[_0xc45d('0x37')]),_0x12c97d);if(_0x33e766[_0xc45d('0x36')]['filter']){_0x25f0a4['where']=_[_0xc45d('0x40')](_0x25f0a4['where'],{'$or':_[_0xc45d('0x30')](_0x12c97d,function(_0x4db5a3){if(_0x4db5a3['type']!==_0xc45d('0x41')){var _0x29de92={};_0x29de92[_0x4db5a3[_0xc45d('0x2d')]]={'$like':'%'+_0x33e766[_0xc45d('0x36')][_0xc45d('0x42')]+'%'};return _0x29de92;}})});}_0x25f0a4=_[_0xc45d('0x40')]({},_0x25f0a4,_0x33e766['options']);var _0x32798b={'where':_0x25f0a4[_0xc45d('0x43')]};return db[_0xc45d('0x31')][_0xc45d('0x25')](_0x32798b)[_0xc45d('0x28')](function(_0xf0230f){_0x457ddc['count']=_0xf0230f;if(_0x33e766[_0xc45d('0x36')][_0xc45d('0x44')]){_0x25f0a4[_0xc45d('0x45')]=[{'all':!![]}];}return db[_0xc45d('0x31')][_0xc45d('0x46')](_0x25f0a4);})[_0xc45d('0x28')](function(_0x11ee44){_0x457ddc[_0xc45d('0x47')]=_0x11ee44;return _0x457ddc;})[_0xc45d('0x28')](respondWithFilteredResult(_0x1671f1,_0x25f0a4))['catch'](handleError(_0x1671f1,null));};exports[_0xc45d('0x48')]=function(_0x15d1b5,_0x25fcc3){var _0x13a91e={'raw':![],'where':{'id':_0x15d1b5[_0xc45d('0x49')]['id']}},_0x57905d={};_0x57905d['model']=_[_0xc45d('0x4a')](db[_0xc45d('0x31')]['rawAttributes']);_0x57905d['query']=_['keys'](_0x15d1b5[_0xc45d('0x36')]);_0x57905d[_0xc45d('0x37')]=_[_0xc45d('0x38')](_0x57905d['model'],_0x57905d['query']);_0x13a91e[_0xc45d('0x39')]=_[_0xc45d('0x38')](_0x57905d['model'],qs[_0xc45d('0x3a')](_0x15d1b5[_0xc45d('0x36')][_0xc45d('0x3a')]));_0x13a91e[_0xc45d('0x39')]=_0x13a91e[_0xc45d('0x39')]['length']?_0x13a91e[_0xc45d('0x39')]:_0x57905d[_0xc45d('0x35')];if(_0x15d1b5[_0xc45d('0x36')][_0xc45d('0x44')]){_0x13a91e[_0xc45d('0x45')]=[{'all':!![]}];}_0x13a91e=_[_0xc45d('0x40')]({},_0x13a91e,_0x15d1b5[_0xc45d('0x4b')]);return db[_0xc45d('0x31')][_0xc45d('0x4c')](_0x13a91e)[_0xc45d('0x28')](handleEntityNotFound(_0x25fcc3,null))[_0xc45d('0x28')](respondWithResult(_0x25fcc3,null))[_0xc45d('0x4d')](handleError(_0x25fcc3,null));};exports[_0xc45d('0x4e')]=function(_0x5cdcbc,_0x23a867){return db[_0xc45d('0x31')][_0xc45d('0x4e')](_0x5cdcbc[_0xc45d('0x4f')],{})[_0xc45d('0x28')](function(_0x49a868){var _0x14ec08=_0x5cdcbc['user'][_0xc45d('0x2a')]({'plain':!![]});if(!_0x14ec08)throw new Error(_0xc45d('0x50'));if(_0x14ec08['role']===_0xc45d('0x51')){var _0x57b390=_0x49a868[_0xc45d('0x2a')]({'plain':!![]});var _0x1cf11a='SquareProjects';return db[_0xc45d('0x52')][_0xc45d('0x4c')]({'where':{'name':_0x1cf11a,'userProfileId':_0x14ec08[_0xc45d('0x53')]},'raw':!![]})[_0xc45d('0x28')](function(_0x3af901){if(_0x3af901&&_0x3af901[_0xc45d('0x54')]===0x0){return db[_0xc45d('0x55')][_0xc45d('0x4e')]({'name':_0x57b390[_0xc45d('0x2d')],'resourceId':_0x57b390['id'],'type':_0x3af901[_0xc45d('0x2d')],'sectionId':_0x3af901['id']},{})[_0xc45d('0x28')](function(){return _0x49a868;});}else{return _0x49a868;}})[_0xc45d('0x4d')](function(_0x19cb4d){logger[_0xc45d('0x2b')](_0xc45d('0x56'),_0x19cb4d);throw _0x19cb4d;});}return _0x49a868;})[_0xc45d('0x28')](respondWithResult(_0x23a867,0xc9))[_0xc45d('0x4d')](handleError(_0x23a867,null));};exports['update']=function(_0x46c89c,_0xe82b17){if(_0x46c89c[_0xc45d('0x4f')]['id']){delete _0x46c89c[_0xc45d('0x4f')]['id'];}return db['SquareProject'][_0xc45d('0x4c')]({'where':{'id':_0x46c89c[_0xc45d('0x49')]['id']}})[_0xc45d('0x28')](handleEntityNotFound(_0xe82b17,null))[_0xc45d('0x28')](saveUpdates(_0x46c89c[_0xc45d('0x4f')],null))[_0xc45d('0x28')](respondWithResult(_0xe82b17,null))['catch'](handleError(_0xe82b17,null));};exports[_0xc45d('0x29')]=function(_0x3ebdc3,_0xd8c337){return db[_0xc45d('0x31')][_0xc45d('0x4c')]({'where':{'id':_0x3ebdc3[_0xc45d('0x49')]['id']}})[_0xc45d('0x28')](handleEntityNotFound(_0xd8c337,null))[_0xc45d('0x28')](removeEntity(_0xd8c337,null))['catch'](handleError(_0xd8c337,null));};exports['addUsers']=function(_0x2f6910,_0x2c8522,_0x3250f5){return db[_0xc45d('0x31')][_0xc45d('0x4c')]({'where':{'id':_0x2f6910[_0xc45d('0x49')]['id']}})[_0xc45d('0x28')](handleEntityNotFound(_0x2c8522,null))[_0xc45d('0x28')](function(_0x3aa82){if(_0x3aa82){return _0x3aa82[_0xc45d('0x57')](_0x2f6910[_0xc45d('0x4f')][_0xc45d('0x58')],_[_0xc45d('0x59')](_0x2f6910[_0xc45d('0x4f')],[_0xc45d('0x58'),'id'])||{});}})['then'](respondWithResult(_0x2c8522,null))[_0xc45d('0x4d')](handleError(_0x2c8522,null));};exports[_0xc45d('0x5a')]=function(_0x35ecd5,_0x7bf455,_0x11f845){return db[_0xc45d('0x31')][_0xc45d('0x4c')]({'where':{'id':_0x35ecd5[_0xc45d('0x49')]['id']}})[_0xc45d('0x28')](handleEntityNotFound(_0x7bf455,null))[_0xc45d('0x28')](function(_0x134654){if(_0x134654){return _0x134654[_0xc45d('0x5a')](_0x35ecd5[_0xc45d('0x36')][_0xc45d('0x58')])['then'](function(){if(_[_0xc45d('0x5b')](_0x35ecd5['query']['ids'])){for(var _0x170f2d=0x0;_0x170f2d<_0x35ecd5[_0xc45d('0x36')][_0xc45d('0x58')][_0xc45d('0x3b')];_0x170f2d+=0x1){socket['emit'](_0xc45d('0x5c'),{'UserId':Number(_0x35ecd5[_0xc45d('0x36')][_0xc45d('0x58')][_0x170f2d]),'SquareProjectId':Number(_0x35ecd5['params']['id'])});}}else{socket[_0xc45d('0x5d')](_0xc45d('0x5c'),{'UserId':Number(_0x35ecd5[_0xc45d('0x36')][_0xc45d('0x58')]),'SquareProjectId':Number(_0x35ecd5[_0xc45d('0x49')]['id'])});}});}})[_0xc45d('0x28')](respondWithStatusCode(_0x7bf455,null))[_0xc45d('0x4d')](handleError(_0x7bf455,null));};exports[_0xc45d('0x5e')]=function(_0x5054b5,_0x265b2c,_0x2a506a){var _0x21b282={};var _0x3032da={};var _0xdda02c;var _0x6f3e6e;return db[_0xc45d('0x31')][_0xc45d('0x5f')]({'where':{'id':_0x5054b5[_0xc45d('0x49')]['id']}})[_0xc45d('0x28')](handleEntityNotFound(_0x265b2c,null))[_0xc45d('0x28')](function(_0x1593e0){if(_0x1593e0){_0xdda02c=_0x1593e0;_0x3032da['model']=_['keys'](db[_0xc45d('0x60')][_0xc45d('0x32')]);_0x3032da[_0xc45d('0x36')]=_[_0xc45d('0x4a')](_0x5054b5[_0xc45d('0x36')]);_0x3032da['filters']=_[_0xc45d('0x38')](_0x3032da[_0xc45d('0x35')],_0x3032da['query']);_0x21b282['attributes']=_[_0xc45d('0x38')](_0x3032da['model'],qs[_0xc45d('0x3a')](_0x5054b5[_0xc45d('0x36')][_0xc45d('0x3a')]));_0x21b282[_0xc45d('0x39')]=_0x21b282[_0xc45d('0x39')][_0xc45d('0x3b')]?_0x21b282[_0xc45d('0x39')]:_0x3032da['model'];_0x21b282['order']=qs[_0xc45d('0x3e')](_0x5054b5['query'][_0xc45d('0x3e')]);_0x21b282[_0xc45d('0x43')]=qs[_0xc45d('0x37')](_[_0xc45d('0x3f')](_0x5054b5[_0xc45d('0x36')],_0x3032da[_0xc45d('0x37')]));if(_0x5054b5[_0xc45d('0x36')]['filter']){_0x21b282[_0xc45d('0x43')]=_[_0xc45d('0x40')](_0x21b282[_0xc45d('0x43')],{'$or':_[_0xc45d('0x30')](_0x21b282[_0xc45d('0x39')],function(_0x3cf31f){var _0x23bd32={};_0x23bd32[_0x3cf31f]={'$like':'%'+_0x5054b5[_0xc45d('0x36')][_0xc45d('0x42')]+'%'};return _0x23bd32;})});}_0x21b282=_[_0xc45d('0x40')]({},_0x21b282,_0x5054b5[_0xc45d('0x4b')]);return _0xdda02c[_0xc45d('0x5e')](_0x21b282);}})['then'](function(_0x14d4e3){if(_0x14d4e3){_0x6f3e6e=_0x14d4e3[_0xc45d('0x3b')];if(!_0x5054b5['query'][_0xc45d('0x3c')](_0xc45d('0x61'))){_0x21b282[_0xc45d('0x24')]=qs[_0xc45d('0x24')](_0x5054b5['query'][_0xc45d('0x24')]);_0x21b282[_0xc45d('0x22')]=qs[_0xc45d('0x22')](_0x5054b5[_0xc45d('0x36')][_0xc45d('0x22')]);}return _0xdda02c[_0xc45d('0x5e')](_0x21b282);}})[_0xc45d('0x28')](function(_0x450adf){if(_0x450adf){return _0x450adf?{'count':_0x6f3e6e,'rows':_0x450adf}:null;}})[_0xc45d('0x28')](respondWithResult(_0x265b2c,null))[_0xc45d('0x4d')](handleError(_0x265b2c,null));};