Built motion from commit (unavailable).|2.6.0
[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 _0x50a6=['register','status','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','end','sendStatus','error','stack','name','send','SquareProject','rawAttributes','model','map','query','filters','attributes','intersection','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','keys','fields','includeAll','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','SquareProjects','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','addUsers','ids','omit','removeUsers','isArray','length','userSquareProject:remove','getUsers','findOne','User','pick','eml-format','rimraf','request-promise','bluebird','mustache','util','sox','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../mysqldb','defaults','redis','localhost','./squareProject.socket'];(function(_0x1aa748,_0x22617e){var _0x4f885a=function(_0x12f73d){while(--_0x12f73d){_0x1aa748['push'](_0x1aa748['shift']());}};_0x4f885a(++_0x22617e);}(_0x50a6,0xa4));var _0x650a=function(_0x13a913,_0x400d93){_0x13a913=_0x13a913-0x0;var _0xbf71de=_0x50a6[_0x13a913];return _0xbf71de;};'use strict';var emlformat=require(_0x650a('0x0'));var rimraf=require(_0x650a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x650a('0x2'));var moment=require('moment');var BPromise=require(_0x650a('0x3'));var Mustache=require(_0x650a('0x4'));var util=require(_0x650a('0x5'));var path=require('path');var sox=require(_0x650a('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x650a('0x7'));var _=require(_0x650a('0x8'));var squel=require(_0x650a('0x9'));var crypto=require(_0x650a('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x650a('0xb'));var toCsv=require('to-csv');var querystring=require(_0x650a('0xc'));var Papa=require(_0x650a('0xd'));var Redis=require('ioredis');var authService=require(_0x650a('0xe'));var qs=require(_0x650a('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x650a('0x10'));var logger=require('../../config/logger')(_0x650a('0x11'));var utils=require('../../config/utils');var config=require(_0x650a('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x650a('0x13'))['db'];config['redis']=_[_0x650a('0x14')](config[_0x650a('0x15')],{'host':_0x650a('0x16'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x650a('0x15')]));require(_0x650a('0x17'))[_0x650a('0x18')](socket);function respondWithStatusCode(_0x15f2fd,_0x35c6dc){_0x35c6dc=_0x35c6dc||0xcc;return function(_0x24f11f){if(_0x24f11f){return _0x15f2fd['sendStatus'](_0x35c6dc);}return _0x15f2fd[_0x650a('0x19')](_0x35c6dc)['end']();};}function respondWithResult(_0x1f94ab,_0x3c2206){_0x3c2206=_0x3c2206||0xc8;return function(_0x348fda){if(_0x348fda){return _0x1f94ab['status'](_0x3c2206)['json'](_0x348fda);}};}function respondWithFilteredResult(_0x5285e0,_0x52e5bb){return function(_0x2ad2d7){if(_0x2ad2d7){var _0x359314=typeof _0x52e5bb[_0x650a('0x1a')]===_0x650a('0x1b')&&typeof _0x52e5bb[_0x650a('0x1c')]==='undefined';var _0x4eba86=_0x2ad2d7[_0x650a('0x1d')];var _0x1c65f6=_0x359314?0x0:_0x52e5bb['offset'];var _0x2e2761=_0x359314?_0x2ad2d7[_0x650a('0x1d')]:_0x52e5bb['offset']+_0x52e5bb[_0x650a('0x1c')];var _0x1ceedd;if(_0x2e2761>=_0x4eba86){_0x2e2761=_0x4eba86;_0x1ceedd=0xc8;}else{_0x1ceedd=0xce;}_0x5285e0[_0x650a('0x19')](_0x1ceedd);return _0x5285e0[_0x650a('0x1e')](_0x650a('0x1f'),_0x1c65f6+'-'+_0x2e2761+'/'+_0x4eba86)['json'](_0x2ad2d7);}return null;};}function patchUpdates(_0x88531d){return function(_0x5d547f){try{jsonpatch[_0x650a('0x20')](_0x5d547f,_0x88531d,!![]);}catch(_0x1d471d){return BPromise[_0x650a('0x21')](_0x1d471d);}return _0x5d547f[_0x650a('0x22')]();};}function saveUpdates(_0x2ed256,_0x326d60){return function(_0x40117a){if(_0x40117a){return _0x40117a[_0x650a('0x23')](_0x2ed256)[_0x650a('0x24')](function(_0x2761a8){return _0x2761a8;});}return null;};}function removeEntity(_0xa902e6,_0x234fce){return function(_0xd89a9e){if(_0xd89a9e){return _0xd89a9e[_0x650a('0x25')]()[_0x650a('0x24')](function(){var _0x39a155=_0xd89a9e[_0x650a('0x26')]({'plain':!![]});var _0x12fdb4='SquareProjects';return db[_0x650a('0x27')][_0x650a('0x25')]({'where':{'type':_0x12fdb4,'resourceId':_0x39a155['id']}})[_0x650a('0x24')](function(){return _0xd89a9e;});})['then'](function(){_0xa902e6[_0x650a('0x19')](0xcc)[_0x650a('0x28')]();});}};}function handleEntityNotFound(_0x454ff8,_0x783509){return function(_0x3c5bd4){if(!_0x3c5bd4){_0x454ff8[_0x650a('0x29')](0x194);}return _0x3c5bd4;};}function handleError(_0x4d0848,_0x190a65){_0x190a65=_0x190a65||0x1f4;return function(_0x1c8621){logger[_0x650a('0x2a')](_0x1c8621[_0x650a('0x2b')]);if(_0x1c8621[_0x650a('0x2c')]){delete _0x1c8621[_0x650a('0x2c')];}_0x4d0848[_0x650a('0x19')](_0x190a65)[_0x650a('0x2d')](_0x1c8621);};}exports['index']=function(_0x614b0e,_0x3c2eda){var _0x2e0370={},_0x5123c9={},_0x12d846={'count':0x0,'rows':[]};var _0x1c0770=_['map'](db[_0x650a('0x2e')][_0x650a('0x2f')],function(_0x41cdc6){return{'name':_0x41cdc6['fieldName'],'type':_0x41cdc6['type']['key']};});_0x5123c9[_0x650a('0x30')]=_[_0x650a('0x31')](_0x1c0770,_0x650a('0x2c'));_0x5123c9[_0x650a('0x32')]=_['keys'](_0x614b0e[_0x650a('0x32')]);_0x5123c9[_0x650a('0x33')]=_['intersection'](_0x5123c9[_0x650a('0x30')],_0x5123c9[_0x650a('0x32')]);_0x2e0370[_0x650a('0x34')]=_[_0x650a('0x35')](_0x5123c9[_0x650a('0x30')],qs['fields'](_0x614b0e[_0x650a('0x32')]['fields']));_0x2e0370[_0x650a('0x34')]=_0x2e0370[_0x650a('0x34')]['length']?_0x2e0370[_0x650a('0x34')]:_0x5123c9[_0x650a('0x30')];if(!_0x614b0e['query'][_0x650a('0x36')](_0x650a('0x37'))){_0x2e0370[_0x650a('0x1c')]=qs['limit'](_0x614b0e[_0x650a('0x32')][_0x650a('0x1c')]);_0x2e0370[_0x650a('0x1a')]=qs[_0x650a('0x1a')](_0x614b0e['query'][_0x650a('0x1a')]);}_0x2e0370[_0x650a('0x38')]=qs[_0x650a('0x39')](_0x614b0e['query']['sort']);_0x2e0370[_0x650a('0x3a')]=qs[_0x650a('0x33')](_['pick'](_0x614b0e[_0x650a('0x32')],_0x5123c9['filters']),_0x1c0770);if(_0x614b0e[_0x650a('0x32')][_0x650a('0x3b')]){_0x2e0370[_0x650a('0x3a')]=_[_0x650a('0x3c')](_0x2e0370[_0x650a('0x3a')],{'$or':_['map'](_0x1c0770,function(_0x20ba76){if(_0x20ba76['type']!==_0x650a('0x3d')){var _0x1d65b4={};_0x1d65b4[_0x20ba76[_0x650a('0x2c')]]={'$like':'%'+_0x614b0e[_0x650a('0x32')][_0x650a('0x3b')]+'%'};return _0x1d65b4;}})});}_0x2e0370=_[_0x650a('0x3c')]({},_0x2e0370,_0x614b0e[_0x650a('0x3e')]);var _0x4c75fe={'where':_0x2e0370['where']};return db[_0x650a('0x2e')]['count'](_0x4c75fe)['then'](function(_0x1e0868){_0x12d846['count']=_0x1e0868;if(_0x614b0e[_0x650a('0x32')]['includeAll']){_0x2e0370[_0x650a('0x3f')]=[{'all':!![]}];}return db[_0x650a('0x2e')][_0x650a('0x40')](_0x2e0370);})[_0x650a('0x24')](function(_0x409495){_0x12d846[_0x650a('0x41')]=_0x409495;return _0x12d846;})[_0x650a('0x24')](respondWithFilteredResult(_0x3c2eda,_0x2e0370))[_0x650a('0x42')](handleError(_0x3c2eda,null));};exports[_0x650a('0x43')]=function(_0x25c0a2,_0x205dfe){var _0x381632={'raw':![],'where':{'id':_0x25c0a2[_0x650a('0x44')]['id']}},_0x4ac78e={};_0x4ac78e[_0x650a('0x30')]=_[_0x650a('0x45')](db[_0x650a('0x2e')][_0x650a('0x2f')]);_0x4ac78e[_0x650a('0x32')]=_['keys'](_0x25c0a2[_0x650a('0x32')]);_0x4ac78e[_0x650a('0x33')]=_[_0x650a('0x35')](_0x4ac78e[_0x650a('0x30')],_0x4ac78e[_0x650a('0x32')]);_0x381632[_0x650a('0x34')]=_['intersection'](_0x4ac78e['model'],qs[_0x650a('0x46')](_0x25c0a2[_0x650a('0x32')][_0x650a('0x46')]));_0x381632['attributes']=_0x381632[_0x650a('0x34')]['length']?_0x381632[_0x650a('0x34')]:_0x4ac78e[_0x650a('0x30')];if(_0x25c0a2['query'][_0x650a('0x47')]){_0x381632[_0x650a('0x3f')]=[{'all':!![]}];}_0x381632=_[_0x650a('0x3c')]({},_0x381632,_0x25c0a2['options']);return db[_0x650a('0x2e')][_0x650a('0x48')](_0x381632)[_0x650a('0x24')](handleEntityNotFound(_0x205dfe,null))['then'](respondWithResult(_0x205dfe,null))[_0x650a('0x42')](handleError(_0x205dfe,null));};exports[_0x650a('0x49')]=function(_0x34fa7a,_0x11bb6b){return db[_0x650a('0x2e')]['create'](_0x34fa7a['body'],{})[_0x650a('0x24')](function(_0x34fdcf){var _0x5b2907=_0x34fa7a[_0x650a('0x4a')][_0x650a('0x26')]({'plain':!![]});if(!_0x5b2907)throw new Error(_0x650a('0x4b'));if(_0x5b2907[_0x650a('0x4c')]===_0x650a('0x4a')){var _0x8bef2c=_0x34fdcf['get']({'plain':!![]});var _0x1e1996=_0x650a('0x4d');return db[_0x650a('0x4e')][_0x650a('0x48')]({'where':{'name':_0x1e1996,'userProfileId':_0x5b2907[_0x650a('0x4f')]},'raw':!![]})['then'](function(_0x45346f){if(_0x45346f&&_0x45346f[_0x650a('0x50')]===0x0){return db[_0x650a('0x27')][_0x650a('0x49')]({'name':_0x8bef2c['name'],'resourceId':_0x8bef2c['id'],'type':_0x45346f['name'],'sectionId':_0x45346f['id']},{})[_0x650a('0x24')](function(){return _0x34fdcf;});}else{return _0x34fdcf;}})[_0x650a('0x42')](function(_0x5c2be4){logger[_0x650a('0x2a')](_0x650a('0x51'),_0x5c2be4);throw _0x5c2be4;});}return _0x34fdcf;})[_0x650a('0x24')](respondWithResult(_0x11bb6b,0xc9))[_0x650a('0x42')](handleError(_0x11bb6b,null));};exports[_0x650a('0x23')]=function(_0x459f29,_0x36c517){if(_0x459f29[_0x650a('0x52')]['id']){delete _0x459f29[_0x650a('0x52')]['id'];}return db[_0x650a('0x2e')][_0x650a('0x48')]({'where':{'id':_0x459f29[_0x650a('0x44')]['id']}})[_0x650a('0x24')](handleEntityNotFound(_0x36c517,null))[_0x650a('0x24')](saveUpdates(_0x459f29[_0x650a('0x52')],null))['then'](respondWithResult(_0x36c517,null))['catch'](handleError(_0x36c517,null));};exports[_0x650a('0x25')]=function(_0x2abb94,_0x4ff3da){return db['SquareProject'][_0x650a('0x48')]({'where':{'id':_0x2abb94['params']['id']}})[_0x650a('0x24')](handleEntityNotFound(_0x4ff3da,null))['then'](removeEntity(_0x4ff3da,null))['catch'](handleError(_0x4ff3da,null));};exports[_0x650a('0x53')]=function(_0x508e45,_0x449dbf,_0x308419){return db['SquareProject'][_0x650a('0x48')]({'where':{'id':_0x508e45[_0x650a('0x44')]['id']}})[_0x650a('0x24')](handleEntityNotFound(_0x449dbf,null))[_0x650a('0x24')](function(_0x22d6eb){if(_0x22d6eb){return _0x22d6eb[_0x650a('0x53')](_0x508e45['body'][_0x650a('0x54')],_[_0x650a('0x55')](_0x508e45[_0x650a('0x52')],['ids','id'])||{});}})[_0x650a('0x24')](respondWithResult(_0x449dbf,null))[_0x650a('0x42')](handleError(_0x449dbf,null));};exports[_0x650a('0x56')]=function(_0x5920a6,_0x581ead,_0x1cf56e){return db[_0x650a('0x2e')]['find']({'where':{'id':_0x5920a6[_0x650a('0x44')]['id']}})[_0x650a('0x24')](handleEntityNotFound(_0x581ead,null))[_0x650a('0x24')](function(_0x3624ee){if(_0x3624ee){return _0x3624ee[_0x650a('0x56')](_0x5920a6[_0x650a('0x32')]['ids'])[_0x650a('0x24')](function(){if(_[_0x650a('0x57')](_0x5920a6[_0x650a('0x32')]['ids'])){for(var _0x436531=0x0;_0x436531<_0x5920a6[_0x650a('0x32')]['ids'][_0x650a('0x58')];_0x436531+=0x1){socket['emit'](_0x650a('0x59'),{'UserId':Number(_0x5920a6['query'][_0x650a('0x54')][_0x436531]),'SquareProjectId':Number(_0x5920a6[_0x650a('0x44')]['id'])});}}else{socket['emit'](_0x650a('0x59'),{'UserId':Number(_0x5920a6[_0x650a('0x32')][_0x650a('0x54')]),'SquareProjectId':Number(_0x5920a6[_0x650a('0x44')]['id'])});}});}})[_0x650a('0x24')](respondWithStatusCode(_0x581ead,null))[_0x650a('0x42')](handleError(_0x581ead,null));};exports[_0x650a('0x5a')]=function(_0x338841,_0x5a08d9,_0x180854){var _0x1eb780={};var _0x34cfb0={};var _0xba1b88;var _0x4bbccd;return db['SquareProject'][_0x650a('0x5b')]({'where':{'id':_0x338841['params']['id']}})[_0x650a('0x24')](handleEntityNotFound(_0x5a08d9,null))[_0x650a('0x24')](function(_0x42689c){if(_0x42689c){_0xba1b88=_0x42689c;_0x34cfb0[_0x650a('0x30')]=_[_0x650a('0x45')](db[_0x650a('0x5c')]['rawAttributes']);_0x34cfb0[_0x650a('0x32')]=_['keys'](_0x338841[_0x650a('0x32')]);_0x34cfb0[_0x650a('0x33')]=_[_0x650a('0x35')](_0x34cfb0[_0x650a('0x30')],_0x34cfb0[_0x650a('0x32')]);_0x1eb780['attributes']=_[_0x650a('0x35')](_0x34cfb0[_0x650a('0x30')],qs[_0x650a('0x46')](_0x338841[_0x650a('0x32')][_0x650a('0x46')]));_0x1eb780[_0x650a('0x34')]=_0x1eb780[_0x650a('0x34')][_0x650a('0x58')]?_0x1eb780[_0x650a('0x34')]:_0x34cfb0[_0x650a('0x30')];_0x1eb780['order']=qs['sort'](_0x338841['query'][_0x650a('0x39')]);_0x1eb780[_0x650a('0x3a')]=qs['filters'](_[_0x650a('0x5d')](_0x338841[_0x650a('0x32')],_0x34cfb0[_0x650a('0x33')]));if(_0x338841['query'][_0x650a('0x3b')]){_0x1eb780['where']=_[_0x650a('0x3c')](_0x1eb780[_0x650a('0x3a')],{'$or':_[_0x650a('0x31')](_0x1eb780[_0x650a('0x34')],function(_0x434456){var _0x5245f5={};_0x5245f5[_0x434456]={'$like':'%'+_0x338841['query'][_0x650a('0x3b')]+'%'};return _0x5245f5;})});}_0x1eb780=_[_0x650a('0x3c')]({},_0x1eb780,_0x338841[_0x650a('0x3e')]);return _0xba1b88['getUsers'](_0x1eb780);}})[_0x650a('0x24')](function(_0x5dc433){if(_0x5dc433){_0x4bbccd=_0x5dc433['length'];if(!_0x338841[_0x650a('0x32')][_0x650a('0x36')](_0x650a('0x37'))){_0x1eb780[_0x650a('0x1c')]=qs[_0x650a('0x1c')](_0x338841['query'][_0x650a('0x1c')]);_0x1eb780[_0x650a('0x1a')]=qs[_0x650a('0x1a')](_0x338841['query']['offset']);}return _0xba1b88[_0x650a('0x5a')](_0x1eb780);}})['then'](function(_0x50f277){if(_0x50f277){return _0x50f277?{'count':_0x4bbccd,'rows':_0x50f277}:null;}})['then'](respondWithResult(_0x5a08d9,null))[_0x650a('0x42')](handleError(_0x5a08d9,null));};