e77aeb33ea30eceb6541d2c0810886bd96a82019
[motion2.git] / server / api / intZendeskConfiguration / intZendeskConfiguration.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 _0xf6b0=['sort','where','filter','merge','type','VIRTUAL','includeAll','include','findAll','rows','catch','params','keys','intersection','options','find','create','body','getFields','findOne','length','order','pick','getSubjects','getDescriptions','ZendeskField','getTags','Tag','setTags','ids','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','limit','undefined','count','set','Content-Range','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','ZendeskConfiguration','rawAttributes','fieldName','key','model','query','filters','attributes','fields','hasOwnProperty','nolimit'];(function(_0x5875aa,_0x58ed40){var _0x1a0641=function(_0x46d440){while(--_0x46d440){_0x5875aa['push'](_0x5875aa['shift']());}};_0x1a0641(++_0x58ed40);}(_0xf6b0,0x126));var _0x0f6b=function(_0x4b2863,_0x494899){_0x4b2863=_0x4b2863-0x0;var _0x567d67=_0xf6b0[_0x4b2863];return _0x567d67;};'use strict';var emlformat=require(_0x0f6b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0f6b('0x1'));var jsonpatch=require(_0x0f6b('0x2'));var rp=require(_0x0f6b('0x3'));var moment=require(_0x0f6b('0x4'));var BPromise=require(_0x0f6b('0x5'));var Mustache=require(_0x0f6b('0x6'));var util=require('util');var path=require(_0x0f6b('0x7'));var sox=require(_0x0f6b('0x8'));var csv=require(_0x0f6b('0x9'));var ejs=require(_0x0f6b('0xa'));var fs=require('fs');var fs_extra=require(_0x0f6b('0xb'));var _=require(_0x0f6b('0xc'));var squel=require(_0x0f6b('0xd'));var crypto=require(_0x0f6b('0xe'));var jsforce=require(_0x0f6b('0xf'));var deskjs=require(_0x0f6b('0x10'));var toCsv=require(_0x0f6b('0x9'));var querystring=require(_0x0f6b('0x11'));var Papa=require('papaparse');var Redis=require(_0x0f6b('0x12'));var authService=require(_0x0f6b('0x13'));var qs=require(_0x0f6b('0x14'));var as=require(_0x0f6b('0x15'));var hardwareService=require(_0x0f6b('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0x0f6b('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x0f6b('0x18'));var db=require(_0x0f6b('0x19'))['db'];function respondWithStatusCode(_0x95de3a,_0x1fa86a){_0x1fa86a=_0x1fa86a||0xcc;return function(_0xd77b12){if(_0xd77b12){return _0x95de3a['sendStatus'](_0x1fa86a);}return _0x95de3a[_0x0f6b('0x1a')](_0x1fa86a)[_0x0f6b('0x1b')]();};}function respondWithResult(_0x21030a,_0x2921fe){_0x2921fe=_0x2921fe||0xc8;return function(_0x1041af){if(_0x1041af){return _0x21030a['status'](_0x2921fe)[_0x0f6b('0x1c')](_0x1041af);}};}function respondWithFilteredResult(_0x344720,_0x25cda3){return function(_0x6ffbf2){if(_0x6ffbf2){var _0x29ef65=typeof _0x25cda3[_0x0f6b('0x1d')]==='undefined'&&typeof _0x25cda3[_0x0f6b('0x1e')]===_0x0f6b('0x1f');var _0x4f69d6=_0x6ffbf2[_0x0f6b('0x20')];var _0x1db326=_0x29ef65?0x0:_0x25cda3[_0x0f6b('0x1d')];var _0x595c70=_0x29ef65?_0x6ffbf2[_0x0f6b('0x20')]:_0x25cda3[_0x0f6b('0x1d')]+_0x25cda3[_0x0f6b('0x1e')];var _0x40fdb8;if(_0x595c70>=_0x4f69d6){_0x595c70=_0x4f69d6;_0x40fdb8=0xc8;}else{_0x40fdb8=0xce;}_0x344720['status'](_0x40fdb8);return _0x344720[_0x0f6b('0x21')](_0x0f6b('0x22'),_0x1db326+'-'+_0x595c70+'/'+_0x4f69d6)[_0x0f6b('0x1c')](_0x6ffbf2);}return null;};}function patchUpdates(_0x52c8b6){return function(_0x450dd3){try{jsonpatch['apply'](_0x450dd3,_0x52c8b6,!![]);}catch(_0x56f0ca){return BPromise[_0x0f6b('0x23')](_0x56f0ca);}return _0x450dd3[_0x0f6b('0x24')]();};}function saveUpdates(_0x157ceb,_0x102692){return function(_0x5c2c6b){if(_0x5c2c6b){return _0x5c2c6b[_0x0f6b('0x25')](_0x157ceb)[_0x0f6b('0x26')](function(_0x502165){return _0x502165;});}return null;};}function removeEntity(_0x1aef09,_0x41fa49){return function(_0x175ff0){if(_0x175ff0){return _0x175ff0[_0x0f6b('0x27')]()['then'](function(){_0x1aef09['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x250c8f,_0xd4f9b8){return function(_0x388f0e){if(!_0x388f0e){_0x250c8f[_0x0f6b('0x28')](0x194);}return _0x388f0e;};}function handleError(_0x31817b,_0x31c489){_0x31c489=_0x31c489||0x1f4;return function(_0x37fd01){logger[_0x0f6b('0x29')](_0x37fd01[_0x0f6b('0x2a')]);if(_0x37fd01[_0x0f6b('0x2b')]){delete _0x37fd01[_0x0f6b('0x2b')];}_0x31817b[_0x0f6b('0x1a')](_0x31c489)[_0x0f6b('0x2c')](_0x37fd01);};}exports[_0x0f6b('0x2d')]=function(_0x2a5793,_0x107214){var _0x28a97d={},_0x1d2469={},_0x872253={'count':0x0,'rows':[]};var _0x206ee8=_[_0x0f6b('0x2e')](db[_0x0f6b('0x2f')][_0x0f6b('0x30')],function(_0x1e5644){return{'name':_0x1e5644[_0x0f6b('0x31')],'type':_0x1e5644['type'][_0x0f6b('0x32')]};});_0x1d2469[_0x0f6b('0x33')]=_[_0x0f6b('0x2e')](_0x206ee8,'name');_0x1d2469[_0x0f6b('0x34')]=_['keys'](_0x2a5793[_0x0f6b('0x34')]);_0x1d2469[_0x0f6b('0x35')]=_['intersection'](_0x1d2469[_0x0f6b('0x33')],_0x1d2469[_0x0f6b('0x34')]);_0x28a97d[_0x0f6b('0x36')]=_['intersection'](_0x1d2469[_0x0f6b('0x33')],qs['fields'](_0x2a5793[_0x0f6b('0x34')][_0x0f6b('0x37')]));_0x28a97d[_0x0f6b('0x36')]=_0x28a97d[_0x0f6b('0x36')]['length']?_0x28a97d['attributes']:_0x1d2469[_0x0f6b('0x33')];if(!_0x2a5793[_0x0f6b('0x34')][_0x0f6b('0x38')](_0x0f6b('0x39'))){_0x28a97d[_0x0f6b('0x1e')]=qs[_0x0f6b('0x1e')](_0x2a5793['query'][_0x0f6b('0x1e')]);_0x28a97d['offset']=qs[_0x0f6b('0x1d')](_0x2a5793['query'][_0x0f6b('0x1d')]);}_0x28a97d['order']=qs[_0x0f6b('0x3a')](_0x2a5793[_0x0f6b('0x34')][_0x0f6b('0x3a')]);_0x28a97d[_0x0f6b('0x3b')]=qs[_0x0f6b('0x35')](_['pick'](_0x2a5793[_0x0f6b('0x34')],_0x1d2469[_0x0f6b('0x35')]),_0x206ee8);if(_0x2a5793[_0x0f6b('0x34')][_0x0f6b('0x3c')]){_0x28a97d[_0x0f6b('0x3b')]=_[_0x0f6b('0x3d')](_0x28a97d[_0x0f6b('0x3b')],{'$or':_[_0x0f6b('0x2e')](_0x206ee8,function(_0x3b0a98){if(_0x3b0a98[_0x0f6b('0x3e')]!==_0x0f6b('0x3f')){var _0x2398f0={};_0x2398f0[_0x3b0a98[_0x0f6b('0x2b')]]={'$like':'%'+_0x2a5793[_0x0f6b('0x34')]['filter']+'%'};return _0x2398f0;}})});}_0x28a97d=_['merge']({},_0x28a97d,_0x2a5793['options']);var _0xd21b84={'where':_0x28a97d[_0x0f6b('0x3b')]};return db['ZendeskConfiguration'][_0x0f6b('0x20')](_0xd21b84)[_0x0f6b('0x26')](function(_0x50c518){_0x872253[_0x0f6b('0x20')]=_0x50c518;if(_0x2a5793[_0x0f6b('0x34')][_0x0f6b('0x40')]){_0x28a97d[_0x0f6b('0x41')]=[{'all':!![]}];}return db[_0x0f6b('0x2f')][_0x0f6b('0x42')](_0x28a97d);})[_0x0f6b('0x26')](function(_0x21c90d){_0x872253[_0x0f6b('0x43')]=_0x21c90d;return _0x872253;})['then'](respondWithFilteredResult(_0x107214,_0x28a97d))[_0x0f6b('0x44')](handleError(_0x107214,null));};exports['show']=function(_0x5d8a80,_0x3ec782){var _0x48e437={'raw':![],'where':{'id':_0x5d8a80[_0x0f6b('0x45')]['id']}},_0x5306e0={};_0x5306e0[_0x0f6b('0x33')]=_[_0x0f6b('0x46')](db['ZendeskConfiguration'][_0x0f6b('0x30')]);_0x5306e0[_0x0f6b('0x34')]=_[_0x0f6b('0x46')](_0x5d8a80['query']);_0x5306e0[_0x0f6b('0x35')]=_[_0x0f6b('0x47')](_0x5306e0[_0x0f6b('0x33')],_0x5306e0['query']);_0x48e437['attributes']=_['intersection'](_0x5306e0['model'],qs[_0x0f6b('0x37')](_0x5d8a80[_0x0f6b('0x34')][_0x0f6b('0x37')]));_0x48e437[_0x0f6b('0x36')]=_0x48e437[_0x0f6b('0x36')]['length']?_0x48e437[_0x0f6b('0x36')]:_0x5306e0[_0x0f6b('0x33')];if(_0x5d8a80['query'][_0x0f6b('0x40')]){_0x48e437['include']=[{'all':!![]}];}_0x48e437=_[_0x0f6b('0x3d')]({},_0x48e437,_0x5d8a80[_0x0f6b('0x48')]);return db[_0x0f6b('0x2f')][_0x0f6b('0x49')](_0x48e437)['then'](handleEntityNotFound(_0x3ec782,null))[_0x0f6b('0x26')](respondWithResult(_0x3ec782,null))[_0x0f6b('0x44')](handleError(_0x3ec782,null));};exports[_0x0f6b('0x4a')]=function(_0x1d2fdf,_0x46f19d){return db[_0x0f6b('0x2f')][_0x0f6b('0x4a')](_0x1d2fdf[_0x0f6b('0x4b')],{})[_0x0f6b('0x26')](respondWithResult(_0x46f19d,0xc9))['catch'](handleError(_0x46f19d,null));};exports['update']=function(_0xeb5fa4,_0x2b7cb1){if(_0xeb5fa4['body']['id']){delete _0xeb5fa4[_0x0f6b('0x4b')]['id'];}return db['ZendeskConfiguration'][_0x0f6b('0x49')]({'where':{'id':_0xeb5fa4[_0x0f6b('0x45')]['id']}})[_0x0f6b('0x26')](handleEntityNotFound(_0x2b7cb1,null))[_0x0f6b('0x26')](saveUpdates(_0xeb5fa4[_0x0f6b('0x4b')],null))[_0x0f6b('0x26')](respondWithResult(_0x2b7cb1,null))[_0x0f6b('0x44')](handleError(_0x2b7cb1,null));};exports[_0x0f6b('0x27')]=function(_0x52e1b2,_0x2af630){return db[_0x0f6b('0x2f')][_0x0f6b('0x49')]({'where':{'id':_0x52e1b2[_0x0f6b('0x45')]['id']}})[_0x0f6b('0x26')](handleEntityNotFound(_0x2af630,null))['then'](removeEntity(_0x2af630,null))[_0x0f6b('0x44')](handleError(_0x2af630,null));};exports[_0x0f6b('0x4c')]=function(_0x4b85b3,_0x4932fb,_0x1aaf3c){var _0x4460d6={};var _0x25fccb={};var _0x5c3fb0;var _0x2021d8;return db[_0x0f6b('0x2f')][_0x0f6b('0x4d')]({'where':{'id':_0x4b85b3[_0x0f6b('0x45')]['id']}})[_0x0f6b('0x26')](handleEntityNotFound(_0x4932fb,null))[_0x0f6b('0x26')](function(_0x483555){if(_0x483555){_0x5c3fb0=_0x483555;_0x25fccb[_0x0f6b('0x33')]=_['keys'](db['ZendeskField'][_0x0f6b('0x30')]);_0x25fccb['query']=_[_0x0f6b('0x46')](_0x4b85b3[_0x0f6b('0x34')]);_0x25fccb[_0x0f6b('0x35')]=_[_0x0f6b('0x47')](_0x25fccb[_0x0f6b('0x33')],_0x25fccb[_0x0f6b('0x34')]);_0x4460d6[_0x0f6b('0x36')]=_[_0x0f6b('0x47')](_0x25fccb[_0x0f6b('0x33')],qs[_0x0f6b('0x37')](_0x4b85b3[_0x0f6b('0x34')][_0x0f6b('0x37')]));_0x4460d6[_0x0f6b('0x36')]=_0x4460d6[_0x0f6b('0x36')][_0x0f6b('0x4e')]?_0x4460d6[_0x0f6b('0x36')]:_0x25fccb[_0x0f6b('0x33')];_0x4460d6[_0x0f6b('0x4f')]=qs['sort'](_0x4b85b3[_0x0f6b('0x34')]['sort']);_0x4460d6[_0x0f6b('0x3b')]=qs[_0x0f6b('0x35')](_[_0x0f6b('0x50')](_0x4b85b3[_0x0f6b('0x34')],_0x25fccb['filters']));if(_0x4b85b3[_0x0f6b('0x34')][_0x0f6b('0x3c')]){_0x4460d6[_0x0f6b('0x3b')]=_[_0x0f6b('0x3d')](_0x4460d6[_0x0f6b('0x3b')],{'$or':_['map'](_0x4460d6['attributes'],function(_0x235483){var _0x230b52={};_0x230b52[_0x235483]={'$like':'%'+_0x4b85b3[_0x0f6b('0x34')]['filter']+'%'};return _0x230b52;})});}_0x4460d6=_[_0x0f6b('0x3d')]({},_0x4460d6,_0x4b85b3[_0x0f6b('0x48')]);return _0x5c3fb0['getFields'](_0x4460d6);}})[_0x0f6b('0x26')](function(_0xd4799){if(_0xd4799){_0x2021d8=_0xd4799[_0x0f6b('0x4e')];if(!_0x4b85b3[_0x0f6b('0x34')]['hasOwnProperty']('nolimit')){_0x4460d6[_0x0f6b('0x1e')]=qs[_0x0f6b('0x1e')](_0x4b85b3[_0x0f6b('0x34')]['limit']);_0x4460d6[_0x0f6b('0x1d')]=qs[_0x0f6b('0x1d')](_0x4b85b3[_0x0f6b('0x34')][_0x0f6b('0x1d')]);}return _0x5c3fb0[_0x0f6b('0x4c')](_0x4460d6);}})[_0x0f6b('0x26')](function(_0x5429cc){if(_0x5429cc){return _0x5429cc?{'count':_0x2021d8,'rows':_0x5429cc}:null;}})['then'](respondWithResult(_0x4932fb,null))[_0x0f6b('0x44')](handleError(_0x4932fb,null));};exports[_0x0f6b('0x51')]=function(_0x13192a,_0x48308c,_0x5dba47){var _0x2edf51={};var _0x29c67a={};var _0x1b0c50;var _0x5aa6fc;return db['ZendeskConfiguration'][_0x0f6b('0x4d')]({'where':{'id':_0x13192a[_0x0f6b('0x45')]['id']}})[_0x0f6b('0x26')](handleEntityNotFound(_0x48308c,null))[_0x0f6b('0x26')](function(_0x234244){if(_0x234244){_0x1b0c50=_0x234244;_0x29c67a[_0x0f6b('0x33')]=_['keys'](db['ZendeskField'][_0x0f6b('0x30')]);_0x29c67a[_0x0f6b('0x34')]=_['keys'](_0x13192a[_0x0f6b('0x34')]);_0x29c67a[_0x0f6b('0x35')]=_['intersection'](_0x29c67a[_0x0f6b('0x33')],_0x29c67a[_0x0f6b('0x34')]);_0x2edf51[_0x0f6b('0x36')]=_[_0x0f6b('0x47')](_0x29c67a[_0x0f6b('0x33')],qs[_0x0f6b('0x37')](_0x13192a['query'][_0x0f6b('0x37')]));_0x2edf51[_0x0f6b('0x36')]=_0x2edf51[_0x0f6b('0x36')][_0x0f6b('0x4e')]?_0x2edf51[_0x0f6b('0x36')]:_0x29c67a[_0x0f6b('0x33')];_0x2edf51[_0x0f6b('0x4f')]=qs[_0x0f6b('0x3a')](_0x13192a[_0x0f6b('0x34')][_0x0f6b('0x3a')]);_0x2edf51[_0x0f6b('0x3b')]=qs[_0x0f6b('0x35')](_[_0x0f6b('0x50')](_0x13192a[_0x0f6b('0x34')],_0x29c67a[_0x0f6b('0x35')]));if(_0x13192a['query'][_0x0f6b('0x3c')]){_0x2edf51[_0x0f6b('0x3b')]=_['merge'](_0x2edf51[_0x0f6b('0x3b')],{'$or':_[_0x0f6b('0x2e')](_0x2edf51['attributes'],function(_0x55e5e6){var _0x54bb05={};_0x54bb05[_0x55e5e6]={'$like':'%'+_0x13192a[_0x0f6b('0x34')]['filter']+'%'};return _0x54bb05;})});}_0x2edf51=_[_0x0f6b('0x3d')]({},_0x2edf51,_0x13192a['options']);return _0x1b0c50[_0x0f6b('0x51')](_0x2edf51);}})['then'](function(_0x2d19e6){if(_0x2d19e6){_0x5aa6fc=_0x2d19e6[_0x0f6b('0x4e')];if(!_0x13192a[_0x0f6b('0x34')][_0x0f6b('0x38')](_0x0f6b('0x39'))){_0x2edf51[_0x0f6b('0x1e')]=qs[_0x0f6b('0x1e')](_0x13192a['query'][_0x0f6b('0x1e')]);_0x2edf51[_0x0f6b('0x1d')]=qs[_0x0f6b('0x1d')](_0x13192a[_0x0f6b('0x34')][_0x0f6b('0x1d')]);}return _0x1b0c50[_0x0f6b('0x51')](_0x2edf51);}})[_0x0f6b('0x26')](function(_0x556ff4){if(_0x556ff4){return _0x556ff4?{'count':_0x5aa6fc,'rows':_0x556ff4}:null;}})[_0x0f6b('0x26')](respondWithResult(_0x48308c,null))[_0x0f6b('0x44')](handleError(_0x48308c,null));};exports[_0x0f6b('0x52')]=function(_0x4c6e1c,_0x1e8c64,_0x115f0d){var _0x3496ea={};var _0x10c88c={};var _0x402de7;var _0x8f8c3b;return db[_0x0f6b('0x2f')][_0x0f6b('0x4d')]({'where':{'id':_0x4c6e1c['params']['id']}})['then'](handleEntityNotFound(_0x1e8c64,null))[_0x0f6b('0x26')](function(_0x55a755){if(_0x55a755){_0x402de7=_0x55a755;_0x10c88c[_0x0f6b('0x33')]=_[_0x0f6b('0x46')](db[_0x0f6b('0x53')][_0x0f6b('0x30')]);_0x10c88c['query']=_[_0x0f6b('0x46')](_0x4c6e1c[_0x0f6b('0x34')]);_0x10c88c[_0x0f6b('0x35')]=_['intersection'](_0x10c88c[_0x0f6b('0x33')],_0x10c88c[_0x0f6b('0x34')]);_0x3496ea['attributes']=_[_0x0f6b('0x47')](_0x10c88c['model'],qs['fields'](_0x4c6e1c[_0x0f6b('0x34')][_0x0f6b('0x37')]));_0x3496ea['attributes']=_0x3496ea[_0x0f6b('0x36')][_0x0f6b('0x4e')]?_0x3496ea['attributes']:_0x10c88c[_0x0f6b('0x33')];_0x3496ea[_0x0f6b('0x4f')]=qs[_0x0f6b('0x3a')](_0x4c6e1c['query']['sort']);_0x3496ea[_0x0f6b('0x3b')]=qs[_0x0f6b('0x35')](_[_0x0f6b('0x50')](_0x4c6e1c[_0x0f6b('0x34')],_0x10c88c[_0x0f6b('0x35')]));if(_0x4c6e1c[_0x0f6b('0x34')][_0x0f6b('0x3c')]){_0x3496ea[_0x0f6b('0x3b')]=_[_0x0f6b('0x3d')](_0x3496ea['where'],{'$or':_[_0x0f6b('0x2e')](_0x3496ea[_0x0f6b('0x36')],function(_0xb9212c){var _0x162c78={};_0x162c78[_0xb9212c]={'$like':'%'+_0x4c6e1c[_0x0f6b('0x34')][_0x0f6b('0x3c')]+'%'};return _0x162c78;})});}_0x3496ea=_[_0x0f6b('0x3d')]({},_0x3496ea,_0x4c6e1c['options']);return _0x402de7[_0x0f6b('0x52')](_0x3496ea);}})[_0x0f6b('0x26')](function(_0x1d342d){if(_0x1d342d){_0x8f8c3b=_0x1d342d[_0x0f6b('0x4e')];if(!_0x4c6e1c[_0x0f6b('0x34')][_0x0f6b('0x38')](_0x0f6b('0x39'))){_0x3496ea[_0x0f6b('0x1e')]=qs[_0x0f6b('0x1e')](_0x4c6e1c[_0x0f6b('0x34')][_0x0f6b('0x1e')]);_0x3496ea[_0x0f6b('0x1d')]=qs[_0x0f6b('0x1d')](_0x4c6e1c[_0x0f6b('0x34')]['offset']);}return _0x402de7[_0x0f6b('0x52')](_0x3496ea);}})[_0x0f6b('0x26')](function(_0x4b6296){if(_0x4b6296){return _0x4b6296?{'count':_0x8f8c3b,'rows':_0x4b6296}:null;}})[_0x0f6b('0x26')](respondWithResult(_0x1e8c64,null))[_0x0f6b('0x44')](handleError(_0x1e8c64,null));};exports[_0x0f6b('0x54')]=function(_0x23e871,_0x20ea69,_0x47720e){var _0x58c393={};var _0x68427b={};var _0x577254;var _0x508282;return db[_0x0f6b('0x2f')][_0x0f6b('0x4d')]({'where':{'id':_0x23e871[_0x0f6b('0x45')]['id']}})[_0x0f6b('0x26')](handleEntityNotFound(_0x20ea69,null))['then'](function(_0x49b7ea){if(_0x49b7ea){_0x577254=_0x49b7ea;_0x68427b[_0x0f6b('0x33')]=_[_0x0f6b('0x46')](db[_0x0f6b('0x55')][_0x0f6b('0x30')]);_0x68427b[_0x0f6b('0x34')]=_[_0x0f6b('0x46')](_0x23e871['query']);_0x68427b[_0x0f6b('0x35')]=_[_0x0f6b('0x47')](_0x68427b[_0x0f6b('0x33')],_0x68427b[_0x0f6b('0x34')]);_0x58c393[_0x0f6b('0x36')]=_['intersection'](_0x68427b[_0x0f6b('0x33')],qs[_0x0f6b('0x37')](_0x23e871[_0x0f6b('0x34')][_0x0f6b('0x37')]));_0x58c393['attributes']=_0x58c393[_0x0f6b('0x36')][_0x0f6b('0x4e')]?_0x58c393[_0x0f6b('0x36')]:_0x68427b[_0x0f6b('0x33')];_0x58c393['order']=qs[_0x0f6b('0x3a')](_0x23e871[_0x0f6b('0x34')][_0x0f6b('0x3a')]);_0x58c393['where']=qs['filters'](_[_0x0f6b('0x50')](_0x23e871[_0x0f6b('0x34')],_0x68427b[_0x0f6b('0x35')]));if(_0x23e871[_0x0f6b('0x34')][_0x0f6b('0x3c')]){_0x58c393[_0x0f6b('0x3b')]=_[_0x0f6b('0x3d')](_0x58c393[_0x0f6b('0x3b')],{'$or':_[_0x0f6b('0x2e')](_0x58c393[_0x0f6b('0x36')],function(_0x2815b8){var _0x362efc={};_0x362efc[_0x2815b8]={'$like':'%'+_0x23e871[_0x0f6b('0x34')][_0x0f6b('0x3c')]+'%'};return _0x362efc;})});}_0x58c393=_[_0x0f6b('0x3d')]({},_0x58c393,_0x23e871['options']);return _0x577254[_0x0f6b('0x54')](_0x58c393);}})[_0x0f6b('0x26')](function(_0x212548){if(_0x212548){_0x508282=_0x212548[_0x0f6b('0x4e')];if(!_0x23e871['query']['hasOwnProperty']('nolimit')){_0x58c393['limit']=qs[_0x0f6b('0x1e')](_0x23e871['query'][_0x0f6b('0x1e')]);_0x58c393[_0x0f6b('0x1d')]=qs[_0x0f6b('0x1d')](_0x23e871['query']['offset']);}return _0x577254[_0x0f6b('0x54')](_0x58c393);}})[_0x0f6b('0x26')](function(_0x5a51a3){if(_0x5a51a3){return _0x5a51a3?{'count':_0x508282,'rows':_0x5a51a3}:null;}})[_0x0f6b('0x26')](respondWithResult(_0x20ea69,null))[_0x0f6b('0x44')](handleError(_0x20ea69,null));};exports[_0x0f6b('0x56')]=function(_0x18d952,_0x335246,_0x53ae62){if(_0x18d952[_0x0f6b('0x4b')]['id']){delete _0x18d952[_0x0f6b('0x4b')]['id'];}return db[_0x0f6b('0x2f')]['findOne']({'where':{'id':_0x18d952[_0x0f6b('0x45')]['id']}})['then'](handleEntityNotFound(_0x335246,null))[_0x0f6b('0x26')](function(_0x194448){if(_0x194448){return _0x194448['setTags'](_0x18d952['body'][_0x0f6b('0x57')]||[]);}return null;})[_0x0f6b('0x26')](respondWithResult(_0x335246,null))[_0x0f6b('0x44')](handleError(_0x335246,null));};