Built motion from commit (unavailable).|2.5.10
[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 _0x3f40=['jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./squareProject.socket','register','status','end','json','count','offset','apply','save','update','then','get','UserProfileResource','destroy','sendStatus','error','stack','name','send','map','SquareProject','fieldName','type','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','where','merge','VIRTUAL','filter','includeAll','findAll','rows','catch','show','params','include','options','find','create','body','user','SquareProjects','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addUsers','ids','omit','removeUsers','isArray','emit','userSquareProject:remove','getUsers','findOne','User','rawAttributes','pick','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto'];(function(_0x2261ce,_0x9ed8b6){var _0x524640=function(_0x3cbb90){while(--_0x3cbb90){_0x2261ce['push'](_0x2261ce['shift']());}};_0x524640(++_0x9ed8b6);}(_0x3f40,0x11a));var _0x03f4=function(_0x10fdb2,_0x27c521){_0x10fdb2=_0x10fdb2-0x0;var _0x3f9b04=_0x3f40[_0x10fdb2];return _0x3f9b04;};'use strict';var pdf=require(_0x03f4('0x0'));var emlformat=require(_0x03f4('0x1'));var rimraf=require(_0x03f4('0x2'));var zipdir=require(_0x03f4('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x03f4('0x4'));var moment=require(_0x03f4('0x5'));var BPromise=require(_0x03f4('0x6'));var Mustache=require(_0x03f4('0x7'));var util=require('util');var path=require(_0x03f4('0x8'));var sox=require(_0x03f4('0x9'));var csv=require(_0x03f4('0xa'));var ejs=require(_0x03f4('0xb'));var fs=require('fs');var _=require(_0x03f4('0xc'));var squel=require(_0x03f4('0xd'));var crypto=require(_0x03f4('0xe'));var jsforce=require(_0x03f4('0xf'));var deskjs=require(_0x03f4('0x10'));var toCsv=require('to-csv');var querystring=require(_0x03f4('0x11'));var Papa=require(_0x03f4('0x12'));var Redis=require('ioredis');var authService=require(_0x03f4('0x13'));var qs=require(_0x03f4('0x14'));var as=require(_0x03f4('0x15'));var hardwareService=require(_0x03f4('0x16'));var logger=require(_0x03f4('0x17'))(_0x03f4('0x18'));var utils=require(_0x03f4('0x19'));var config=require(_0x03f4('0x1a'));var licenseUtil=require('../../config/license/util');var db=require(_0x03f4('0x1b'))['db'];config[_0x03f4('0x1c')]=_['defaults'](config[_0x03f4('0x1c')],{'host':_0x03f4('0x1d'),'port':0x18eb});var socket=require(_0x03f4('0x1e'))(new Redis(config['redis']));require(_0x03f4('0x1f'))[_0x03f4('0x20')](socket);function respondWithStatusCode(_0x3e5e73,_0x3f6180){_0x3f6180=_0x3f6180||0xcc;return function(_0x48d210){if(_0x48d210){return _0x3e5e73['sendStatus'](_0x3f6180);}return _0x3e5e73[_0x03f4('0x21')](_0x3f6180)[_0x03f4('0x22')]();};}function respondWithResult(_0x2cf1ac,_0x3f7dac){_0x3f7dac=_0x3f7dac||0xc8;return function(_0x22361f){if(_0x22361f){return _0x2cf1ac[_0x03f4('0x21')](_0x3f7dac)[_0x03f4('0x23')](_0x22361f);}};}function respondWithFilteredResult(_0x3d551b,_0x3899de){return function(_0x2a0d18){if(_0x2a0d18){var _0x7e05ea=_0x2a0d18[_0x03f4('0x24')],_0x1250f4=_0x3899de[_0x03f4('0x25')],_0x2385a3=_0x3899de[_0x03f4('0x25')]+_0x3899de['limit'],_0x504cbc;if(_0x2385a3>=_0x7e05ea){_0x2385a3=_0x7e05ea;_0x504cbc=0xc8;}else{_0x504cbc=0xce;}_0x3d551b[_0x03f4('0x21')](_0x504cbc);return _0x3d551b['set']('Content-Range',_0x1250f4+'-'+_0x2385a3+'/'+_0x7e05ea)[_0x03f4('0x23')](_0x2a0d18);}return null;};}function patchUpdates(_0x43c859){return function(_0x1a330f){try{jsonpatch[_0x03f4('0x26')](_0x1a330f,_0x43c859,!![]);}catch(_0x331d91){return BPromise['reject'](_0x331d91);}return _0x1a330f[_0x03f4('0x27')]();};}function saveUpdates(_0x1fe90f,_0x6c796){return function(_0xcc637f){if(_0xcc637f){return _0xcc637f[_0x03f4('0x28')](_0x1fe90f)[_0x03f4('0x29')](function(_0x256ac2){return _0x256ac2;});}return null;};}function removeEntity(_0x50a74a,_0x1e6164){return function(_0x44c84f){if(_0x44c84f){return _0x44c84f['destroy']()[_0x03f4('0x29')](function(){var _0x5676eb=_0x44c84f[_0x03f4('0x2a')]({'plain':!![]});var _0x4b0162='SquareProjects';return db[_0x03f4('0x2b')][_0x03f4('0x2c')]({'where':{'type':_0x4b0162,'resourceId':_0x5676eb['id']}})[_0x03f4('0x29')](function(){return _0x44c84f;});})[_0x03f4('0x29')](function(){_0x50a74a[_0x03f4('0x21')](0xcc)[_0x03f4('0x22')]();});}};}function handleEntityNotFound(_0x7df8cd,_0x35b14c){return function(_0xb17a54){if(!_0xb17a54){_0x7df8cd[_0x03f4('0x2d')](0x194);}return _0xb17a54;};}function handleError(_0x30bc7f,_0x298c57){_0x298c57=_0x298c57||0x1f4;return function(_0x52b59d){logger[_0x03f4('0x2e')](_0x52b59d[_0x03f4('0x2f')]);if(_0x52b59d[_0x03f4('0x30')]){delete _0x52b59d[_0x03f4('0x30')];}_0x30bc7f[_0x03f4('0x21')](_0x298c57)[_0x03f4('0x31')](_0x52b59d);};}exports['index']=function(_0x1bab53,_0x202472){var _0x2e7ef8={},_0x2bdda1={},_0x4791ab={'count':0x0,'rows':[]};var _0x4a93fb=_[_0x03f4('0x32')](db[_0x03f4('0x33')]['rawAttributes'],function(_0x1936de){return{'name':_0x1936de[_0x03f4('0x34')],'type':_0x1936de[_0x03f4('0x35')]['key']};});_0x2bdda1[_0x03f4('0x36')]=_['map'](_0x4a93fb,'name');_0x2bdda1['query']=_[_0x03f4('0x37')](_0x1bab53[_0x03f4('0x38')]);_0x2bdda1[_0x03f4('0x39')]=_[_0x03f4('0x3a')](_0x2bdda1[_0x03f4('0x36')],_0x2bdda1[_0x03f4('0x38')]);_0x2e7ef8[_0x03f4('0x3b')]=_[_0x03f4('0x3a')](_0x2bdda1[_0x03f4('0x36')],qs['fields'](_0x1bab53['query'][_0x03f4('0x3c')]));_0x2e7ef8[_0x03f4('0x3b')]=_0x2e7ef8[_0x03f4('0x3b')][_0x03f4('0x3d')]?_0x2e7ef8['attributes']:_0x2bdda1[_0x03f4('0x36')];if(!_0x1bab53['query'][_0x03f4('0x3e')]('nolimit')){_0x2e7ef8[_0x03f4('0x3f')]=qs[_0x03f4('0x3f')](_0x1bab53[_0x03f4('0x38')][_0x03f4('0x3f')]);_0x2e7ef8['offset']=qs['offset'](_0x1bab53[_0x03f4('0x38')]['offset']);}_0x2e7ef8[_0x03f4('0x40')]=qs[_0x03f4('0x41')](_0x1bab53[_0x03f4('0x38')][_0x03f4('0x41')]);_0x2e7ef8[_0x03f4('0x42')]=qs[_0x03f4('0x39')](_['pick'](_0x1bab53['query'],_0x2bdda1[_0x03f4('0x39')]),_0x4a93fb);if(_0x1bab53[_0x03f4('0x38')]['filter']){_0x2e7ef8[_0x03f4('0x42')]=_[_0x03f4('0x43')](_0x2e7ef8[_0x03f4('0x42')],{'$or':_[_0x03f4('0x32')](_0x4a93fb,function(_0x25af67){if(_0x25af67[_0x03f4('0x35')]!==_0x03f4('0x44')){var _0x3016e7={};_0x3016e7[_0x25af67['name']]={'$like':'%'+_0x1bab53[_0x03f4('0x38')][_0x03f4('0x45')]+'%'};return _0x3016e7;}})});}_0x2e7ef8=_[_0x03f4('0x43')]({},_0x2e7ef8,_0x1bab53['options']);var _0x5ccf50={'where':_0x2e7ef8[_0x03f4('0x42')]};return db['SquareProject'][_0x03f4('0x24')](_0x5ccf50)['then'](function(_0x56525b){_0x4791ab['count']=_0x56525b;if(_0x1bab53[_0x03f4('0x38')][_0x03f4('0x46')]){_0x2e7ef8['include']=[{'all':!![]}];}return db[_0x03f4('0x33')][_0x03f4('0x47')](_0x2e7ef8);})[_0x03f4('0x29')](function(_0x3b6434){_0x4791ab[_0x03f4('0x48')]=_0x3b6434;return _0x4791ab;})[_0x03f4('0x29')](respondWithFilteredResult(_0x202472,_0x2e7ef8))[_0x03f4('0x49')](handleError(_0x202472,null));};exports[_0x03f4('0x4a')]=function(_0x561c89,_0x20136c){var _0x3641d4={'raw':![],'where':{'id':_0x561c89[_0x03f4('0x4b')]['id']}},_0x400f42={};_0x400f42[_0x03f4('0x36')]=_[_0x03f4('0x37')](db['SquareProject']['rawAttributes']);_0x400f42[_0x03f4('0x38')]=_[_0x03f4('0x37')](_0x561c89[_0x03f4('0x38')]);_0x400f42[_0x03f4('0x39')]=_[_0x03f4('0x3a')](_0x400f42[_0x03f4('0x36')],_0x400f42[_0x03f4('0x38')]);_0x3641d4[_0x03f4('0x3b')]=_[_0x03f4('0x3a')](_0x400f42['model'],qs[_0x03f4('0x3c')](_0x561c89['query']['fields']));_0x3641d4[_0x03f4('0x3b')]=_0x3641d4[_0x03f4('0x3b')][_0x03f4('0x3d')]?_0x3641d4['attributes']:_0x400f42[_0x03f4('0x36')];if(_0x561c89['query'][_0x03f4('0x46')]){_0x3641d4[_0x03f4('0x4c')]=[{'all':!![]}];}_0x3641d4=_[_0x03f4('0x43')]({},_0x3641d4,_0x561c89[_0x03f4('0x4d')]);return db[_0x03f4('0x33')][_0x03f4('0x4e')](_0x3641d4)[_0x03f4('0x29')](handleEntityNotFound(_0x20136c,null))['then'](respondWithResult(_0x20136c,null))['catch'](handleError(_0x20136c,null));};exports[_0x03f4('0x4f')]=function(_0x4592c9,_0x7b17d8){return db['SquareProject'][_0x03f4('0x4f')](_0x4592c9[_0x03f4('0x50')],{})[_0x03f4('0x29')](function(_0x414a6b){var _0x10e899=_0x4592c9[_0x03f4('0x51')][_0x03f4('0x2a')]({'plain':!![]});if(!_0x10e899)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x10e899['role']===_0x03f4('0x51')){var _0x5795bb=_0x414a6b['get']({'plain':!![]});var _0x58bb33=_0x03f4('0x52');return db[_0x03f4('0x53')][_0x03f4('0x4e')]({'where':{'name':_0x58bb33,'userProfileId':_0x10e899[_0x03f4('0x54')]},'raw':!![]})[_0x03f4('0x29')](function(_0x1c37bf){if(_0x1c37bf&&_0x1c37bf[_0x03f4('0x55')]===0x0){return db[_0x03f4('0x2b')][_0x03f4('0x4f')]({'name':_0x5795bb[_0x03f4('0x30')],'resourceId':_0x5795bb['id'],'type':_0x1c37bf[_0x03f4('0x30')],'sectionId':_0x1c37bf['id']},{})['then'](function(){return _0x414a6b;});}else{return _0x414a6b;}})[_0x03f4('0x49')](function(_0x563166){logger[_0x03f4('0x2e')](_0x03f4('0x56'),_0x563166);throw _0x563166;});}return _0x414a6b;})[_0x03f4('0x29')](respondWithResult(_0x7b17d8,0xc9))['catch'](handleError(_0x7b17d8,null));};exports[_0x03f4('0x28')]=function(_0x14a75f,_0x46f9f9){if(_0x14a75f['body']['id']){delete _0x14a75f['body']['id'];}return db[_0x03f4('0x33')][_0x03f4('0x4e')]({'where':{'id':_0x14a75f[_0x03f4('0x4b')]['id']}})[_0x03f4('0x29')](handleEntityNotFound(_0x46f9f9,null))[_0x03f4('0x29')](saveUpdates(_0x14a75f[_0x03f4('0x50')],null))['then'](respondWithResult(_0x46f9f9,null))[_0x03f4('0x49')](handleError(_0x46f9f9,null));};exports[_0x03f4('0x2c')]=function(_0x578dc7,_0x3ca96c){return db[_0x03f4('0x33')]['find']({'where':{'id':_0x578dc7['params']['id']}})[_0x03f4('0x29')](handleEntityNotFound(_0x3ca96c,null))[_0x03f4('0x29')](removeEntity(_0x3ca96c,null))[_0x03f4('0x49')](handleError(_0x3ca96c,null));};exports['addUsers']=function(_0x43c0bc,_0x41db05,_0x4ecb17){return db['SquareProject'][_0x03f4('0x4e')]({'where':{'id':_0x43c0bc['params']['id']}})[_0x03f4('0x29')](handleEntityNotFound(_0x41db05,null))['then'](function(_0x4828a8){if(_0x4828a8){return _0x4828a8[_0x03f4('0x57')](_0x43c0bc['body'][_0x03f4('0x58')],_[_0x03f4('0x59')](_0x43c0bc[_0x03f4('0x50')],[_0x03f4('0x58'),'id'])||{});}})[_0x03f4('0x29')](respondWithResult(_0x41db05,null))['catch'](handleError(_0x41db05,null));};exports['removeUsers']=function(_0xbbe1ac,_0x29fbc6,_0x38daab){return db[_0x03f4('0x33')][_0x03f4('0x4e')]({'where':{'id':_0xbbe1ac[_0x03f4('0x4b')]['id']}})['then'](handleEntityNotFound(_0x29fbc6,null))[_0x03f4('0x29')](function(_0x1e92e1){if(_0x1e92e1){return _0x1e92e1[_0x03f4('0x5a')](_0xbbe1ac[_0x03f4('0x38')][_0x03f4('0x58')])[_0x03f4('0x29')](function(){if(_[_0x03f4('0x5b')](_0xbbe1ac['query'][_0x03f4('0x58')])){for(var _0x2483c8=0x0;_0x2483c8<_0xbbe1ac['query'][_0x03f4('0x58')][_0x03f4('0x3d')];_0x2483c8+=0x1){socket[_0x03f4('0x5c')]('userSquareProject:remove',{'UserId':Number(_0xbbe1ac[_0x03f4('0x38')][_0x03f4('0x58')][_0x2483c8]),'SquareProjectId':Number(_0xbbe1ac[_0x03f4('0x4b')]['id'])});}}else{socket[_0x03f4('0x5c')](_0x03f4('0x5d'),{'UserId':Number(_0xbbe1ac[_0x03f4('0x38')][_0x03f4('0x58')]),'SquareProjectId':Number(_0xbbe1ac[_0x03f4('0x4b')]['id'])});}});}})[_0x03f4('0x29')](respondWithStatusCode(_0x29fbc6,null))[_0x03f4('0x49')](handleError(_0x29fbc6,null));};exports[_0x03f4('0x5e')]=function(_0x5edeab,_0x192888,_0x5e50ae){var _0x15624b={};var _0x4b5d5f={};var _0x482868;var _0x2a55ae;return db[_0x03f4('0x33')][_0x03f4('0x5f')]({'where':{'id':_0x5edeab[_0x03f4('0x4b')]['id']}})[_0x03f4('0x29')](handleEntityNotFound(_0x192888,null))['then'](function(_0x32e440){if(_0x32e440){_0x482868=_0x32e440;_0x4b5d5f[_0x03f4('0x36')]=_[_0x03f4('0x37')](db[_0x03f4('0x60')][_0x03f4('0x61')]);_0x4b5d5f[_0x03f4('0x38')]=_[_0x03f4('0x37')](_0x5edeab[_0x03f4('0x38')]);_0x4b5d5f['filters']=_[_0x03f4('0x3a')](_0x4b5d5f[_0x03f4('0x36')],_0x4b5d5f[_0x03f4('0x38')]);_0x15624b[_0x03f4('0x3b')]=_['intersection'](_0x4b5d5f[_0x03f4('0x36')],qs[_0x03f4('0x3c')](_0x5edeab[_0x03f4('0x38')][_0x03f4('0x3c')]));_0x15624b[_0x03f4('0x3b')]=_0x15624b['attributes']['length']?_0x15624b[_0x03f4('0x3b')]:_0x4b5d5f[_0x03f4('0x36')];_0x15624b[_0x03f4('0x40')]=qs['sort'](_0x5edeab[_0x03f4('0x38')][_0x03f4('0x41')]);_0x15624b['where']=qs['filters'](_[_0x03f4('0x62')](_0x5edeab[_0x03f4('0x38')],_0x4b5d5f[_0x03f4('0x39')]));if(_0x5edeab['query'][_0x03f4('0x45')]){_0x15624b[_0x03f4('0x42')]=_[_0x03f4('0x43')](_0x15624b[_0x03f4('0x42')],{'$or':_[_0x03f4('0x32')](_0x15624b[_0x03f4('0x3b')],function(_0x556e7d){var _0x4c1449={};_0x4c1449[_0x556e7d]={'$like':'%'+_0x5edeab['query'][_0x03f4('0x45')]+'%'};return _0x4c1449;})});}_0x15624b=_[_0x03f4('0x43')]({},_0x15624b,_0x5edeab[_0x03f4('0x4d')]);return _0x482868[_0x03f4('0x5e')](_0x15624b);}})[_0x03f4('0x29')](function(_0x119ba6){if(_0x119ba6){_0x2a55ae=_0x119ba6[_0x03f4('0x3d')];if(!_0x5edeab[_0x03f4('0x38')][_0x03f4('0x3e')]('nolimit')){_0x15624b[_0x03f4('0x3f')]=qs[_0x03f4('0x3f')](_0x5edeab[_0x03f4('0x38')]['limit']);_0x15624b['offset']=qs[_0x03f4('0x25')](_0x5edeab['query'][_0x03f4('0x25')]);}return _0x482868[_0x03f4('0x5e')](_0x15624b);}})[_0x03f4('0x29')](function(_0x2b3328){if(_0x2b3328){return _0x2b3328?{'count':_0x2a55ae,'rows':_0x2b3328}:null;}})['then'](respondWithResult(_0x192888,null))[_0x03f4('0x49')](handleError(_0x192888,null));};