Built motion from commit (unavailable).|2.5.5
[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 _0x4483=['ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','count','offset','limit','set','apply','save','update','then','destroy','get','Tags','UserProfileResource','error','stack','name','send','index','fieldName','model','map','query','filters','intersection','attributes','fields','length','nolimit','order','sort','filter','merge','where','type','VIRTUAL','options','Tag','includeAll','include','findAll','rows','show','params','rawAttributes','keys','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv'];(function(_0xe6c233,_0x4ff0ba){var _0x2ac913=function(_0x2273ee){while(--_0x2273ee){_0xe6c233['push'](_0xe6c233['shift']());}};_0x2ac913(++_0x4ff0ba);}(_0x4483,0x1a3));var _0x3448=function(_0x3c3e88,_0x2ada38){_0x3c3e88=_0x3c3e88-0x0;var _0x44a9df=_0x4483[_0x3c3e88];return _0x44a9df;};'use strict';var pdf=require(_0x3448('0x0'));var emlformat=require(_0x3448('0x1'));var rimraf=require(_0x3448('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3448('0x3'));var rp=require(_0x3448('0x4'));var moment=require(_0x3448('0x5'));var BPromise=require(_0x3448('0x6'));var Mustache=require(_0x3448('0x7'));var util=require('util');var path=require(_0x3448('0x8'));var sox=require(_0x3448('0x9'));var csv=require(_0x3448('0xa'));var ejs=require(_0x3448('0xb'));var fs=require('fs');var _=require(_0x3448('0xc'));var squel=require(_0x3448('0xd'));var crypto=require(_0x3448('0xe'));var jsforce=require(_0x3448('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x3448('0x10'));var Papa=require(_0x3448('0x11'));var Redis=require(_0x3448('0x12'));var authService=require(_0x3448('0x13'));var qs=require(_0x3448('0x14'));var as=require(_0x3448('0x15'));var hardwareService=require(_0x3448('0x16'));var logger=require(_0x3448('0x17'))(_0x3448('0x18'));var utils=require(_0x3448('0x19'));var config=require(_0x3448('0x1a'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x298ae6,_0x38fbb1){_0x38fbb1=_0x38fbb1||0xcc;return function(_0x5f52bd){if(_0x5f52bd){return _0x298ae6[_0x3448('0x1b')](_0x38fbb1);}return _0x298ae6[_0x3448('0x1c')](_0x38fbb1)[_0x3448('0x1d')]();};}function respondWithResult(_0x549306,_0x14104c){_0x14104c=_0x14104c||0xc8;return function(_0x2952a6){if(_0x2952a6){return _0x549306['status'](_0x14104c)[_0x3448('0x1e')](_0x2952a6);}};}function respondWithFilteredResult(_0x2c2da6,_0x46784f){return function(_0x4fc70f){if(_0x4fc70f){var _0x472518=_0x4fc70f[_0x3448('0x1f')],_0x28f5b9=_0x46784f[_0x3448('0x20')],_0x13610a=_0x46784f[_0x3448('0x20')]+_0x46784f[_0x3448('0x21')],_0x30f8dd;if(_0x13610a>=_0x472518){_0x13610a=_0x472518;_0x30f8dd=0xc8;}else{_0x30f8dd=0xce;}_0x2c2da6['status'](_0x30f8dd);return _0x2c2da6[_0x3448('0x22')]('Content-Range',_0x28f5b9+'-'+_0x13610a+'/'+_0x472518)['json'](_0x4fc70f);}return null;};}function patchUpdates(_0x53f8e7){return function(_0x1e9774){try{jsonpatch[_0x3448('0x23')](_0x1e9774,_0x53f8e7,!![]);}catch(_0xda4040){return BPromise['reject'](_0xda4040);}return _0x1e9774[_0x3448('0x24')]();};}function saveUpdates(_0x392c8d,_0x317de6){return function(_0x18608e){if(_0x18608e){return _0x18608e[_0x3448('0x25')](_0x392c8d)[_0x3448('0x26')](function(_0x5db78f){return _0x5db78f;});}return null;};}function removeEntity(_0x54c7ee,_0x4e6716){return function(_0x1b3d5a){if(_0x1b3d5a){return _0x1b3d5a[_0x3448('0x27')]()['then'](function(){var _0x5b1f7c=_0x1b3d5a[_0x3448('0x28')]({'plain':!![]});var _0x4371d6=_0x3448('0x29');return db[_0x3448('0x2a')][_0x3448('0x27')]({'where':{'type':_0x4371d6,'resourceId':_0x5b1f7c['id']}})['then'](function(){return _0x1b3d5a;});})[_0x3448('0x26')](function(){_0x54c7ee[_0x3448('0x1c')](0xcc)[_0x3448('0x1d')]();});}};}function handleEntityNotFound(_0x2088de,_0x951811){return function(_0x56b3ff){if(!_0x56b3ff){_0x2088de[_0x3448('0x1b')](0x194);}return _0x56b3ff;};}function handleError(_0x393081,_0x52c163){_0x52c163=_0x52c163||0x1f4;return function(_0x19a479){logger[_0x3448('0x2b')](_0x19a479[_0x3448('0x2c')]);if(_0x19a479[_0x3448('0x2d')]){delete _0x19a479[_0x3448('0x2d')];}_0x393081[_0x3448('0x1c')](_0x52c163)[_0x3448('0x2e')](_0x19a479);};}exports[_0x3448('0x2f')]=function(_0x5911b8,_0x3307dc){var _0x450704={},_0xcfdc5={},_0x52c09d={'count':0x0,'rows':[]};var _0x1b8dbb=_['map'](db['Tag']['rawAttributes'],function(_0x52fb48){return{'name':_0x52fb48[_0x3448('0x30')],'type':_0x52fb48['type']['key']};});_0xcfdc5[_0x3448('0x31')]=_[_0x3448('0x32')](_0x1b8dbb,_0x3448('0x2d'));_0xcfdc5[_0x3448('0x33')]=_['keys'](_0x5911b8[_0x3448('0x33')]);_0xcfdc5[_0x3448('0x34')]=_[_0x3448('0x35')](_0xcfdc5['model'],_0xcfdc5[_0x3448('0x33')]);_0x450704[_0x3448('0x36')]=_['intersection'](_0xcfdc5['model'],qs[_0x3448('0x37')](_0x5911b8[_0x3448('0x33')][_0x3448('0x37')]));_0x450704[_0x3448('0x36')]=_0x450704['attributes'][_0x3448('0x38')]?_0x450704[_0x3448('0x36')]:_0xcfdc5[_0x3448('0x31')];if(!_0x5911b8[_0x3448('0x33')]['hasOwnProperty'](_0x3448('0x39'))){_0x450704[_0x3448('0x21')]=qs['limit'](_0x5911b8[_0x3448('0x33')][_0x3448('0x21')]);_0x450704[_0x3448('0x20')]=qs[_0x3448('0x20')](_0x5911b8[_0x3448('0x33')][_0x3448('0x20')]);}_0x450704[_0x3448('0x3a')]=qs[_0x3448('0x3b')](_0x5911b8[_0x3448('0x33')]['sort']);_0x450704['where']=qs[_0x3448('0x34')](_['pick'](_0x5911b8[_0x3448('0x33')],_0xcfdc5[_0x3448('0x34')]),_0x1b8dbb);if(_0x5911b8[_0x3448('0x33')][_0x3448('0x3c')]){_0x450704['where']=_[_0x3448('0x3d')](_0x450704[_0x3448('0x3e')],{'$or':_[_0x3448('0x32')](_0x1b8dbb,function(_0x201979){if(_0x201979[_0x3448('0x3f')]!==_0x3448('0x40')){var _0x250642={};_0x250642[_0x201979[_0x3448('0x2d')]]={'$like':'%'+_0x5911b8[_0x3448('0x33')]['filter']+'%'};return _0x250642;}})});}_0x450704=_[_0x3448('0x3d')]({},_0x450704,_0x5911b8[_0x3448('0x41')]);var _0x322b46={'where':_0x450704[_0x3448('0x3e')]};return db[_0x3448('0x42')]['count'](_0x322b46)[_0x3448('0x26')](function(_0x1b7284){_0x52c09d[_0x3448('0x1f')]=_0x1b7284;if(_0x5911b8[_0x3448('0x33')][_0x3448('0x43')]){_0x450704[_0x3448('0x44')]=[{'all':!![]}];}return db[_0x3448('0x42')][_0x3448('0x45')](_0x450704);})['then'](function(_0x399246){_0x52c09d[_0x3448('0x46')]=_0x399246;return _0x52c09d;})[_0x3448('0x26')](respondWithFilteredResult(_0x3307dc,_0x450704))['catch'](handleError(_0x3307dc,null));};exports[_0x3448('0x47')]=function(_0x1d2a7c,_0x21f989){var _0x26d6b8={'raw':!![],'where':{'id':_0x1d2a7c[_0x3448('0x48')]['id']}},_0x3bcaf6={};_0x3bcaf6[_0x3448('0x31')]=_['keys'](db[_0x3448('0x42')][_0x3448('0x49')]);_0x3bcaf6[_0x3448('0x33')]=_[_0x3448('0x4a')](_0x1d2a7c[_0x3448('0x33')]);_0x3bcaf6[_0x3448('0x34')]=_['intersection'](_0x3bcaf6[_0x3448('0x31')],_0x3bcaf6['query']);_0x26d6b8['attributes']=_[_0x3448('0x35')](_0x3bcaf6[_0x3448('0x31')],qs['fields'](_0x1d2a7c[_0x3448('0x33')][_0x3448('0x37')]));_0x26d6b8['attributes']=_0x26d6b8[_0x3448('0x36')][_0x3448('0x38')]?_0x26d6b8['attributes']:_0x3bcaf6[_0x3448('0x31')];if(_0x1d2a7c[_0x3448('0x33')][_0x3448('0x43')]){_0x26d6b8[_0x3448('0x44')]=[{'all':!![]}];}_0x26d6b8=_[_0x3448('0x3d')]({},_0x26d6b8,_0x1d2a7c[_0x3448('0x41')]);return db[_0x3448('0x42')]['find'](_0x26d6b8)['then'](handleEntityNotFound(_0x21f989,null))[_0x3448('0x26')](respondWithResult(_0x21f989,null))[_0x3448('0x4b')](handleError(_0x21f989,null));};exports[_0x3448('0x4c')]=function(_0x3f48e3,_0x527259){return db[_0x3448('0x42')][_0x3448('0x4c')](_0x3f48e3[_0x3448('0x4d')],{})[_0x3448('0x26')](function(_0x363374){var _0x5d942b=_0x3f48e3[_0x3448('0x4e')]['get']({'plain':!![]});if(!_0x5d942b)throw new Error(_0x3448('0x4f'));if(_0x5d942b[_0x3448('0x50')]==='user'){var _0x479b79=_0x363374[_0x3448('0x28')]({'plain':!![]});var _0x257abb=_0x3448('0x29');return db[_0x3448('0x51')][_0x3448('0x52')]({'where':{'name':_0x257abb,'userProfileId':_0x5d942b[_0x3448('0x53')]},'raw':!![]})['then'](function(_0x23dbda){if(_0x23dbda&&_0x23dbda[_0x3448('0x54')]===0x0){return db['UserProfileResource']['create']({'name':_0x479b79[_0x3448('0x2d')],'resourceId':_0x479b79['id'],'type':_0x23dbda[_0x3448('0x2d')],'sectionId':_0x23dbda['id']},{})['then'](function(){return _0x363374;});}else{return _0x363374;}})['catch'](function(_0x371e8a){logger[_0x3448('0x2b')](_0x3448('0x55'),_0x371e8a);throw _0x371e8a;});}return _0x363374;})[_0x3448('0x26')](respondWithResult(_0x527259,0xc9))[_0x3448('0x4b')](handleError(_0x527259,null));};exports[_0x3448('0x25')]=function(_0x2aea70,_0x4c0053){if(_0x2aea70['body']['id']){delete _0x2aea70['body']['id'];}return db[_0x3448('0x42')][_0x3448('0x52')]({'where':{'id':_0x2aea70['params']['id']}})[_0x3448('0x26')](handleEntityNotFound(_0x4c0053,null))[_0x3448('0x26')](saveUpdates(_0x2aea70['body'],null))[_0x3448('0x26')](respondWithResult(_0x4c0053,null))[_0x3448('0x4b')](handleError(_0x4c0053,null));};exports['destroy']=function(_0x2afe2a,_0x456e82){return db[_0x3448('0x42')][_0x3448('0x52')]({'where':{'id':_0x2afe2a[_0x3448('0x48')]['id']}})[_0x3448('0x26')](handleEntityNotFound(_0x456e82,null))[_0x3448('0x26')](removeEntity(_0x456e82,null))[_0x3448('0x4b')](handleError(_0x456e82,null));};