Built motion from commit (unavailable).|2.5.14
[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 _0x6e38=['fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','set','Content-Range','reject','save','update','then','get','Tags','destroy','stack','name','map','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','Tag','includeAll','findAll','rows','catch','show','params','include','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','rimraf','zip-dir'];(function(_0x28a6fb,_0x1d9a9c){var _0x1f6389=function(_0x3325ad){while(--_0x3325ad){_0x28a6fb['push'](_0x28a6fb['shift']());}};_0x1f6389(++_0x1d9a9c);}(_0x6e38,0xea));var _0x86e3=function(_0x145a91,_0x33e3be){_0x145a91=_0x145a91-0x0;var _0x3f1456=_0x6e38[_0x145a91];return _0x3f1456;};'use strict';var pdf=require(_0x86e3('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x86e3('0x1'));var zipdir=require(_0x86e3('0x2'));var jsonpatch=require(_0x86e3('0x3'));var rp=require('request-promise');var moment=require(_0x86e3('0x4'));var BPromise=require(_0x86e3('0x5'));var Mustache=require(_0x86e3('0x6'));var util=require(_0x86e3('0x7'));var path=require(_0x86e3('0x8'));var sox=require(_0x86e3('0x9'));var csv=require(_0x86e3('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x86e3('0xb'));var crypto=require(_0x86e3('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x86e3('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x86e3('0xe'));var Redis=require(_0x86e3('0xf'));var authService=require(_0x86e3('0x10'));var qs=require(_0x86e3('0x11'));var as=require(_0x86e3('0x12'));var hardwareService=require(_0x86e3('0x13'));var logger=require(_0x86e3('0x14'))(_0x86e3('0x15'));var utils=require('../../config/utils');var config=require(_0x86e3('0x16'));var licenseUtil=require(_0x86e3('0x17'));var db=require(_0x86e3('0x18'))['db'];function respondWithStatusCode(_0x315c4e,_0x4d1805){_0x4d1805=_0x4d1805||0xcc;return function(_0x356622){if(_0x356622){return _0x315c4e[_0x86e3('0x19')](_0x4d1805);}return _0x315c4e['status'](_0x4d1805)['end']();};}function respondWithResult(_0x5c7e95,_0x4eda58){_0x4eda58=_0x4eda58||0xc8;return function(_0x461ac2){if(_0x461ac2){return _0x5c7e95[_0x86e3('0x1a')](_0x4eda58)[_0x86e3('0x1b')](_0x461ac2);}};}function respondWithFilteredResult(_0x21480f,_0x43da00){return function(_0x26ad36){if(_0x26ad36){var _0x44f43b=_0x26ad36['count'],_0x480e45=_0x43da00[_0x86e3('0x1c')],_0x2c1e58=_0x43da00[_0x86e3('0x1c')]+_0x43da00['limit'],_0x26c445;if(_0x2c1e58>=_0x44f43b){_0x2c1e58=_0x44f43b;_0x26c445=0xc8;}else{_0x26c445=0xce;}_0x21480f[_0x86e3('0x1a')](_0x26c445);return _0x21480f[_0x86e3('0x1d')](_0x86e3('0x1e'),_0x480e45+'-'+_0x2c1e58+'/'+_0x44f43b)[_0x86e3('0x1b')](_0x26ad36);}return null;};}function patchUpdates(_0x5400ae){return function(_0xfe8477){try{jsonpatch['apply'](_0xfe8477,_0x5400ae,!![]);}catch(_0x1f744a){return BPromise[_0x86e3('0x1f')](_0x1f744a);}return _0xfe8477[_0x86e3('0x20')]();};}function saveUpdates(_0xd16125,_0x1a2a69){return function(_0x472184){if(_0x472184){return _0x472184[_0x86e3('0x21')](_0xd16125)['then'](function(_0x316233){return _0x316233;});}return null;};}function removeEntity(_0x2ef358,_0x122552){return function(_0x355231){if(_0x355231){return _0x355231['destroy']()[_0x86e3('0x22')](function(){var _0x52b229=_0x355231[_0x86e3('0x23')]({'plain':!![]});var _0x4f92d7=_0x86e3('0x24');return db['UserProfileResource'][_0x86e3('0x25')]({'where':{'type':_0x4f92d7,'resourceId':_0x52b229['id']}})[_0x86e3('0x22')](function(){return _0x355231;});})[_0x86e3('0x22')](function(){_0x2ef358[_0x86e3('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x7de5aa,_0x40742d){return function(_0x3d065a){if(!_0x3d065a){_0x7de5aa[_0x86e3('0x19')](0x194);}return _0x3d065a;};}function handleError(_0x1af67d,_0x393b44){_0x393b44=_0x393b44||0x1f4;return function(_0x40ea50){logger['error'](_0x40ea50[_0x86e3('0x26')]);if(_0x40ea50[_0x86e3('0x27')]){delete _0x40ea50[_0x86e3('0x27')];}_0x1af67d[_0x86e3('0x1a')](_0x393b44)['send'](_0x40ea50);};}exports['index']=function(_0x46576d,_0x1e51bc){var _0x17f501={},_0x2156a7={},_0x1446f5={'count':0x0,'rows':[]};var _0x3f7596=_[_0x86e3('0x28')](db['Tag'][_0x86e3('0x29')],function(_0x3c4b2c){return{'name':_0x3c4b2c[_0x86e3('0x2a')],'type':_0x3c4b2c[_0x86e3('0x2b')][_0x86e3('0x2c')]};});_0x2156a7[_0x86e3('0x2d')]=_[_0x86e3('0x28')](_0x3f7596,_0x86e3('0x27'));_0x2156a7['query']=_[_0x86e3('0x2e')](_0x46576d[_0x86e3('0x2f')]);_0x2156a7[_0x86e3('0x30')]=_['intersection'](_0x2156a7[_0x86e3('0x2d')],_0x2156a7[_0x86e3('0x2f')]);_0x17f501[_0x86e3('0x31')]=_[_0x86e3('0x32')](_0x2156a7[_0x86e3('0x2d')],qs[_0x86e3('0x33')](_0x46576d[_0x86e3('0x2f')]['fields']));_0x17f501['attributes']=_0x17f501[_0x86e3('0x31')][_0x86e3('0x34')]?_0x17f501['attributes']:_0x2156a7[_0x86e3('0x2d')];if(!_0x46576d['query'][_0x86e3('0x35')](_0x86e3('0x36'))){_0x17f501[_0x86e3('0x37')]=qs[_0x86e3('0x37')](_0x46576d[_0x86e3('0x2f')][_0x86e3('0x37')]);_0x17f501['offset']=qs['offset'](_0x46576d[_0x86e3('0x2f')][_0x86e3('0x1c')]);}_0x17f501[_0x86e3('0x38')]=qs[_0x86e3('0x39')](_0x46576d[_0x86e3('0x2f')][_0x86e3('0x39')]);_0x17f501[_0x86e3('0x3a')]=qs['filters'](_[_0x86e3('0x3b')](_0x46576d['query'],_0x2156a7['filters']),_0x3f7596);if(_0x46576d['query'][_0x86e3('0x3c')]){_0x17f501[_0x86e3('0x3a')]=_[_0x86e3('0x3d')](_0x17f501['where'],{'$or':_[_0x86e3('0x28')](_0x3f7596,function(_0x380c00){if(_0x380c00[_0x86e3('0x2b')]!==_0x86e3('0x3e')){var _0x4dffa4={};_0x4dffa4[_0x380c00['name']]={'$like':'%'+_0x46576d[_0x86e3('0x2f')]['filter']+'%'};return _0x4dffa4;}})});}_0x17f501=_[_0x86e3('0x3d')]({},_0x17f501,_0x46576d[_0x86e3('0x3f')]);var _0x3ab8b9={'where':_0x17f501[_0x86e3('0x3a')]};return db[_0x86e3('0x40')]['count'](_0x3ab8b9)['then'](function(_0xf4d7f4){_0x1446f5['count']=_0xf4d7f4;if(_0x46576d[_0x86e3('0x2f')][_0x86e3('0x41')]){_0x17f501['include']=[{'all':!![]}];}return db[_0x86e3('0x40')][_0x86e3('0x42')](_0x17f501);})[_0x86e3('0x22')](function(_0x4aca89){_0x1446f5[_0x86e3('0x43')]=_0x4aca89;return _0x1446f5;})[_0x86e3('0x22')](respondWithFilteredResult(_0x1e51bc,_0x17f501))[_0x86e3('0x44')](handleError(_0x1e51bc,null));};exports[_0x86e3('0x45')]=function(_0x1bdace,_0x30d767){var _0x1b2532={'raw':!![],'where':{'id':_0x1bdace[_0x86e3('0x46')]['id']}},_0x2b462c={};_0x2b462c['model']=_[_0x86e3('0x2e')](db[_0x86e3('0x40')][_0x86e3('0x29')]);_0x2b462c['query']=_['keys'](_0x1bdace[_0x86e3('0x2f')]);_0x2b462c[_0x86e3('0x30')]=_['intersection'](_0x2b462c[_0x86e3('0x2d')],_0x2b462c[_0x86e3('0x2f')]);_0x1b2532[_0x86e3('0x31')]=_[_0x86e3('0x32')](_0x2b462c['model'],qs[_0x86e3('0x33')](_0x1bdace['query'][_0x86e3('0x33')]));_0x1b2532[_0x86e3('0x31')]=_0x1b2532[_0x86e3('0x31')][_0x86e3('0x34')]?_0x1b2532[_0x86e3('0x31')]:_0x2b462c[_0x86e3('0x2d')];if(_0x1bdace[_0x86e3('0x2f')][_0x86e3('0x41')]){_0x1b2532[_0x86e3('0x47')]=[{'all':!![]}];}_0x1b2532=_[_0x86e3('0x3d')]({},_0x1b2532,_0x1bdace[_0x86e3('0x3f')]);return db[_0x86e3('0x40')][_0x86e3('0x48')](_0x1b2532)[_0x86e3('0x22')](handleEntityNotFound(_0x30d767,null))['then'](respondWithResult(_0x30d767,null))[_0x86e3('0x44')](handleError(_0x30d767,null));};exports[_0x86e3('0x49')]=function(_0x4c0748,_0x181217){return db[_0x86e3('0x40')][_0x86e3('0x49')](_0x4c0748[_0x86e3('0x4a')],{})[_0x86e3('0x22')](function(_0x3fa8b1){var _0x471e68=_0x4c0748[_0x86e3('0x4b')]['get']({'plain':!![]});if(!_0x471e68)throw new Error(_0x86e3('0x4c'));if(_0x471e68[_0x86e3('0x4d')]===_0x86e3('0x4b')){var _0x3cd81d=_0x3fa8b1['get']({'plain':!![]});var _0x238dc2=_0x86e3('0x24');return db['UserProfileSection'][_0x86e3('0x48')]({'where':{'name':_0x238dc2,'userProfileId':_0x471e68['userProfileId']},'raw':!![]})[_0x86e3('0x22')](function(_0x40c620){if(_0x40c620&&_0x40c620['autoAssociation']===0x0){return db['UserProfileResource'][_0x86e3('0x49')]({'name':_0x3cd81d[_0x86e3('0x27')],'resourceId':_0x3cd81d['id'],'type':_0x40c620[_0x86e3('0x27')],'sectionId':_0x40c620['id']},{})[_0x86e3('0x22')](function(){return _0x3fa8b1;});}else{return _0x3fa8b1;}})[_0x86e3('0x44')](function(_0x4b6e61){logger['error'](_0x86e3('0x4e'),_0x4b6e61);throw _0x4b6e61;});}return _0x3fa8b1;})[_0x86e3('0x22')](respondWithResult(_0x181217,0xc9))[_0x86e3('0x44')](handleError(_0x181217,null));};exports[_0x86e3('0x21')]=function(_0x43b57d,_0x2a140f){if(_0x43b57d[_0x86e3('0x4a')]['id']){delete _0x43b57d[_0x86e3('0x4a')]['id'];}return db[_0x86e3('0x40')][_0x86e3('0x48')]({'where':{'id':_0x43b57d[_0x86e3('0x46')]['id']}})[_0x86e3('0x22')](handleEntityNotFound(_0x2a140f,null))[_0x86e3('0x22')](saveUpdates(_0x43b57d[_0x86e3('0x4a')],null))[_0x86e3('0x22')](respondWithResult(_0x2a140f,null))['catch'](handleError(_0x2a140f,null));};exports[_0x86e3('0x25')]=function(_0x5ce4ab,_0x3aa200){return db['Tag'][_0x86e3('0x48')]({'where':{'id':_0x5ce4ab[_0x86e3('0x46')]['id']}})[_0x86e3('0x22')](handleEntityNotFound(_0x3aa200,null))[_0x86e3('0x22')](removeEntity(_0x3aa200,null))['catch'](handleError(_0x3aa200,null));};