Built motion from commit (unavailable).|2.5.30
[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 _0x1dc7=['save','then','destroy','Tags','sendStatus','stack','name','send','index','map','Tag','rawAttributes','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','rows','show','params','options','find','catch','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','eml-format','rimraf','fast-json-patch','bluebird','mustache','path','sox','to-csv','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/license/util','../../mysqldb','status','end','offset','undefined','limit','count','set','reject'];(function(_0x491256,_0x24e0c0){var _0x519b8f=function(_0x4e18a4){while(--_0x4e18a4){_0x491256['push'](_0x491256['shift']());}};_0x519b8f(++_0x24e0c0);}(_0x1dc7,0x161));var _0x71dc=function(_0x11f480,_0x326799){_0x11f480=_0x11f480-0x0;var _0x45e936=_0x1dc7[_0x11f480];return _0x45e936;};'use strict';var emlformat=require(_0x71dc('0x0'));var rimraf=require(_0x71dc('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x71dc('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x71dc('0x3'));var Mustache=require(_0x71dc('0x4'));var util=require('util');var path=require(_0x71dc('0x5'));var sox=require(_0x71dc('0x6'));var csv=require(_0x71dc('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0x71dc('0x8'));var jsforce=require('jsforce');var deskjs=require(_0x71dc('0x9'));var toCsv=require(_0x71dc('0x7'));var querystring=require(_0x71dc('0xa'));var Papa=require(_0x71dc('0xb'));var Redis=require(_0x71dc('0xc'));var authService=require(_0x71dc('0xd'));var qs=require(_0x71dc('0xe'));var as=require(_0x71dc('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x71dc('0x10'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x71dc('0x11'));var db=require(_0x71dc('0x12'))['db'];function respondWithStatusCode(_0x732ca6,_0x423d97){_0x423d97=_0x423d97||0xcc;return function(_0x59c84d){if(_0x59c84d){return _0x732ca6['sendStatus'](_0x423d97);}return _0x732ca6[_0x71dc('0x13')](_0x423d97)[_0x71dc('0x14')]();};}function respondWithResult(_0x245246,_0x572c50){_0x572c50=_0x572c50||0xc8;return function(_0x20cb9a){if(_0x20cb9a){return _0x245246[_0x71dc('0x13')](_0x572c50)['json'](_0x20cb9a);}};}function respondWithFilteredResult(_0x274601,_0x505e32){return function(_0x441448){if(_0x441448){var _0x42212f=typeof _0x505e32[_0x71dc('0x15')]===_0x71dc('0x16')&&typeof _0x505e32[_0x71dc('0x17')]===_0x71dc('0x16');var _0x101503=_0x441448[_0x71dc('0x18')];var _0x358ae0=_0x42212f?0x0:_0x505e32[_0x71dc('0x15')];var _0x55bd5e=_0x42212f?_0x441448[_0x71dc('0x18')]:_0x505e32[_0x71dc('0x15')]+_0x505e32[_0x71dc('0x17')];var _0xf5842e;if(_0x55bd5e>=_0x101503){_0x55bd5e=_0x101503;_0xf5842e=0xc8;}else{_0xf5842e=0xce;}_0x274601['status'](_0xf5842e);return _0x274601[_0x71dc('0x19')]('Content-Range',_0x358ae0+'-'+_0x55bd5e+'/'+_0x101503)['json'](_0x441448);}return null;};}function patchUpdates(_0x1fe044){return function(_0x5ddbe3){try{jsonpatch['apply'](_0x5ddbe3,_0x1fe044,!![]);}catch(_0x14e32d){return BPromise[_0x71dc('0x1a')](_0x14e32d);}return _0x5ddbe3[_0x71dc('0x1b')]();};}function saveUpdates(_0x1d86ae,_0x4c552f){return function(_0x2a57af){if(_0x2a57af){return _0x2a57af['update'](_0x1d86ae)[_0x71dc('0x1c')](function(_0x5d53eb){return _0x5d53eb;});}return null;};}function removeEntity(_0x4ae5c9,_0xe06ee4){return function(_0xfa7e78){if(_0xfa7e78){return _0xfa7e78[_0x71dc('0x1d')]()[_0x71dc('0x1c')](function(){var _0x56d9fb=_0xfa7e78['get']({'plain':!![]});var _0x4daa36=_0x71dc('0x1e');return db['UserProfileResource'][_0x71dc('0x1d')]({'where':{'type':_0x4daa36,'resourceId':_0x56d9fb['id']}})[_0x71dc('0x1c')](function(){return _0xfa7e78;});})[_0x71dc('0x1c')](function(){_0x4ae5c9[_0x71dc('0x13')](0xcc)[_0x71dc('0x14')]();});}};}function handleEntityNotFound(_0x5ac745,_0x48c398){return function(_0x2f93ee){if(!_0x2f93ee){_0x5ac745[_0x71dc('0x1f')](0x194);}return _0x2f93ee;};}function handleError(_0x44c5f9,_0x4b3a9f){_0x4b3a9f=_0x4b3a9f||0x1f4;return function(_0x54114b){logger['error'](_0x54114b[_0x71dc('0x20')]);if(_0x54114b[_0x71dc('0x21')]){delete _0x54114b[_0x71dc('0x21')];}_0x44c5f9[_0x71dc('0x13')](_0x4b3a9f)[_0x71dc('0x22')](_0x54114b);};}exports[_0x71dc('0x23')]=function(_0x30c995,_0x1ea9f0){var _0x26372e={},_0xd08205={},_0x5edc26={'count':0x0,'rows':[]};var _0x534cac=_[_0x71dc('0x24')](db[_0x71dc('0x25')][_0x71dc('0x26')],function(_0x264142){return{'name':_0x264142['fieldName'],'type':_0x264142['type']['key']};});_0xd08205['model']=_[_0x71dc('0x24')](_0x534cac,_0x71dc('0x21'));_0xd08205[_0x71dc('0x27')]=_[_0x71dc('0x28')](_0x30c995[_0x71dc('0x27')]);_0xd08205[_0x71dc('0x29')]=_[_0x71dc('0x2a')](_0xd08205[_0x71dc('0x2b')],_0xd08205[_0x71dc('0x27')]);_0x26372e['attributes']=_[_0x71dc('0x2a')](_0xd08205[_0x71dc('0x2b')],qs[_0x71dc('0x2c')](_0x30c995['query']['fields']));_0x26372e[_0x71dc('0x2d')]=_0x26372e[_0x71dc('0x2d')][_0x71dc('0x2e')]?_0x26372e['attributes']:_0xd08205[_0x71dc('0x2b')];if(!_0x30c995[_0x71dc('0x27')][_0x71dc('0x2f')](_0x71dc('0x30'))){_0x26372e['limit']=qs[_0x71dc('0x17')](_0x30c995[_0x71dc('0x27')][_0x71dc('0x17')]);_0x26372e['offset']=qs['offset'](_0x30c995[_0x71dc('0x27')][_0x71dc('0x15')]);}_0x26372e[_0x71dc('0x31')]=qs[_0x71dc('0x32')](_0x30c995['query']['sort']);_0x26372e[_0x71dc('0x33')]=qs[_0x71dc('0x29')](_[_0x71dc('0x34')](_0x30c995[_0x71dc('0x27')],_0xd08205['filters']),_0x534cac);if(_0x30c995[_0x71dc('0x27')][_0x71dc('0x35')]){_0x26372e[_0x71dc('0x33')]=_[_0x71dc('0x36')](_0x26372e[_0x71dc('0x33')],{'$or':_[_0x71dc('0x24')](_0x534cac,function(_0x4f4f8f){if(_0x4f4f8f['type']!==_0x71dc('0x37')){var _0x2a19e2={};_0x2a19e2[_0x4f4f8f['name']]={'$like':'%'+_0x30c995[_0x71dc('0x27')][_0x71dc('0x35')]+'%'};return _0x2a19e2;}})});}_0x26372e=_['merge']({},_0x26372e,_0x30c995['options']);var _0x1edfe0={'where':_0x26372e[_0x71dc('0x33')]};return db[_0x71dc('0x25')]['count'](_0x1edfe0)['then'](function(_0xca0bba){_0x5edc26[_0x71dc('0x18')]=_0xca0bba;if(_0x30c995['query'][_0x71dc('0x38')]){_0x26372e[_0x71dc('0x39')]=[{'all':!![]}];}return db[_0x71dc('0x25')]['findAll'](_0x26372e);})[_0x71dc('0x1c')](function(_0x7a969b){_0x5edc26[_0x71dc('0x3a')]=_0x7a969b;return _0x5edc26;})['then'](respondWithFilteredResult(_0x1ea9f0,_0x26372e))['catch'](handleError(_0x1ea9f0,null));};exports[_0x71dc('0x3b')]=function(_0x412430,_0x2bcdf8){var _0x3f5bf3={'raw':!![],'where':{'id':_0x412430[_0x71dc('0x3c')]['id']}},_0x51baed={};_0x51baed[_0x71dc('0x2b')]=_[_0x71dc('0x28')](db[_0x71dc('0x25')][_0x71dc('0x26')]);_0x51baed[_0x71dc('0x27')]=_['keys'](_0x412430[_0x71dc('0x27')]);_0x51baed[_0x71dc('0x29')]=_['intersection'](_0x51baed[_0x71dc('0x2b')],_0x51baed[_0x71dc('0x27')]);_0x3f5bf3[_0x71dc('0x2d')]=_[_0x71dc('0x2a')](_0x51baed[_0x71dc('0x2b')],qs['fields'](_0x412430[_0x71dc('0x27')]['fields']));_0x3f5bf3['attributes']=_0x3f5bf3[_0x71dc('0x2d')][_0x71dc('0x2e')]?_0x3f5bf3['attributes']:_0x51baed[_0x71dc('0x2b')];if(_0x412430[_0x71dc('0x27')][_0x71dc('0x38')]){_0x3f5bf3[_0x71dc('0x39')]=[{'all':!![]}];}_0x3f5bf3=_['merge']({},_0x3f5bf3,_0x412430[_0x71dc('0x3d')]);return db[_0x71dc('0x25')][_0x71dc('0x3e')](_0x3f5bf3)[_0x71dc('0x1c')](handleEntityNotFound(_0x2bcdf8,null))[_0x71dc('0x1c')](respondWithResult(_0x2bcdf8,null))[_0x71dc('0x3f')](handleError(_0x2bcdf8,null));};exports['create']=function(_0x57474e,_0x3cc70c){return db[_0x71dc('0x25')][_0x71dc('0x40')](_0x57474e[_0x71dc('0x41')],{})[_0x71dc('0x1c')](function(_0x12a182){var _0x5bfbef=_0x57474e[_0x71dc('0x42')][_0x71dc('0x43')]({'plain':!![]});if(!_0x5bfbef)throw new Error(_0x71dc('0x44'));if(_0x5bfbef[_0x71dc('0x45')]==='user'){var _0x39e1f8=_0x12a182[_0x71dc('0x43')]({'plain':!![]});var _0x5d798e=_0x71dc('0x1e');return db[_0x71dc('0x46')]['find']({'where':{'name':_0x5d798e,'userProfileId':_0x5bfbef[_0x71dc('0x47')]},'raw':!![]})[_0x71dc('0x1c')](function(_0x250f18){if(_0x250f18&&_0x250f18[_0x71dc('0x48')]===0x0){return db['UserProfileResource']['create']({'name':_0x39e1f8[_0x71dc('0x21')],'resourceId':_0x39e1f8['id'],'type':_0x250f18[_0x71dc('0x21')],'sectionId':_0x250f18['id']},{})['then'](function(){return _0x12a182;});}else{return _0x12a182;}})[_0x71dc('0x3f')](function(_0x4423f5){logger[_0x71dc('0x49')](_0x71dc('0x4a'),_0x4423f5);throw _0x4423f5;});}return _0x12a182;})[_0x71dc('0x1c')](respondWithResult(_0x3cc70c,0xc9))[_0x71dc('0x3f')](handleError(_0x3cc70c,null));};exports[_0x71dc('0x4b')]=function(_0x12c162,_0x51da19){if(_0x12c162[_0x71dc('0x41')]['id']){delete _0x12c162[_0x71dc('0x41')]['id'];}return db[_0x71dc('0x25')]['find']({'where':{'id':_0x12c162[_0x71dc('0x3c')]['id']}})[_0x71dc('0x1c')](handleEntityNotFound(_0x51da19,null))[_0x71dc('0x1c')](saveUpdates(_0x12c162[_0x71dc('0x41')],null))['then'](respondWithResult(_0x51da19,null))['catch'](handleError(_0x51da19,null));};exports[_0x71dc('0x1d')]=function(_0x37aabf,_0x12b23e){return db[_0x71dc('0x25')][_0x71dc('0x3e')]({'where':{'id':_0x37aabf['params']['id']}})[_0x71dc('0x1c')](handleEntityNotFound(_0x12b23e,null))[_0x71dc('0x1c')](removeEntity(_0x12b23e,null))[_0x71dc('0x3f')](handleError(_0x12b23e,null));};