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 _0x95b3=['length','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','UserProfileResource','update','body','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','sox','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','limit','Content-Range','apply','save','then','destroy','get','Tags','error','stack','name','send','index','map','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','filter','where','merge','VIRTUAL','options','Tag','count','includeAll','include','findAll','rows','catch','show','params','rawAttributes'];(function(_0x55dfa5,_0x9ebcdd){var _0x5ecbbb=function(_0x17795e){while(--_0x17795e){_0x55dfa5['push'](_0x55dfa5['shift']());}};_0x5ecbbb(++_0x9ebcdd);}(_0x95b3,0x13a));var _0x395b=function(_0x5cf085,_0x340c5c){_0x5cf085=_0x5cf085-0x0;var _0x31bb55=_0x95b3[_0x5cf085];return _0x31bb55;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x395b('0x0'));var rimraf=require(_0x395b('0x1'));var zipdir=require(_0x395b('0x2'));var jsonpatch=require(_0x395b('0x3'));var rp=require(_0x395b('0x4'));var moment=require(_0x395b('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x395b('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x395b('0x7'));var squel=require(_0x395b('0x8'));var crypto=require(_0x395b('0x9'));var jsforce=require(_0x395b('0xa'));var deskjs=require(_0x395b('0xb'));var toCsv=require('to-csv');var querystring=require(_0x395b('0xc'));var Papa=require('papaparse');var Redis=require(_0x395b('0xd'));var authService=require(_0x395b('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x395b('0xf'));var hardwareService=require(_0x395b('0x10'));var logger=require(_0x395b('0x11'))('api');var utils=require(_0x395b('0x12'));var config=require(_0x395b('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x367aad,_0x48dc29){_0x48dc29=_0x48dc29||0xcc;return function(_0x356219){if(_0x356219){return _0x367aad[_0x395b('0x14')](_0x48dc29);}return _0x367aad[_0x395b('0x15')](_0x48dc29)[_0x395b('0x16')]();};}function respondWithResult(_0x1d1fad,_0x1ef3cf){_0x1ef3cf=_0x1ef3cf||0xc8;return function(_0x25424a){if(_0x25424a){return _0x1d1fad[_0x395b('0x15')](_0x1ef3cf)[_0x395b('0x17')](_0x25424a);}};}function respondWithFilteredResult(_0x71bb5a,_0xb5220d){return function(_0x2f192c){if(_0x2f192c){var _0x3093da=_0x2f192c['count'],_0x18ffce=_0xb5220d[_0x395b('0x18')],_0x1d47e2=_0xb5220d[_0x395b('0x18')]+_0xb5220d[_0x395b('0x19')],_0x1822cb;if(_0x1d47e2>=_0x3093da){_0x1d47e2=_0x3093da;_0x1822cb=0xc8;}else{_0x1822cb=0xce;}_0x71bb5a[_0x395b('0x15')](_0x1822cb);return _0x71bb5a['set'](_0x395b('0x1a'),_0x18ffce+'-'+_0x1d47e2+'/'+_0x3093da)[_0x395b('0x17')](_0x2f192c);}return null;};}function patchUpdates(_0xf232e2){return function(_0x2705a8){try{jsonpatch[_0x395b('0x1b')](_0x2705a8,_0xf232e2,!![]);}catch(_0x1ff744){return BPromise['reject'](_0x1ff744);}return _0x2705a8[_0x395b('0x1c')]();};}function saveUpdates(_0x17f8e6,_0x336e77){return function(_0x2368ca){if(_0x2368ca){return _0x2368ca['update'](_0x17f8e6)[_0x395b('0x1d')](function(_0x203f59){return _0x203f59;});}return null;};}function removeEntity(_0x2bb330,_0x2b2040){return function(_0x40eda1){if(_0x40eda1){return _0x40eda1[_0x395b('0x1e')]()[_0x395b('0x1d')](function(){var _0x4a3b82=_0x40eda1[_0x395b('0x1f')]({'plain':!![]});var _0x188fc2=_0x395b('0x20');return db['UserProfileResource']['destroy']({'where':{'type':_0x188fc2,'resourceId':_0x4a3b82['id']}})[_0x395b('0x1d')](function(){return _0x40eda1;});})[_0x395b('0x1d')](function(){_0x2bb330['status'](0xcc)[_0x395b('0x16')]();});}};}function handleEntityNotFound(_0xd6307d,_0x5050a9){return function(_0x508f8b){if(!_0x508f8b){_0xd6307d[_0x395b('0x14')](0x194);}return _0x508f8b;};}function handleError(_0x235547,_0x15d3e1){_0x15d3e1=_0x15d3e1||0x1f4;return function(_0x342919){logger[_0x395b('0x21')](_0x342919[_0x395b('0x22')]);if(_0x342919[_0x395b('0x23')]){delete _0x342919[_0x395b('0x23')];}_0x235547['status'](_0x15d3e1)[_0x395b('0x24')](_0x342919);};}exports[_0x395b('0x25')]=function(_0x1405ae,_0x26f883){var _0x32e6be={},_0x4ab2d8={},_0x53ee7d={'count':0x0,'rows':[]};var _0x3bebaf=_[_0x395b('0x26')](db['Tag']['rawAttributes'],function(_0x80ea9b){return{'name':_0x80ea9b['fieldName'],'type':_0x80ea9b[_0x395b('0x27')][_0x395b('0x28')]};});_0x4ab2d8[_0x395b('0x29')]=_[_0x395b('0x26')](_0x3bebaf,'name');_0x4ab2d8[_0x395b('0x2a')]=_[_0x395b('0x2b')](_0x1405ae[_0x395b('0x2a')]);_0x4ab2d8[_0x395b('0x2c')]=_[_0x395b('0x2d')](_0x4ab2d8[_0x395b('0x29')],_0x4ab2d8['query']);_0x32e6be['attributes']=_['intersection'](_0x4ab2d8[_0x395b('0x29')],qs['fields'](_0x1405ae['query'][_0x395b('0x2e')]));_0x32e6be['attributes']=_0x32e6be[_0x395b('0x2f')]['length']?_0x32e6be[_0x395b('0x2f')]:_0x4ab2d8[_0x395b('0x29')];if(!_0x1405ae[_0x395b('0x2a')][_0x395b('0x30')](_0x395b('0x31'))){_0x32e6be[_0x395b('0x19')]=qs[_0x395b('0x19')](_0x1405ae[_0x395b('0x2a')]['limit']);_0x32e6be['offset']=qs['offset'](_0x1405ae[_0x395b('0x2a')][_0x395b('0x18')]);}_0x32e6be[_0x395b('0x32')]=qs['sort'](_0x1405ae['query']['sort']);_0x32e6be['where']=qs[_0x395b('0x2c')](_['pick'](_0x1405ae[_0x395b('0x2a')],_0x4ab2d8[_0x395b('0x2c')]));if(_0x1405ae[_0x395b('0x2a')][_0x395b('0x33')]){_0x32e6be[_0x395b('0x34')]=_[_0x395b('0x35')](_0x32e6be[_0x395b('0x34')],{'$or':_['map'](_0x3bebaf,function(_0x42438f){if(_0x42438f[_0x395b('0x27')]!==_0x395b('0x36')){var _0x23ae50={};_0x23ae50[_0x42438f[_0x395b('0x23')]]={'$like':'%'+_0x1405ae[_0x395b('0x2a')]['filter']+'%'};return _0x23ae50;}})});}_0x32e6be=_[_0x395b('0x35')]({},_0x32e6be,_0x1405ae[_0x395b('0x37')]);var _0x4a0d0e={'where':_0x32e6be[_0x395b('0x34')]};return db[_0x395b('0x38')]['count'](_0x4a0d0e)['then'](function(_0x696c05){_0x53ee7d[_0x395b('0x39')]=_0x696c05;if(_0x1405ae['query'][_0x395b('0x3a')]){_0x32e6be[_0x395b('0x3b')]=[{'all':!![]}];}return db[_0x395b('0x38')][_0x395b('0x3c')](_0x32e6be);})[_0x395b('0x1d')](function(_0x3836ad){_0x53ee7d[_0x395b('0x3d')]=_0x3836ad;return _0x53ee7d;})[_0x395b('0x1d')](respondWithFilteredResult(_0x26f883,_0x32e6be))[_0x395b('0x3e')](handleError(_0x26f883,null));};exports[_0x395b('0x3f')]=function(_0x1527e9,_0x3e090f){var _0xa661bb={'raw':!![],'where':{'id':_0x1527e9[_0x395b('0x40')]['id']}},_0x545ac4={};_0x545ac4[_0x395b('0x29')]=_[_0x395b('0x2b')](db[_0x395b('0x38')][_0x395b('0x41')]);_0x545ac4[_0x395b('0x2a')]=_[_0x395b('0x2b')](_0x1527e9['query']);_0x545ac4[_0x395b('0x2c')]=_[_0x395b('0x2d')](_0x545ac4[_0x395b('0x29')],_0x545ac4['query']);_0xa661bb['attributes']=_[_0x395b('0x2d')](_0x545ac4['model'],qs[_0x395b('0x2e')](_0x1527e9['query']['fields']));_0xa661bb[_0x395b('0x2f')]=_0xa661bb[_0x395b('0x2f')][_0x395b('0x42')]?_0xa661bb[_0x395b('0x2f')]:_0x545ac4[_0x395b('0x29')];if(_0x1527e9[_0x395b('0x2a')][_0x395b('0x3a')]){_0xa661bb[_0x395b('0x3b')]=[{'all':!![]}];}_0xa661bb=_[_0x395b('0x35')]({},_0xa661bb,_0x1527e9[_0x395b('0x37')]);return db[_0x395b('0x38')]['find'](_0xa661bb)['then'](handleEntityNotFound(_0x3e090f,null))['then'](respondWithResult(_0x3e090f,null))[_0x395b('0x3e')](handleError(_0x3e090f,null));};exports[_0x395b('0x43')]=function(_0x35d135,_0x5d550b){return db['Tag']['create'](_0x35d135['body'],{})['then'](function(_0x53c567){var _0x4de848=_0x35d135[_0x395b('0x44')][_0x395b('0x1f')]({'plain':!![]});if(!_0x4de848)throw new Error(_0x395b('0x45'));if(_0x4de848[_0x395b('0x46')]===_0x395b('0x44')){var _0xf405f5=_0x53c567['get']({'plain':!![]});var _0x340bf9=_0x395b('0x20');return db['UserProfileSection']['find']({'where':{'name':_0x340bf9,'userProfileId':_0x4de848[_0x395b('0x47')]},'raw':!![]})[_0x395b('0x1d')](function(_0x350b99){if(_0x350b99&&_0x350b99['autoAssociation']===0x0){return db[_0x395b('0x48')][_0x395b('0x43')]({'name':_0xf405f5[_0x395b('0x23')],'resourceId':_0xf405f5['id'],'type':_0x350b99[_0x395b('0x23')],'sectionId':_0x350b99['id']},{})[_0x395b('0x1d')](function(){return _0x53c567;});}else{return _0x53c567;}})[_0x395b('0x3e')](function(_0xfc1512){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xfc1512);throw _0xfc1512;});}return _0x53c567;})['then'](respondWithResult(_0x5d550b,0xc9))[_0x395b('0x3e')](handleError(_0x5d550b,null));};exports[_0x395b('0x49')]=function(_0x17cfc9,_0x357781){if(_0x17cfc9[_0x395b('0x4a')]['id']){delete _0x17cfc9['body']['id'];}return db[_0x395b('0x38')][_0x395b('0x4b')]({'where':{'id':_0x17cfc9[_0x395b('0x40')]['id']}})[_0x395b('0x1d')](handleEntityNotFound(_0x357781,null))[_0x395b('0x1d')](saveUpdates(_0x17cfc9[_0x395b('0x4a')],null))['then'](respondWithResult(_0x357781,null))['catch'](handleError(_0x357781,null));};exports[_0x395b('0x1e')]=function(_0x55619c,_0x481006){return db[_0x395b('0x38')][_0x395b('0x4b')]({'where':{'id':_0x55619c[_0x395b('0x40')]['id']}})[_0x395b('0x1d')](handleEntityNotFound(_0x481006,null))['then'](removeEntity(_0x481006,null))[_0x395b('0x3e')](handleError(_0x481006,null));};