Built motion from commit 10af8726.|2.6.34
[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 _0x1317=['keys','filters','intersection','fields','attributes','length','nolimit','order','sort','where','filter','merge','VIRTUAL','options','Tag','includeAll','findAll','rows','params','include','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','eml-format','rimraf','fast-json-patch','request-promise','moment','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','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','then','destroy','get','Tags','UserProfileResource','error','name','send','map','rawAttributes','fieldName','type','model','query'];(function(_0x191663,_0x4c6ea4){var _0x31c643=function(_0x527a6a){while(--_0x527a6a){_0x191663['push'](_0x191663['shift']());}};_0x31c643(++_0x4c6ea4);}(_0x1317,0x1c1));var _0x7131=function(_0x2bfed1,_0x4d6f9c){_0x2bfed1=_0x2bfed1-0x0;var _0x4a2fc1=_0x1317[_0x2bfed1];return _0x4a2fc1;};'use strict';var emlformat=require(_0x7131('0x0'));var rimraf=require(_0x7131('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7131('0x2'));var rp=require(_0x7131('0x3'));var moment=require(_0x7131('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x7131('0x5'));var path=require(_0x7131('0x6'));var sox=require(_0x7131('0x7'));var csv=require(_0x7131('0x8'));var ejs=require(_0x7131('0x9'));var fs=require('fs');var fs_extra=require(_0x7131('0xa'));var _=require(_0x7131('0xb'));var squel=require(_0x7131('0xc'));var crypto=require(_0x7131('0xd'));var jsforce=require(_0x7131('0xe'));var deskjs=require(_0x7131('0xf'));var toCsv=require('to-csv');var querystring=require(_0x7131('0x10'));var Papa=require(_0x7131('0x11'));var Redis=require(_0x7131('0x12'));var authService=require(_0x7131('0x13'));var qs=require(_0x7131('0x14'));var as=require(_0x7131('0x15'));var hardwareService=require(_0x7131('0x16'));var logger=require(_0x7131('0x17'))('api');var utils=require(_0x7131('0x18'));var config=require(_0x7131('0x19'));var licenseUtil=require(_0x7131('0x1a'));var db=require(_0x7131('0x1b'))['db'];function respondWithStatusCode(_0x63957a,_0x567bc3){_0x567bc3=_0x567bc3||0xcc;return function(_0x39b9a9){if(_0x39b9a9){return _0x63957a[_0x7131('0x1c')](_0x567bc3);}return _0x63957a['status'](_0x567bc3)[_0x7131('0x1d')]();};}function respondWithResult(_0x220b31,_0x28bade){_0x28bade=_0x28bade||0xc8;return function(_0x275888){if(_0x275888){return _0x220b31[_0x7131('0x1e')](_0x28bade)[_0x7131('0x1f')](_0x275888);}};}function respondWithFilteredResult(_0x5dfc9a,_0x394c33){return function(_0x5913dd){if(_0x5913dd){var _0x2c96ad=typeof _0x394c33[_0x7131('0x20')]===_0x7131('0x21')&&typeof _0x394c33['limit']===_0x7131('0x21');var _0x1f4b78=_0x5913dd[_0x7131('0x22')];var _0x5792e7=_0x2c96ad?0x0:_0x394c33[_0x7131('0x20')];var _0x3a3632=_0x2c96ad?_0x5913dd[_0x7131('0x22')]:_0x394c33[_0x7131('0x20')]+_0x394c33[_0x7131('0x23')];var _0xf670ae;if(_0x3a3632>=_0x1f4b78){_0x3a3632=_0x1f4b78;_0xf670ae=0xc8;}else{_0xf670ae=0xce;}_0x5dfc9a['status'](_0xf670ae);return _0x5dfc9a[_0x7131('0x24')](_0x7131('0x25'),_0x5792e7+'-'+_0x3a3632+'/'+_0x1f4b78)[_0x7131('0x1f')](_0x5913dd);}return null;};}function patchUpdates(_0x190589){return function(_0x327c42){try{jsonpatch['apply'](_0x327c42,_0x190589,!![]);}catch(_0x43c3c0){return BPromise[_0x7131('0x26')](_0x43c3c0);}return _0x327c42[_0x7131('0x27')]();};}function saveUpdates(_0x2acaf5,_0x1dcb84){return function(_0x5d0bf9){if(_0x5d0bf9){return _0x5d0bf9[_0x7131('0x28')](_0x2acaf5)[_0x7131('0x29')](function(_0x4c2f5e){return _0x4c2f5e;});}return null;};}function removeEntity(_0x55c473,_0x1e5a8e){return function(_0x2ff49f){if(_0x2ff49f){return _0x2ff49f[_0x7131('0x2a')]()[_0x7131('0x29')](function(){var _0x39a003=_0x2ff49f[_0x7131('0x2b')]({'plain':!![]});var _0x25c6d2=_0x7131('0x2c');return db[_0x7131('0x2d')][_0x7131('0x2a')]({'where':{'type':_0x25c6d2,'resourceId':_0x39a003['id']}})[_0x7131('0x29')](function(){return _0x2ff49f;});})[_0x7131('0x29')](function(){_0x55c473[_0x7131('0x1e')](0xcc)[_0x7131('0x1d')]();});}};}function handleEntityNotFound(_0x164101,_0x515e9d){return function(_0x11a87b){if(!_0x11a87b){_0x164101[_0x7131('0x1c')](0x194);}return _0x11a87b;};}function handleError(_0x4ebca4,_0x4b9d2f){_0x4b9d2f=_0x4b9d2f||0x1f4;return function(_0x760c68){logger[_0x7131('0x2e')](_0x760c68['stack']);if(_0x760c68[_0x7131('0x2f')]){delete _0x760c68[_0x7131('0x2f')];}_0x4ebca4['status'](_0x4b9d2f)[_0x7131('0x30')](_0x760c68);};}exports['index']=function(_0x1ad3cf,_0x1cf347){var _0x3b7cbe={},_0x574d29={},_0x4f7018={'count':0x0,'rows':[]};var _0x49db69=_[_0x7131('0x31')](db['Tag'][_0x7131('0x32')],function(_0x3239c3){return{'name':_0x3239c3[_0x7131('0x33')],'type':_0x3239c3[_0x7131('0x34')]['key']};});_0x574d29[_0x7131('0x35')]=_[_0x7131('0x31')](_0x49db69,_0x7131('0x2f'));_0x574d29[_0x7131('0x36')]=_[_0x7131('0x37')](_0x1ad3cf['query']);_0x574d29[_0x7131('0x38')]=_[_0x7131('0x39')](_0x574d29[_0x7131('0x35')],_0x574d29[_0x7131('0x36')]);_0x3b7cbe['attributes']=_[_0x7131('0x39')](_0x574d29[_0x7131('0x35')],qs[_0x7131('0x3a')](_0x1ad3cf[_0x7131('0x36')][_0x7131('0x3a')]));_0x3b7cbe[_0x7131('0x3b')]=_0x3b7cbe[_0x7131('0x3b')][_0x7131('0x3c')]?_0x3b7cbe['attributes']:_0x574d29['model'];if(!_0x1ad3cf[_0x7131('0x36')]['hasOwnProperty'](_0x7131('0x3d'))){_0x3b7cbe[_0x7131('0x23')]=qs[_0x7131('0x23')](_0x1ad3cf[_0x7131('0x36')]['limit']);_0x3b7cbe[_0x7131('0x20')]=qs[_0x7131('0x20')](_0x1ad3cf[_0x7131('0x36')][_0x7131('0x20')]);}_0x3b7cbe[_0x7131('0x3e')]=qs[_0x7131('0x3f')](_0x1ad3cf[_0x7131('0x36')][_0x7131('0x3f')]);_0x3b7cbe[_0x7131('0x40')]=qs[_0x7131('0x38')](_['pick'](_0x1ad3cf[_0x7131('0x36')],_0x574d29[_0x7131('0x38')]),_0x49db69);if(_0x1ad3cf[_0x7131('0x36')][_0x7131('0x41')]){_0x3b7cbe[_0x7131('0x40')]=_[_0x7131('0x42')](_0x3b7cbe['where'],{'$or':_[_0x7131('0x31')](_0x49db69,function(_0x1955c6){if(_0x1955c6[_0x7131('0x34')]!==_0x7131('0x43')){var _0x1fe811={};_0x1fe811[_0x1955c6[_0x7131('0x2f')]]={'$like':'%'+_0x1ad3cf[_0x7131('0x36')]['filter']+'%'};return _0x1fe811;}})});}_0x3b7cbe=_['merge']({},_0x3b7cbe,_0x1ad3cf[_0x7131('0x44')]);var _0x376465={'where':_0x3b7cbe[_0x7131('0x40')]};return db[_0x7131('0x45')][_0x7131('0x22')](_0x376465)[_0x7131('0x29')](function(_0x4dec07){_0x4f7018[_0x7131('0x22')]=_0x4dec07;if(_0x1ad3cf[_0x7131('0x36')][_0x7131('0x46')]){_0x3b7cbe['include']=[{'all':!![]}];}return db[_0x7131('0x45')][_0x7131('0x47')](_0x3b7cbe);})[_0x7131('0x29')](function(_0x10d774){_0x4f7018[_0x7131('0x48')]=_0x10d774;return _0x4f7018;})[_0x7131('0x29')](respondWithFilteredResult(_0x1cf347,_0x3b7cbe))['catch'](handleError(_0x1cf347,null));};exports['show']=function(_0x4d2b13,_0x8808d7){var _0x43f309={'raw':!![],'where':{'id':_0x4d2b13[_0x7131('0x49')]['id']}},_0x4ee2eb={};_0x4ee2eb['model']=_[_0x7131('0x37')](db['Tag'][_0x7131('0x32')]);_0x4ee2eb[_0x7131('0x36')]=_[_0x7131('0x37')](_0x4d2b13[_0x7131('0x36')]);_0x4ee2eb[_0x7131('0x38')]=_[_0x7131('0x39')](_0x4ee2eb[_0x7131('0x35')],_0x4ee2eb['query']);_0x43f309[_0x7131('0x3b')]=_['intersection'](_0x4ee2eb[_0x7131('0x35')],qs['fields'](_0x4d2b13['query'][_0x7131('0x3a')]));_0x43f309[_0x7131('0x3b')]=_0x43f309[_0x7131('0x3b')][_0x7131('0x3c')]?_0x43f309[_0x7131('0x3b')]:_0x4ee2eb[_0x7131('0x35')];if(_0x4d2b13[_0x7131('0x36')][_0x7131('0x46')]){_0x43f309[_0x7131('0x4a')]=[{'all':!![]}];}_0x43f309=_['merge']({},_0x43f309,_0x4d2b13[_0x7131('0x44')]);return db[_0x7131('0x45')][_0x7131('0x4b')](_0x43f309)[_0x7131('0x29')](handleEntityNotFound(_0x8808d7,null))[_0x7131('0x29')](respondWithResult(_0x8808d7,null))[_0x7131('0x4c')](handleError(_0x8808d7,null));};exports[_0x7131('0x4d')]=function(_0xd9d5e4,_0x48c87d){return db[_0x7131('0x45')][_0x7131('0x4d')](_0xd9d5e4[_0x7131('0x4e')],{})[_0x7131('0x29')](function(_0x54ba27){var _0x579c96=_0xd9d5e4[_0x7131('0x4f')][_0x7131('0x2b')]({'plain':!![]});if(!_0x579c96)throw new Error(_0x7131('0x50'));if(_0x579c96['role']===_0x7131('0x4f')){var _0x5aae71=_0x54ba27['get']({'plain':!![]});var _0x236938=_0x7131('0x2c');return db['UserProfileSection']['find']({'where':{'name':_0x236938,'userProfileId':_0x579c96[_0x7131('0x51')]},'raw':!![]})[_0x7131('0x29')](function(_0x1e7b38){if(_0x1e7b38&&_0x1e7b38['autoAssociation']===0x0){return db[_0x7131('0x2d')][_0x7131('0x4d')]({'name':_0x5aae71[_0x7131('0x2f')],'resourceId':_0x5aae71['id'],'type':_0x1e7b38['name'],'sectionId':_0x1e7b38['id']},{})[_0x7131('0x29')](function(){return _0x54ba27;});}else{return _0x54ba27;}})[_0x7131('0x4c')](function(_0x3575d9){logger[_0x7131('0x2e')](_0x7131('0x52'),_0x3575d9);throw _0x3575d9;});}return _0x54ba27;})[_0x7131('0x29')](respondWithResult(_0x48c87d,0xc9))[_0x7131('0x4c')](handleError(_0x48c87d,null));};exports[_0x7131('0x28')]=function(_0x12f97c,_0x51f173){if(_0x12f97c[_0x7131('0x4e')]['id']){delete _0x12f97c[_0x7131('0x4e')]['id'];}return db[_0x7131('0x45')][_0x7131('0x4b')]({'where':{'id':_0x12f97c['params']['id']}})[_0x7131('0x29')](handleEntityNotFound(_0x51f173,null))[_0x7131('0x29')](saveUpdates(_0x12f97c['body'],null))[_0x7131('0x29')](respondWithResult(_0x51f173,null))['catch'](handleError(_0x51f173,null));};exports[_0x7131('0x2a')]=function(_0x2d62e1,_0x310c1b){return db[_0x7131('0x45')]['find']({'where':{'id':_0x2d62e1[_0x7131('0x49')]['id']}})[_0x7131('0x29')](handleEntityNotFound(_0x310c1b,null))[_0x7131('0x29')](removeEntity(_0x310c1b,null))['catch'](handleError(_0x310c1b,null));};exports['describe']=function(_0x3f14df,_0x125def){return db[_0x7131('0x45')][_0x7131('0x53')]()['then'](respondWithResult(_0x125def,null))[_0x7131('0x4c')](handleError(_0x125def,null));};