Built motion from commit (unavailable).|2.4.19
[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 _0x99e8=['send','index','map','Tag','rawAttributes','fieldName','type','key','model','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','VIRTUAL','options','include','catch','show','params','keys','length','includeAll','find','body','user','get','role','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','ejs','lodash','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../mysqldb','sendStatus','status','count','offset','limit','json','apply','reject','save','update','then','Tags','UserProfileResource','destroy','end','error','stack','name'];(function(_0x5b3c06,_0x1b7e19){var _0x5a10b3=function(_0x2f92ed){while(--_0x2f92ed){_0x5b3c06['push'](_0x5b3c06['shift']());}};_0x5a10b3(++_0x1b7e19);}(_0x99e8,0x110));var _0x899e=function(_0x432cf1,_0x4a0c36){_0x432cf1=_0x432cf1-0x0;var _0x135f8d=_0x99e8[_0x432cf1];return _0x135f8d;};'use strict';var pdf=require(_0x899e('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x899e('0x1'));var zipdir=require(_0x899e('0x2'));var jsonpatch=require(_0x899e('0x3'));var rp=require(_0x899e('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x899e('0x5'));var util=require(_0x899e('0x6'));var path=require(_0x899e('0x7'));var sox=require(_0x899e('0x8'));var csv=require('to-csv');var ejs=require(_0x899e('0x9'));var fs=require('fs');var _=require(_0x899e('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x899e('0xb'));var toCsv=require(_0x899e('0xc'));var querystring=require(_0x899e('0xd'));var Papa=require(_0x899e('0xe'));var Redis=require(_0x899e('0xf'));var authService=require(_0x899e('0x10'));var qs=require(_0x899e('0x11'));var as=require(_0x899e('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x899e('0x13'));var utils=require('../../config/utils');var config=require(_0x899e('0x14'));var db=require(_0x899e('0x15'))['db'];function respondWithStatusCode(_0x3cec08,_0xf24791){_0xf24791=_0xf24791||0xcc;return function(_0x380a8f){if(_0x380a8f){return _0x3cec08[_0x899e('0x16')](_0xf24791);}return _0x3cec08['status'](_0xf24791)['end']();};}function respondWithResult(_0x5b19cb,_0x5011d0){_0x5011d0=_0x5011d0||0xc8;return function(_0x5f5c61){if(_0x5f5c61){return _0x5b19cb[_0x899e('0x17')](_0x5011d0)['json'](_0x5f5c61);}};}function respondWithFilteredResult(_0x4bfc26,_0x226015){return function(_0x1402b7){if(_0x1402b7){var _0x3f35ce=_0x1402b7[_0x899e('0x18')],_0x4b469c=_0x226015[_0x899e('0x19')],_0x56a31b=_0x226015[_0x899e('0x19')]+_0x226015[_0x899e('0x1a')],_0x2f34d5;if(_0x56a31b>=_0x3f35ce){_0x56a31b=_0x3f35ce;_0x2f34d5=0xc8;}else{_0x2f34d5=0xce;}_0x4bfc26[_0x899e('0x17')](_0x2f34d5);return _0x4bfc26['set']('Content-Range',_0x4b469c+'-'+_0x56a31b+'/'+_0x3f35ce)[_0x899e('0x1b')](_0x1402b7);}return null;};}function patchUpdates(_0x473513){return function(_0xfe74e){try{jsonpatch[_0x899e('0x1c')](_0xfe74e,_0x473513,!![]);}catch(_0x124e66){return BPromise[_0x899e('0x1d')](_0x124e66);}return _0xfe74e[_0x899e('0x1e')]();};}function saveUpdates(_0x384fe8,_0x45a568){return function(_0x4f7b2e){if(_0x4f7b2e){return _0x4f7b2e[_0x899e('0x1f')](_0x384fe8)[_0x899e('0x20')](function(_0x58d39e){return _0x58d39e;});}return null;};}function removeEntity(_0x245b0b,_0x308606){return function(_0x117882){if(_0x117882){return _0x117882['destroy']()['then'](function(){var _0x2113fe=_0x117882['get']({'plain':!![]});var _0x558b17=_0x899e('0x21');return db[_0x899e('0x22')][_0x899e('0x23')]({'where':{'type':_0x558b17,'resourceId':_0x2113fe['id']}})['then'](function(){return _0x117882;});})[_0x899e('0x20')](function(){_0x245b0b['status'](0xcc)[_0x899e('0x24')]();});}};}function handleEntityNotFound(_0x30706a,_0xe501d0){return function(_0x1eeea8){if(!_0x1eeea8){_0x30706a[_0x899e('0x16')](0x194);}return _0x1eeea8;};}function handleError(_0xda88d8,_0x174836){_0x174836=_0x174836||0x1f4;return function(_0x4cff01){logger[_0x899e('0x25')](_0x4cff01[_0x899e('0x26')]);if(_0x4cff01[_0x899e('0x27')]){delete _0x4cff01[_0x899e('0x27')];}_0xda88d8[_0x899e('0x17')](_0x174836)[_0x899e('0x28')](_0x4cff01);};}exports[_0x899e('0x29')]=function(_0x42854f,_0x55c52f){var _0x1fbda6={},_0x24e9a2={},_0x46b132={'count':0x0,'rows':[]};var _0x5f0084=_[_0x899e('0x2a')](db[_0x899e('0x2b')][_0x899e('0x2c')],function(_0x4a4997){return{'name':_0x4a4997[_0x899e('0x2d')],'type':_0x4a4997[_0x899e('0x2e')][_0x899e('0x2f')]};});_0x24e9a2[_0x899e('0x30')]=_[_0x899e('0x2a')](_0x5f0084,'name');_0x24e9a2[_0x899e('0x31')]=_['keys'](_0x42854f[_0x899e('0x31')]);_0x24e9a2[_0x899e('0x32')]=_['intersection'](_0x24e9a2[_0x899e('0x30')],_0x24e9a2[_0x899e('0x31')]);_0x1fbda6[_0x899e('0x33')]=_[_0x899e('0x34')](_0x24e9a2['model'],qs['fields'](_0x42854f[_0x899e('0x31')][_0x899e('0x35')]));_0x1fbda6[_0x899e('0x33')]=_0x1fbda6[_0x899e('0x33')]['length']?_0x1fbda6[_0x899e('0x33')]:_0x24e9a2[_0x899e('0x30')];if(!_0x42854f[_0x899e('0x31')][_0x899e('0x36')](_0x899e('0x37'))){_0x1fbda6['limit']=qs[_0x899e('0x1a')](_0x42854f[_0x899e('0x31')]['limit']);_0x1fbda6[_0x899e('0x19')]=qs[_0x899e('0x19')](_0x42854f[_0x899e('0x31')][_0x899e('0x19')]);}_0x1fbda6[_0x899e('0x38')]=qs[_0x899e('0x39')](_0x42854f['query'][_0x899e('0x39')]);_0x1fbda6['where']=qs[_0x899e('0x32')](_[_0x899e('0x3a')](_0x42854f['query'],_0x24e9a2['filters']));if(_0x42854f['query'][_0x899e('0x3b')]){_0x1fbda6['where']=_[_0x899e('0x3c')](_0x1fbda6[_0x899e('0x3d')],{'$or':_['map'](_0x5f0084,function(_0x50543a){if(_0x50543a['type']!==_0x899e('0x3e')){var _0x3891df={};_0x3891df[_0x50543a['name']]={'$like':'%'+_0x42854f['query'][_0x899e('0x3b')]+'%'};return _0x3891df;}})});}_0x1fbda6=_['merge']({},_0x1fbda6,_0x42854f[_0x899e('0x3f')]);var _0x30927e={'where':_0x1fbda6[_0x899e('0x3d')]};return db[_0x899e('0x2b')][_0x899e('0x18')](_0x30927e)[_0x899e('0x20')](function(_0x214e0a){_0x46b132[_0x899e('0x18')]=_0x214e0a;if(_0x42854f[_0x899e('0x31')]['includeAll']){_0x1fbda6[_0x899e('0x40')]=[{'all':!![]}];}return db['Tag']['findAll'](_0x1fbda6);})[_0x899e('0x20')](function(_0x25b2a2){_0x46b132['rows']=_0x25b2a2;return _0x46b132;})[_0x899e('0x20')](respondWithFilteredResult(_0x55c52f,_0x1fbda6))[_0x899e('0x41')](handleError(_0x55c52f,null));};exports[_0x899e('0x42')]=function(_0x4c305c,_0xbe9e16){var _0x3ed1db={'raw':!![],'where':{'id':_0x4c305c[_0x899e('0x43')]['id']}},_0x24f61d={};_0x24f61d[_0x899e('0x30')]=_[_0x899e('0x44')](db[_0x899e('0x2b')][_0x899e('0x2c')]);_0x24f61d[_0x899e('0x31')]=_[_0x899e('0x44')](_0x4c305c['query']);_0x24f61d['filters']=_[_0x899e('0x34')](_0x24f61d[_0x899e('0x30')],_0x24f61d['query']);_0x3ed1db[_0x899e('0x33')]=_['intersection'](_0x24f61d['model'],qs[_0x899e('0x35')](_0x4c305c[_0x899e('0x31')][_0x899e('0x35')]));_0x3ed1db[_0x899e('0x33')]=_0x3ed1db[_0x899e('0x33')][_0x899e('0x45')]?_0x3ed1db['attributes']:_0x24f61d[_0x899e('0x30')];if(_0x4c305c[_0x899e('0x31')][_0x899e('0x46')]){_0x3ed1db['include']=[{'all':!![]}];}_0x3ed1db=_[_0x899e('0x3c')]({},_0x3ed1db,_0x4c305c[_0x899e('0x3f')]);return db[_0x899e('0x2b')][_0x899e('0x47')](_0x3ed1db)[_0x899e('0x20')](handleEntityNotFound(_0xbe9e16,null))['then'](respondWithResult(_0xbe9e16,null))[_0x899e('0x41')](handleError(_0xbe9e16,null));};exports['create']=function(_0x2b4f6c,_0xd2b3d6){return db[_0x899e('0x2b')]['create'](_0x2b4f6c[_0x899e('0x48')],{})[_0x899e('0x20')](function(_0x4f8bc7){var _0x505c6c=_0x2b4f6c[_0x899e('0x49')][_0x899e('0x4a')]({'plain':!![]});if(!_0x505c6c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x505c6c[_0x899e('0x4b')]===_0x899e('0x49')){var _0x5f18fb=_0x4f8bc7[_0x899e('0x4a')]({'plain':!![]});var _0x25665e=_0x899e('0x21');return db['UserProfileSection'][_0x899e('0x47')]({'where':{'name':_0x25665e,'userProfileId':_0x505c6c[_0x899e('0x4c')]},'raw':!![]})[_0x899e('0x20')](function(_0x2d0ef7){if(_0x2d0ef7&&_0x2d0ef7['autoAssociation']===0x0){return db[_0x899e('0x22')]['create']({'name':_0x5f18fb['name'],'resourceId':_0x5f18fb['id'],'type':_0x2d0ef7[_0x899e('0x27')],'sectionId':_0x2d0ef7['id']},{})[_0x899e('0x20')](function(){return _0x4f8bc7;});}else{return _0x4f8bc7;}})[_0x899e('0x41')](function(_0x44274b){logger[_0x899e('0x25')](_0x899e('0x4d'),_0x44274b);throw _0x44274b;});}return _0x4f8bc7;})[_0x899e('0x20')](respondWithResult(_0xd2b3d6,0xc9))['catch'](handleError(_0xd2b3d6,null));};exports['update']=function(_0x578025,_0x3b43ec){if(_0x578025['body']['id']){delete _0x578025[_0x899e('0x48')]['id'];}return db['Tag'][_0x899e('0x47')]({'where':{'id':_0x578025[_0x899e('0x43')]['id']}})[_0x899e('0x20')](handleEntityNotFound(_0x3b43ec,null))[_0x899e('0x20')](saveUpdates(_0x578025[_0x899e('0x48')],null))['then'](respondWithResult(_0x3b43ec,null))[_0x899e('0x41')](handleError(_0x3b43ec,null));};exports[_0x899e('0x23')]=function(_0x1106d0,_0x3ab7cd){return db['Tag'][_0x899e('0x47')]({'where':{'id':_0x1106d0['params']['id']}})['then'](handleEntityNotFound(_0x3ab7cd,null))['then'](removeEntity(_0x3ab7cd,null))[_0x899e('0x41')](handleError(_0x3ab7cd,null));};