Built motion from commit da617fac.|2.6.6
[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 _0x1306=['length','hasOwnProperty','order','sort','where','filter','merge','VIRTUAL','include','findAll','rows','params','includeAll','options','find','catch','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','save','Tags','UserProfileResource','then','error','stack','name','send','index','map','Tag','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes'];(function(_0x200114,_0x13bf51){var _0x11910c=function(_0x55a207){while(--_0x55a207){_0x200114['push'](_0x200114['shift']());}};_0x11910c(++_0x13bf51);}(_0x1306,0x17a));var _0x6130=function(_0x3749c6,_0x1fef26){_0x3749c6=_0x3749c6-0x0;var _0x5891f4=_0x1306[_0x3749c6];return _0x5891f4;};'use strict';var emlformat=require(_0x6130('0x0'));var rimraf=require(_0x6130('0x1'));var zipdir=require(_0x6130('0x2'));var jsonpatch=require(_0x6130('0x3'));var rp=require(_0x6130('0x4'));var moment=require(_0x6130('0x5'));var BPromise=require(_0x6130('0x6'));var Mustache=require(_0x6130('0x7'));var util=require(_0x6130('0x8'));var path=require(_0x6130('0x9'));var sox=require(_0x6130('0xa'));var csv=require(_0x6130('0xb'));var ejs=require(_0x6130('0xc'));var fs=require('fs');var fs_extra=require(_0x6130('0xd'));var _=require(_0x6130('0xe'));var squel=require(_0x6130('0xf'));var crypto=require(_0x6130('0x10'));var jsforce=require(_0x6130('0x11'));var deskjs=require(_0x6130('0x12'));var toCsv=require(_0x6130('0xb'));var querystring=require(_0x6130('0x13'));var Papa=require(_0x6130('0x14'));var Redis=require(_0x6130('0x15'));var authService=require(_0x6130('0x16'));var qs=require(_0x6130('0x17'));var as=require(_0x6130('0x18'));var hardwareService=require(_0x6130('0x19'));var logger=require(_0x6130('0x1a'))(_0x6130('0x1b'));var utils=require('../../config/utils');var config=require(_0x6130('0x1c'));var licenseUtil=require('../../config/license/util');var db=require(_0x6130('0x1d'))['db'];function respondWithStatusCode(_0x2fbf3d,_0x5e0234){_0x5e0234=_0x5e0234||0xcc;return function(_0x1c0339){if(_0x1c0339){return _0x2fbf3d[_0x6130('0x1e')](_0x5e0234);}return _0x2fbf3d[_0x6130('0x1f')](_0x5e0234)[_0x6130('0x20')]();};}function respondWithResult(_0x1d736c,_0x3470e8){_0x3470e8=_0x3470e8||0xc8;return function(_0x4cdac6){if(_0x4cdac6){return _0x1d736c[_0x6130('0x1f')](_0x3470e8)[_0x6130('0x21')](_0x4cdac6);}};}function respondWithFilteredResult(_0x3ef4c1,_0x401a70){return function(_0x4626a2){if(_0x4626a2){var _0x39b444=typeof _0x401a70[_0x6130('0x22')]===_0x6130('0x23')&&typeof _0x401a70[_0x6130('0x24')]==='undefined';var _0x4b9a20=_0x4626a2[_0x6130('0x25')];var _0x49803e=_0x39b444?0x0:_0x401a70[_0x6130('0x22')];var _0xb6575d=_0x39b444?_0x4626a2[_0x6130('0x25')]:_0x401a70[_0x6130('0x22')]+_0x401a70[_0x6130('0x24')];var _0x4b4b35;if(_0xb6575d>=_0x4b9a20){_0xb6575d=_0x4b9a20;_0x4b4b35=0xc8;}else{_0x4b4b35=0xce;}_0x3ef4c1[_0x6130('0x1f')](_0x4b4b35);return _0x3ef4c1['set'](_0x6130('0x26'),_0x49803e+'-'+_0xb6575d+'/'+_0x4b9a20)[_0x6130('0x21')](_0x4626a2);}return null;};}function patchUpdates(_0x18bb78){return function(_0x1839db){try{jsonpatch[_0x6130('0x27')](_0x1839db,_0x18bb78,!![]);}catch(_0x5c8b08){return BPromise['reject'](_0x5c8b08);}return _0x1839db[_0x6130('0x28')]();};}function saveUpdates(_0x534390,_0x30b4f2){return function(_0x289c7b){if(_0x289c7b){return _0x289c7b['update'](_0x534390)['then'](function(_0x54fc67){return _0x54fc67;});}return null;};}function removeEntity(_0x2a8aad,_0x5369e3){return function(_0x371b84){if(_0x371b84){return _0x371b84['destroy']()['then'](function(){var _0x4be8ff=_0x371b84['get']({'plain':!![]});var _0x5069bf=_0x6130('0x29');return db[_0x6130('0x2a')]['destroy']({'where':{'type':_0x5069bf,'resourceId':_0x4be8ff['id']}})[_0x6130('0x2b')](function(){return _0x371b84;});})['then'](function(){_0x2a8aad[_0x6130('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5787a6,_0x9196d1){return function(_0x456231){if(!_0x456231){_0x5787a6[_0x6130('0x1e')](0x194);}return _0x456231;};}function handleError(_0x2997fd,_0x19f9b1){_0x19f9b1=_0x19f9b1||0x1f4;return function(_0x392386){logger[_0x6130('0x2c')](_0x392386[_0x6130('0x2d')]);if(_0x392386[_0x6130('0x2e')]){delete _0x392386['name'];}_0x2997fd['status'](_0x19f9b1)[_0x6130('0x2f')](_0x392386);};}exports[_0x6130('0x30')]=function(_0xa49077,_0x4345ac){var _0x197dd9={},_0x4e068c={},_0x432cbf={'count':0x0,'rows':[]};var _0x4e04bc=_[_0x6130('0x31')](db[_0x6130('0x32')][_0x6130('0x33')],function(_0x4cf1d3){return{'name':_0x4cf1d3[_0x6130('0x34')],'type':_0x4cf1d3[_0x6130('0x35')][_0x6130('0x36')]};});_0x4e068c['model']=_[_0x6130('0x31')](_0x4e04bc,_0x6130('0x2e'));_0x4e068c[_0x6130('0x37')]=_[_0x6130('0x38')](_0xa49077[_0x6130('0x37')]);_0x4e068c[_0x6130('0x39')]=_[_0x6130('0x3a')](_0x4e068c[_0x6130('0x3b')],_0x4e068c[_0x6130('0x37')]);_0x197dd9['attributes']=_[_0x6130('0x3a')](_0x4e068c['model'],qs['fields'](_0xa49077['query'][_0x6130('0x3c')]));_0x197dd9[_0x6130('0x3d')]=_0x197dd9[_0x6130('0x3d')][_0x6130('0x3e')]?_0x197dd9[_0x6130('0x3d')]:_0x4e068c[_0x6130('0x3b')];if(!_0xa49077[_0x6130('0x37')][_0x6130('0x3f')]('nolimit')){_0x197dd9[_0x6130('0x24')]=qs[_0x6130('0x24')](_0xa49077['query'][_0x6130('0x24')]);_0x197dd9[_0x6130('0x22')]=qs[_0x6130('0x22')](_0xa49077['query'][_0x6130('0x22')]);}_0x197dd9[_0x6130('0x40')]=qs['sort'](_0xa49077['query'][_0x6130('0x41')]);_0x197dd9[_0x6130('0x42')]=qs[_0x6130('0x39')](_['pick'](_0xa49077['query'],_0x4e068c[_0x6130('0x39')]),_0x4e04bc);if(_0xa49077[_0x6130('0x37')][_0x6130('0x43')]){_0x197dd9[_0x6130('0x42')]=_[_0x6130('0x44')](_0x197dd9[_0x6130('0x42')],{'$or':_[_0x6130('0x31')](_0x4e04bc,function(_0x5e1f55){if(_0x5e1f55[_0x6130('0x35')]!==_0x6130('0x45')){var _0x101aab={};_0x101aab[_0x5e1f55[_0x6130('0x2e')]]={'$like':'%'+_0xa49077[_0x6130('0x37')][_0x6130('0x43')]+'%'};return _0x101aab;}})});}_0x197dd9=_[_0x6130('0x44')]({},_0x197dd9,_0xa49077['options']);var _0xa9583a={'where':_0x197dd9[_0x6130('0x42')]};return db[_0x6130('0x32')][_0x6130('0x25')](_0xa9583a)[_0x6130('0x2b')](function(_0x142385){_0x432cbf[_0x6130('0x25')]=_0x142385;if(_0xa49077[_0x6130('0x37')]['includeAll']){_0x197dd9[_0x6130('0x46')]=[{'all':!![]}];}return db[_0x6130('0x32')][_0x6130('0x47')](_0x197dd9);})['then'](function(_0x176506){_0x432cbf[_0x6130('0x48')]=_0x176506;return _0x432cbf;})[_0x6130('0x2b')](respondWithFilteredResult(_0x4345ac,_0x197dd9))['catch'](handleError(_0x4345ac,null));};exports['show']=function(_0x3ee3f8,_0x2bc233){var _0x11285b={'raw':!![],'where':{'id':_0x3ee3f8[_0x6130('0x49')]['id']}},_0xd87943={};_0xd87943['model']=_[_0x6130('0x38')](db[_0x6130('0x32')]['rawAttributes']);_0xd87943[_0x6130('0x37')]=_[_0x6130('0x38')](_0x3ee3f8[_0x6130('0x37')]);_0xd87943[_0x6130('0x39')]=_[_0x6130('0x3a')](_0xd87943[_0x6130('0x3b')],_0xd87943[_0x6130('0x37')]);_0x11285b[_0x6130('0x3d')]=_['intersection'](_0xd87943['model'],qs[_0x6130('0x3c')](_0x3ee3f8['query'][_0x6130('0x3c')]));_0x11285b[_0x6130('0x3d')]=_0x11285b[_0x6130('0x3d')][_0x6130('0x3e')]?_0x11285b[_0x6130('0x3d')]:_0xd87943[_0x6130('0x3b')];if(_0x3ee3f8[_0x6130('0x37')][_0x6130('0x4a')]){_0x11285b[_0x6130('0x46')]=[{'all':!![]}];}_0x11285b=_[_0x6130('0x44')]({},_0x11285b,_0x3ee3f8[_0x6130('0x4b')]);return db['Tag'][_0x6130('0x4c')](_0x11285b)[_0x6130('0x2b')](handleEntityNotFound(_0x2bc233,null))[_0x6130('0x2b')](respondWithResult(_0x2bc233,null))[_0x6130('0x4d')](handleError(_0x2bc233,null));};exports[_0x6130('0x4e')]=function(_0x13f591,_0x35939b){return db[_0x6130('0x32')][_0x6130('0x4e')](_0x13f591[_0x6130('0x4f')],{})['then'](function(_0x138ade){var _0x689645=_0x13f591[_0x6130('0x50')][_0x6130('0x51')]({'plain':!![]});if(!_0x689645)throw new Error(_0x6130('0x52'));if(_0x689645[_0x6130('0x53')]===_0x6130('0x50')){var _0x37ee0c=_0x138ade[_0x6130('0x51')]({'plain':!![]});var _0x484e1b=_0x6130('0x29');return db[_0x6130('0x54')][_0x6130('0x4c')]({'where':{'name':_0x484e1b,'userProfileId':_0x689645[_0x6130('0x55')]},'raw':!![]})[_0x6130('0x2b')](function(_0x2b4b3e){if(_0x2b4b3e&&_0x2b4b3e['autoAssociation']===0x0){return db[_0x6130('0x2a')][_0x6130('0x4e')]({'name':_0x37ee0c[_0x6130('0x2e')],'resourceId':_0x37ee0c['id'],'type':_0x2b4b3e['name'],'sectionId':_0x2b4b3e['id']},{})['then'](function(){return _0x138ade;});}else{return _0x138ade;}})['catch'](function(_0x529977){logger[_0x6130('0x2c')](_0x6130('0x56'),_0x529977);throw _0x529977;});}return _0x138ade;})[_0x6130('0x2b')](respondWithResult(_0x35939b,0xc9))['catch'](handleError(_0x35939b,null));};exports['update']=function(_0x49452c,_0x5c8e26){if(_0x49452c[_0x6130('0x4f')]['id']){delete _0x49452c[_0x6130('0x4f')]['id'];}return db[_0x6130('0x32')][_0x6130('0x4c')]({'where':{'id':_0x49452c[_0x6130('0x49')]['id']}})['then'](handleEntityNotFound(_0x5c8e26,null))[_0x6130('0x2b')](saveUpdates(_0x49452c[_0x6130('0x4f')],null))['then'](respondWithResult(_0x5c8e26,null))[_0x6130('0x4d')](handleError(_0x5c8e26,null));};exports[_0x6130('0x57')]=function(_0x36700f,_0x32bf20){return db[_0x6130('0x32')][_0x6130('0x4c')]({'where':{'id':_0x36700f[_0x6130('0x49')]['id']}})[_0x6130('0x2b')](handleEntityNotFound(_0x32bf20,null))['then'](removeEntity(_0x32bf20,null))[_0x6130('0x4d')](handleError(_0x32bf20,null));};