Built motion from commit (unavailable).|2.5.24
[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 _0xc5b8=['offset','set','Content-Range','apply','reject','save','update','then','destroy','get','Tags','UserProfileResource','stack','name','send','index','Tag','rawAttributes','type','key','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','merge','map','VIRTUAL','count','includeAll','include','findAll','rows','catch','show','keys','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','html-pdf','eml-format','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json'];(function(_0x1da8eb,_0x212c08){var _0x493cb7=function(_0x19b612){while(--_0x19b612){_0x1da8eb['push'](_0x1da8eb['shift']());}};_0x493cb7(++_0x212c08);}(_0xc5b8,0x90));var _0x8c5b=function(_0x3305de,_0x16582f){_0x3305de=_0x3305de-0x0;var _0x3b5a84=_0xc5b8[_0x3305de];return _0x3b5a84;};'use strict';var pdf=require(_0x8c5b('0x0'));var emlformat=require(_0x8c5b('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x8c5b('0x2'));var moment=require(_0x8c5b('0x3'));var BPromise=require(_0x8c5b('0x4'));var Mustache=require(_0x8c5b('0x5'));var util=require(_0x8c5b('0x6'));var path=require(_0x8c5b('0x7'));var sox=require(_0x8c5b('0x8'));var csv=require(_0x8c5b('0x9'));var ejs=require(_0x8c5b('0xa'));var fs=require('fs');var _=require(_0x8c5b('0xb'));var squel=require(_0x8c5b('0xc'));var crypto=require(_0x8c5b('0xd'));var jsforce=require(_0x8c5b('0xe'));var deskjs=require(_0x8c5b('0xf'));var toCsv=require(_0x8c5b('0x9'));var querystring=require('querystring');var Papa=require(_0x8c5b('0x10'));var Redis=require(_0x8c5b('0x11'));var authService=require(_0x8c5b('0x12'));var qs=require(_0x8c5b('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8c5b('0x14'));var logger=require(_0x8c5b('0x15'))(_0x8c5b('0x16'));var utils=require(_0x8c5b('0x17'));var config=require(_0x8c5b('0x18'));var licenseUtil=require(_0x8c5b('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x47356a,_0xbcc193){_0xbcc193=_0xbcc193||0xcc;return function(_0x389a26){if(_0x389a26){return _0x47356a[_0x8c5b('0x1a')](_0xbcc193);}return _0x47356a['status'](_0xbcc193)[_0x8c5b('0x1b')]();};}function respondWithResult(_0x5d2cd8,_0x4c93d0){_0x4c93d0=_0x4c93d0||0xc8;return function(_0x2aae42){if(_0x2aae42){return _0x5d2cd8[_0x8c5b('0x1c')](_0x4c93d0)[_0x8c5b('0x1d')](_0x2aae42);}};}function respondWithFilteredResult(_0x213e0f,_0x1bb54a){return function(_0x53fa45){if(_0x53fa45){var _0x3e7e23=_0x53fa45['count'],_0x3eb20a=_0x1bb54a['offset'],_0x3d9131=_0x1bb54a[_0x8c5b('0x1e')]+_0x1bb54a['limit'],_0x40653a;if(_0x3d9131>=_0x3e7e23){_0x3d9131=_0x3e7e23;_0x40653a=0xc8;}else{_0x40653a=0xce;}_0x213e0f[_0x8c5b('0x1c')](_0x40653a);return _0x213e0f[_0x8c5b('0x1f')](_0x8c5b('0x20'),_0x3eb20a+'-'+_0x3d9131+'/'+_0x3e7e23)['json'](_0x53fa45);}return null;};}function patchUpdates(_0x181efd){return function(_0x2105a6){try{jsonpatch[_0x8c5b('0x21')](_0x2105a6,_0x181efd,!![]);}catch(_0x11ecfe){return BPromise[_0x8c5b('0x22')](_0x11ecfe);}return _0x2105a6[_0x8c5b('0x23')]();};}function saveUpdates(_0x245502,_0x46949b){return function(_0x698f5f){if(_0x698f5f){return _0x698f5f[_0x8c5b('0x24')](_0x245502)[_0x8c5b('0x25')](function(_0x428bfb){return _0x428bfb;});}return null;};}function removeEntity(_0x59b39c,_0x510a6a){return function(_0x8d4517){if(_0x8d4517){return _0x8d4517[_0x8c5b('0x26')]()[_0x8c5b('0x25')](function(){var _0x280197=_0x8d4517[_0x8c5b('0x27')]({'plain':!![]});var _0x1edd9e=_0x8c5b('0x28');return db[_0x8c5b('0x29')][_0x8c5b('0x26')]({'where':{'type':_0x1edd9e,'resourceId':_0x280197['id']}})[_0x8c5b('0x25')](function(){return _0x8d4517;});})['then'](function(){_0x59b39c[_0x8c5b('0x1c')](0xcc)[_0x8c5b('0x1b')]();});}};}function handleEntityNotFound(_0x1b346a,_0x365fdd){return function(_0x1286f4){if(!_0x1286f4){_0x1b346a[_0x8c5b('0x1a')](0x194);}return _0x1286f4;};}function handleError(_0x298b2a,_0x5ff9e6){_0x5ff9e6=_0x5ff9e6||0x1f4;return function(_0x492168){logger['error'](_0x492168[_0x8c5b('0x2a')]);if(_0x492168[_0x8c5b('0x2b')]){delete _0x492168[_0x8c5b('0x2b')];}_0x298b2a[_0x8c5b('0x1c')](_0x5ff9e6)[_0x8c5b('0x2c')](_0x492168);};}exports[_0x8c5b('0x2d')]=function(_0xd30894,_0x3e79c0){var _0x18e562={},_0x53681c={},_0x713f6a={'count':0x0,'rows':[]};var _0xb5d991=_['map'](db[_0x8c5b('0x2e')][_0x8c5b('0x2f')],function(_0x183b63){return{'name':_0x183b63['fieldName'],'type':_0x183b63[_0x8c5b('0x30')][_0x8c5b('0x31')]};});_0x53681c[_0x8c5b('0x32')]=_['map'](_0xb5d991,_0x8c5b('0x2b'));_0x53681c['query']=_['keys'](_0xd30894[_0x8c5b('0x33')]);_0x53681c[_0x8c5b('0x34')]=_['intersection'](_0x53681c[_0x8c5b('0x32')],_0x53681c[_0x8c5b('0x33')]);_0x18e562[_0x8c5b('0x35')]=_[_0x8c5b('0x36')](_0x53681c[_0x8c5b('0x32')],qs[_0x8c5b('0x37')](_0xd30894[_0x8c5b('0x33')][_0x8c5b('0x37')]));_0x18e562[_0x8c5b('0x35')]=_0x18e562[_0x8c5b('0x35')][_0x8c5b('0x38')]?_0x18e562[_0x8c5b('0x35')]:_0x53681c['model'];if(!_0xd30894[_0x8c5b('0x33')][_0x8c5b('0x39')](_0x8c5b('0x3a'))){_0x18e562[_0x8c5b('0x3b')]=qs[_0x8c5b('0x3b')](_0xd30894['query']['limit']);_0x18e562[_0x8c5b('0x1e')]=qs['offset'](_0xd30894['query']['offset']);}_0x18e562[_0x8c5b('0x3c')]=qs[_0x8c5b('0x3d')](_0xd30894['query'][_0x8c5b('0x3d')]);_0x18e562['where']=qs[_0x8c5b('0x34')](_[_0x8c5b('0x3e')](_0xd30894[_0x8c5b('0x33')],_0x53681c['filters']),_0xb5d991);if(_0xd30894[_0x8c5b('0x33')][_0x8c5b('0x3f')]){_0x18e562[_0x8c5b('0x40')]=_[_0x8c5b('0x41')](_0x18e562[_0x8c5b('0x40')],{'$or':_[_0x8c5b('0x42')](_0xb5d991,function(_0xb6a5b9){if(_0xb6a5b9['type']!==_0x8c5b('0x43')){var _0x37658a={};_0x37658a[_0xb6a5b9[_0x8c5b('0x2b')]]={'$like':'%'+_0xd30894[_0x8c5b('0x33')][_0x8c5b('0x3f')]+'%'};return _0x37658a;}})});}_0x18e562=_[_0x8c5b('0x41')]({},_0x18e562,_0xd30894['options']);var _0x1670af={'where':_0x18e562[_0x8c5b('0x40')]};return db['Tag'][_0x8c5b('0x44')](_0x1670af)[_0x8c5b('0x25')](function(_0x3c2f99){_0x713f6a[_0x8c5b('0x44')]=_0x3c2f99;if(_0xd30894[_0x8c5b('0x33')][_0x8c5b('0x45')]){_0x18e562[_0x8c5b('0x46')]=[{'all':!![]}];}return db['Tag'][_0x8c5b('0x47')](_0x18e562);})[_0x8c5b('0x25')](function(_0x568ecb){_0x713f6a[_0x8c5b('0x48')]=_0x568ecb;return _0x713f6a;})['then'](respondWithFilteredResult(_0x3e79c0,_0x18e562))[_0x8c5b('0x49')](handleError(_0x3e79c0,null));};exports[_0x8c5b('0x4a')]=function(_0x26e3b5,_0x3f2238){var _0x25fc6c={'raw':!![],'where':{'id':_0x26e3b5['params']['id']}},_0x264312={};_0x264312['model']=_[_0x8c5b('0x4b')](db['Tag'][_0x8c5b('0x2f')]);_0x264312[_0x8c5b('0x33')]=_[_0x8c5b('0x4b')](_0x26e3b5[_0x8c5b('0x33')]);_0x264312[_0x8c5b('0x34')]=_['intersection'](_0x264312[_0x8c5b('0x32')],_0x264312[_0x8c5b('0x33')]);_0x25fc6c[_0x8c5b('0x35')]=_[_0x8c5b('0x36')](_0x264312[_0x8c5b('0x32')],qs[_0x8c5b('0x37')](_0x26e3b5[_0x8c5b('0x33')]['fields']));_0x25fc6c[_0x8c5b('0x35')]=_0x25fc6c[_0x8c5b('0x35')]['length']?_0x25fc6c[_0x8c5b('0x35')]:_0x264312[_0x8c5b('0x32')];if(_0x26e3b5['query'][_0x8c5b('0x45')]){_0x25fc6c['include']=[{'all':!![]}];}_0x25fc6c=_['merge']({},_0x25fc6c,_0x26e3b5[_0x8c5b('0x4c')]);return db[_0x8c5b('0x2e')][_0x8c5b('0x4d')](_0x25fc6c)['then'](handleEntityNotFound(_0x3f2238,null))[_0x8c5b('0x25')](respondWithResult(_0x3f2238,null))[_0x8c5b('0x49')](handleError(_0x3f2238,null));};exports[_0x8c5b('0x4e')]=function(_0x3f3b47,_0x1bfa2d){return db[_0x8c5b('0x2e')][_0x8c5b('0x4e')](_0x3f3b47['body'],{})[_0x8c5b('0x25')](function(_0x1bd36d){var _0x4056e7=_0x3f3b47[_0x8c5b('0x4f')]['get']({'plain':!![]});if(!_0x4056e7)throw new Error(_0x8c5b('0x50'));if(_0x4056e7[_0x8c5b('0x51')]===_0x8c5b('0x4f')){var _0x370f0d=_0x1bd36d[_0x8c5b('0x27')]({'plain':!![]});var _0x3c11a7='Tags';return db[_0x8c5b('0x52')][_0x8c5b('0x4d')]({'where':{'name':_0x3c11a7,'userProfileId':_0x4056e7['userProfileId']},'raw':!![]})['then'](function(_0x1eb3b1){if(_0x1eb3b1&&_0x1eb3b1['autoAssociation']===0x0){return db[_0x8c5b('0x29')][_0x8c5b('0x4e')]({'name':_0x370f0d['name'],'resourceId':_0x370f0d['id'],'type':_0x1eb3b1[_0x8c5b('0x2b')],'sectionId':_0x1eb3b1['id']},{})[_0x8c5b('0x25')](function(){return _0x1bd36d;});}else{return _0x1bd36d;}})['catch'](function(_0x5dcc48){logger[_0x8c5b('0x53')](_0x8c5b('0x54'),_0x5dcc48);throw _0x5dcc48;});}return _0x1bd36d;})[_0x8c5b('0x25')](respondWithResult(_0x1bfa2d,0xc9))[_0x8c5b('0x49')](handleError(_0x1bfa2d,null));};exports['update']=function(_0x3fa830,_0x1dde47){if(_0x3fa830[_0x8c5b('0x55')]['id']){delete _0x3fa830[_0x8c5b('0x55')]['id'];}return db[_0x8c5b('0x2e')][_0x8c5b('0x4d')]({'where':{'id':_0x3fa830[_0x8c5b('0x56')]['id']}})['then'](handleEntityNotFound(_0x1dde47,null))[_0x8c5b('0x25')](saveUpdates(_0x3fa830['body'],null))['then'](respondWithResult(_0x1dde47,null))[_0x8c5b('0x49')](handleError(_0x1dde47,null));};exports[_0x8c5b('0x26')]=function(_0x13e5e8,_0x4b4500){return db[_0x8c5b('0x2e')][_0x8c5b('0x4d')]({'where':{'id':_0x13e5e8[_0x8c5b('0x56')]['id']}})['then'](handleEntityNotFound(_0x4b4500,null))['then'](removeEntity(_0x4b4500,null))[_0x8c5b('0x49')](handleError(_0x4b4500,null));};