Built motion from commit (unavailable).|2.5.23
[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 _0x6d47=['Tag','rawAttributes','fieldName','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','sort','where','filter','merge','type','options','include','findAll','rows','catch','show','length','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','then','destroy','get','Tags','UserProfileResource','stack','name','send','map'];(function(_0x4bf61d,_0x4f0ed9){var _0xce5677=function(_0x4931fc){while(--_0x4931fc){_0x4bf61d['push'](_0x4bf61d['shift']());}};_0xce5677(++_0x4f0ed9);}(_0x6d47,0x16d));var _0x76d4=function(_0xc6be3a,_0x540e05){_0xc6be3a=_0xc6be3a-0x0;var _0x56a310=_0x6d47[_0xc6be3a];return _0x56a310;};'use strict';var pdf=require(_0x76d4('0x0'));var emlformat=require(_0x76d4('0x1'));var rimraf=require(_0x76d4('0x2'));var zipdir=require(_0x76d4('0x3'));var jsonpatch=require(_0x76d4('0x4'));var rp=require(_0x76d4('0x5'));var moment=require('moment');var BPromise=require(_0x76d4('0x6'));var Mustache=require(_0x76d4('0x7'));var util=require(_0x76d4('0x8'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x76d4('0x9'));var fs=require('fs');var _=require(_0x76d4('0xa'));var squel=require(_0x76d4('0xb'));var crypto=require(_0x76d4('0xc'));var jsforce=require(_0x76d4('0xd'));var deskjs=require(_0x76d4('0xe'));var toCsv=require(_0x76d4('0xf'));var querystring=require('querystring');var Papa=require(_0x76d4('0x10'));var Redis=require(_0x76d4('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x76d4('0x12'));var hardwareService=require(_0x76d4('0x13'));var logger=require(_0x76d4('0x14'))(_0x76d4('0x15'));var utils=require('../../config/utils');var config=require(_0x76d4('0x16'));var licenseUtil=require(_0x76d4('0x17'));var db=require(_0x76d4('0x18'))['db'];function respondWithStatusCode(_0x58b8ac,_0x5ce722){_0x5ce722=_0x5ce722||0xcc;return function(_0x1fa99c){if(_0x1fa99c){return _0x58b8ac[_0x76d4('0x19')](_0x5ce722);}return _0x58b8ac[_0x76d4('0x1a')](_0x5ce722)[_0x76d4('0x1b')]();};}function respondWithResult(_0x2a4f8b,_0x10cfce){_0x10cfce=_0x10cfce||0xc8;return function(_0x24b4ae){if(_0x24b4ae){return _0x2a4f8b[_0x76d4('0x1a')](_0x10cfce)[_0x76d4('0x1c')](_0x24b4ae);}};}function respondWithFilteredResult(_0x50f60c,_0x1d57fd){return function(_0x23d0b4){if(_0x23d0b4){var _0x429819=_0x23d0b4[_0x76d4('0x1d')],_0x16c05f=_0x1d57fd[_0x76d4('0x1e')],_0x433ce1=_0x1d57fd[_0x76d4('0x1e')]+_0x1d57fd[_0x76d4('0x1f')],_0x1005e3;if(_0x433ce1>=_0x429819){_0x433ce1=_0x429819;_0x1005e3=0xc8;}else{_0x1005e3=0xce;}_0x50f60c[_0x76d4('0x1a')](_0x1005e3);return _0x50f60c[_0x76d4('0x20')](_0x76d4('0x21'),_0x16c05f+'-'+_0x433ce1+'/'+_0x429819)[_0x76d4('0x1c')](_0x23d0b4);}return null;};}function patchUpdates(_0xd3d081){return function(_0x370c68){try{jsonpatch[_0x76d4('0x22')](_0x370c68,_0xd3d081,!![]);}catch(_0x44fde3){return BPromise[_0x76d4('0x23')](_0x44fde3);}return _0x370c68['save']();};}function saveUpdates(_0x49a214,_0xe0a295){return function(_0x4210dc){if(_0x4210dc){return _0x4210dc['update'](_0x49a214)[_0x76d4('0x24')](function(_0x23c588){return _0x23c588;});}return null;};}function removeEntity(_0x4d2ef6,_0x444352){return function(_0x26c2d8){if(_0x26c2d8){return _0x26c2d8[_0x76d4('0x25')]()[_0x76d4('0x24')](function(){var _0x2863eb=_0x26c2d8[_0x76d4('0x26')]({'plain':!![]});var _0x21402b=_0x76d4('0x27');return db[_0x76d4('0x28')][_0x76d4('0x25')]({'where':{'type':_0x21402b,'resourceId':_0x2863eb['id']}})[_0x76d4('0x24')](function(){return _0x26c2d8;});})[_0x76d4('0x24')](function(){_0x4d2ef6['status'](0xcc)[_0x76d4('0x1b')]();});}};}function handleEntityNotFound(_0x576fdd,_0x44dc12){return function(_0xeec871){if(!_0xeec871){_0x576fdd[_0x76d4('0x19')](0x194);}return _0xeec871;};}function handleError(_0x4b15f0,_0x47f0a1){_0x47f0a1=_0x47f0a1||0x1f4;return function(_0x12db5a){logger['error'](_0x12db5a[_0x76d4('0x29')]);if(_0x12db5a[_0x76d4('0x2a')]){delete _0x12db5a[_0x76d4('0x2a')];}_0x4b15f0[_0x76d4('0x1a')](_0x47f0a1)[_0x76d4('0x2b')](_0x12db5a);};}exports['index']=function(_0x281374,_0x1d922f){var _0x4d5ace={},_0x4074c9={},_0x2e145e={'count':0x0,'rows':[]};var _0x46d139=_[_0x76d4('0x2c')](db[_0x76d4('0x2d')][_0x76d4('0x2e')],function(_0x165e90){return{'name':_0x165e90[_0x76d4('0x2f')],'type':_0x165e90['type'][_0x76d4('0x30')]};});_0x4074c9[_0x76d4('0x31')]=_[_0x76d4('0x2c')](_0x46d139,_0x76d4('0x2a'));_0x4074c9[_0x76d4('0x32')]=_[_0x76d4('0x33')](_0x281374[_0x76d4('0x32')]);_0x4074c9[_0x76d4('0x34')]=_[_0x76d4('0x35')](_0x4074c9[_0x76d4('0x31')],_0x4074c9[_0x76d4('0x32')]);_0x4d5ace['attributes']=_[_0x76d4('0x35')](_0x4074c9[_0x76d4('0x31')],qs['fields'](_0x281374[_0x76d4('0x32')][_0x76d4('0x36')]));_0x4d5ace[_0x76d4('0x37')]=_0x4d5ace[_0x76d4('0x37')]['length']?_0x4d5ace[_0x76d4('0x37')]:_0x4074c9[_0x76d4('0x31')];if(!_0x281374['query'][_0x76d4('0x38')](_0x76d4('0x39'))){_0x4d5ace['limit']=qs[_0x76d4('0x1f')](_0x281374[_0x76d4('0x32')][_0x76d4('0x1f')]);_0x4d5ace[_0x76d4('0x1e')]=qs[_0x76d4('0x1e')](_0x281374[_0x76d4('0x32')]['offset']);}_0x4d5ace['order']=qs[_0x76d4('0x3a')](_0x281374[_0x76d4('0x32')][_0x76d4('0x3a')]);_0x4d5ace[_0x76d4('0x3b')]=qs[_0x76d4('0x34')](_['pick'](_0x281374['query'],_0x4074c9[_0x76d4('0x34')]),_0x46d139);if(_0x281374['query'][_0x76d4('0x3c')]){_0x4d5ace[_0x76d4('0x3b')]=_[_0x76d4('0x3d')](_0x4d5ace[_0x76d4('0x3b')],{'$or':_[_0x76d4('0x2c')](_0x46d139,function(_0x2db1ac){if(_0x2db1ac[_0x76d4('0x3e')]!=='VIRTUAL'){var _0x3659dc={};_0x3659dc[_0x2db1ac['name']]={'$like':'%'+_0x281374[_0x76d4('0x32')][_0x76d4('0x3c')]+'%'};return _0x3659dc;}})});}_0x4d5ace=_[_0x76d4('0x3d')]({},_0x4d5ace,_0x281374[_0x76d4('0x3f')]);var _0x67bb3b={'where':_0x4d5ace['where']};return db[_0x76d4('0x2d')][_0x76d4('0x1d')](_0x67bb3b)[_0x76d4('0x24')](function(_0x362e3e){_0x2e145e[_0x76d4('0x1d')]=_0x362e3e;if(_0x281374[_0x76d4('0x32')]['includeAll']){_0x4d5ace[_0x76d4('0x40')]=[{'all':!![]}];}return db['Tag'][_0x76d4('0x41')](_0x4d5ace);})[_0x76d4('0x24')](function(_0x227ff2){_0x2e145e[_0x76d4('0x42')]=_0x227ff2;return _0x2e145e;})[_0x76d4('0x24')](respondWithFilteredResult(_0x1d922f,_0x4d5ace))[_0x76d4('0x43')](handleError(_0x1d922f,null));};exports[_0x76d4('0x44')]=function(_0x31990b,_0xcb8995){var _0x3a86f6={'raw':!![],'where':{'id':_0x31990b['params']['id']}},_0x40f679={};_0x40f679[_0x76d4('0x31')]=_['keys'](db['Tag'][_0x76d4('0x2e')]);_0x40f679[_0x76d4('0x32')]=_[_0x76d4('0x33')](_0x31990b['query']);_0x40f679[_0x76d4('0x34')]=_['intersection'](_0x40f679[_0x76d4('0x31')],_0x40f679[_0x76d4('0x32')]);_0x3a86f6[_0x76d4('0x37')]=_[_0x76d4('0x35')](_0x40f679[_0x76d4('0x31')],qs[_0x76d4('0x36')](_0x31990b[_0x76d4('0x32')][_0x76d4('0x36')]));_0x3a86f6['attributes']=_0x3a86f6[_0x76d4('0x37')][_0x76d4('0x45')]?_0x3a86f6['attributes']:_0x40f679['model'];if(_0x31990b[_0x76d4('0x32')][_0x76d4('0x46')]){_0x3a86f6[_0x76d4('0x40')]=[{'all':!![]}];}_0x3a86f6=_[_0x76d4('0x3d')]({},_0x3a86f6,_0x31990b['options']);return db[_0x76d4('0x2d')][_0x76d4('0x47')](_0x3a86f6)[_0x76d4('0x24')](handleEntityNotFound(_0xcb8995,null))[_0x76d4('0x24')](respondWithResult(_0xcb8995,null))['catch'](handleError(_0xcb8995,null));};exports[_0x76d4('0x48')]=function(_0x3ff4a4,_0x5b0b02){return db[_0x76d4('0x2d')]['create'](_0x3ff4a4[_0x76d4('0x49')],{})['then'](function(_0x2a5490){var _0x59f84b=_0x3ff4a4[_0x76d4('0x4a')][_0x76d4('0x26')]({'plain':!![]});if(!_0x59f84b)throw new Error(_0x76d4('0x4b'));if(_0x59f84b['role']===_0x76d4('0x4a')){var _0x422d65=_0x2a5490[_0x76d4('0x26')]({'plain':!![]});var _0x469593=_0x76d4('0x27');return db[_0x76d4('0x4c')][_0x76d4('0x47')]({'where':{'name':_0x469593,'userProfileId':_0x59f84b[_0x76d4('0x4d')]},'raw':!![]})[_0x76d4('0x24')](function(_0x5d7c78){if(_0x5d7c78&&_0x5d7c78[_0x76d4('0x4e')]===0x0){return db[_0x76d4('0x28')][_0x76d4('0x48')]({'name':_0x422d65['name'],'resourceId':_0x422d65['id'],'type':_0x5d7c78[_0x76d4('0x2a')],'sectionId':_0x5d7c78['id']},{})['then'](function(){return _0x2a5490;});}else{return _0x2a5490;}})[_0x76d4('0x43')](function(_0x22291e){logger[_0x76d4('0x4f')](_0x76d4('0x50'),_0x22291e);throw _0x22291e;});}return _0x2a5490;})[_0x76d4('0x24')](respondWithResult(_0x5b0b02,0xc9))[_0x76d4('0x43')](handleError(_0x5b0b02,null));};exports['update']=function(_0x1dd1c0,_0x44aae6){if(_0x1dd1c0[_0x76d4('0x49')]['id']){delete _0x1dd1c0[_0x76d4('0x49')]['id'];}return db[_0x76d4('0x2d')][_0x76d4('0x47')]({'where':{'id':_0x1dd1c0['params']['id']}})[_0x76d4('0x24')](handleEntityNotFound(_0x44aae6,null))[_0x76d4('0x24')](saveUpdates(_0x1dd1c0[_0x76d4('0x49')],null))[_0x76d4('0x24')](respondWithResult(_0x44aae6,null))['catch'](handleError(_0x44aae6,null));};exports['destroy']=function(_0x31bb05,_0x3261ba){return db[_0x76d4('0x2d')]['find']({'where':{'id':_0x31bb05[_0x76d4('0x51')]['id']}})[_0x76d4('0x24')](handleEntityNotFound(_0x3261ba,null))[_0x76d4('0x24')](removeEntity(_0x3261ba,null))[_0x76d4('0x43')](handleError(_0x3261ba,null));};