Built motion from commit (unavailable).|2.4.18
[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 _0x1cc7=['ioredis','../../config/logger','api','../../config/utils','../../mysqldb','defaults','localhost','redis','./squareProject.socket','register','sendStatus','status','end','count','offset','set','Content-Range','json','apply','save','update','then','destroy','get','SquareProjects','UserProfileResource','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','SquareProject','includeAll','include','findAll','catch','params','keys','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addUsers','ids','removeUsers','isArray','emit','userSquareProject:remove','getUsers','User','html-pdf','eml-format','rimraf','moment','bluebird','mustache','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse'];(function(_0x2453d0,_0x1b2017){var _0x521fc8=function(_0xfc824f){while(--_0xfc824f){_0x2453d0['push'](_0x2453d0['shift']());}};_0x521fc8(++_0x1b2017);}(_0x1cc7,0x15a));var _0x71cc=function(_0x183b84,_0x955498){_0x183b84=_0x183b84-0x0;var _0x1cb02b=_0x1cc7[_0x183b84];return _0x1cb02b;};'use strict';var pdf=require(_0x71cc('0x0'));var emlformat=require(_0x71cc('0x1'));var rimraf=require(_0x71cc('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x71cc('0x3'));var BPromise=require(_0x71cc('0x4'));var Mustache=require(_0x71cc('0x5'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x71cc('0x6'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x71cc('0x7'));var squel=require(_0x71cc('0x8'));var crypto=require(_0x71cc('0x9'));var jsforce=require(_0x71cc('0xa'));var deskjs=require(_0x71cc('0xb'));var toCsv=require('to-csv');var querystring=require(_0x71cc('0xc'));var Papa=require(_0x71cc('0xd'));var Redis=require(_0x71cc('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x71cc('0xf'))(_0x71cc('0x10'));var utils=require(_0x71cc('0x11'));var config=require('../../config/environment');var db=require(_0x71cc('0x12'))['db'];config['redis']=_[_0x71cc('0x13')](config['redis'],{'host':_0x71cc('0x14'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x71cc('0x15')]));require(_0x71cc('0x16'))[_0x71cc('0x17')](socket);function respondWithStatusCode(_0xd16032,_0x33070e){_0x33070e=_0x33070e||0xcc;return function(_0x540200){if(_0x540200){return _0xd16032[_0x71cc('0x18')](_0x33070e);}return _0xd16032[_0x71cc('0x19')](_0x33070e)[_0x71cc('0x1a')]();};}function respondWithResult(_0x14d5ab,_0x3875b8){_0x3875b8=_0x3875b8||0xc8;return function(_0x14087c){if(_0x14087c){return _0x14d5ab[_0x71cc('0x19')](_0x3875b8)['json'](_0x14087c);}};}function respondWithFilteredResult(_0xf3c790,_0x14788d){return function(_0x1a7d71){if(_0x1a7d71){var _0x1d1da8=_0x1a7d71[_0x71cc('0x1b')],_0x1067be=_0x14788d[_0x71cc('0x1c')],_0x10da0a=_0x14788d['offset']+_0x14788d['limit'],_0x4c5c6d;if(_0x10da0a>=_0x1d1da8){_0x10da0a=_0x1d1da8;_0x4c5c6d=0xc8;}else{_0x4c5c6d=0xce;}_0xf3c790[_0x71cc('0x19')](_0x4c5c6d);return _0xf3c790[_0x71cc('0x1d')](_0x71cc('0x1e'),_0x1067be+'-'+_0x10da0a+'/'+_0x1d1da8)[_0x71cc('0x1f')](_0x1a7d71);}return null;};}function patchUpdates(_0x258d30){return function(_0xccbfb){try{jsonpatch[_0x71cc('0x20')](_0xccbfb,_0x258d30,!![]);}catch(_0x18683d){return BPromise['reject'](_0x18683d);}return _0xccbfb[_0x71cc('0x21')]();};}function saveUpdates(_0x109239,_0x587a0b){return function(_0x2bee90){if(_0x2bee90){return _0x2bee90[_0x71cc('0x22')](_0x109239)[_0x71cc('0x23')](function(_0x1a9b4f){return _0x1a9b4f;});}return null;};}function removeEntity(_0x1bc67c,_0x887399){return function(_0x4a0abc){if(_0x4a0abc){return _0x4a0abc[_0x71cc('0x24')]()[_0x71cc('0x23')](function(){var _0x446580=_0x4a0abc[_0x71cc('0x25')]({'plain':!![]});var _0x36367b=_0x71cc('0x26');return db[_0x71cc('0x27')][_0x71cc('0x24')]({'where':{'type':_0x36367b,'resourceId':_0x446580['id']}})[_0x71cc('0x23')](function(){return _0x4a0abc;});})['then'](function(){_0x1bc67c[_0x71cc('0x19')](0xcc)[_0x71cc('0x1a')]();});}};}function handleEntityNotFound(_0x28e095,_0x26becf){return function(_0x20b093){if(!_0x20b093){_0x28e095[_0x71cc('0x18')](0x194);}return _0x20b093;};}function handleError(_0x16fc33,_0x9a7ca3){_0x9a7ca3=_0x9a7ca3||0x1f4;return function(_0x3cc813){logger[_0x71cc('0x28')](_0x3cc813[_0x71cc('0x29')]);if(_0x3cc813[_0x71cc('0x2a')]){delete _0x3cc813[_0x71cc('0x2a')];}_0x16fc33[_0x71cc('0x19')](_0x9a7ca3)[_0x71cc('0x2b')](_0x3cc813);};}exports[_0x71cc('0x2c')]=function(_0x4fa63e,_0x3054ff){var _0x3b7451={},_0x34c6bc={},_0x184a51={'count':0x0,'rows':[]};var _0x11d0bc=_[_0x71cc('0x2d')](db['SquareProject'][_0x71cc('0x2e')],function(_0x11bd4e){return{'name':_0x11bd4e[_0x71cc('0x2f')],'type':_0x11bd4e[_0x71cc('0x30')][_0x71cc('0x31')]};});_0x34c6bc[_0x71cc('0x32')]=_[_0x71cc('0x2d')](_0x11d0bc,'name');_0x34c6bc[_0x71cc('0x33')]=_['keys'](_0x4fa63e['query']);_0x34c6bc[_0x71cc('0x34')]=_['intersection'](_0x34c6bc['model'],_0x34c6bc[_0x71cc('0x33')]);_0x3b7451['attributes']=_[_0x71cc('0x35')](_0x34c6bc['model'],qs[_0x71cc('0x36')](_0x4fa63e[_0x71cc('0x33')]['fields']));_0x3b7451[_0x71cc('0x37')]=_0x3b7451[_0x71cc('0x37')][_0x71cc('0x38')]?_0x3b7451[_0x71cc('0x37')]:_0x34c6bc[_0x71cc('0x32')];if(!_0x4fa63e[_0x71cc('0x33')][_0x71cc('0x39')](_0x71cc('0x3a'))){_0x3b7451[_0x71cc('0x3b')]=qs[_0x71cc('0x3b')](_0x4fa63e['query'][_0x71cc('0x3b')]);_0x3b7451['offset']=qs[_0x71cc('0x1c')](_0x4fa63e[_0x71cc('0x33')][_0x71cc('0x1c')]);}_0x3b7451[_0x71cc('0x3c')]=qs[_0x71cc('0x3d')](_0x4fa63e[_0x71cc('0x33')]['sort']);_0x3b7451[_0x71cc('0x3e')]=qs['filters'](_[_0x71cc('0x3f')](_0x4fa63e[_0x71cc('0x33')],_0x34c6bc[_0x71cc('0x34')]));if(_0x4fa63e['query'][_0x71cc('0x40')]){_0x3b7451['where']=_[_0x71cc('0x41')](_0x3b7451[_0x71cc('0x3e')],{'$or':_[_0x71cc('0x2d')](_0x11d0bc,function(_0x92389){if(_0x92389[_0x71cc('0x30')]!==_0x71cc('0x42')){var _0x104aee={};_0x104aee[_0x92389[_0x71cc('0x2a')]]={'$like':'%'+_0x4fa63e[_0x71cc('0x33')][_0x71cc('0x40')]+'%'};return _0x104aee;}})});}_0x3b7451=_[_0x71cc('0x41')]({},_0x3b7451,_0x4fa63e[_0x71cc('0x43')]);var _0x4f0bb0={'where':_0x3b7451[_0x71cc('0x3e')]};return db[_0x71cc('0x44')]['count'](_0x4f0bb0)['then'](function(_0x463cdd){_0x184a51[_0x71cc('0x1b')]=_0x463cdd;if(_0x4fa63e['query'][_0x71cc('0x45')]){_0x3b7451[_0x71cc('0x46')]=[{'all':!![]}];}return db[_0x71cc('0x44')][_0x71cc('0x47')](_0x3b7451);})[_0x71cc('0x23')](function(_0x5b3a38){_0x184a51['rows']=_0x5b3a38;return _0x184a51;})['then'](respondWithFilteredResult(_0x3054ff,_0x3b7451))[_0x71cc('0x48')](handleError(_0x3054ff,null));};exports['show']=function(_0x3bd7d0,_0x38ef60){var _0x70cd0e={'raw':![],'where':{'id':_0x3bd7d0[_0x71cc('0x49')]['id']}},_0x218558={};_0x218558[_0x71cc('0x32')]=_[_0x71cc('0x4a')](db[_0x71cc('0x44')][_0x71cc('0x2e')]);_0x218558[_0x71cc('0x33')]=_[_0x71cc('0x4a')](_0x3bd7d0[_0x71cc('0x33')]);_0x218558[_0x71cc('0x34')]=_['intersection'](_0x218558[_0x71cc('0x32')],_0x218558[_0x71cc('0x33')]);_0x70cd0e[_0x71cc('0x37')]=_['intersection'](_0x218558[_0x71cc('0x32')],qs[_0x71cc('0x36')](_0x3bd7d0[_0x71cc('0x33')][_0x71cc('0x36')]));_0x70cd0e[_0x71cc('0x37')]=_0x70cd0e[_0x71cc('0x37')][_0x71cc('0x38')]?_0x70cd0e[_0x71cc('0x37')]:_0x218558[_0x71cc('0x32')];if(_0x3bd7d0[_0x71cc('0x33')][_0x71cc('0x45')]){_0x70cd0e[_0x71cc('0x46')]=[{'all':!![]}];}_0x70cd0e=_['merge']({},_0x70cd0e,_0x3bd7d0[_0x71cc('0x43')]);return db[_0x71cc('0x44')][_0x71cc('0x4b')](_0x70cd0e)[_0x71cc('0x23')](handleEntityNotFound(_0x38ef60,null))[_0x71cc('0x23')](respondWithResult(_0x38ef60,null))[_0x71cc('0x48')](handleError(_0x38ef60,null));};exports[_0x71cc('0x4c')]=function(_0x51cd49,_0x108e3f){return db[_0x71cc('0x44')]['create'](_0x51cd49[_0x71cc('0x4d')],{})[_0x71cc('0x23')](function(_0x1bda7f){var _0xe6b3db=_0x51cd49[_0x71cc('0x4e')][_0x71cc('0x25')]({'plain':!![]});if(!_0xe6b3db)throw new Error(_0x71cc('0x4f'));if(_0xe6b3db[_0x71cc('0x50')]===_0x71cc('0x4e')){var _0x1647ce=_0x1bda7f[_0x71cc('0x25')]({'plain':!![]});var _0x580c21=_0x71cc('0x26');return db['UserProfileSection'][_0x71cc('0x4b')]({'where':{'name':_0x580c21,'userProfileId':_0xe6b3db['userProfileId']},'raw':!![]})[_0x71cc('0x23')](function(_0x36c71e){if(_0x36c71e&&_0x36c71e['autoAssociation']===0x0){return db[_0x71cc('0x27')][_0x71cc('0x4c')]({'name':_0x1647ce['name'],'resourceId':_0x1647ce['id'],'type':_0x36c71e[_0x71cc('0x2a')],'sectionId':_0x36c71e['id']},{})[_0x71cc('0x23')](function(){return _0x1bda7f;});}else{return _0x1bda7f;}})[_0x71cc('0x48')](function(_0x1f0673){logger[_0x71cc('0x28')](_0x71cc('0x51'),_0x1f0673);throw _0x1f0673;});}return _0x1bda7f;})[_0x71cc('0x23')](respondWithResult(_0x108e3f,0xc9))['catch'](handleError(_0x108e3f,null));};exports[_0x71cc('0x22')]=function(_0xdc11f2,_0x570f87){if(_0xdc11f2['body']['id']){delete _0xdc11f2[_0x71cc('0x4d')]['id'];}return db[_0x71cc('0x44')]['find']({'where':{'id':_0xdc11f2[_0x71cc('0x49')]['id']}})[_0x71cc('0x23')](handleEntityNotFound(_0x570f87,null))[_0x71cc('0x23')](saveUpdates(_0xdc11f2[_0x71cc('0x4d')],null))[_0x71cc('0x23')](respondWithResult(_0x570f87,null))[_0x71cc('0x48')](handleError(_0x570f87,null));};exports['destroy']=function(_0x49cd24,_0x211dbf){return db['SquareProject']['find']({'where':{'id':_0x49cd24[_0x71cc('0x49')]['id']}})['then'](handleEntityNotFound(_0x211dbf,null))['then'](removeEntity(_0x211dbf,null))['catch'](handleError(_0x211dbf,null));};exports['addUsers']=function(_0x572c62,_0x32999d,_0x4b5587){return db['SquareProject'][_0x71cc('0x4b')]({'where':{'id':_0x572c62[_0x71cc('0x49')]['id']}})[_0x71cc('0x23')](handleEntityNotFound(_0x32999d,null))[_0x71cc('0x23')](function(_0x2b108e){if(_0x2b108e){return _0x2b108e[_0x71cc('0x52')](_0x572c62['body']['ids'],_['omit'](_0x572c62[_0x71cc('0x4d')],[_0x71cc('0x53'),'id'])||{});}})[_0x71cc('0x23')](respondWithResult(_0x32999d,null))[_0x71cc('0x48')](handleError(_0x32999d,null));};exports[_0x71cc('0x54')]=function(_0x5b1560,_0xcd78b5,_0xca3919){return db['SquareProject']['find']({'where':{'id':_0x5b1560[_0x71cc('0x49')]['id']}})[_0x71cc('0x23')](handleEntityNotFound(_0xcd78b5,null))['then'](function(_0x5484c9){if(_0x5484c9){return _0x5484c9[_0x71cc('0x54')](_0x5b1560['query']['ids'])[_0x71cc('0x23')](function(){if(_[_0x71cc('0x55')](_0x5b1560[_0x71cc('0x33')]['ids'])){for(var _0x35e963=0x0;_0x35e963<_0x5b1560[_0x71cc('0x33')][_0x71cc('0x53')]['length'];_0x35e963+=0x1){socket['emit']('userSquareProject:remove',{'UserId':Number(_0x5b1560[_0x71cc('0x33')][_0x71cc('0x53')][_0x35e963]),'SquareProjectId':Number(_0x5b1560[_0x71cc('0x49')]['id'])});}}else{socket[_0x71cc('0x56')](_0x71cc('0x57'),{'UserId':Number(_0x5b1560[_0x71cc('0x33')]['ids']),'SquareProjectId':Number(_0x5b1560['params']['id'])});}});}})[_0x71cc('0x23')](respondWithStatusCode(_0xcd78b5,null))[_0x71cc('0x48')](handleError(_0xcd78b5,null));};exports[_0x71cc('0x58')]=function(_0x1c60f0,_0x355f28,_0x22b8ac){var _0x1f8649={};var _0x220b8f={};var _0x471cb7;var _0x17ecd1;return db['SquareProject']['findOne']({'where':{'id':_0x1c60f0[_0x71cc('0x49')]['id']}})[_0x71cc('0x23')](handleEntityNotFound(_0x355f28,null))[_0x71cc('0x23')](function(_0x2d05b5){if(_0x2d05b5){_0x471cb7=_0x2d05b5;_0x220b8f[_0x71cc('0x32')]=_[_0x71cc('0x4a')](db[_0x71cc('0x59')][_0x71cc('0x2e')]);_0x220b8f[_0x71cc('0x33')]=_['keys'](_0x1c60f0[_0x71cc('0x33')]);_0x220b8f[_0x71cc('0x34')]=_[_0x71cc('0x35')](_0x220b8f[_0x71cc('0x32')],_0x220b8f['query']);_0x1f8649['attributes']=_[_0x71cc('0x35')](_0x220b8f[_0x71cc('0x32')],qs[_0x71cc('0x36')](_0x1c60f0[_0x71cc('0x33')][_0x71cc('0x36')]));_0x1f8649['attributes']=_0x1f8649['attributes'][_0x71cc('0x38')]?_0x1f8649[_0x71cc('0x37')]:_0x220b8f['model'];_0x1f8649[_0x71cc('0x3c')]=qs[_0x71cc('0x3d')](_0x1c60f0[_0x71cc('0x33')][_0x71cc('0x3d')]);_0x1f8649['where']=qs['filters'](_['pick'](_0x1c60f0[_0x71cc('0x33')],_0x220b8f[_0x71cc('0x34')]));if(_0x1c60f0[_0x71cc('0x33')][_0x71cc('0x40')]){_0x1f8649[_0x71cc('0x3e')]=_[_0x71cc('0x41')](_0x1f8649[_0x71cc('0x3e')],{'$or':_[_0x71cc('0x2d')](_0x1f8649[_0x71cc('0x37')],function(_0x2248d5){var _0x53bf3c={};_0x53bf3c[_0x2248d5]={'$like':'%'+_0x1c60f0[_0x71cc('0x33')][_0x71cc('0x40')]+'%'};return _0x53bf3c;})});}_0x1f8649=_[_0x71cc('0x41')]({},_0x1f8649,_0x1c60f0[_0x71cc('0x43')]);return _0x471cb7['getUsers'](_0x1f8649);}})['then'](function(_0x434475){if(_0x434475){_0x17ecd1=_0x434475[_0x71cc('0x38')];if(!_0x1c60f0[_0x71cc('0x33')][_0x71cc('0x39')](_0x71cc('0x3a'))){_0x1f8649[_0x71cc('0x3b')]=qs['limit'](_0x1c60f0[_0x71cc('0x33')][_0x71cc('0x3b')]);_0x1f8649['offset']=qs['offset'](_0x1c60f0[_0x71cc('0x33')][_0x71cc('0x1c')]);}return _0x471cb7[_0x71cc('0x58')](_0x1f8649);}})[_0x71cc('0x23')](function(_0x48d807){if(_0x48d807){return _0x48d807?{'count':_0x17ecd1,'rows':_0x48d807}:null;}})['then'](respondWithResult(_0x355f28,null))['catch'](handleError(_0x355f28,null));};