Built motion from commit 3c2ce842.|2.6.31
[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 _0xb50f=['findAll','rows','catch','show','params','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','zip-dir','fast-json-patch','request-promise','moment','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','Content-Range','apply','reject','save','update','destroy','then','get','Tags','UserProfileResource','error','name','send','index','map','Tag','rawAttributes','type','key','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','count','includeAll','include'];(function(_0x9cd4c3,_0x1c9b2c){var _0x4c9025=function(_0x25b3c6){while(--_0x25b3c6){_0x9cd4c3['push'](_0x9cd4c3['shift']());}};_0x4c9025(++_0x1c9b2c);}(_0xb50f,0x66));var _0xfb50=function(_0x34c3ac,_0x40a7f4){_0x34c3ac=_0x34c3ac-0x0;var _0x6661a1=_0xb50f[_0x34c3ac];return _0x6661a1;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xfb50('0x0'));var jsonpatch=require(_0xfb50('0x1'));var rp=require(_0xfb50('0x2'));var moment=require(_0xfb50('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xfb50('0x4'));var csv=require(_0xfb50('0x5'));var ejs=require(_0xfb50('0x6'));var fs=require('fs');var fs_extra=require(_0xfb50('0x7'));var _=require(_0xfb50('0x8'));var squel=require(_0xfb50('0x9'));var crypto=require(_0xfb50('0xa'));var jsforce=require(_0xfb50('0xb'));var deskjs=require(_0xfb50('0xc'));var toCsv=require(_0xfb50('0x5'));var querystring=require(_0xfb50('0xd'));var Papa=require(_0xfb50('0xe'));var Redis=require(_0xfb50('0xf'));var authService=require(_0xfb50('0x10'));var qs=require(_0xfb50('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xfb50('0x12'));var utils=require(_0xfb50('0x13'));var config=require(_0xfb50('0x14'));var licenseUtil=require(_0xfb50('0x15'));var db=require(_0xfb50('0x16'))['db'];function respondWithStatusCode(_0x209342,_0x5d2a89){_0x5d2a89=_0x5d2a89||0xcc;return function(_0x382fd2){if(_0x382fd2){return _0x209342[_0xfb50('0x17')](_0x5d2a89);}return _0x209342[_0xfb50('0x18')](_0x5d2a89)[_0xfb50('0x19')]();};}function respondWithResult(_0x1438b9,_0x483778){_0x483778=_0x483778||0xc8;return function(_0x196c17){if(_0x196c17){return _0x1438b9[_0xfb50('0x18')](_0x483778)[_0xfb50('0x1a')](_0x196c17);}};}function respondWithFilteredResult(_0x3de2ea,_0x301cfc){return function(_0xeca9f4){if(_0xeca9f4){var _0x5e7c33=typeof _0x301cfc[_0xfb50('0x1b')]===_0xfb50('0x1c')&&typeof _0x301cfc[_0xfb50('0x1d')]===_0xfb50('0x1c');var _0x3c22e0=_0xeca9f4['count'];var _0x3f50e9=_0x5e7c33?0x0:_0x301cfc[_0xfb50('0x1b')];var _0x6b6e30=_0x5e7c33?_0xeca9f4['count']:_0x301cfc[_0xfb50('0x1b')]+_0x301cfc['limit'];var _0x224016;if(_0x6b6e30>=_0x3c22e0){_0x6b6e30=_0x3c22e0;_0x224016=0xc8;}else{_0x224016=0xce;}_0x3de2ea[_0xfb50('0x18')](_0x224016);return _0x3de2ea['set'](_0xfb50('0x1e'),_0x3f50e9+'-'+_0x6b6e30+'/'+_0x3c22e0)[_0xfb50('0x1a')](_0xeca9f4);}return null;};}function patchUpdates(_0x29d9da){return function(_0x11d43d){try{jsonpatch[_0xfb50('0x1f')](_0x11d43d,_0x29d9da,!![]);}catch(_0x458bef){return BPromise[_0xfb50('0x20')](_0x458bef);}return _0x11d43d[_0xfb50('0x21')]();};}function saveUpdates(_0x1e4a71,_0x1b7146){return function(_0x5bacbb){if(_0x5bacbb){return _0x5bacbb[_0xfb50('0x22')](_0x1e4a71)['then'](function(_0x119fc5){return _0x119fc5;});}return null;};}function removeEntity(_0xeafb01,_0x2b271c){return function(_0x52840a){if(_0x52840a){return _0x52840a[_0xfb50('0x23')]()[_0xfb50('0x24')](function(){var _0x2bf5b3=_0x52840a[_0xfb50('0x25')]({'plain':!![]});var _0x2df4e0=_0xfb50('0x26');return db[_0xfb50('0x27')][_0xfb50('0x23')]({'where':{'type':_0x2df4e0,'resourceId':_0x2bf5b3['id']}})['then'](function(){return _0x52840a;});})[_0xfb50('0x24')](function(){_0xeafb01[_0xfb50('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2bc2e4,_0xf175a1){return function(_0x334bcc){if(!_0x334bcc){_0x2bc2e4[_0xfb50('0x17')](0x194);}return _0x334bcc;};}function handleError(_0x48cebc,_0x16108c){_0x16108c=_0x16108c||0x1f4;return function(_0x32c98a){logger[_0xfb50('0x28')](_0x32c98a['stack']);if(_0x32c98a[_0xfb50('0x29')]){delete _0x32c98a[_0xfb50('0x29')];}_0x48cebc[_0xfb50('0x18')](_0x16108c)[_0xfb50('0x2a')](_0x32c98a);};}exports[_0xfb50('0x2b')]=function(_0xd81580,_0x4ef124){var _0x442b14={},_0x48b4cd={},_0x296688={'count':0x0,'rows':[]};var _0x59a477=_[_0xfb50('0x2c')](db[_0xfb50('0x2d')][_0xfb50('0x2e')],function(_0x93c004){return{'name':_0x93c004['fieldName'],'type':_0x93c004[_0xfb50('0x2f')][_0xfb50('0x30')]};});_0x48b4cd['model']=_[_0xfb50('0x2c')](_0x59a477,_0xfb50('0x29'));_0x48b4cd[_0xfb50('0x31')]=_[_0xfb50('0x32')](_0xd81580[_0xfb50('0x31')]);_0x48b4cd[_0xfb50('0x33')]=_[_0xfb50('0x34')](_0x48b4cd[_0xfb50('0x35')],_0x48b4cd[_0xfb50('0x31')]);_0x442b14[_0xfb50('0x36')]=_[_0xfb50('0x34')](_0x48b4cd[_0xfb50('0x35')],qs[_0xfb50('0x37')](_0xd81580['query'][_0xfb50('0x37')]));_0x442b14[_0xfb50('0x36')]=_0x442b14['attributes'][_0xfb50('0x38')]?_0x442b14['attributes']:_0x48b4cd[_0xfb50('0x35')];if(!_0xd81580[_0xfb50('0x31')]['hasOwnProperty'](_0xfb50('0x39'))){_0x442b14[_0xfb50('0x1d')]=qs[_0xfb50('0x1d')](_0xd81580['query'][_0xfb50('0x1d')]);_0x442b14['offset']=qs[_0xfb50('0x1b')](_0xd81580[_0xfb50('0x31')][_0xfb50('0x1b')]);}_0x442b14[_0xfb50('0x3a')]=qs[_0xfb50('0x3b')](_0xd81580['query'][_0xfb50('0x3b')]);_0x442b14[_0xfb50('0x3c')]=qs[_0xfb50('0x33')](_[_0xfb50('0x3d')](_0xd81580[_0xfb50('0x31')],_0x48b4cd[_0xfb50('0x33')]),_0x59a477);if(_0xd81580[_0xfb50('0x31')][_0xfb50('0x3e')]){_0x442b14[_0xfb50('0x3c')]=_[_0xfb50('0x3f')](_0x442b14[_0xfb50('0x3c')],{'$or':_[_0xfb50('0x2c')](_0x59a477,function(_0x5e7117){if(_0x5e7117[_0xfb50('0x2f')]!==_0xfb50('0x40')){var _0x1b33b3={};_0x1b33b3[_0x5e7117[_0xfb50('0x29')]]={'$like':'%'+_0xd81580[_0xfb50('0x31')][_0xfb50('0x3e')]+'%'};return _0x1b33b3;}})});}_0x442b14=_[_0xfb50('0x3f')]({},_0x442b14,_0xd81580['options']);var _0x54403e={'where':_0x442b14[_0xfb50('0x3c')]};return db['Tag'][_0xfb50('0x41')](_0x54403e)[_0xfb50('0x24')](function(_0x177d07){_0x296688[_0xfb50('0x41')]=_0x177d07;if(_0xd81580[_0xfb50('0x31')][_0xfb50('0x42')]){_0x442b14[_0xfb50('0x43')]=[{'all':!![]}];}return db[_0xfb50('0x2d')][_0xfb50('0x44')](_0x442b14);})[_0xfb50('0x24')](function(_0x5be342){_0x296688[_0xfb50('0x45')]=_0x5be342;return _0x296688;})[_0xfb50('0x24')](respondWithFilteredResult(_0x4ef124,_0x442b14))[_0xfb50('0x46')](handleError(_0x4ef124,null));};exports[_0xfb50('0x47')]=function(_0x39724b,_0x5da256){var _0x21e370={'raw':!![],'where':{'id':_0x39724b[_0xfb50('0x48')]['id']}},_0x308ba1={};_0x308ba1[_0xfb50('0x35')]=_['keys'](db[_0xfb50('0x2d')][_0xfb50('0x2e')]);_0x308ba1[_0xfb50('0x31')]=_['keys'](_0x39724b[_0xfb50('0x31')]);_0x308ba1[_0xfb50('0x33')]=_[_0xfb50('0x34')](_0x308ba1[_0xfb50('0x35')],_0x308ba1[_0xfb50('0x31')]);_0x21e370[_0xfb50('0x36')]=_[_0xfb50('0x34')](_0x308ba1[_0xfb50('0x35')],qs[_0xfb50('0x37')](_0x39724b[_0xfb50('0x31')]['fields']));_0x21e370['attributes']=_0x21e370[_0xfb50('0x36')][_0xfb50('0x38')]?_0x21e370['attributes']:_0x308ba1[_0xfb50('0x35')];if(_0x39724b[_0xfb50('0x31')][_0xfb50('0x42')]){_0x21e370[_0xfb50('0x43')]=[{'all':!![]}];}_0x21e370=_['merge']({},_0x21e370,_0x39724b[_0xfb50('0x49')]);return db[_0xfb50('0x2d')][_0xfb50('0x4a')](_0x21e370)['then'](handleEntityNotFound(_0x5da256,null))[_0xfb50('0x24')](respondWithResult(_0x5da256,null))[_0xfb50('0x46')](handleError(_0x5da256,null));};exports[_0xfb50('0x4b')]=function(_0x6dce4c,_0x38574d){return db['Tag']['create'](_0x6dce4c['body'],{})[_0xfb50('0x24')](function(_0xfa4771){var _0x51c392=_0x6dce4c[_0xfb50('0x4c')][_0xfb50('0x25')]({'plain':!![]});if(!_0x51c392)throw new Error(_0xfb50('0x4d'));if(_0x51c392[_0xfb50('0x4e')]===_0xfb50('0x4c')){var _0x2a27df=_0xfa4771[_0xfb50('0x25')]({'plain':!![]});var _0x2fb457='Tags';return db[_0xfb50('0x4f')][_0xfb50('0x4a')]({'where':{'name':_0x2fb457,'userProfileId':_0x51c392[_0xfb50('0x50')]},'raw':!![]})[_0xfb50('0x24')](function(_0x470e98){if(_0x470e98&&_0x470e98[_0xfb50('0x51')]===0x0){return db[_0xfb50('0x27')][_0xfb50('0x4b')]({'name':_0x2a27df[_0xfb50('0x29')],'resourceId':_0x2a27df['id'],'type':_0x470e98[_0xfb50('0x29')],'sectionId':_0x470e98['id']},{})[_0xfb50('0x24')](function(){return _0xfa4771;});}else{return _0xfa4771;}})[_0xfb50('0x46')](function(_0x251a17){logger[_0xfb50('0x28')](_0xfb50('0x52'),_0x251a17);throw _0x251a17;});}return _0xfa4771;})[_0xfb50('0x24')](respondWithResult(_0x38574d,0xc9))[_0xfb50('0x46')](handleError(_0x38574d,null));};exports['update']=function(_0x15f450,_0x45cc08){if(_0x15f450[_0xfb50('0x53')]['id']){delete _0x15f450[_0xfb50('0x53')]['id'];}return db[_0xfb50('0x2d')][_0xfb50('0x4a')]({'where':{'id':_0x15f450[_0xfb50('0x48')]['id']}})['then'](handleEntityNotFound(_0x45cc08,null))[_0xfb50('0x24')](saveUpdates(_0x15f450[_0xfb50('0x53')],null))[_0xfb50('0x24')](respondWithResult(_0x45cc08,null))['catch'](handleError(_0x45cc08,null));};exports['destroy']=function(_0x1885eb,_0x59b0de){return db['Tag'][_0xfb50('0x4a')]({'where':{'id':_0x1885eb[_0xfb50('0x48')]['id']}})[_0xfb50('0x24')](handleEntityNotFound(_0x59b0de,null))[_0xfb50('0x24')](removeEntity(_0x59b0de,null))[_0xfb50('0x46')](handleError(_0x59b0de,null));};exports[_0xfb50('0x54')]=function(_0x41e5a7,_0x45cf14){return db[_0xfb50('0x2d')][_0xfb50('0x54')]()[_0xfb50('0x24')](respondWithResult(_0x45cf14,null))['catch'](handleError(_0x45cf14,null));};