Built motion from commit (unavailable).|2.4.18
[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 _0x1503=['model','query','filters','intersection','fields','attributes','length','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','rawAttributes','keys','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','count','offset','limit','Content-Range','json','apply','save','then','destroy','get','Tags','UserProfileResource','error','name','map','Tag','type'];(function(_0x3f0aea,_0x40ea8c){var _0x382714=function(_0x5284b9){while(--_0x5284b9){_0x3f0aea['push'](_0x3f0aea['shift']());}};_0x382714(++_0x40ea8c);}(_0x1503,0xfb));var _0x3150=function(_0x149856,_0x2360a2){_0x149856=_0x149856-0x0;var _0x11ff4e=_0x1503[_0x149856];return _0x11ff4e;};'use strict';var pdf=require(_0x3150('0x0'));var emlformat=require(_0x3150('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x3150('0x2'));var jsonpatch=require(_0x3150('0x3'));var rp=require(_0x3150('0x4'));var moment=require('moment');var BPromise=require(_0x3150('0x5'));var Mustache=require(_0x3150('0x6'));var util=require(_0x3150('0x7'));var path=require('path');var sox=require(_0x3150('0x8'));var csv=require(_0x3150('0x9'));var ejs=require(_0x3150('0xa'));var fs=require('fs');var _=require(_0x3150('0xb'));var squel=require(_0x3150('0xc'));var crypto=require(_0x3150('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x3150('0xe'));var toCsv=require(_0x3150('0x9'));var querystring=require(_0x3150('0xf'));var Papa=require(_0x3150('0x10'));var Redis=require(_0x3150('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x3150('0x12'))(_0x3150('0x13'));var utils=require(_0x3150('0x14'));var config=require(_0x3150('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xf468a4,_0x62aa58){_0x62aa58=_0x62aa58||0xcc;return function(_0x5dd681){if(_0x5dd681){return _0xf468a4[_0x3150('0x16')](_0x62aa58);}return _0xf468a4[_0x3150('0x17')](_0x62aa58)['end']();};}function respondWithResult(_0x50337e,_0x52446a){_0x52446a=_0x52446a||0xc8;return function(_0x42c139){if(_0x42c139){return _0x50337e['status'](_0x52446a)['json'](_0x42c139);}};}function respondWithFilteredResult(_0x30c9c5,_0x23c7ad){return function(_0x3b3b3a){if(_0x3b3b3a){var _0x2ff085=_0x3b3b3a[_0x3150('0x18')],_0x39a670=_0x23c7ad['offset'],_0x349a2c=_0x23c7ad[_0x3150('0x19')]+_0x23c7ad[_0x3150('0x1a')],_0x384725;if(_0x349a2c>=_0x2ff085){_0x349a2c=_0x2ff085;_0x384725=0xc8;}else{_0x384725=0xce;}_0x30c9c5['status'](_0x384725);return _0x30c9c5['set'](_0x3150('0x1b'),_0x39a670+'-'+_0x349a2c+'/'+_0x2ff085)[_0x3150('0x1c')](_0x3b3b3a);}return null;};}function patchUpdates(_0x28d78c){return function(_0x5f5dac){try{jsonpatch[_0x3150('0x1d')](_0x5f5dac,_0x28d78c,!![]);}catch(_0x6d093d){return BPromise['reject'](_0x6d093d);}return _0x5f5dac[_0x3150('0x1e')]();};}function saveUpdates(_0xec4d0,_0x11b060){return function(_0x414840){if(_0x414840){return _0x414840['update'](_0xec4d0)[_0x3150('0x1f')](function(_0x30e584){return _0x30e584;});}return null;};}function removeEntity(_0x20119b,_0x2441b1){return function(_0x1575e4){if(_0x1575e4){return _0x1575e4[_0x3150('0x20')]()[_0x3150('0x1f')](function(){var _0x29c153=_0x1575e4[_0x3150('0x21')]({'plain':!![]});var _0x4acfe6=_0x3150('0x22');return db[_0x3150('0x23')][_0x3150('0x20')]({'where':{'type':_0x4acfe6,'resourceId':_0x29c153['id']}})[_0x3150('0x1f')](function(){return _0x1575e4;});})['then'](function(){_0x20119b[_0x3150('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1c407e,_0x43a867){return function(_0x28749c){if(!_0x28749c){_0x1c407e['sendStatus'](0x194);}return _0x28749c;};}function handleError(_0x2cdc1c,_0x309109){_0x309109=_0x309109||0x1f4;return function(_0x5d5a07){logger[_0x3150('0x24')](_0x5d5a07['stack']);if(_0x5d5a07[_0x3150('0x25')]){delete _0x5d5a07[_0x3150('0x25')];}_0x2cdc1c[_0x3150('0x17')](_0x309109)['send'](_0x5d5a07);};}exports['index']=function(_0xb3c28b,_0x13faae){var _0x46e8ad={},_0x565b24={},_0x275ca1={'count':0x0,'rows':[]};var _0x8d2e6c=_[_0x3150('0x26')](db[_0x3150('0x27')]['rawAttributes'],function(_0x4e7927){return{'name':_0x4e7927['fieldName'],'type':_0x4e7927[_0x3150('0x28')]['key']};});_0x565b24[_0x3150('0x29')]=_['map'](_0x8d2e6c,_0x3150('0x25'));_0x565b24['query']=_['keys'](_0xb3c28b[_0x3150('0x2a')]);_0x565b24[_0x3150('0x2b')]=_[_0x3150('0x2c')](_0x565b24[_0x3150('0x29')],_0x565b24[_0x3150('0x2a')]);_0x46e8ad['attributes']=_[_0x3150('0x2c')](_0x565b24[_0x3150('0x29')],qs[_0x3150('0x2d')](_0xb3c28b[_0x3150('0x2a')][_0x3150('0x2d')]));_0x46e8ad[_0x3150('0x2e')]=_0x46e8ad['attributes'][_0x3150('0x2f')]?_0x46e8ad[_0x3150('0x2e')]:_0x565b24[_0x3150('0x29')];if(!_0xb3c28b[_0x3150('0x2a')]['hasOwnProperty']('nolimit')){_0x46e8ad[_0x3150('0x1a')]=qs[_0x3150('0x1a')](_0xb3c28b[_0x3150('0x2a')][_0x3150('0x1a')]);_0x46e8ad[_0x3150('0x19')]=qs[_0x3150('0x19')](_0xb3c28b[_0x3150('0x2a')][_0x3150('0x19')]);}_0x46e8ad['order']=qs[_0x3150('0x30')](_0xb3c28b['query']['sort']);_0x46e8ad[_0x3150('0x31')]=qs['filters'](_['pick'](_0xb3c28b[_0x3150('0x2a')],_0x565b24[_0x3150('0x2b')]));if(_0xb3c28b['query'][_0x3150('0x32')]){_0x46e8ad['where']=_[_0x3150('0x33')](_0x46e8ad['where'],{'$or':_[_0x3150('0x26')](_0x8d2e6c,function(_0x1d81b5){if(_0x1d81b5[_0x3150('0x28')]!==_0x3150('0x34')){var _0x4f739e={};_0x4f739e[_0x1d81b5[_0x3150('0x25')]]={'$like':'%'+_0xb3c28b[_0x3150('0x2a')][_0x3150('0x32')]+'%'};return _0x4f739e;}})});}_0x46e8ad=_['merge']({},_0x46e8ad,_0xb3c28b[_0x3150('0x35')]);var _0x55f6b8={'where':_0x46e8ad[_0x3150('0x31')]};return db[_0x3150('0x27')][_0x3150('0x18')](_0x55f6b8)[_0x3150('0x1f')](function(_0x328761){_0x275ca1[_0x3150('0x18')]=_0x328761;if(_0xb3c28b[_0x3150('0x2a')][_0x3150('0x36')]){_0x46e8ad[_0x3150('0x37')]=[{'all':!![]}];}return db[_0x3150('0x27')][_0x3150('0x38')](_0x46e8ad);})[_0x3150('0x1f')](function(_0x34f239){_0x275ca1[_0x3150('0x39')]=_0x34f239;return _0x275ca1;})[_0x3150('0x1f')](respondWithFilteredResult(_0x13faae,_0x46e8ad))['catch'](handleError(_0x13faae,null));};exports[_0x3150('0x3a')]=function(_0xd008bd,_0x94cc21){var _0x436a24={'raw':!![],'where':{'id':_0xd008bd['params']['id']}},_0x412365={};_0x412365[_0x3150('0x29')]=_['keys'](db[_0x3150('0x27')][_0x3150('0x3b')]);_0x412365[_0x3150('0x2a')]=_[_0x3150('0x3c')](_0xd008bd[_0x3150('0x2a')]);_0x412365[_0x3150('0x2b')]=_[_0x3150('0x2c')](_0x412365['model'],_0x412365[_0x3150('0x2a')]);_0x436a24[_0x3150('0x2e')]=_[_0x3150('0x2c')](_0x412365[_0x3150('0x29')],qs[_0x3150('0x2d')](_0xd008bd[_0x3150('0x2a')]['fields']));_0x436a24[_0x3150('0x2e')]=_0x436a24[_0x3150('0x2e')][_0x3150('0x2f')]?_0x436a24['attributes']:_0x412365[_0x3150('0x29')];if(_0xd008bd[_0x3150('0x2a')][_0x3150('0x36')]){_0x436a24[_0x3150('0x37')]=[{'all':!![]}];}_0x436a24=_[_0x3150('0x33')]({},_0x436a24,_0xd008bd[_0x3150('0x35')]);return db['Tag']['find'](_0x436a24)[_0x3150('0x1f')](handleEntityNotFound(_0x94cc21,null))[_0x3150('0x1f')](respondWithResult(_0x94cc21,null))[_0x3150('0x3d')](handleError(_0x94cc21,null));};exports[_0x3150('0x3e')]=function(_0x31e6b3,_0x27300f){return db[_0x3150('0x27')]['create'](_0x31e6b3[_0x3150('0x3f')],{})[_0x3150('0x1f')](function(_0x64ea88){var _0x47bfe5=_0x31e6b3[_0x3150('0x40')][_0x3150('0x21')]({'plain':!![]});if(!_0x47bfe5)throw new Error(_0x3150('0x41'));if(_0x47bfe5['role']===_0x3150('0x40')){var _0x55fac7=_0x64ea88[_0x3150('0x21')]({'plain':!![]});var _0x474c94=_0x3150('0x22');return db[_0x3150('0x42')][_0x3150('0x43')]({'where':{'name':_0x474c94,'userProfileId':_0x47bfe5[_0x3150('0x44')]},'raw':!![]})[_0x3150('0x1f')](function(_0x18fca4){if(_0x18fca4&&_0x18fca4[_0x3150('0x45')]===0x0){return db[_0x3150('0x23')][_0x3150('0x3e')]({'name':_0x55fac7['name'],'resourceId':_0x55fac7['id'],'type':_0x18fca4[_0x3150('0x25')],'sectionId':_0x18fca4['id']},{})[_0x3150('0x1f')](function(){return _0x64ea88;});}else{return _0x64ea88;}})[_0x3150('0x3d')](function(_0x256382){logger[_0x3150('0x24')](_0x3150('0x46'),_0x256382);throw _0x256382;});}return _0x64ea88;})['then'](respondWithResult(_0x27300f,0xc9))[_0x3150('0x3d')](handleError(_0x27300f,null));};exports[_0x3150('0x47')]=function(_0x37e0b0,_0x26fc57){if(_0x37e0b0[_0x3150('0x3f')]['id']){delete _0x37e0b0['body']['id'];}return db['Tag'][_0x3150('0x43')]({'where':{'id':_0x37e0b0[_0x3150('0x48')]['id']}})[_0x3150('0x1f')](handleEntityNotFound(_0x26fc57,null))[_0x3150('0x1f')](saveUpdates(_0x37e0b0['body'],null))['then'](respondWithResult(_0x26fc57,null))['catch'](handleError(_0x26fc57,null));};exports[_0x3150('0x20')]=function(_0x17ff5e,_0x4bbd17){return db[_0x3150('0x27')][_0x3150('0x43')]({'where':{'id':_0x17ff5e[_0x3150('0x48')]['id']}})[_0x3150('0x1f')](handleEntityNotFound(_0x4bbd17,null))[_0x3150('0x1f')](removeEntity(_0x4bbd17,null))[_0x3150('0x3d')](handleError(_0x4bbd17,null));};