Built motion from commit (unavailable).|2.3.1
[motion2.git] / server / api / tag / tag.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 _0xd117=['Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','papaparse','../../components/auth/service','../../config/license/hardware','../../components/parsers/qs','../../config/utils','sendStatus','end','status','json','count','offset','limit','set','Content-Range','save','update','then','get','Tags','UserProfileResource','destroy','error','stack','name','send','rawAttributes','keys','query','intersection','model','attributes','hasOwnProperty','filters','pick','filter','where','merge','map','type','VIRTUAL','field','Tag','include','findAll','catch','params','fields','length','includeAll','options','find','create','body','role','user','UserProfileSection','userProfileId','autoAssociation'];(function(_0x10ff83,_0x385832){var _0xb99351=function(_0x5edcdf){while(--_0x5edcdf){_0x10ff83['push'](_0x10ff83['shift']());}};_0xb99351(++_0x385832);}(_0xd117,0x182));var _0x7d11=function(_0x3e0b8f,_0x1cddeb){_0x3e0b8f=_0x3e0b8f-0x0;var _0x22f742=_0xd117[_0x3e0b8f];return _0x22f742;};'use strict';var pdf=require(_0x7d11('0x0'));var emlformat=require(_0x7d11('0x1'));var rimraf=require(_0x7d11('0x2'));var zipdir=require(_0x7d11('0x3'));var jsonpatch=require(_0x7d11('0x4'));var rp=require(_0x7d11('0x5'));var moment=require(_0x7d11('0x6'));var BPromise=require(_0x7d11('0x7'));var Mustache=require(_0x7d11('0x8'));var util=require(_0x7d11('0x9'));var path=require(_0x7d11('0xa'));var sox=require(_0x7d11('0xb'));var csv=require(_0x7d11('0xc'));var ejs=require(_0x7d11('0xd'));var fs=require('fs');var _=require(_0x7d11('0xe'));var squel=require(_0x7d11('0xf'));var crypto=require('crypto');var jsforce=require(_0x7d11('0x10'));var deskjs=require(_0x7d11('0x11'));var toCsv=require(_0x7d11('0xc'));var querystring=require('querystring');var Papa=require(_0x7d11('0x12'));var authService=require(_0x7d11('0x13'));var hardwareService=require(_0x7d11('0x14'));var Redis=require('ioredis');var qs=require(_0x7d11('0x15'));var logger=require('../../config/logger')('api');var utils=require(_0x7d11('0x16'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xc52a95,_0x48f576){_0x48f576=_0x48f576||0xcc;return function(_0x4767d5){if(_0x4767d5){return _0xc52a95[_0x7d11('0x17')](_0x48f576);}return _0xc52a95['status'](_0x48f576)[_0x7d11('0x18')]();};}function respondWithResult(_0x20f519,_0x4cda5d){_0x4cda5d=_0x4cda5d||0xc8;return function(_0x324de5){if(_0x324de5){return _0x20f519[_0x7d11('0x19')](_0x4cda5d)[_0x7d11('0x1a')](_0x324de5);}};}function respondWithFilteredResult(_0x2978da,_0x417e2d){return function(_0xeae744){if(_0xeae744){var _0x2a269e=_0xeae744[_0x7d11('0x1b')],_0xb1669e=_0x417e2d[_0x7d11('0x1c')],_0x4aa795=_0x417e2d[_0x7d11('0x1c')]+_0x417e2d[_0x7d11('0x1d')],_0x1db0df;if(_0x4aa795>=_0x2a269e){_0x4aa795=_0x2a269e;_0x1db0df=0xc8;}else{_0x1db0df=0xce;}_0x2978da['status'](_0x1db0df);return _0x2978da[_0x7d11('0x1e')](_0x7d11('0x1f'),_0xb1669e+'-'+_0x4aa795+'/'+_0x2a269e)['json'](_0xeae744);}return null;};}function patchUpdates(_0x5459df){return function(_0x2ca3a2){try{jsonpatch['apply'](_0x2ca3a2,_0x5459df,!![]);}catch(_0x1f9990){return BPromise['reject'](_0x1f9990);}return _0x2ca3a2[_0x7d11('0x20')]();};}function saveUpdates(_0x17e539,_0x328f8e){return function(_0x46f662){if(_0x46f662){return _0x46f662[_0x7d11('0x21')](_0x17e539)[_0x7d11('0x22')](function(_0x4297f8){return _0x4297f8;});}return null;};}function removeEntity(_0x3d2574,_0x5680cb){return function(_0x441917){if(_0x441917){return _0x441917['destroy']()['then'](function(){var _0x5c3898=_0x441917[_0x7d11('0x23')]({'plain':!![]});var _0x3545dc=_0x7d11('0x24');return db[_0x7d11('0x25')][_0x7d11('0x26')]({'where':{'type':_0x3545dc,'resourceId':_0x5c3898['id']}})[_0x7d11('0x22')](function(){return _0x441917;});})[_0x7d11('0x22')](function(){_0x3d2574[_0x7d11('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x36c2b4,_0x577ca9){return function(_0x4bfa76){if(!_0x4bfa76){_0x36c2b4['sendStatus'](0x194);}return _0x4bfa76;};}function handleError(_0x3ba092,_0x59cdba){_0x59cdba=_0x59cdba||0x1f4;return function(_0x180e1e){logger[_0x7d11('0x27')](_0x180e1e[_0x7d11('0x28')]);if(_0x180e1e['name']){delete _0x180e1e[_0x7d11('0x29')];}_0x3ba092[_0x7d11('0x19')](_0x59cdba)[_0x7d11('0x2a')](_0x180e1e);};}exports['index']=function(_0x601650,_0x35a789){var _0x18c049={},_0x38f1be={},_0x4c7d6a={'count':0x0,'rows':[]};var _0x1a7745=db['Tag'][_0x7d11('0x2b')];_0x38f1be['model']=_[_0x7d11('0x2c')](_0x1a7745);_0x38f1be[_0x7d11('0x2d')]=_[_0x7d11('0x2c')](_0x601650['query']);_0x38f1be['filters']=_[_0x7d11('0x2e')](_0x38f1be[_0x7d11('0x2f')],_0x38f1be['query']);_0x18c049[_0x7d11('0x30')]=_[_0x7d11('0x2e')](_0x38f1be[_0x7d11('0x2f')],qs['fields'](_0x601650[_0x7d11('0x2d')]['fields']));_0x18c049['attributes']=_0x18c049[_0x7d11('0x30')]['length']?_0x18c049[_0x7d11('0x30')]:_0x38f1be[_0x7d11('0x2f')];if(!_0x601650[_0x7d11('0x2d')][_0x7d11('0x31')]('nolimit')){_0x18c049[_0x7d11('0x1d')]=qs[_0x7d11('0x1d')](_0x601650['query']['limit']);_0x18c049[_0x7d11('0x1c')]=qs[_0x7d11('0x1c')](_0x601650['query'][_0x7d11('0x1c')]);}_0x18c049['order']=qs['sort'](_0x601650[_0x7d11('0x2d')]['sort']);_0x18c049['where']=qs[_0x7d11('0x32')](_[_0x7d11('0x33')](_0x601650[_0x7d11('0x2d')],_0x38f1be[_0x7d11('0x32')]));if(_0x601650[_0x7d11('0x2d')][_0x7d11('0x34')]){_0x18c049[_0x7d11('0x35')]=_[_0x7d11('0x36')](_0x18c049[_0x7d11('0x35')],{'$or':_[_0x7d11('0x37')](_0x1a7745,function(_0x1a9f18){if(_0x1a9f18[_0x7d11('0x38')]['key']!==_0x7d11('0x39')){var _0x49d16b={};_0x49d16b[_0x1a9f18[_0x7d11('0x3a')]]={'$like':'%'+_0x601650[_0x7d11('0x2d')][_0x7d11('0x34')]+'%'};return _0x49d16b;}})});}_0x18c049=_[_0x7d11('0x36')]({},_0x18c049,_0x601650['options']);var _0xd36cd3={'where':_0x18c049[_0x7d11('0x35')]};return db[_0x7d11('0x3b')][_0x7d11('0x1b')](_0xd36cd3)['then'](function(_0x22730e){_0x4c7d6a['count']=_0x22730e;if(_0x601650[_0x7d11('0x2d')]['includeAll']){_0x18c049[_0x7d11('0x3c')]=[{'all':!![]}];}return db[_0x7d11('0x3b')][_0x7d11('0x3d')](_0x18c049);})[_0x7d11('0x22')](function(_0x52c28b){_0x4c7d6a['rows']=_0x52c28b;return _0x4c7d6a;})[_0x7d11('0x22')](respondWithFilteredResult(_0x35a789,_0x18c049))[_0x7d11('0x3e')](handleError(_0x35a789,null));};exports['show']=function(_0x1caef9,_0x28c4ce){var _0x3563e7={'raw':!![],'where':{'id':_0x1caef9[_0x7d11('0x3f')]['id']}},_0x77e1e8={};_0x77e1e8[_0x7d11('0x2f')]=_['keys'](db[_0x7d11('0x3b')]['rawAttributes']);_0x77e1e8[_0x7d11('0x2d')]=_[_0x7d11('0x2c')](_0x1caef9[_0x7d11('0x2d')]);_0x77e1e8[_0x7d11('0x32')]=_[_0x7d11('0x2e')](_0x77e1e8[_0x7d11('0x2f')],_0x77e1e8['query']);_0x3563e7['attributes']=_['intersection'](_0x77e1e8[_0x7d11('0x2f')],qs[_0x7d11('0x40')](_0x1caef9[_0x7d11('0x2d')][_0x7d11('0x40')]));_0x3563e7[_0x7d11('0x30')]=_0x3563e7['attributes'][_0x7d11('0x41')]?_0x3563e7[_0x7d11('0x30')]:_0x77e1e8['model'];if(_0x1caef9[_0x7d11('0x2d')][_0x7d11('0x42')]){_0x3563e7[_0x7d11('0x3c')]=[{'all':!![]}];}_0x3563e7=_['merge']({},_0x3563e7,_0x1caef9[_0x7d11('0x43')]);return db[_0x7d11('0x3b')][_0x7d11('0x44')](_0x3563e7)['then'](handleEntityNotFound(_0x28c4ce,null))[_0x7d11('0x22')](respondWithResult(_0x28c4ce,null))['catch'](handleError(_0x28c4ce,null));};exports[_0x7d11('0x45')]=function(_0x69dbd1,_0x3f33d9){return db[_0x7d11('0x3b')][_0x7d11('0x45')](_0x69dbd1[_0x7d11('0x46')],{})[_0x7d11('0x22')](function(_0x193631){var _0x1da7a4=_0x69dbd1['user']['get']({'plain':!![]});if(!_0x1da7a4)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1da7a4[_0x7d11('0x47')]===_0x7d11('0x48')){var _0x20297a=_0x193631[_0x7d11('0x23')]({'plain':!![]});var _0x140acc=_0x7d11('0x24');return db[_0x7d11('0x49')][_0x7d11('0x44')]({'where':{'name':_0x140acc,'userProfileId':_0x1da7a4[_0x7d11('0x4a')]},'raw':!![]})[_0x7d11('0x22')](function(_0x46450e){if(_0x46450e&&_0x46450e[_0x7d11('0x4b')]===0x0){return db['UserProfileResource'][_0x7d11('0x45')]({'name':_0x20297a[_0x7d11('0x29')],'resourceId':_0x20297a['id'],'type':_0x46450e[_0x7d11('0x29')],'sectionId':_0x46450e['id']},{})['then'](function(){return _0x193631;});}else{return _0x193631;}})['catch'](function(_0x14db1c){logger[_0x7d11('0x27')](_0x7d11('0x4c'),_0x14db1c);throw _0x14db1c;});}return _0x193631;})['then'](respondWithResult(_0x3f33d9,0xc9))['catch'](handleError(_0x3f33d9,null));};exports[_0x7d11('0x21')]=function(_0x36af2b,_0x5e6234){if(_0x36af2b[_0x7d11('0x46')]['id']){delete _0x36af2b[_0x7d11('0x46')]['id'];}return db[_0x7d11('0x3b')][_0x7d11('0x44')]({'where':{'id':_0x36af2b['params']['id']}})[_0x7d11('0x22')](handleEntityNotFound(_0x5e6234,null))[_0x7d11('0x22')](saveUpdates(_0x36af2b[_0x7d11('0x46')],null))['then'](respondWithResult(_0x5e6234,null))['catch'](handleError(_0x5e6234,null));};exports[_0x7d11('0x26')]=function(_0x3f310b,_0x20a85c){return db[_0x7d11('0x3b')][_0x7d11('0x44')]({'where':{'id':_0x3f310b['params']['id']}})[_0x7d11('0x22')](handleEntityNotFound(_0x20a85c,null))[_0x7d11('0x22')](removeEntity(_0x20a85c,null))[_0x7d11('0x3e')](handleError(_0x20a85c,null));};