Built motion from commit (unavailable).|2.5.21
[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 _0xc798=['../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','then','Tags','UserProfileResource','destroy','error','stack','send','index','map','Tag','rawAttributes','fieldName','model','name','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','includeAll','include','findAll','catch','length','options','find','create','user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse'];(function(_0x15a033,_0x379888){var _0x44b426=function(_0x3d1309){while(--_0x3d1309){_0x15a033['push'](_0x15a033['shift']());}};_0x44b426(++_0x379888);}(_0xc798,0xe4));var _0x8c79=function(_0x3f833e,_0x3d0f4a){_0x3f833e=_0x3f833e-0x0;var _0x475735=_0xc798[_0x3f833e];return _0x475735;};'use strict';var pdf=require(_0x8c79('0x0'));var emlformat=require(_0x8c79('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x8c79('0x2'));var jsonpatch=require(_0x8c79('0x3'));var rp=require(_0x8c79('0x4'));var moment=require('moment');var BPromise=require(_0x8c79('0x5'));var Mustache=require(_0x8c79('0x6'));var util=require('util');var path=require(_0x8c79('0x7'));var sox=require(_0x8c79('0x8'));var csv=require(_0x8c79('0x9'));var ejs=require(_0x8c79('0xa'));var fs=require('fs');var _=require(_0x8c79('0xb'));var squel=require(_0x8c79('0xc'));var crypto=require(_0x8c79('0xd'));var jsforce=require(_0x8c79('0xe'));var deskjs=require(_0x8c79('0xf'));var toCsv=require('to-csv');var querystring=require(_0x8c79('0x10'));var Papa=require(_0x8c79('0x11'));var Redis=require('ioredis');var authService=require(_0x8c79('0x12'));var qs=require(_0x8c79('0x13'));var as=require(_0x8c79('0x14'));var hardwareService=require(_0x8c79('0x15'));var logger=require(_0x8c79('0x16'))(_0x8c79('0x17'));var utils=require(_0x8c79('0x18'));var config=require(_0x8c79('0x19'));var licenseUtil=require(_0x8c79('0x1a'));var db=require(_0x8c79('0x1b'))['db'];function respondWithStatusCode(_0x50816a,_0x1c49f7){_0x1c49f7=_0x1c49f7||0xcc;return function(_0x4bdb62){if(_0x4bdb62){return _0x50816a[_0x8c79('0x1c')](_0x1c49f7);}return _0x50816a[_0x8c79('0x1d')](_0x1c49f7)[_0x8c79('0x1e')]();};}function respondWithResult(_0x2725bd,_0x2ab9f7){_0x2ab9f7=_0x2ab9f7||0xc8;return function(_0x4b5680){if(_0x4b5680){return _0x2725bd[_0x8c79('0x1d')](_0x2ab9f7)[_0x8c79('0x1f')](_0x4b5680);}};}function respondWithFilteredResult(_0x4e6a75,_0x1a4bfb){return function(_0x147340){if(_0x147340){var _0x329307=_0x147340[_0x8c79('0x20')],_0x3f26e2=_0x1a4bfb[_0x8c79('0x21')],_0x3a8840=_0x1a4bfb['offset']+_0x1a4bfb[_0x8c79('0x22')],_0x38b32a;if(_0x3a8840>=_0x329307){_0x3a8840=_0x329307;_0x38b32a=0xc8;}else{_0x38b32a=0xce;}_0x4e6a75[_0x8c79('0x1d')](_0x38b32a);return _0x4e6a75['set'](_0x8c79('0x23'),_0x3f26e2+'-'+_0x3a8840+'/'+_0x329307)[_0x8c79('0x1f')](_0x147340);}return null;};}function patchUpdates(_0x42d627){return function(_0xb4722c){try{jsonpatch[_0x8c79('0x24')](_0xb4722c,_0x42d627,!![]);}catch(_0xdd8bf2){return BPromise[_0x8c79('0x25')](_0xdd8bf2);}return _0xb4722c[_0x8c79('0x26')]();};}function saveUpdates(_0x12e5e7,_0x3b94db){return function(_0x20fb56){if(_0x20fb56){return _0x20fb56[_0x8c79('0x27')](_0x12e5e7)[_0x8c79('0x28')](function(_0x4ffd16){return _0x4ffd16;});}return null;};}function removeEntity(_0xcd1d94,_0x34fa9c){return function(_0x3324e0){if(_0x3324e0){return _0x3324e0['destroy']()['then'](function(){var _0x23e142=_0x3324e0['get']({'plain':!![]});var _0x1154e0=_0x8c79('0x29');return db[_0x8c79('0x2a')][_0x8c79('0x2b')]({'where':{'type':_0x1154e0,'resourceId':_0x23e142['id']}})[_0x8c79('0x28')](function(){return _0x3324e0;});})[_0x8c79('0x28')](function(){_0xcd1d94['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x1d9f65,_0x2c09e8){return function(_0x2e4919){if(!_0x2e4919){_0x1d9f65['sendStatus'](0x194);}return _0x2e4919;};}function handleError(_0x927399,_0x13b5f4){_0x13b5f4=_0x13b5f4||0x1f4;return function(_0x524847){logger[_0x8c79('0x2c')](_0x524847[_0x8c79('0x2d')]);if(_0x524847['name']){delete _0x524847['name'];}_0x927399[_0x8c79('0x1d')](_0x13b5f4)[_0x8c79('0x2e')](_0x524847);};}exports[_0x8c79('0x2f')]=function(_0x503faa,_0x462606){var _0x522f60={},_0x52c8b4={},_0x159886={'count':0x0,'rows':[]};var _0x5a918f=_[_0x8c79('0x30')](db[_0x8c79('0x31')][_0x8c79('0x32')],function(_0x587473){return{'name':_0x587473[_0x8c79('0x33')],'type':_0x587473['type']['key']};});_0x52c8b4[_0x8c79('0x34')]=_[_0x8c79('0x30')](_0x5a918f,_0x8c79('0x35'));_0x52c8b4[_0x8c79('0x36')]=_[_0x8c79('0x37')](_0x503faa[_0x8c79('0x36')]);_0x52c8b4['filters']=_['intersection'](_0x52c8b4['model'],_0x52c8b4[_0x8c79('0x36')]);_0x522f60[_0x8c79('0x38')]=_[_0x8c79('0x39')](_0x52c8b4[_0x8c79('0x34')],qs[_0x8c79('0x3a')](_0x503faa[_0x8c79('0x36')][_0x8c79('0x3a')]));_0x522f60[_0x8c79('0x38')]=_0x522f60[_0x8c79('0x38')]['length']?_0x522f60[_0x8c79('0x38')]:_0x52c8b4[_0x8c79('0x34')];if(!_0x503faa[_0x8c79('0x36')][_0x8c79('0x3b')](_0x8c79('0x3c'))){_0x522f60[_0x8c79('0x22')]=qs[_0x8c79('0x22')](_0x503faa[_0x8c79('0x36')][_0x8c79('0x22')]);_0x522f60[_0x8c79('0x21')]=qs['offset'](_0x503faa['query'][_0x8c79('0x21')]);}_0x522f60['order']=qs[_0x8c79('0x3d')](_0x503faa['query'][_0x8c79('0x3d')]);_0x522f60[_0x8c79('0x3e')]=qs[_0x8c79('0x3f')](_[_0x8c79('0x40')](_0x503faa['query'],_0x52c8b4['filters']),_0x5a918f);if(_0x503faa[_0x8c79('0x36')][_0x8c79('0x41')]){_0x522f60['where']=_[_0x8c79('0x42')](_0x522f60[_0x8c79('0x3e')],{'$or':_[_0x8c79('0x30')](_0x5a918f,function(_0x144482){if(_0x144482['type']!=='VIRTUAL'){var _0x40d618={};_0x40d618[_0x144482[_0x8c79('0x35')]]={'$like':'%'+_0x503faa[_0x8c79('0x36')]['filter']+'%'};return _0x40d618;}})});}_0x522f60=_[_0x8c79('0x42')]({},_0x522f60,_0x503faa['options']);var _0x37b749={'where':_0x522f60[_0x8c79('0x3e')]};return db[_0x8c79('0x31')][_0x8c79('0x20')](_0x37b749)[_0x8c79('0x28')](function(_0x551605){_0x159886[_0x8c79('0x20')]=_0x551605;if(_0x503faa[_0x8c79('0x36')][_0x8c79('0x43')]){_0x522f60[_0x8c79('0x44')]=[{'all':!![]}];}return db[_0x8c79('0x31')][_0x8c79('0x45')](_0x522f60);})[_0x8c79('0x28')](function(_0x506bc8){_0x159886['rows']=_0x506bc8;return _0x159886;})['then'](respondWithFilteredResult(_0x462606,_0x522f60))[_0x8c79('0x46')](handleError(_0x462606,null));};exports['show']=function(_0x42a169,_0x49dc0d){var _0x3b1dbe={'raw':!![],'where':{'id':_0x42a169['params']['id']}},_0x3a0575={};_0x3a0575[_0x8c79('0x34')]=_['keys'](db['Tag'][_0x8c79('0x32')]);_0x3a0575[_0x8c79('0x36')]=_[_0x8c79('0x37')](_0x42a169[_0x8c79('0x36')]);_0x3a0575[_0x8c79('0x3f')]=_[_0x8c79('0x39')](_0x3a0575[_0x8c79('0x34')],_0x3a0575['query']);_0x3b1dbe[_0x8c79('0x38')]=_[_0x8c79('0x39')](_0x3a0575[_0x8c79('0x34')],qs[_0x8c79('0x3a')](_0x42a169[_0x8c79('0x36')][_0x8c79('0x3a')]));_0x3b1dbe[_0x8c79('0x38')]=_0x3b1dbe[_0x8c79('0x38')][_0x8c79('0x47')]?_0x3b1dbe[_0x8c79('0x38')]:_0x3a0575[_0x8c79('0x34')];if(_0x42a169['query'][_0x8c79('0x43')]){_0x3b1dbe[_0x8c79('0x44')]=[{'all':!![]}];}_0x3b1dbe=_[_0x8c79('0x42')]({},_0x3b1dbe,_0x42a169[_0x8c79('0x48')]);return db['Tag'][_0x8c79('0x49')](_0x3b1dbe)[_0x8c79('0x28')](handleEntityNotFound(_0x49dc0d,null))[_0x8c79('0x28')](respondWithResult(_0x49dc0d,null))[_0x8c79('0x46')](handleError(_0x49dc0d,null));};exports[_0x8c79('0x4a')]=function(_0x173e97,_0x1c78b0){return db[_0x8c79('0x31')]['create'](_0x173e97['body'],{})[_0x8c79('0x28')](function(_0x24653d){var _0x3e8ce9=_0x173e97[_0x8c79('0x4b')]['get']({'plain':!![]});if(!_0x3e8ce9)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3e8ce9[_0x8c79('0x4c')]===_0x8c79('0x4b')){var _0x11359a=_0x24653d['get']({'plain':!![]});var _0x49201e='Tags';return db[_0x8c79('0x4d')][_0x8c79('0x49')]({'where':{'name':_0x49201e,'userProfileId':_0x3e8ce9['userProfileId']},'raw':!![]})[_0x8c79('0x28')](function(_0x24fc1f){if(_0x24fc1f&&_0x24fc1f[_0x8c79('0x4e')]===0x0){return db[_0x8c79('0x2a')]['create']({'name':_0x11359a['name'],'resourceId':_0x11359a['id'],'type':_0x24fc1f[_0x8c79('0x35')],'sectionId':_0x24fc1f['id']},{})[_0x8c79('0x28')](function(){return _0x24653d;});}else{return _0x24653d;}})[_0x8c79('0x46')](function(_0x4c372a){logger[_0x8c79('0x2c')](_0x8c79('0x4f'),_0x4c372a);throw _0x4c372a;});}return _0x24653d;})[_0x8c79('0x28')](respondWithResult(_0x1c78b0,0xc9))['catch'](handleError(_0x1c78b0,null));};exports[_0x8c79('0x27')]=function(_0x3a9b96,_0x894b04){if(_0x3a9b96[_0x8c79('0x50')]['id']){delete _0x3a9b96['body']['id'];}return db[_0x8c79('0x31')][_0x8c79('0x49')]({'where':{'id':_0x3a9b96[_0x8c79('0x51')]['id']}})['then'](handleEntityNotFound(_0x894b04,null))[_0x8c79('0x28')](saveUpdates(_0x3a9b96['body'],null))['then'](respondWithResult(_0x894b04,null))[_0x8c79('0x46')](handleError(_0x894b04,null));};exports['destroy']=function(_0x494494,_0x46d7d9){return db[_0x8c79('0x31')][_0x8c79('0x49')]({'where':{'id':_0x494494['params']['id']}})[_0x8c79('0x28')](handleEntityNotFound(_0x46d7d9,null))[_0x8c79('0x28')](removeEntity(_0x46d7d9,null))[_0x8c79('0x46')](handleError(_0x46d7d9,null));};