Built motion from commit (unavailable).|2.5.31
[motion2.git] / server / api / intDeskConfiguration / intDeskConfiguration.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 _0x9c44=['../../config/license/util','../../mysqldb','client','http','request','then','info','DeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','DeskConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','message','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','reject','save','end','stack','name','send','render','merge','contact','agent','interaction','account','index','map','DeskConfiguration','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','update','destroy','getFields','DeskField','findOne','getSubjects','getDescriptions','order','getTags','setTags','ids','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api'];(function(_0x139643,_0x680b08){var _0x1c540b=function(_0x2fc6b6){while(--_0x2fc6b6){_0x139643['push'](_0x139643['shift']());}};_0x1c540b(++_0x680b08);}(_0x9c44,0x178));var _0x49c4=function(_0x53ccf2,_0x13cb67){_0x53ccf2=_0x53ccf2-0x0;var _0x5a2964=_0x9c44[_0x53ccf2];return _0x5a2964;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x49c4('0x0'));var jsonpatch=require(_0x49c4('0x1'));var rp=require(_0x49c4('0x2'));var moment=require(_0x49c4('0x3'));var BPromise=require(_0x49c4('0x4'));var Mustache=require(_0x49c4('0x5'));var util=require('util');var path=require('path');var sox=require(_0x49c4('0x6'));var csv=require('to-csv');var ejs=require(_0x49c4('0x7'));var fs=require('fs');var fs_extra=require(_0x49c4('0x8'));var _=require(_0x49c4('0x9'));var squel=require(_0x49c4('0xa'));var crypto=require(_0x49c4('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x49c4('0xc'));var toCsv=require(_0x49c4('0xd'));var querystring=require(_0x49c4('0xe'));var Papa=require(_0x49c4('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x49c4('0x10'));var as=require(_0x49c4('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x49c4('0x12'))(_0x49c4('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x49c4('0x14'));var db=require(_0x49c4('0x15'))['db'];var jayson=require('jayson/promise');var client=jayson[_0x49c4('0x16')][_0x49c4('0x17')]({'port':0x232a});function respondWithRpcPromise(_0x5f2fd9,_0x1909fe,_0x280996,_0x21f15a){return new BPromise(function(_0x2decee,_0x12777c){var _0x18211c=_0x21f15a||client;return _0x18211c[_0x49c4('0x18')](_0x5f2fd9,_0x280996)[_0x49c4('0x19')](function(_0x58d177){logger[_0x49c4('0x1a')](_0x49c4('0x1b'),_0x1909fe,_0x49c4('0x1c'));logger[_0x49c4('0x1d')](_0x49c4('0x1e'),_0x1909fe,'request\x20sent',JSON[_0x49c4('0x1f')](_0x58d177));if(_0x58d177[_0x49c4('0x20')]){if(_0x58d177['error']['code']===0x1f4){logger[_0x49c4('0x20')](_0x49c4('0x1b'),_0x1909fe,_0x58d177[_0x49c4('0x20')]['message']);return _0x12777c(_0x58d177[_0x49c4('0x20')]['message']);}logger[_0x49c4('0x20')](_0x49c4('0x1b'),_0x1909fe,_0x58d177[_0x49c4('0x20')][_0x49c4('0x21')]);return _0x2decee(_0x58d177[_0x49c4('0x20')][_0x49c4('0x21')]);}else{logger[_0x49c4('0x1a')](_0x49c4('0x1b'),_0x1909fe,_0x49c4('0x1c'));_0x2decee(_0x58d177['result']['message']);}})['catch'](function(_0x1c99b1){logger['error']('DeskConfiguration,\x20%s,\x20%s',_0x1909fe,_0x1c99b1);_0x12777c(_0x1c99b1);});});}function respondWithStatusCode(_0x2263ae,_0x15581b){_0x15581b=_0x15581b||0xcc;return function(_0x26c640){if(_0x26c640){return _0x2263ae[_0x49c4('0x22')](_0x15581b);}return _0x2263ae['status'](_0x15581b)['end']();};}function respondWithResult(_0x180276,_0x9cb797){_0x9cb797=_0x9cb797||0xc8;return function(_0x565423){if(_0x565423){return _0x180276[_0x49c4('0x23')](_0x9cb797)[_0x49c4('0x24')](_0x565423);}};}function respondWithFilteredResult(_0x210159,_0xa7a826){return function(_0x531d92){if(_0x531d92){var _0x543ea2=typeof _0xa7a826[_0x49c4('0x25')]==='undefined'&&typeof _0xa7a826[_0x49c4('0x26')]===_0x49c4('0x27');var _0x3f1708=_0x531d92[_0x49c4('0x28')];var _0x5987ae=_0x543ea2?0x0:_0xa7a826[_0x49c4('0x25')];var _0x2b2793=_0x543ea2?_0x531d92[_0x49c4('0x28')]:_0xa7a826[_0x49c4('0x25')]+_0xa7a826[_0x49c4('0x26')];var _0x29f835;if(_0x2b2793>=_0x3f1708){_0x2b2793=_0x3f1708;_0x29f835=0xc8;}else{_0x29f835=0xce;}_0x210159[_0x49c4('0x23')](_0x29f835);return _0x210159[_0x49c4('0x29')](_0x49c4('0x2a'),_0x5987ae+'-'+_0x2b2793+'/'+_0x3f1708)[_0x49c4('0x24')](_0x531d92);}return null;};}function patchUpdates(_0x46f7ea){return function(_0x4ea6ea){try{jsonpatch['apply'](_0x4ea6ea,_0x46f7ea,!![]);}catch(_0x59eb84){return BPromise[_0x49c4('0x2b')](_0x59eb84);}return _0x4ea6ea[_0x49c4('0x2c')]();};}function saveUpdates(_0x1eb035,_0x27e467){return function(_0x28eb47){if(_0x28eb47){return _0x28eb47['update'](_0x1eb035)[_0x49c4('0x19')](function(_0x116eb4){return _0x116eb4;});}return null;};}function removeEntity(_0x2e7a69,_0x24bba9){return function(_0x58e252){if(_0x58e252){return _0x58e252['destroy']()[_0x49c4('0x19')](function(){_0x2e7a69[_0x49c4('0x23')](0xcc)[_0x49c4('0x2d')]();});}};}function handleEntityNotFound(_0x13b3b4,_0xd38540){return function(_0x4a0c7a){if(!_0x4a0c7a){_0x13b3b4[_0x49c4('0x22')](0x194);}return _0x4a0c7a;};}function handleError(_0x84c621,_0x1bfa0f){_0x1bfa0f=_0x1bfa0f||0x1f4;return function(_0x512d02){logger['error'](_0x512d02[_0x49c4('0x2e')]);if(_0x512d02[_0x49c4('0x2f')]){delete _0x512d02[_0x49c4('0x2f')];}_0x84c621[_0x49c4('0x23')](_0x1bfa0f)[_0x49c4('0x30')](_0x512d02);};}function getMustacheRender(_0x2cf897,_0x1d1557){return Mustache[_0x49c4('0x31')](_0x2cf897,_[_0x49c4('0x32')](_0x1d1557['body'],{'contact':_0x1d1557[_0x49c4('0x33')],'message':_0x1d1557['message'],'agent':_0x1d1557[_0x49c4('0x34')],'interaction':_0x1d1557[_0x49c4('0x35')],'account':_0x1d1557[_0x49c4('0x36')]}))||'';}exports[_0x49c4('0x37')]=function(_0x4ed4f8,_0x335f0c){var _0x31f3ff={},_0x1c910a={},_0x4e913a={'count':0x0,'rows':[]};var _0x3b4feb=_[_0x49c4('0x38')](db[_0x49c4('0x39')][_0x49c4('0x3a')],function(_0x1ba7a0){return{'name':_0x1ba7a0[_0x49c4('0x3b')],'type':_0x1ba7a0[_0x49c4('0x3c')][_0x49c4('0x3d')]};});_0x1c910a[_0x49c4('0x3e')]=_[_0x49c4('0x38')](_0x3b4feb,_0x49c4('0x2f'));_0x1c910a['query']=_[_0x49c4('0x3f')](_0x4ed4f8[_0x49c4('0x40')]);_0x1c910a[_0x49c4('0x41')]=_[_0x49c4('0x42')](_0x1c910a[_0x49c4('0x3e')],_0x1c910a[_0x49c4('0x40')]);_0x31f3ff[_0x49c4('0x43')]=_[_0x49c4('0x42')](_0x1c910a[_0x49c4('0x3e')],qs[_0x49c4('0x44')](_0x4ed4f8[_0x49c4('0x40')][_0x49c4('0x44')]));_0x31f3ff[_0x49c4('0x43')]=_0x31f3ff['attributes'][_0x49c4('0x45')]?_0x31f3ff['attributes']:_0x1c910a[_0x49c4('0x3e')];if(!_0x4ed4f8[_0x49c4('0x40')][_0x49c4('0x46')](_0x49c4('0x47'))){_0x31f3ff[_0x49c4('0x26')]=qs[_0x49c4('0x26')](_0x4ed4f8['query']['limit']);_0x31f3ff[_0x49c4('0x25')]=qs[_0x49c4('0x25')](_0x4ed4f8[_0x49c4('0x40')][_0x49c4('0x25')]);}_0x31f3ff['order']=qs[_0x49c4('0x48')](_0x4ed4f8[_0x49c4('0x40')][_0x49c4('0x48')]);_0x31f3ff[_0x49c4('0x49')]=qs[_0x49c4('0x41')](_[_0x49c4('0x4a')](_0x4ed4f8[_0x49c4('0x40')],_0x1c910a[_0x49c4('0x41')]),_0x3b4feb);if(_0x4ed4f8[_0x49c4('0x40')]['filter']){_0x31f3ff[_0x49c4('0x49')]=_['merge'](_0x31f3ff[_0x49c4('0x49')],{'$or':_[_0x49c4('0x38')](_0x3b4feb,function(_0x301def){if(_0x301def[_0x49c4('0x3c')]!==_0x49c4('0x4b')){var _0x5b296d={};_0x5b296d[_0x301def[_0x49c4('0x2f')]]={'$like':'%'+_0x4ed4f8[_0x49c4('0x40')][_0x49c4('0x4c')]+'%'};return _0x5b296d;}})});}_0x31f3ff=_[_0x49c4('0x32')]({},_0x31f3ff,_0x4ed4f8[_0x49c4('0x4d')]);var _0x5d4790={'where':_0x31f3ff[_0x49c4('0x49')]};return db['DeskConfiguration'][_0x49c4('0x28')](_0x5d4790)['then'](function(_0x3f7379){_0x4e913a[_0x49c4('0x28')]=_0x3f7379;if(_0x4ed4f8[_0x49c4('0x40')][_0x49c4('0x4e')]){_0x31f3ff[_0x49c4('0x4f')]=[{'all':!![]}];}return db[_0x49c4('0x39')][_0x49c4('0x50')](_0x31f3ff);})['then'](function(_0x3b731f){_0x4e913a[_0x49c4('0x51')]=_0x3b731f;return _0x4e913a;})['then'](respondWithFilteredResult(_0x335f0c,_0x31f3ff))[_0x49c4('0x52')](handleError(_0x335f0c,null));};exports[_0x49c4('0x53')]=function(_0xfbe179,_0x242afc){var _0x52a8f7={'raw':![],'where':{'id':_0xfbe179[_0x49c4('0x54')]['id']}},_0x5d8bf0={};_0x5d8bf0['model']=_[_0x49c4('0x3f')](db[_0x49c4('0x39')][_0x49c4('0x3a')]);_0x5d8bf0[_0x49c4('0x40')]=_[_0x49c4('0x3f')](_0xfbe179[_0x49c4('0x40')]);_0x5d8bf0[_0x49c4('0x41')]=_['intersection'](_0x5d8bf0[_0x49c4('0x3e')],_0x5d8bf0[_0x49c4('0x40')]);_0x52a8f7[_0x49c4('0x43')]=_[_0x49c4('0x42')](_0x5d8bf0[_0x49c4('0x3e')],qs[_0x49c4('0x44')](_0xfbe179[_0x49c4('0x40')][_0x49c4('0x44')]));_0x52a8f7[_0x49c4('0x43')]=_0x52a8f7[_0x49c4('0x43')]['length']?_0x52a8f7['attributes']:_0x5d8bf0[_0x49c4('0x3e')];if(_0xfbe179[_0x49c4('0x40')]['includeAll']){_0x52a8f7['include']=[{'all':!![]}];}_0x52a8f7=_[_0x49c4('0x32')]({},_0x52a8f7,_0xfbe179['options']);return db['DeskConfiguration'][_0x49c4('0x55')](_0x52a8f7)[_0x49c4('0x19')](handleEntityNotFound(_0x242afc,null))[_0x49c4('0x19')](respondWithResult(_0x242afc,null))[_0x49c4('0x52')](handleError(_0x242afc,null));};exports[_0x49c4('0x56')]=function(_0x16949a,_0x35724e){return db['DeskConfiguration'][_0x49c4('0x56')](_0x16949a[_0x49c4('0x57')],{})[_0x49c4('0x19')](respondWithResult(_0x35724e,0xc9))[_0x49c4('0x52')](handleError(_0x35724e,null));};exports[_0x49c4('0x58')]=function(_0xa431d,_0x5d24f3){if(_0xa431d['body']['id']){delete _0xa431d[_0x49c4('0x57')]['id'];}return db[_0x49c4('0x39')][_0x49c4('0x55')]({'where':{'id':_0xa431d[_0x49c4('0x54')]['id']}})[_0x49c4('0x19')](handleEntityNotFound(_0x5d24f3,null))[_0x49c4('0x19')](saveUpdates(_0xa431d[_0x49c4('0x57')],null))['then'](respondWithResult(_0x5d24f3,null))[_0x49c4('0x52')](handleError(_0x5d24f3,null));};exports[_0x49c4('0x59')]=function(_0x4ba4eb,_0x42928c){return db['DeskConfiguration'][_0x49c4('0x55')]({'where':{'id':_0x4ba4eb[_0x49c4('0x54')]['id']}})[_0x49c4('0x19')](handleEntityNotFound(_0x42928c,null))[_0x49c4('0x19')](removeEntity(_0x42928c,null))[_0x49c4('0x52')](handleError(_0x42928c,null));};exports[_0x49c4('0x5a')]=function(_0x3eb66d,_0x2f520f,_0x483770){var _0x3894e0={};var _0x27b9c2={};var _0x59dc8d;var _0x10dec7;return db[_0x49c4('0x39')]['findOne']({'where':{'id':_0x3eb66d[_0x49c4('0x54')]['id']}})[_0x49c4('0x19')](handleEntityNotFound(_0x2f520f,null))['then'](function(_0x4dc54d){if(_0x4dc54d){_0x59dc8d=_0x4dc54d;_0x27b9c2['model']=_['keys'](db[_0x49c4('0x5b')]['rawAttributes']);_0x27b9c2[_0x49c4('0x40')]=_[_0x49c4('0x3f')](_0x3eb66d['query']);_0x27b9c2[_0x49c4('0x41')]=_[_0x49c4('0x42')](_0x27b9c2['model'],_0x27b9c2[_0x49c4('0x40')]);_0x3894e0[_0x49c4('0x43')]=_[_0x49c4('0x42')](_0x27b9c2[_0x49c4('0x3e')],qs['fields'](_0x3eb66d[_0x49c4('0x40')][_0x49c4('0x44')]));_0x3894e0[_0x49c4('0x43')]=_0x3894e0[_0x49c4('0x43')]['length']?_0x3894e0[_0x49c4('0x43')]:_0x27b9c2['model'];_0x3894e0['order']=qs['sort'](_0x3eb66d['query'][_0x49c4('0x48')]);_0x3894e0[_0x49c4('0x49')]=qs[_0x49c4('0x41')](_[_0x49c4('0x4a')](_0x3eb66d['query'],_0x27b9c2['filters']));if(_0x3eb66d[_0x49c4('0x40')][_0x49c4('0x4c')]){_0x3894e0[_0x49c4('0x49')]=_[_0x49c4('0x32')](_0x3894e0[_0x49c4('0x49')],{'$or':_[_0x49c4('0x38')](_0x3894e0[_0x49c4('0x43')],function(_0x3b949d){var _0x4d49e0={};_0x4d49e0[_0x3b949d]={'$like':'%'+_0x3eb66d[_0x49c4('0x40')]['filter']+'%'};return _0x4d49e0;})});}_0x3894e0=_[_0x49c4('0x32')]({},_0x3894e0,_0x3eb66d[_0x49c4('0x4d')]);return _0x59dc8d[_0x49c4('0x5a')](_0x3894e0);}})[_0x49c4('0x19')](function(_0x3a1c81){if(_0x3a1c81){_0x10dec7=_0x3a1c81[_0x49c4('0x45')];if(!_0x3eb66d[_0x49c4('0x40')][_0x49c4('0x46')](_0x49c4('0x47'))){_0x3894e0[_0x49c4('0x26')]=qs[_0x49c4('0x26')](_0x3eb66d[_0x49c4('0x40')][_0x49c4('0x26')]);_0x3894e0[_0x49c4('0x25')]=qs[_0x49c4('0x25')](_0x3eb66d[_0x49c4('0x40')][_0x49c4('0x25')]);}return _0x59dc8d[_0x49c4('0x5a')](_0x3894e0);}})['then'](function(_0x5ec201){if(_0x5ec201){return _0x5ec201?{'count':_0x10dec7,'rows':_0x5ec201}:null;}})[_0x49c4('0x19')](respondWithResult(_0x2f520f,null))[_0x49c4('0x52')](handleError(_0x2f520f,null));};exports['getSubjects']=function(_0x1a15f3,_0x38ad50,_0x2939fd){var _0x16e7b1={};var _0x4d6aaa={};var _0x5a14a5;var _0x4a85d4;return db[_0x49c4('0x39')][_0x49c4('0x5c')]({'where':{'id':_0x1a15f3[_0x49c4('0x54')]['id']}})[_0x49c4('0x19')](handleEntityNotFound(_0x38ad50,null))[_0x49c4('0x19')](function(_0x146706){if(_0x146706){_0x5a14a5=_0x146706;_0x4d6aaa[_0x49c4('0x3e')]=_[_0x49c4('0x3f')](db[_0x49c4('0x5b')]['rawAttributes']);_0x4d6aaa[_0x49c4('0x40')]=_[_0x49c4('0x3f')](_0x1a15f3[_0x49c4('0x40')]);_0x4d6aaa['filters']=_[_0x49c4('0x42')](_0x4d6aaa[_0x49c4('0x3e')],_0x4d6aaa[_0x49c4('0x40')]);_0x16e7b1[_0x49c4('0x43')]=_[_0x49c4('0x42')](_0x4d6aaa[_0x49c4('0x3e')],qs[_0x49c4('0x44')](_0x1a15f3[_0x49c4('0x40')]['fields']));_0x16e7b1[_0x49c4('0x43')]=_0x16e7b1[_0x49c4('0x43')][_0x49c4('0x45')]?_0x16e7b1[_0x49c4('0x43')]:_0x4d6aaa[_0x49c4('0x3e')];_0x16e7b1['order']=qs['sort'](_0x1a15f3[_0x49c4('0x40')]['sort']);_0x16e7b1[_0x49c4('0x49')]=qs['filters'](_[_0x49c4('0x4a')](_0x1a15f3[_0x49c4('0x40')],_0x4d6aaa[_0x49c4('0x41')]));if(_0x1a15f3[_0x49c4('0x40')]['filter']){_0x16e7b1[_0x49c4('0x49')]=_[_0x49c4('0x32')](_0x16e7b1[_0x49c4('0x49')],{'$or':_[_0x49c4('0x38')](_0x16e7b1[_0x49c4('0x43')],function(_0xbb7f42){var _0x38b291={};_0x38b291[_0xbb7f42]={'$like':'%'+_0x1a15f3[_0x49c4('0x40')][_0x49c4('0x4c')]+'%'};return _0x38b291;})});}_0x16e7b1=_[_0x49c4('0x32')]({},_0x16e7b1,_0x1a15f3['options']);return _0x5a14a5[_0x49c4('0x5d')](_0x16e7b1);}})[_0x49c4('0x19')](function(_0x549719){if(_0x549719){_0x4a85d4=_0x549719[_0x49c4('0x45')];if(!_0x1a15f3['query'][_0x49c4('0x46')](_0x49c4('0x47'))){_0x16e7b1[_0x49c4('0x26')]=qs[_0x49c4('0x26')](_0x1a15f3[_0x49c4('0x40')]['limit']);_0x16e7b1[_0x49c4('0x25')]=qs[_0x49c4('0x25')](_0x1a15f3['query'][_0x49c4('0x25')]);}return _0x5a14a5[_0x49c4('0x5d')](_0x16e7b1);}})['then'](function(_0xbd12b9){if(_0xbd12b9){return _0xbd12b9?{'count':_0x4a85d4,'rows':_0xbd12b9}:null;}})[_0x49c4('0x19')](respondWithResult(_0x38ad50,null))['catch'](handleError(_0x38ad50,null));};exports[_0x49c4('0x5e')]=function(_0x993d00,_0x25989a,_0x33dc39){var _0x4e1364={};var _0x999ae2={};var _0x7212ce;var _0x4c2fed;return db[_0x49c4('0x39')]['findOne']({'where':{'id':_0x993d00['params']['id']}})[_0x49c4('0x19')](handleEntityNotFound(_0x25989a,null))['then'](function(_0x50fd24){if(_0x50fd24){_0x7212ce=_0x50fd24;_0x999ae2[_0x49c4('0x3e')]=_[_0x49c4('0x3f')](db['DeskField'][_0x49c4('0x3a')]);_0x999ae2['query']=_['keys'](_0x993d00['query']);_0x999ae2[_0x49c4('0x41')]=_[_0x49c4('0x42')](_0x999ae2[_0x49c4('0x3e')],_0x999ae2[_0x49c4('0x40')]);_0x4e1364['attributes']=_['intersection'](_0x999ae2[_0x49c4('0x3e')],qs['fields'](_0x993d00[_0x49c4('0x40')]['fields']));_0x4e1364[_0x49c4('0x43')]=_0x4e1364[_0x49c4('0x43')][_0x49c4('0x45')]?_0x4e1364[_0x49c4('0x43')]:_0x999ae2[_0x49c4('0x3e')];_0x4e1364[_0x49c4('0x5f')]=qs[_0x49c4('0x48')](_0x993d00['query'][_0x49c4('0x48')]);_0x4e1364[_0x49c4('0x49')]=qs[_0x49c4('0x41')](_[_0x49c4('0x4a')](_0x993d00[_0x49c4('0x40')],_0x999ae2['filters']));if(_0x993d00[_0x49c4('0x40')][_0x49c4('0x4c')]){_0x4e1364[_0x49c4('0x49')]=_['merge'](_0x4e1364['where'],{'$or':_[_0x49c4('0x38')](_0x4e1364[_0x49c4('0x43')],function(_0xd30fb9){var _0xdab1ba={};_0xdab1ba[_0xd30fb9]={'$like':'%'+_0x993d00[_0x49c4('0x40')]['filter']+'%'};return _0xdab1ba;})});}_0x4e1364=_[_0x49c4('0x32')]({},_0x4e1364,_0x993d00[_0x49c4('0x4d')]);return _0x7212ce[_0x49c4('0x5e')](_0x4e1364);}})[_0x49c4('0x19')](function(_0x50cd4f){if(_0x50cd4f){_0x4c2fed=_0x50cd4f['length'];if(!_0x993d00[_0x49c4('0x40')][_0x49c4('0x46')](_0x49c4('0x47'))){_0x4e1364[_0x49c4('0x26')]=qs[_0x49c4('0x26')](_0x993d00['query'][_0x49c4('0x26')]);_0x4e1364[_0x49c4('0x25')]=qs[_0x49c4('0x25')](_0x993d00[_0x49c4('0x40')][_0x49c4('0x25')]);}return _0x7212ce[_0x49c4('0x5e')](_0x4e1364);}})['then'](function(_0x21a4fb){if(_0x21a4fb){return _0x21a4fb?{'count':_0x4c2fed,'rows':_0x21a4fb}:null;}})[_0x49c4('0x19')](respondWithResult(_0x25989a,null))[_0x49c4('0x52')](handleError(_0x25989a,null));};exports[_0x49c4('0x60')]=function(_0x508ae9,_0x5be767,_0xa96f53){var _0x4933a7={};var _0x202b8a={};var _0x532ba5;var _0x303d49;return db[_0x49c4('0x39')][_0x49c4('0x5c')]({'where':{'id':_0x508ae9[_0x49c4('0x54')]['id']}})['then'](handleEntityNotFound(_0x5be767,null))['then'](function(_0x2e352e){if(_0x2e352e){_0x532ba5=_0x2e352e;_0x202b8a[_0x49c4('0x3e')]=_[_0x49c4('0x3f')](db['Tag']['rawAttributes']);_0x202b8a[_0x49c4('0x40')]=_['keys'](_0x508ae9['query']);_0x202b8a[_0x49c4('0x41')]=_['intersection'](_0x202b8a[_0x49c4('0x3e')],_0x202b8a[_0x49c4('0x40')]);_0x4933a7['attributes']=_[_0x49c4('0x42')](_0x202b8a[_0x49c4('0x3e')],qs['fields'](_0x508ae9['query'][_0x49c4('0x44')]));_0x4933a7['attributes']=_0x4933a7[_0x49c4('0x43')][_0x49c4('0x45')]?_0x4933a7[_0x49c4('0x43')]:_0x202b8a[_0x49c4('0x3e')];_0x4933a7[_0x49c4('0x5f')]=qs[_0x49c4('0x48')](_0x508ae9[_0x49c4('0x40')]['sort']);_0x4933a7[_0x49c4('0x49')]=qs[_0x49c4('0x41')](_[_0x49c4('0x4a')](_0x508ae9[_0x49c4('0x40')],_0x202b8a[_0x49c4('0x41')]));if(_0x508ae9['query'][_0x49c4('0x4c')]){_0x4933a7['where']=_[_0x49c4('0x32')](_0x4933a7[_0x49c4('0x49')],{'$or':_[_0x49c4('0x38')](_0x4933a7[_0x49c4('0x43')],function(_0x5acbf7){var _0x293e47={};_0x293e47[_0x5acbf7]={'$like':'%'+_0x508ae9[_0x49c4('0x40')][_0x49c4('0x4c')]+'%'};return _0x293e47;})});}_0x4933a7=_[_0x49c4('0x32')]({},_0x4933a7,_0x508ae9[_0x49c4('0x4d')]);return _0x532ba5[_0x49c4('0x60')](_0x4933a7);}})['then'](function(_0x8c5de0){if(_0x8c5de0){_0x303d49=_0x8c5de0['length'];if(!_0x508ae9[_0x49c4('0x40')][_0x49c4('0x46')](_0x49c4('0x47'))){_0x4933a7[_0x49c4('0x26')]=qs['limit'](_0x508ae9[_0x49c4('0x40')][_0x49c4('0x26')]);_0x4933a7['offset']=qs[_0x49c4('0x25')](_0x508ae9[_0x49c4('0x40')]['offset']);}return _0x532ba5['getTags'](_0x4933a7);}})[_0x49c4('0x19')](function(_0x3e5915){if(_0x3e5915){return _0x3e5915?{'count':_0x303d49,'rows':_0x3e5915}:null;}})[_0x49c4('0x19')](respondWithResult(_0x5be767,null))[_0x49c4('0x52')](handleError(_0x5be767,null));};exports[_0x49c4('0x61')]=function(_0x15e403,_0x184d47,_0x450a38){if(_0x15e403[_0x49c4('0x57')]['id']){delete _0x15e403[_0x49c4('0x57')]['id'];}return db[_0x49c4('0x39')]['findOne']({'where':{'id':_0x15e403['params']['id']}})[_0x49c4('0x19')](handleEntityNotFound(_0x184d47,null))[_0x49c4('0x19')](function(_0xccdf6d){if(_0xccdf6d){return _0xccdf6d['setTags'](_0x15e403[_0x49c4('0x57')][_0x49c4('0x62')]||[]);}return null;})['then'](respondWithResult(_0x184d47,null))[_0x49c4('0x52')](handleError(_0x184d47,null));};