0b01bc2af5ea2bec4be72dd0e1f42f006c3f10c6
[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 _0x519a=['params','includeAll','find','catch','create','body','getFields','findOne','rawAttributes','getSubjects','order','getDescriptions','ZendeskField','getTags','Tag','setTags','ids','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','http','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','ZendeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','ZendeskConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','sendStatus','status','end','count','limit','set','Content-Range','json','reject','save','destroy','stack','send','ZendeskConfiguration','fieldName','type','key','model','map','name','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','offset','sort','pick','filter','where','VIRTUAL','merge','options','include','findAll','rows'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x519a,0x128));var _0xa519=function(_0x4fde08,_0x463a36){_0x4fde08=_0x4fde08-0x0;var _0x12e725=_0x519a[_0x4fde08];return _0x12e725;};'use strict';var pdf=require(_0xa519('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xa519('0x1'));var zipdir=require(_0xa519('0x2'));var jsonpatch=require(_0xa519('0x3'));var rp=require(_0xa519('0x4'));var moment=require(_0xa519('0x5'));var BPromise=require(_0xa519('0x6'));var Mustache=require('mustache');var util=require(_0xa519('0x7'));var path=require(_0xa519('0x8'));var sox=require(_0xa519('0x9'));var csv=require(_0xa519('0xa'));var ejs=require(_0xa519('0xb'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xa519('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xa519('0xc'));var authService=require(_0xa519('0xd'));var qs=require(_0xa519('0xe'));var as=require(_0xa519('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xa519('0x10'))(_0xa519('0x11'));var utils=require(_0xa519('0x12'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];var jayson=require('jayson/promise');var client=jayson['client'][_0xa519('0x13')]({'port':0x232a});function checkPasswordPattern(_0x282d6d,_0x53f507,_0xbccc25){if(_0xbccc25){var _0x15a6e0=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x15a6e0[_0xa519('0x14')](_0x53f507)){return _0x282d6d;}else{throw new db[(_0xa519('0x15'))][(_0xa519('0x16'))](_0xa519('0x17'));}}else{return _0x282d6d;}}function respondWithRpcPromise(_0xed661c,_0x2e5404,_0x2ad6f,_0x501c6a){return new BPromise(function(_0x2c0b15,_0xde0e1b){var _0x37916a=_0x501c6a||client;return _0x37916a[_0xa519('0x18')](_0xed661c,_0x2ad6f)[_0xa519('0x19')](function(_0x13cacb){logger[_0xa519('0x1a')](_0xa519('0x1b'),_0x2e5404,_0xa519('0x1c'));logger[_0xa519('0x1d')](_0xa519('0x1e'),_0x2e5404,'request\x20sent',JSON[_0xa519('0x1f')](_0x13cacb));if(_0x13cacb['error']){if(_0x13cacb[_0xa519('0x20')][_0xa519('0x21')]===0x1f4){logger[_0xa519('0x20')](_0xa519('0x1b'),_0x2e5404,_0x13cacb['error']['message']);return _0xde0e1b(_0x13cacb['error'][_0xa519('0x22')]);}logger[_0xa519('0x20')](_0xa519('0x1b'),_0x2e5404,_0x13cacb[_0xa519('0x20')]['message']);return _0x2c0b15(_0x13cacb[_0xa519('0x20')][_0xa519('0x22')]);}else{logger['info'](_0xa519('0x1b'),_0x2e5404,_0xa519('0x1c'));_0x2c0b15(_0x13cacb[_0xa519('0x23')][_0xa519('0x22')]);}})['catch'](function(_0x58d62d){logger[_0xa519('0x20')](_0xa519('0x1b'),_0x2e5404,_0x58d62d);_0xde0e1b(_0x58d62d);});});}function respondWithStatusCode(_0x210107,_0x96ab5f){_0x96ab5f=_0x96ab5f||0xcc;return function(_0x439bb7){if(_0x439bb7){return _0x210107[_0xa519('0x24')](_0x96ab5f);}return _0x210107[_0xa519('0x25')](_0x96ab5f)[_0xa519('0x26')]();};}function respondWithResult(_0x528441,_0xc6c185){_0xc6c185=_0xc6c185||0xc8;return function(_0x25581f){if(_0x25581f){return _0x528441['status'](_0xc6c185)['json'](_0x25581f);}};}function respondWithFilteredResult(_0x6c04c2,_0x2aeb16){return function(_0x198338){if(_0x198338){var _0x59e81c=_0x198338[_0xa519('0x27')],_0xb0a3e3=_0x2aeb16['offset'],_0x160445=_0x2aeb16['offset']+_0x2aeb16[_0xa519('0x28')],_0x2e0ae0;if(_0x160445>=_0x59e81c){_0x160445=_0x59e81c;_0x2e0ae0=0xc8;}else{_0x2e0ae0=0xce;}_0x6c04c2[_0xa519('0x25')](_0x2e0ae0);return _0x6c04c2[_0xa519('0x29')](_0xa519('0x2a'),_0xb0a3e3+'-'+_0x160445+'/'+_0x59e81c)[_0xa519('0x2b')](_0x198338);}return null;};}function patchUpdates(_0x2c05e2){return function(_0x141bc5){try{jsonpatch['apply'](_0x141bc5,_0x2c05e2,!![]);}catch(_0x4c24be){return BPromise[_0xa519('0x2c')](_0x4c24be);}return _0x141bc5[_0xa519('0x2d')]();};}function saveUpdates(_0x550be7,_0x2a9a8a){return function(_0x10a317){if(_0x10a317){return _0x10a317['update'](_0x550be7)[_0xa519('0x19')](function(_0x78c0fe){return _0x78c0fe;});}return null;};}function removeEntity(_0x396aaf,_0x73e19a){return function(_0x488ea4){if(_0x488ea4){return _0x488ea4[_0xa519('0x2e')]()[_0xa519('0x19')](function(){_0x396aaf[_0xa519('0x25')](0xcc)[_0xa519('0x26')]();});}};}function handleEntityNotFound(_0x13fb6e,_0x46ac42){return function(_0x3cf158){if(!_0x3cf158){_0x13fb6e[_0xa519('0x24')](0x194);}return _0x3cf158;};}function handleError(_0x16ed7d,_0x2fd2e7){_0x2fd2e7=_0x2fd2e7||0x1f4;return function(_0x2a94de){logger[_0xa519('0x20')](_0x2a94de[_0xa519('0x2f')]);if(_0x2a94de['name']){delete _0x2a94de['name'];}_0x16ed7d[_0xa519('0x25')](_0x2fd2e7)[_0xa519('0x30')](_0x2a94de);};}exports['index']=function(_0xdf5bdb,_0x5353b3){var _0x12f91a={},_0x58822d={},_0x53227d={'count':0x0,'rows':[]};var _0x24d27e=_['map'](db[_0xa519('0x31')]['rawAttributes'],function(_0x57b764){return{'name':_0x57b764[_0xa519('0x32')],'type':_0x57b764[_0xa519('0x33')][_0xa519('0x34')]};});_0x58822d[_0xa519('0x35')]=_[_0xa519('0x36')](_0x24d27e,_0xa519('0x37'));_0x58822d[_0xa519('0x38')]=_[_0xa519('0x39')](_0xdf5bdb[_0xa519('0x38')]);_0x58822d[_0xa519('0x3a')]=_['intersection'](_0x58822d[_0xa519('0x35')],_0x58822d[_0xa519('0x38')]);_0x12f91a['attributes']=_[_0xa519('0x3b')](_0x58822d[_0xa519('0x35')],qs[_0xa519('0x3c')](_0xdf5bdb[_0xa519('0x38')]['fields']));_0x12f91a[_0xa519('0x3d')]=_0x12f91a['attributes'][_0xa519('0x3e')]?_0x12f91a[_0xa519('0x3d')]:_0x58822d[_0xa519('0x35')];if(!_0xdf5bdb['query'][_0xa519('0x3f')](_0xa519('0x40'))){_0x12f91a['limit']=qs[_0xa519('0x28')](_0xdf5bdb['query']['limit']);_0x12f91a[_0xa519('0x41')]=qs[_0xa519('0x41')](_0xdf5bdb[_0xa519('0x38')][_0xa519('0x41')]);}_0x12f91a['order']=qs['sort'](_0xdf5bdb['query'][_0xa519('0x42')]);_0x12f91a['where']=qs[_0xa519('0x3a')](_[_0xa519('0x43')](_0xdf5bdb[_0xa519('0x38')],_0x58822d[_0xa519('0x3a')]),_0x24d27e);if(_0xdf5bdb[_0xa519('0x38')][_0xa519('0x44')]){_0x12f91a['where']=_['merge'](_0x12f91a[_0xa519('0x45')],{'$or':_[_0xa519('0x36')](_0x24d27e,function(_0x78dcbf){if(_0x78dcbf['type']!==_0xa519('0x46')){var _0x2b6748={};_0x2b6748[_0x78dcbf[_0xa519('0x37')]]={'$like':'%'+_0xdf5bdb['query'][_0xa519('0x44')]+'%'};return _0x2b6748;}})});}_0x12f91a=_[_0xa519('0x47')]({},_0x12f91a,_0xdf5bdb[_0xa519('0x48')]);var _0x5b10db={'where':_0x12f91a[_0xa519('0x45')]};return db[_0xa519('0x31')][_0xa519('0x27')](_0x5b10db)[_0xa519('0x19')](function(_0x462296){_0x53227d[_0xa519('0x27')]=_0x462296;if(_0xdf5bdb[_0xa519('0x38')]['includeAll']){_0x12f91a[_0xa519('0x49')]=[{'all':!![]}];}return db[_0xa519('0x31')][_0xa519('0x4a')](_0x12f91a);})['then'](function(_0x17eb37){_0x53227d[_0xa519('0x4b')]=_0x17eb37;return _0x53227d;})[_0xa519('0x19')](respondWithFilteredResult(_0x5353b3,_0x12f91a))['catch'](handleError(_0x5353b3,null));};exports['show']=function(_0x5eca2c,_0x178f9e){var _0x3e54b5={'raw':![],'where':{'id':_0x5eca2c[_0xa519('0x4c')]['id']}},_0x502b2e={};_0x502b2e['model']=_['keys'](db[_0xa519('0x31')]['rawAttributes']);_0x502b2e[_0xa519('0x38')]=_[_0xa519('0x39')](_0x5eca2c['query']);_0x502b2e[_0xa519('0x3a')]=_[_0xa519('0x3b')](_0x502b2e['model'],_0x502b2e[_0xa519('0x38')]);_0x3e54b5[_0xa519('0x3d')]=_[_0xa519('0x3b')](_0x502b2e[_0xa519('0x35')],qs['fields'](_0x5eca2c[_0xa519('0x38')][_0xa519('0x3c')]));_0x3e54b5[_0xa519('0x3d')]=_0x3e54b5[_0xa519('0x3d')][_0xa519('0x3e')]?_0x3e54b5[_0xa519('0x3d')]:_0x502b2e[_0xa519('0x35')];if(_0x5eca2c[_0xa519('0x38')][_0xa519('0x4d')]){_0x3e54b5[_0xa519('0x49')]=[{'all':!![]}];}_0x3e54b5=_[_0xa519('0x47')]({},_0x3e54b5,_0x5eca2c[_0xa519('0x48')]);return db[_0xa519('0x31')][_0xa519('0x4e')](_0x3e54b5)[_0xa519('0x19')](handleEntityNotFound(_0x178f9e,null))[_0xa519('0x19')](respondWithResult(_0x178f9e,null))[_0xa519('0x4f')](handleError(_0x178f9e,null));};exports[_0xa519('0x50')]=function(_0x10a939,_0x1ef4e8){return db[_0xa519('0x31')]['create'](_0x10a939[_0xa519('0x51')],{})[_0xa519('0x19')](respondWithResult(_0x1ef4e8,0xc9))[_0xa519('0x4f')](handleError(_0x1ef4e8,null));};exports['update']=function(_0x38986f,_0x5ad0cc){if(_0x38986f['body']['id']){delete _0x38986f[_0xa519('0x51')]['id'];}return db[_0xa519('0x31')][_0xa519('0x4e')]({'where':{'id':_0x38986f[_0xa519('0x4c')]['id']}})['then'](handleEntityNotFound(_0x5ad0cc,null))['then'](saveUpdates(_0x38986f['body'],null))[_0xa519('0x19')](respondWithResult(_0x5ad0cc,null))[_0xa519('0x4f')](handleError(_0x5ad0cc,null));};exports['destroy']=function(_0x1795ed,_0x58fdb3){return db['ZendeskConfiguration'][_0xa519('0x4e')]({'where':{'id':_0x1795ed[_0xa519('0x4c')]['id']}})['then'](handleEntityNotFound(_0x58fdb3,null))[_0xa519('0x19')](removeEntity(_0x58fdb3,null))[_0xa519('0x4f')](handleError(_0x58fdb3,null));};exports[_0xa519('0x52')]=function(_0x1bdd38,_0x56fc9c,_0x15fbd7){var _0x442139={};var _0x1e066d={};var _0x2b6cfa;var _0x573b88;return db[_0xa519('0x31')][_0xa519('0x53')]({'where':{'id':_0x1bdd38[_0xa519('0x4c')]['id']}})[_0xa519('0x19')](handleEntityNotFound(_0x56fc9c,null))[_0xa519('0x19')](function(_0x5e93d9){if(_0x5e93d9){_0x2b6cfa=_0x5e93d9;_0x1e066d['model']=_[_0xa519('0x39')](db['ZendeskField'][_0xa519('0x54')]);_0x1e066d[_0xa519('0x38')]=_['keys'](_0x1bdd38[_0xa519('0x38')]);_0x1e066d[_0xa519('0x3a')]=_['intersection'](_0x1e066d[_0xa519('0x35')],_0x1e066d[_0xa519('0x38')]);_0x442139[_0xa519('0x3d')]=_[_0xa519('0x3b')](_0x1e066d[_0xa519('0x35')],qs[_0xa519('0x3c')](_0x1bdd38[_0xa519('0x38')]['fields']));_0x442139[_0xa519('0x3d')]=_0x442139[_0xa519('0x3d')][_0xa519('0x3e')]?_0x442139[_0xa519('0x3d')]:_0x1e066d['model'];_0x442139['order']=qs['sort'](_0x1bdd38[_0xa519('0x38')][_0xa519('0x42')]);_0x442139['where']=qs['filters'](_[_0xa519('0x43')](_0x1bdd38[_0xa519('0x38')],_0x1e066d['filters']));if(_0x1bdd38['query'][_0xa519('0x44')]){_0x442139[_0xa519('0x45')]=_[_0xa519('0x47')](_0x442139[_0xa519('0x45')],{'$or':_[_0xa519('0x36')](_0x442139[_0xa519('0x3d')],function(_0x3089d4){var _0x234d3e={};_0x234d3e[_0x3089d4]={'$like':'%'+_0x1bdd38[_0xa519('0x38')][_0xa519('0x44')]+'%'};return _0x234d3e;})});}_0x442139=_[_0xa519('0x47')]({},_0x442139,_0x1bdd38['options']);return _0x2b6cfa[_0xa519('0x52')](_0x442139);}})[_0xa519('0x19')](function(_0x551239){if(_0x551239){_0x573b88=_0x551239[_0xa519('0x3e')];if(!_0x1bdd38[_0xa519('0x38')][_0xa519('0x3f')]('nolimit')){_0x442139[_0xa519('0x28')]=qs['limit'](_0x1bdd38[_0xa519('0x38')]['limit']);_0x442139[_0xa519('0x41')]=qs['offset'](_0x1bdd38[_0xa519('0x38')][_0xa519('0x41')]);}return _0x2b6cfa[_0xa519('0x52')](_0x442139);}})[_0xa519('0x19')](function(_0x4fff2b){if(_0x4fff2b){return _0x4fff2b?{'count':_0x573b88,'rows':_0x4fff2b}:null;}})['then'](respondWithResult(_0x56fc9c,null))['catch'](handleError(_0x56fc9c,null));};exports[_0xa519('0x55')]=function(_0x16d46a,_0x3cd5c3,_0x2b29fb){var _0x26d19e={};var _0x3f9ec2={};var _0xe261e;var _0x3939de;return db[_0xa519('0x31')][_0xa519('0x53')]({'where':{'id':_0x16d46a[_0xa519('0x4c')]['id']}})[_0xa519('0x19')](handleEntityNotFound(_0x3cd5c3,null))[_0xa519('0x19')](function(_0x3dc3bd){if(_0x3dc3bd){_0xe261e=_0x3dc3bd;_0x3f9ec2[_0xa519('0x35')]=_[_0xa519('0x39')](db['ZendeskField'][_0xa519('0x54')]);_0x3f9ec2['query']=_[_0xa519('0x39')](_0x16d46a['query']);_0x3f9ec2[_0xa519('0x3a')]=_[_0xa519('0x3b')](_0x3f9ec2[_0xa519('0x35')],_0x3f9ec2[_0xa519('0x38')]);_0x26d19e['attributes']=_[_0xa519('0x3b')](_0x3f9ec2[_0xa519('0x35')],qs[_0xa519('0x3c')](_0x16d46a[_0xa519('0x38')]['fields']));_0x26d19e['attributes']=_0x26d19e[_0xa519('0x3d')][_0xa519('0x3e')]?_0x26d19e[_0xa519('0x3d')]:_0x3f9ec2['model'];_0x26d19e[_0xa519('0x56')]=qs['sort'](_0x16d46a['query'][_0xa519('0x42')]);_0x26d19e[_0xa519('0x45')]=qs['filters'](_['pick'](_0x16d46a['query'],_0x3f9ec2[_0xa519('0x3a')]));if(_0x16d46a[_0xa519('0x38')][_0xa519('0x44')]){_0x26d19e[_0xa519('0x45')]=_['merge'](_0x26d19e[_0xa519('0x45')],{'$or':_['map'](_0x26d19e[_0xa519('0x3d')],function(_0x4655f5){var _0x168e87={};_0x168e87[_0x4655f5]={'$like':'%'+_0x16d46a['query'][_0xa519('0x44')]+'%'};return _0x168e87;})});}_0x26d19e=_[_0xa519('0x47')]({},_0x26d19e,_0x16d46a[_0xa519('0x48')]);return _0xe261e[_0xa519('0x55')](_0x26d19e);}})[_0xa519('0x19')](function(_0x3a7bd6){if(_0x3a7bd6){_0x3939de=_0x3a7bd6[_0xa519('0x3e')];if(!_0x16d46a[_0xa519('0x38')][_0xa519('0x3f')](_0xa519('0x40'))){_0x26d19e['limit']=qs[_0xa519('0x28')](_0x16d46a[_0xa519('0x38')]['limit']);_0x26d19e[_0xa519('0x41')]=qs[_0xa519('0x41')](_0x16d46a[_0xa519('0x38')][_0xa519('0x41')]);}return _0xe261e[_0xa519('0x55')](_0x26d19e);}})[_0xa519('0x19')](function(_0x2b29cf){if(_0x2b29cf){return _0x2b29cf?{'count':_0x3939de,'rows':_0x2b29cf}:null;}})['then'](respondWithResult(_0x3cd5c3,null))['catch'](handleError(_0x3cd5c3,null));};exports[_0xa519('0x57')]=function(_0x227dbc,_0x3864fd,_0x6a9ab1){var _0xf9448e={};var _0x5e4a4d={};var _0x1bff97;var _0x1f3b12;return db['ZendeskConfiguration'][_0xa519('0x53')]({'where':{'id':_0x227dbc[_0xa519('0x4c')]['id']}})['then'](handleEntityNotFound(_0x3864fd,null))[_0xa519('0x19')](function(_0x260c8e){if(_0x260c8e){_0x1bff97=_0x260c8e;_0x5e4a4d[_0xa519('0x35')]=_[_0xa519('0x39')](db[_0xa519('0x58')][_0xa519('0x54')]);_0x5e4a4d[_0xa519('0x38')]=_[_0xa519('0x39')](_0x227dbc[_0xa519('0x38')]);_0x5e4a4d['filters']=_['intersection'](_0x5e4a4d[_0xa519('0x35')],_0x5e4a4d[_0xa519('0x38')]);_0xf9448e[_0xa519('0x3d')]=_[_0xa519('0x3b')](_0x5e4a4d[_0xa519('0x35')],qs[_0xa519('0x3c')](_0x227dbc[_0xa519('0x38')]['fields']));_0xf9448e['attributes']=_0xf9448e['attributes'][_0xa519('0x3e')]?_0xf9448e[_0xa519('0x3d')]:_0x5e4a4d[_0xa519('0x35')];_0xf9448e[_0xa519('0x56')]=qs['sort'](_0x227dbc['query'][_0xa519('0x42')]);_0xf9448e[_0xa519('0x45')]=qs[_0xa519('0x3a')](_[_0xa519('0x43')](_0x227dbc[_0xa519('0x38')],_0x5e4a4d[_0xa519('0x3a')]));if(_0x227dbc['query'][_0xa519('0x44')]){_0xf9448e['where']=_[_0xa519('0x47')](_0xf9448e[_0xa519('0x45')],{'$or':_[_0xa519('0x36')](_0xf9448e[_0xa519('0x3d')],function(_0x4cf523){var _0x102b15={};_0x102b15[_0x4cf523]={'$like':'%'+_0x227dbc[_0xa519('0x38')][_0xa519('0x44')]+'%'};return _0x102b15;})});}_0xf9448e=_['merge']({},_0xf9448e,_0x227dbc[_0xa519('0x48')]);return _0x1bff97[_0xa519('0x57')](_0xf9448e);}})[_0xa519('0x19')](function(_0x598c1e){if(_0x598c1e){_0x1f3b12=_0x598c1e[_0xa519('0x3e')];if(!_0x227dbc[_0xa519('0x38')][_0xa519('0x3f')](_0xa519('0x40'))){_0xf9448e['limit']=qs[_0xa519('0x28')](_0x227dbc['query'][_0xa519('0x28')]);_0xf9448e[_0xa519('0x41')]=qs[_0xa519('0x41')](_0x227dbc[_0xa519('0x38')][_0xa519('0x41')]);}return _0x1bff97['getDescriptions'](_0xf9448e);}})[_0xa519('0x19')](function(_0x20626c){if(_0x20626c){return _0x20626c?{'count':_0x1f3b12,'rows':_0x20626c}:null;}})[_0xa519('0x19')](respondWithResult(_0x3864fd,null))[_0xa519('0x4f')](handleError(_0x3864fd,null));};exports[_0xa519('0x59')]=function(_0x5dc98f,_0x1d110b,_0x4cb426){var _0x17aebb={};var _0x4bbba8={};var _0x4eb61d;var _0x53c136;return db[_0xa519('0x31')][_0xa519('0x53')]({'where':{'id':_0x5dc98f[_0xa519('0x4c')]['id']}})[_0xa519('0x19')](handleEntityNotFound(_0x1d110b,null))[_0xa519('0x19')](function(_0x593a92){if(_0x593a92){_0x4eb61d=_0x593a92;_0x4bbba8[_0xa519('0x35')]=_['keys'](db[_0xa519('0x5a')][_0xa519('0x54')]);_0x4bbba8[_0xa519('0x38')]=_[_0xa519('0x39')](_0x5dc98f[_0xa519('0x38')]);_0x4bbba8['filters']=_[_0xa519('0x3b')](_0x4bbba8[_0xa519('0x35')],_0x4bbba8[_0xa519('0x38')]);_0x17aebb[_0xa519('0x3d')]=_[_0xa519('0x3b')](_0x4bbba8[_0xa519('0x35')],qs[_0xa519('0x3c')](_0x5dc98f[_0xa519('0x38')][_0xa519('0x3c')]));_0x17aebb[_0xa519('0x3d')]=_0x17aebb[_0xa519('0x3d')][_0xa519('0x3e')]?_0x17aebb[_0xa519('0x3d')]:_0x4bbba8['model'];_0x17aebb['order']=qs[_0xa519('0x42')](_0x5dc98f[_0xa519('0x38')][_0xa519('0x42')]);_0x17aebb[_0xa519('0x45')]=qs[_0xa519('0x3a')](_[_0xa519('0x43')](_0x5dc98f[_0xa519('0x38')],_0x4bbba8[_0xa519('0x3a')]));if(_0x5dc98f['query'][_0xa519('0x44')]){_0x17aebb[_0xa519('0x45')]=_[_0xa519('0x47')](_0x17aebb[_0xa519('0x45')],{'$or':_[_0xa519('0x36')](_0x17aebb['attributes'],function(_0x2cd638){var _0x129080={};_0x129080[_0x2cd638]={'$like':'%'+_0x5dc98f['query'][_0xa519('0x44')]+'%'};return _0x129080;})});}_0x17aebb=_['merge']({},_0x17aebb,_0x5dc98f['options']);return _0x4eb61d[_0xa519('0x59')](_0x17aebb);}})[_0xa519('0x19')](function(_0x1993c1){if(_0x1993c1){_0x53c136=_0x1993c1[_0xa519('0x3e')];if(!_0x5dc98f[_0xa519('0x38')][_0xa519('0x3f')](_0xa519('0x40'))){_0x17aebb[_0xa519('0x28')]=qs['limit'](_0x5dc98f[_0xa519('0x38')]['limit']);_0x17aebb[_0xa519('0x41')]=qs[_0xa519('0x41')](_0x5dc98f['query']['offset']);}return _0x4eb61d['getTags'](_0x17aebb);}})['then'](function(_0x2197d4){if(_0x2197d4){return _0x2197d4?{'count':_0x53c136,'rows':_0x2197d4}:null;}})[_0xa519('0x19')](respondWithResult(_0x1d110b,null))[_0xa519('0x4f')](handleError(_0x1d110b,null));};exports[_0xa519('0x5b')]=function(_0x37403c,_0x5d2fea,_0x2ca4d3){if(_0x37403c[_0xa519('0x51')]['id']){delete _0x37403c[_0xa519('0x51')]['id'];}return db[_0xa519('0x31')][_0xa519('0x53')]({'where':{'id':_0x37403c[_0xa519('0x4c')]['id']}})['then'](handleEntityNotFound(_0x5d2fea,null))[_0xa519('0x19')](function(_0x3bd00c){if(_0x3bd00c){return _0x3bd00c[_0xa519('0x5b')](_0x37403c['body'][_0xa519('0x5c')]||[]);}return null;})[_0xa519('0x19')](respondWithResult(_0x5d2fea,null))['catch'](handleError(_0x5d2fea,null));};