Built motion from commit (unavailable).|2.4.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 _0x66d2=['error','stack','name','send','index','map','Tag','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','limit','order','sort','pick','filter','where','merge','options','includeAll','include','findAll','rows','show','params','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','rimraf','fast-json-patch','moment','bluebird','mustache','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','end','status','count','offset','set','reject','save','update','destroy','get','Tags','UserProfileResource','then','sendStatus'];(function(_0x418db9,_0x19ae3d){var _0x312eef=function(_0x33d2df){while(--_0x33d2df){_0x418db9['push'](_0x418db9['shift']());}};_0x312eef(++_0x19ae3d);}(_0x66d2,0x116));var _0x266d=function(_0x1a055d,_0xf46e0c){_0x1a055d=_0x1a055d-0x0;var _0x12bc3a=_0x66d2[_0x1a055d];return _0x12bc3a;};'use strict';var pdf=require(_0x266d('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x266d('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x266d('0x2'));var rp=require('request-promise');var moment=require(_0x266d('0x3'));var BPromise=require(_0x266d('0x4'));var Mustache=require(_0x266d('0x5'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x266d('0x6'));var crypto=require(_0x266d('0x7'));var jsforce=require('jsforce');var deskjs=require(_0x266d('0x8'));var toCsv=require('to-csv');var querystring=require(_0x266d('0x9'));var Papa=require(_0x266d('0xa'));var Redis=require(_0x266d('0xb'));var authService=require(_0x266d('0xc'));var qs=require(_0x266d('0xd'));var as=require(_0x266d('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x266d('0xf'))(_0x266d('0x10'));var utils=require(_0x266d('0x11'));var config=require(_0x266d('0x12'));var db=require(_0x266d('0x13'))['db'];function respondWithStatusCode(_0x1ec47e,_0x9abcf3){_0x9abcf3=_0x9abcf3||0xcc;return function(_0x3ba79c){if(_0x3ba79c){return _0x1ec47e['sendStatus'](_0x9abcf3);}return _0x1ec47e['status'](_0x9abcf3)[_0x266d('0x14')]();};}function respondWithResult(_0x2fcde7,_0x11291b){_0x11291b=_0x11291b||0xc8;return function(_0x57e802){if(_0x57e802){return _0x2fcde7[_0x266d('0x15')](_0x11291b)['json'](_0x57e802);}};}function respondWithFilteredResult(_0x201b66,_0x3c8f21){return function(_0x2649eb){if(_0x2649eb){var _0xa9945e=_0x2649eb[_0x266d('0x16')],_0x194f66=_0x3c8f21[_0x266d('0x17')],_0x1a7837=_0x3c8f21[_0x266d('0x17')]+_0x3c8f21['limit'],_0x2193e9;if(_0x1a7837>=_0xa9945e){_0x1a7837=_0xa9945e;_0x2193e9=0xc8;}else{_0x2193e9=0xce;}_0x201b66['status'](_0x2193e9);return _0x201b66[_0x266d('0x18')]('Content-Range',_0x194f66+'-'+_0x1a7837+'/'+_0xa9945e)['json'](_0x2649eb);}return null;};}function patchUpdates(_0x4f9142){return function(_0x23c09){try{jsonpatch['apply'](_0x23c09,_0x4f9142,!![]);}catch(_0x359626){return BPromise[_0x266d('0x19')](_0x359626);}return _0x23c09[_0x266d('0x1a')]();};}function saveUpdates(_0x3890c5,_0x146732){return function(_0x43e892){if(_0x43e892){return _0x43e892[_0x266d('0x1b')](_0x3890c5)['then'](function(_0x50dcfa){return _0x50dcfa;});}return null;};}function removeEntity(_0x4a7187,_0x15c61f){return function(_0x560d3c){if(_0x560d3c){return _0x560d3c[_0x266d('0x1c')]()['then'](function(){var _0x255323=_0x560d3c[_0x266d('0x1d')]({'plain':!![]});var _0x518be4=_0x266d('0x1e');return db[_0x266d('0x1f')][_0x266d('0x1c')]({'where':{'type':_0x518be4,'resourceId':_0x255323['id']}})[_0x266d('0x20')](function(){return _0x560d3c;});})[_0x266d('0x20')](function(){_0x4a7187[_0x266d('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x23355c,_0x2747b1){return function(_0x189ccf){if(!_0x189ccf){_0x23355c[_0x266d('0x21')](0x194);}return _0x189ccf;};}function handleError(_0x421fe7,_0x8bd55f){_0x8bd55f=_0x8bd55f||0x1f4;return function(_0x52595a){logger[_0x266d('0x22')](_0x52595a[_0x266d('0x23')]);if(_0x52595a['name']){delete _0x52595a[_0x266d('0x24')];}_0x421fe7[_0x266d('0x15')](_0x8bd55f)[_0x266d('0x25')](_0x52595a);};}exports[_0x266d('0x26')]=function(_0x360b7a,_0x42b0d0){var _0x14e593={},_0x699c6e={},_0x50b8a4={'count':0x0,'rows':[]};var _0x540842=_[_0x266d('0x27')](db[_0x266d('0x28')][_0x266d('0x29')],function(_0x588d1e){return{'name':_0x588d1e[_0x266d('0x2a')],'type':_0x588d1e[_0x266d('0x2b')]['key']};});_0x699c6e[_0x266d('0x2c')]=_[_0x266d('0x27')](_0x540842,_0x266d('0x24'));_0x699c6e[_0x266d('0x2d')]=_[_0x266d('0x2e')](_0x360b7a[_0x266d('0x2d')]);_0x699c6e[_0x266d('0x2f')]=_[_0x266d('0x30')](_0x699c6e[_0x266d('0x2c')],_0x699c6e[_0x266d('0x2d')]);_0x14e593['attributes']=_[_0x266d('0x30')](_0x699c6e[_0x266d('0x2c')],qs[_0x266d('0x31')](_0x360b7a[_0x266d('0x2d')][_0x266d('0x31')]));_0x14e593[_0x266d('0x32')]=_0x14e593[_0x266d('0x32')][_0x266d('0x33')]?_0x14e593[_0x266d('0x32')]:_0x699c6e[_0x266d('0x2c')];if(!_0x360b7a[_0x266d('0x2d')][_0x266d('0x34')]('nolimit')){_0x14e593[_0x266d('0x35')]=qs[_0x266d('0x35')](_0x360b7a[_0x266d('0x2d')]['limit']);_0x14e593[_0x266d('0x17')]=qs[_0x266d('0x17')](_0x360b7a[_0x266d('0x2d')][_0x266d('0x17')]);}_0x14e593[_0x266d('0x36')]=qs[_0x266d('0x37')](_0x360b7a['query']['sort']);_0x14e593['where']=qs[_0x266d('0x2f')](_[_0x266d('0x38')](_0x360b7a['query'],_0x699c6e[_0x266d('0x2f')]));if(_0x360b7a[_0x266d('0x2d')][_0x266d('0x39')]){_0x14e593[_0x266d('0x3a')]=_[_0x266d('0x3b')](_0x14e593[_0x266d('0x3a')],{'$or':_['map'](_0x540842,function(_0xe7f19){if(_0xe7f19['type']!=='VIRTUAL'){var _0x2f4082={};_0x2f4082[_0xe7f19[_0x266d('0x24')]]={'$like':'%'+_0x360b7a['query'][_0x266d('0x39')]+'%'};return _0x2f4082;}})});}_0x14e593=_['merge']({},_0x14e593,_0x360b7a[_0x266d('0x3c')]);var _0xccca01={'where':_0x14e593[_0x266d('0x3a')]};return db[_0x266d('0x28')][_0x266d('0x16')](_0xccca01)[_0x266d('0x20')](function(_0x1542ab){_0x50b8a4['count']=_0x1542ab;if(_0x360b7a['query'][_0x266d('0x3d')]){_0x14e593[_0x266d('0x3e')]=[{'all':!![]}];}return db['Tag'][_0x266d('0x3f')](_0x14e593);})[_0x266d('0x20')](function(_0xcd014d){_0x50b8a4[_0x266d('0x40')]=_0xcd014d;return _0x50b8a4;})[_0x266d('0x20')](respondWithFilteredResult(_0x42b0d0,_0x14e593))['catch'](handleError(_0x42b0d0,null));};exports[_0x266d('0x41')]=function(_0x35f5b1,_0x24462c){var _0x189d3f={'raw':!![],'where':{'id':_0x35f5b1[_0x266d('0x42')]['id']}},_0xa4d6ab={};_0xa4d6ab['model']=_[_0x266d('0x2e')](db[_0x266d('0x28')][_0x266d('0x29')]);_0xa4d6ab[_0x266d('0x2d')]=_[_0x266d('0x2e')](_0x35f5b1['query']);_0xa4d6ab[_0x266d('0x2f')]=_[_0x266d('0x30')](_0xa4d6ab[_0x266d('0x2c')],_0xa4d6ab[_0x266d('0x2d')]);_0x189d3f[_0x266d('0x32')]=_[_0x266d('0x30')](_0xa4d6ab[_0x266d('0x2c')],qs['fields'](_0x35f5b1[_0x266d('0x2d')]['fields']));_0x189d3f[_0x266d('0x32')]=_0x189d3f[_0x266d('0x32')]['length']?_0x189d3f[_0x266d('0x32')]:_0xa4d6ab['model'];if(_0x35f5b1[_0x266d('0x2d')][_0x266d('0x3d')]){_0x189d3f[_0x266d('0x3e')]=[{'all':!![]}];}_0x189d3f=_[_0x266d('0x3b')]({},_0x189d3f,_0x35f5b1[_0x266d('0x3c')]);return db[_0x266d('0x28')]['find'](_0x189d3f)[_0x266d('0x20')](handleEntityNotFound(_0x24462c,null))['then'](respondWithResult(_0x24462c,null))[_0x266d('0x43')](handleError(_0x24462c,null));};exports['create']=function(_0x2e8eef,_0x4edd85){return db[_0x266d('0x28')][_0x266d('0x44')](_0x2e8eef[_0x266d('0x45')],{})[_0x266d('0x20')](function(_0x2dbb4f){var _0x469ff8=_0x2e8eef[_0x266d('0x46')][_0x266d('0x1d')]({'plain':!![]});if(!_0x469ff8)throw new Error(_0x266d('0x47'));if(_0x469ff8[_0x266d('0x48')]==='user'){var _0x3165e2=_0x2dbb4f[_0x266d('0x1d')]({'plain':!![]});var _0x74a90c=_0x266d('0x1e');return db[_0x266d('0x49')][_0x266d('0x4a')]({'where':{'name':_0x74a90c,'userProfileId':_0x469ff8[_0x266d('0x4b')]},'raw':!![]})[_0x266d('0x20')](function(_0x734b7b){if(_0x734b7b&&_0x734b7b[_0x266d('0x4c')]===0x0){return db['UserProfileResource'][_0x266d('0x44')]({'name':_0x3165e2['name'],'resourceId':_0x3165e2['id'],'type':_0x734b7b[_0x266d('0x24')],'sectionId':_0x734b7b['id']},{})[_0x266d('0x20')](function(){return _0x2dbb4f;});}else{return _0x2dbb4f;}})[_0x266d('0x43')](function(_0x278f6e){logger[_0x266d('0x22')](_0x266d('0x4d'),_0x278f6e);throw _0x278f6e;});}return _0x2dbb4f;})[_0x266d('0x20')](respondWithResult(_0x4edd85,0xc9))[_0x266d('0x43')](handleError(_0x4edd85,null));};exports[_0x266d('0x1b')]=function(_0x189212,_0x33d1f0){if(_0x189212[_0x266d('0x45')]['id']){delete _0x189212[_0x266d('0x45')]['id'];}return db[_0x266d('0x28')][_0x266d('0x4a')]({'where':{'id':_0x189212[_0x266d('0x42')]['id']}})[_0x266d('0x20')](handleEntityNotFound(_0x33d1f0,null))['then'](saveUpdates(_0x189212[_0x266d('0x45')],null))[_0x266d('0x20')](respondWithResult(_0x33d1f0,null))[_0x266d('0x43')](handleError(_0x33d1f0,null));};exports['destroy']=function(_0x486824,_0x26b6a1){return db['Tag'][_0x266d('0x4a')]({'where':{'id':_0x486824['params']['id']}})['then'](handleEntityNotFound(_0x26b6a1,null))['then'](removeEntity(_0x26b6a1,null))[_0x266d('0x43')](handleError(_0x26b6a1,null));};