Built motion from commit (unavailable).|2.3.4
[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 _0x5204=['../../config/license/hardware','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','destroy','then','Tags','UserProfileResource','error','stack','name','send','Tag','rawAttributes','keys','filters','model','intersection','fields','attributes','length','query','hasOwnProperty','order','where','filter','merge','map','key','VIRTUAL','includeAll','rows','catch','show','include','options','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','../../components/auth/service'];(function(_0x55d688,_0x2d850d){var _0x5d2637=function(_0x3e6759){while(--_0x3e6759){_0x55d688['push'](_0x55d688['shift']());}};_0x5d2637(++_0x2d850d);}(_0x5204,0xdf));var _0x4520=function(_0x576170,_0x1712ae){_0x576170=_0x576170-0x0;var _0x397c70=_0x5204[_0x576170];return _0x397c70;};'use strict';var pdf=require(_0x4520('0x0'));var emlformat=require(_0x4520('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x4520('0x2'));var jsonpatch=require(_0x4520('0x3'));var rp=require(_0x4520('0x4'));var moment=require(_0x4520('0x5'));var BPromise=require(_0x4520('0x6'));var Mustache=require('mustache');var util=require(_0x4520('0x7'));var path=require('path');var sox=require(_0x4520('0x8'));var csv=require(_0x4520('0x9'));var ejs=require(_0x4520('0xa'));var fs=require('fs');var _=require(_0x4520('0xb'));var squel=require(_0x4520('0xc'));var crypto=require(_0x4520('0xd'));var jsforce=require(_0x4520('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x4520('0x9'));var querystring=require('querystring');var Papa=require(_0x4520('0xf'));var authService=require(_0x4520('0x10'));var hardwareService=require(_0x4520('0x11'));var Redis=require(_0x4520('0x12'));var qs=require(_0x4520('0x13'));var logger=require(_0x4520('0x14'))(_0x4520('0x15'));var utils=require(_0x4520('0x16'));var config=require(_0x4520('0x17'));var db=require(_0x4520('0x18'))['db'];function respondWithStatusCode(_0x3754b3,_0x394072){_0x394072=_0x394072||0xcc;return function(_0x3c7a5d){if(_0x3c7a5d){return _0x3754b3[_0x4520('0x19')](_0x394072);}return _0x3754b3[_0x4520('0x1a')](_0x394072)[_0x4520('0x1b')]();};}function respondWithResult(_0x16737b,_0x4677d7){_0x4677d7=_0x4677d7||0xc8;return function(_0x426836){if(_0x426836){return _0x16737b[_0x4520('0x1a')](_0x4677d7)[_0x4520('0x1c')](_0x426836);}};}function respondWithFilteredResult(_0x48b3e7,_0x3e53e5){return function(_0x20de6b){if(_0x20de6b){var _0x1ab841=_0x20de6b[_0x4520('0x1d')],_0x15a31f=_0x3e53e5[_0x4520('0x1e')],_0x32d8aa=_0x3e53e5[_0x4520('0x1e')]+_0x3e53e5[_0x4520('0x1f')],_0x51d85f;if(_0x32d8aa>=_0x1ab841){_0x32d8aa=_0x1ab841;_0x51d85f=0xc8;}else{_0x51d85f=0xce;}_0x48b3e7[_0x4520('0x1a')](_0x51d85f);return _0x48b3e7[_0x4520('0x20')](_0x4520('0x21'),_0x15a31f+'-'+_0x32d8aa+'/'+_0x1ab841)[_0x4520('0x1c')](_0x20de6b);}return null;};}function patchUpdates(_0x3791b6){return function(_0x11eaea){try{jsonpatch[_0x4520('0x22')](_0x11eaea,_0x3791b6,!![]);}catch(_0x460521){return BPromise['reject'](_0x460521);}return _0x11eaea[_0x4520('0x23')]();};}function saveUpdates(_0x52ca8c,_0x5ceff6){return function(_0x4c46c5){if(_0x4c46c5){return _0x4c46c5[_0x4520('0x24')](_0x52ca8c)['then'](function(_0x39e196){return _0x39e196;});}return null;};}function removeEntity(_0x270dc2,_0x428d36){return function(_0x534b15){if(_0x534b15){return _0x534b15[_0x4520('0x25')]()[_0x4520('0x26')](function(){var _0x3b2ede=_0x534b15['get']({'plain':!![]});var _0x198c34=_0x4520('0x27');return db[_0x4520('0x28')][_0x4520('0x25')]({'where':{'type':_0x198c34,'resourceId':_0x3b2ede['id']}})[_0x4520('0x26')](function(){return _0x534b15;});})['then'](function(){_0x270dc2[_0x4520('0x1a')](0xcc)[_0x4520('0x1b')]();});}};}function handleEntityNotFound(_0x3532aa,_0x3e2906){return function(_0x57306b){if(!_0x57306b){_0x3532aa[_0x4520('0x19')](0x194);}return _0x57306b;};}function handleError(_0x4602a4,_0x92168b){_0x92168b=_0x92168b||0x1f4;return function(_0x21e1f3){logger[_0x4520('0x29')](_0x21e1f3[_0x4520('0x2a')]);if(_0x21e1f3[_0x4520('0x2b')]){delete _0x21e1f3[_0x4520('0x2b')];}_0x4602a4[_0x4520('0x1a')](_0x92168b)[_0x4520('0x2c')](_0x21e1f3);};}exports['index']=function(_0x222dbd,_0x5c1a0b){var _0x7ce8d2={},_0x14778a={},_0x43b4a2={'count':0x0,'rows':[]};var _0x157293=db[_0x4520('0x2d')][_0x4520('0x2e')];_0x14778a['model']=_[_0x4520('0x2f')](_0x157293);_0x14778a['query']=_[_0x4520('0x2f')](_0x222dbd['query']);_0x14778a[_0x4520('0x30')]=_['intersection'](_0x14778a[_0x4520('0x31')],_0x14778a['query']);_0x7ce8d2['attributes']=_[_0x4520('0x32')](_0x14778a[_0x4520('0x31')],qs[_0x4520('0x33')](_0x222dbd['query'][_0x4520('0x33')]));_0x7ce8d2[_0x4520('0x34')]=_0x7ce8d2[_0x4520('0x34')][_0x4520('0x35')]?_0x7ce8d2['attributes']:_0x14778a['model'];if(!_0x222dbd[_0x4520('0x36')][_0x4520('0x37')]('nolimit')){_0x7ce8d2[_0x4520('0x1f')]=qs[_0x4520('0x1f')](_0x222dbd[_0x4520('0x36')][_0x4520('0x1f')]);_0x7ce8d2[_0x4520('0x1e')]=qs[_0x4520('0x1e')](_0x222dbd['query'][_0x4520('0x1e')]);}_0x7ce8d2[_0x4520('0x38')]=qs['sort'](_0x222dbd[_0x4520('0x36')]['sort']);_0x7ce8d2[_0x4520('0x39')]=qs[_0x4520('0x30')](_['pick'](_0x222dbd['query'],_0x14778a['filters']));if(_0x222dbd[_0x4520('0x36')][_0x4520('0x3a')]){_0x7ce8d2[_0x4520('0x39')]=_[_0x4520('0x3b')](_0x7ce8d2[_0x4520('0x39')],{'$or':_[_0x4520('0x3c')](_0x157293,function(_0x3bfc83){if(_0x3bfc83['type'][_0x4520('0x3d')]!==_0x4520('0x3e')){var _0x2f2fab={};_0x2f2fab[_0x3bfc83['field']]={'$like':'%'+_0x222dbd[_0x4520('0x36')][_0x4520('0x3a')]+'%'};return _0x2f2fab;}})});}_0x7ce8d2=_['merge']({},_0x7ce8d2,_0x222dbd['options']);var _0x1c4fd2={'where':_0x7ce8d2[_0x4520('0x39')]};return db[_0x4520('0x2d')][_0x4520('0x1d')](_0x1c4fd2)[_0x4520('0x26')](function(_0x5ca832){_0x43b4a2['count']=_0x5ca832;if(_0x222dbd['query'][_0x4520('0x3f')]){_0x7ce8d2['include']=[{'all':!![]}];}return db[_0x4520('0x2d')]['findAll'](_0x7ce8d2);})['then'](function(_0x2ff616){_0x43b4a2[_0x4520('0x40')]=_0x2ff616;return _0x43b4a2;})[_0x4520('0x26')](respondWithFilteredResult(_0x5c1a0b,_0x7ce8d2))[_0x4520('0x41')](handleError(_0x5c1a0b,null));};exports[_0x4520('0x42')]=function(_0x59d646,_0x1675e6){var _0x26efb0={'raw':!![],'where':{'id':_0x59d646['params']['id']}},_0x4a39d4={};_0x4a39d4[_0x4520('0x31')]=_[_0x4520('0x2f')](db['Tag'][_0x4520('0x2e')]);_0x4a39d4[_0x4520('0x36')]=_[_0x4520('0x2f')](_0x59d646[_0x4520('0x36')]);_0x4a39d4['filters']=_[_0x4520('0x32')](_0x4a39d4[_0x4520('0x31')],_0x4a39d4[_0x4520('0x36')]);_0x26efb0[_0x4520('0x34')]=_[_0x4520('0x32')](_0x4a39d4[_0x4520('0x31')],qs[_0x4520('0x33')](_0x59d646[_0x4520('0x36')][_0x4520('0x33')]));_0x26efb0[_0x4520('0x34')]=_0x26efb0[_0x4520('0x34')][_0x4520('0x35')]?_0x26efb0[_0x4520('0x34')]:_0x4a39d4[_0x4520('0x31')];if(_0x59d646[_0x4520('0x36')][_0x4520('0x3f')]){_0x26efb0[_0x4520('0x43')]=[{'all':!![]}];}_0x26efb0=_['merge']({},_0x26efb0,_0x59d646[_0x4520('0x44')]);return db[_0x4520('0x2d')]['find'](_0x26efb0)['then'](handleEntityNotFound(_0x1675e6,null))['then'](respondWithResult(_0x1675e6,null))['catch'](handleError(_0x1675e6,null));};exports[_0x4520('0x45')]=function(_0x5b96f8,_0x2f16f4){return db[_0x4520('0x2d')][_0x4520('0x45')](_0x5b96f8[_0x4520('0x46')],{})[_0x4520('0x26')](function(_0x5e3eef){var _0x2b89be=_0x5b96f8[_0x4520('0x47')][_0x4520('0x48')]({'plain':!![]});if(!_0x2b89be)throw new Error(_0x4520('0x49'));if(_0x2b89be[_0x4520('0x4a')]===_0x4520('0x47')){var _0x737ba4=_0x5e3eef[_0x4520('0x48')]({'plain':!![]});var _0x17e353=_0x4520('0x27');return db[_0x4520('0x4b')][_0x4520('0x4c')]({'where':{'name':_0x17e353,'userProfileId':_0x2b89be['userProfileId']},'raw':!![]})['then'](function(_0x2f14c1){if(_0x2f14c1&&_0x2f14c1[_0x4520('0x4d')]===0x0){return db[_0x4520('0x28')]['create']({'name':_0x737ba4[_0x4520('0x2b')],'resourceId':_0x737ba4['id'],'type':_0x2f14c1[_0x4520('0x2b')],'sectionId':_0x2f14c1['id']},{})[_0x4520('0x26')](function(){return _0x5e3eef;});}else{return _0x5e3eef;}})['catch'](function(_0x2a976a){logger[_0x4520('0x29')](_0x4520('0x4e'),_0x2a976a);throw _0x2a976a;});}return _0x5e3eef;})['then'](respondWithResult(_0x2f16f4,0xc9))['catch'](handleError(_0x2f16f4,null));};exports[_0x4520('0x24')]=function(_0x24a6a4,_0x24269e){if(_0x24a6a4[_0x4520('0x46')]['id']){delete _0x24a6a4[_0x4520('0x46')]['id'];}return db[_0x4520('0x2d')][_0x4520('0x4c')]({'where':{'id':_0x24a6a4[_0x4520('0x4f')]['id']}})['then'](handleEntityNotFound(_0x24269e,null))[_0x4520('0x26')](saveUpdates(_0x24a6a4[_0x4520('0x46')],null))[_0x4520('0x26')](respondWithResult(_0x24269e,null))[_0x4520('0x41')](handleError(_0x24269e,null));};exports[_0x4520('0x25')]=function(_0x253011,_0x2b09a1){return db[_0x4520('0x2d')][_0x4520('0x4c')]({'where':{'id':_0x253011[_0x4520('0x4f')]['id']}})[_0x4520('0x26')](handleEntityNotFound(_0x2b09a1,null))[_0x4520('0x26')](removeEntity(_0x2b09a1,null))[_0x4520('0x41')](handleError(_0x2b09a1,null));};