5aca19d4ee334665b6bb75100323839788f4f0db
[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 _0xedd9=['info','request\x20sent','debug','ZendeskConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','ZendeskConfiguration,\x20%s,\x20%s','message','result','catch','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','end','stack','name','index','rawAttributes','model','keys','query','filters','intersection','fields','attributes','nolimit','sort','where','pick','filter','merge','map','type','key','VIRTUAL','field','ZendeskConfiguration','rows','params','length','includeAll','options','find','create','body','getFields','findOne','ZendeskField','order','hasOwnProperty','getSubjects','getDescriptions','getTags','Tag','setTags','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','squel','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../mysqldb','jayson/promise','client','http','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','then'];(function(_0x578529,_0x453e19){var _0x1943ba=function(_0x4d1d26){while(--_0x4d1d26){_0x578529['push'](_0x578529['shift']());}};_0x1943ba(++_0x453e19);}(_0xedd9,0xfc));var _0x9edd=function(_0x37595a,_0x34b230){_0x37595a=_0x37595a-0x0;var _0x33924e=_0xedd9[_0x37595a];return _0x33924e;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x9edd('0x0'));var rimraf=require(_0x9edd('0x1'));var zipdir=require(_0x9edd('0x2'));var jsonpatch=require(_0x9edd('0x3'));var rp=require(_0x9edd('0x4'));var moment=require(_0x9edd('0x5'));var BPromise=require(_0x9edd('0x6'));var Mustache=require(_0x9edd('0x7'));var util=require('util');var path=require(_0x9edd('0x8'));var sox=require(_0x9edd('0x9'));var csv=require(_0x9edd('0xa'));var ejs=require(_0x9edd('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x9edd('0xc'));var crypto=require('crypto');var jsforce=require(_0x9edd('0xd'));var deskjs=require(_0x9edd('0xe'));var toCsv=require(_0x9edd('0xa'));var querystring=require(_0x9edd('0xf'));var Papa=require('papaparse');var Redis=require(_0x9edd('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x9edd('0x11'));var hardwareService=require(_0x9edd('0x12'));var logger=require('../../config/logger')(_0x9edd('0x13'));var utils=require(_0x9edd('0x14'));var config=require('../../config/environment');var db=require(_0x9edd('0x15'))['db'];var jayson=require(_0x9edd('0x16'));var client=jayson[_0x9edd('0x17')][_0x9edd('0x18')]({'port':0x232a});function checkPasswordPattern(_0x287ddd,_0x3a7b84,_0xfca576){if(_0xfca576){var _0xef5498=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0xef5498['test'](_0x3a7b84)){return _0x287ddd;}else{throw new Error(_0x9edd('0x19'));}}else{return _0x287ddd;}}function respondWithRpcPromise(_0x44fc7c,_0x891832,_0x4d9a7,_0x13b6b6){return new BPromise(function(_0x338f3c,_0x1042aa){var _0x75a4ab=_0x13b6b6||client;return _0x75a4ab['request'](_0x44fc7c,_0x4d9a7)[_0x9edd('0x1a')](function(_0x448996){logger[_0x9edd('0x1b')]('ZendeskConfiguration,\x20%s,\x20%s',_0x891832,_0x9edd('0x1c'));logger[_0x9edd('0x1d')](_0x9edd('0x1e'),_0x891832,'request\x20sent',JSON[_0x9edd('0x1f')](_0x448996));if(_0x448996['error']){if(_0x448996[_0x9edd('0x20')][_0x9edd('0x21')]===0x1f4){logger['error']('ZendeskConfiguration,\x20%s,\x20%s',_0x891832,_0x448996[_0x9edd('0x20')]['message']);return _0x1042aa(_0x448996[_0x9edd('0x20')]['message']);}logger['error'](_0x9edd('0x22'),_0x891832,_0x448996[_0x9edd('0x20')]['message']);return _0x338f3c(_0x448996['error'][_0x9edd('0x23')]);}else{logger[_0x9edd('0x1b')](_0x9edd('0x22'),_0x891832,'request\x20sent');_0x338f3c(_0x448996[_0x9edd('0x24')][_0x9edd('0x23')]);}})[_0x9edd('0x25')](function(_0x2ca65f){logger[_0x9edd('0x20')]('ZendeskConfiguration,\x20%s,\x20%s',_0x891832,_0x2ca65f);_0x1042aa(_0x2ca65f);});});}function respondWithStatusCode(_0x46c383,_0xeaf55a){_0xeaf55a=_0xeaf55a||0xcc;return function(_0x3a1ea5){if(_0x3a1ea5){return _0x46c383[_0x9edd('0x26')](_0xeaf55a);}return _0x46c383[_0x9edd('0x27')](_0xeaf55a)['end']();};}function respondWithResult(_0x4b3d1b,_0x3276ee){_0x3276ee=_0x3276ee||0xc8;return function(_0xfeca7b){if(_0xfeca7b){return _0x4b3d1b[_0x9edd('0x27')](_0x3276ee)[_0x9edd('0x28')](_0xfeca7b);}};}function respondWithFilteredResult(_0x3c2227,_0x4fe471){return function(_0x57a2cc){if(_0x57a2cc){var _0x214d0a=_0x57a2cc[_0x9edd('0x29')],_0x257a26=_0x4fe471[_0x9edd('0x2a')],_0x1c762c=_0x4fe471[_0x9edd('0x2a')]+_0x4fe471[_0x9edd('0x2b')],_0x52746a;if(_0x1c762c>=_0x214d0a){_0x1c762c=_0x214d0a;_0x52746a=0xc8;}else{_0x52746a=0xce;}_0x3c2227['status'](_0x52746a);return _0x3c2227[_0x9edd('0x2c')](_0x9edd('0x2d'),_0x257a26+'-'+_0x1c762c+'/'+_0x214d0a)[_0x9edd('0x28')](_0x57a2cc);}return null;};}function patchUpdates(_0x12c1bc){return function(_0xbbf08f){try{jsonpatch[_0x9edd('0x2e')](_0xbbf08f,_0x12c1bc,!![]);}catch(_0x209aba){return BPromise[_0x9edd('0x2f')](_0x209aba);}return _0xbbf08f[_0x9edd('0x30')]();};}function saveUpdates(_0x1c2e2b,_0x4fd03f){return function(_0x138002){if(_0x138002){return _0x138002[_0x9edd('0x31')](_0x1c2e2b)[_0x9edd('0x1a')](function(_0x1a6c23){return _0x1a6c23;});}return null;};}function removeEntity(_0x5af178,_0x1453d2){return function(_0x259259){if(_0x259259){return _0x259259[_0x9edd('0x32')]()['then'](function(){_0x5af178[_0x9edd('0x27')](0xcc)[_0x9edd('0x33')]();});}};}function handleEntityNotFound(_0xde9b13,_0x38a7be){return function(_0x21bc30){if(!_0x21bc30){_0xde9b13[_0x9edd('0x26')](0x194);}return _0x21bc30;};}function handleError(_0x473068,_0x438a5d){_0x438a5d=_0x438a5d||0x1f4;return function(_0xd0fd74){logger[_0x9edd('0x20')](_0xd0fd74[_0x9edd('0x34')]);if(_0xd0fd74[_0x9edd('0x35')]){delete _0xd0fd74[_0x9edd('0x35')];}_0x473068[_0x9edd('0x27')](_0x438a5d)['send'](_0xd0fd74);};}exports[_0x9edd('0x36')]=function(_0x5ed62d,_0x968303){var _0x148630={},_0x10d6fd={},_0x434d26={'count':0x0,'rows':[]};var _0x16770e=db['ZendeskConfiguration'][_0x9edd('0x37')];_0x10d6fd[_0x9edd('0x38')]=_[_0x9edd('0x39')](_0x16770e);_0x10d6fd[_0x9edd('0x3a')]=_[_0x9edd('0x39')](_0x5ed62d[_0x9edd('0x3a')]);_0x10d6fd[_0x9edd('0x3b')]=_[_0x9edd('0x3c')](_0x10d6fd[_0x9edd('0x38')],_0x10d6fd[_0x9edd('0x3a')]);_0x148630['attributes']=_[_0x9edd('0x3c')](_0x10d6fd['model'],qs[_0x9edd('0x3d')](_0x5ed62d['query'][_0x9edd('0x3d')]));_0x148630[_0x9edd('0x3e')]=_0x148630[_0x9edd('0x3e')]['length']?_0x148630[_0x9edd('0x3e')]:_0x10d6fd[_0x9edd('0x38')];if(!_0x5ed62d[_0x9edd('0x3a')]['hasOwnProperty'](_0x9edd('0x3f'))){_0x148630['limit']=qs[_0x9edd('0x2b')](_0x5ed62d[_0x9edd('0x3a')]['limit']);_0x148630[_0x9edd('0x2a')]=qs[_0x9edd('0x2a')](_0x5ed62d[_0x9edd('0x3a')][_0x9edd('0x2a')]);}_0x148630['order']=qs[_0x9edd('0x40')](_0x5ed62d['query'][_0x9edd('0x40')]);_0x148630[_0x9edd('0x41')]=qs['filters'](_[_0x9edd('0x42')](_0x5ed62d['query'],_0x10d6fd['filters']));if(_0x5ed62d[_0x9edd('0x3a')][_0x9edd('0x43')]){_0x148630[_0x9edd('0x41')]=_[_0x9edd('0x44')](_0x148630[_0x9edd('0x41')],{'$or':_[_0x9edd('0x45')](_0x16770e,function(_0x3ff512){if(_0x3ff512[_0x9edd('0x46')][_0x9edd('0x47')]!==_0x9edd('0x48')){var _0x37a263={};_0x37a263[_0x3ff512[_0x9edd('0x49')]]={'$like':'%'+_0x5ed62d[_0x9edd('0x3a')][_0x9edd('0x43')]+'%'};return _0x37a263;}})});}_0x148630=_[_0x9edd('0x44')]({},_0x148630,_0x5ed62d['options']);var _0x13197d={'where':_0x148630[_0x9edd('0x41')]};return db[_0x9edd('0x4a')][_0x9edd('0x29')](_0x13197d)[_0x9edd('0x1a')](function(_0x3ecdfd){_0x434d26[_0x9edd('0x29')]=_0x3ecdfd;if(_0x5ed62d['query']['includeAll']){_0x148630['include']=[{'all':!![]}];}return db[_0x9edd('0x4a')]['findAll'](_0x148630);})[_0x9edd('0x1a')](function(_0x19b56b){_0x434d26[_0x9edd('0x4b')]=_0x19b56b;return _0x434d26;})[_0x9edd('0x1a')](respondWithFilteredResult(_0x968303,_0x148630))[_0x9edd('0x25')](handleError(_0x968303,null));};exports['show']=function(_0x387fb8,_0x35e63c){var _0x40e33d={'raw':![],'where':{'id':_0x387fb8[_0x9edd('0x4c')]['id']}},_0x4a89ae={};_0x4a89ae[_0x9edd('0x38')]=_[_0x9edd('0x39')](db[_0x9edd('0x4a')][_0x9edd('0x37')]);_0x4a89ae[_0x9edd('0x3a')]=_['keys'](_0x387fb8[_0x9edd('0x3a')]);_0x4a89ae[_0x9edd('0x3b')]=_['intersection'](_0x4a89ae[_0x9edd('0x38')],_0x4a89ae[_0x9edd('0x3a')]);_0x40e33d['attributes']=_[_0x9edd('0x3c')](_0x4a89ae[_0x9edd('0x38')],qs[_0x9edd('0x3d')](_0x387fb8['query'][_0x9edd('0x3d')]));_0x40e33d[_0x9edd('0x3e')]=_0x40e33d[_0x9edd('0x3e')][_0x9edd('0x4d')]?_0x40e33d['attributes']:_0x4a89ae[_0x9edd('0x38')];if(_0x387fb8[_0x9edd('0x3a')][_0x9edd('0x4e')]){_0x40e33d['include']=[{'all':!![]}];}_0x40e33d=_[_0x9edd('0x44')]({},_0x40e33d,_0x387fb8[_0x9edd('0x4f')]);return db['ZendeskConfiguration'][_0x9edd('0x50')](_0x40e33d)['then'](handleEntityNotFound(_0x35e63c,null))[_0x9edd('0x1a')](respondWithResult(_0x35e63c,null))[_0x9edd('0x25')](handleError(_0x35e63c,null));};exports[_0x9edd('0x51')]=function(_0x3fcdf5,_0x1e3c19){return db[_0x9edd('0x4a')][_0x9edd('0x51')](_0x3fcdf5[_0x9edd('0x52')],{})[_0x9edd('0x1a')](respondWithResult(_0x1e3c19,0xc9))[_0x9edd('0x25')](handleError(_0x1e3c19,null));};exports[_0x9edd('0x31')]=function(_0x5a3b1d,_0x161bea){if(_0x5a3b1d[_0x9edd('0x52')]['id']){delete _0x5a3b1d[_0x9edd('0x52')]['id'];}return db['ZendeskConfiguration'][_0x9edd('0x50')]({'where':{'id':_0x5a3b1d['params']['id']}})['then'](handleEntityNotFound(_0x161bea,null))['then'](saveUpdates(_0x5a3b1d[_0x9edd('0x52')],null))[_0x9edd('0x1a')](respondWithResult(_0x161bea,null))[_0x9edd('0x25')](handleError(_0x161bea,null));};exports[_0x9edd('0x32')]=function(_0x48a900,_0x56b38b){return db['ZendeskConfiguration'][_0x9edd('0x50')]({'where':{'id':_0x48a900[_0x9edd('0x4c')]['id']}})[_0x9edd('0x1a')](handleEntityNotFound(_0x56b38b,null))[_0x9edd('0x1a')](removeEntity(_0x56b38b,null))[_0x9edd('0x25')](handleError(_0x56b38b,null));};exports[_0x9edd('0x53')]=function(_0x25906c,_0x1e3087,_0x4eb780){var _0x16dfdc={};var _0x49d0ce={};var _0x421e82;var _0x6a1cfc;return db['ZendeskConfiguration'][_0x9edd('0x54')]({'where':{'id':_0x25906c[_0x9edd('0x4c')]['id']}})[_0x9edd('0x1a')](handleEntityNotFound(_0x1e3087,null))['then'](function(_0xc648c4){if(_0xc648c4){_0x421e82=_0xc648c4;_0x49d0ce[_0x9edd('0x38')]=_[_0x9edd('0x39')](db[_0x9edd('0x55')][_0x9edd('0x37')]);_0x49d0ce[_0x9edd('0x3a')]=_['keys'](_0x25906c['query']);_0x49d0ce[_0x9edd('0x3b')]=_['intersection'](_0x49d0ce[_0x9edd('0x38')],_0x49d0ce[_0x9edd('0x3a')]);_0x16dfdc[_0x9edd('0x3e')]=_[_0x9edd('0x3c')](_0x49d0ce['model'],qs[_0x9edd('0x3d')](_0x25906c['query'][_0x9edd('0x3d')]));_0x16dfdc[_0x9edd('0x3e')]=_0x16dfdc[_0x9edd('0x3e')]['length']?_0x16dfdc[_0x9edd('0x3e')]:_0x49d0ce['model'];_0x16dfdc[_0x9edd('0x56')]=qs[_0x9edd('0x40')](_0x25906c['query'][_0x9edd('0x40')]);_0x16dfdc['where']=qs[_0x9edd('0x3b')](_[_0x9edd('0x42')](_0x25906c[_0x9edd('0x3a')],_0x49d0ce['filters']));if(_0x25906c[_0x9edd('0x3a')][_0x9edd('0x43')]){_0x16dfdc[_0x9edd('0x41')]=_[_0x9edd('0x44')](_0x16dfdc[_0x9edd('0x41')],{'$or':_['map'](_0x16dfdc['attributes'],function(_0x2e1a96){var _0x211526={};_0x211526[_0x2e1a96]={'$like':'%'+_0x25906c['query']['filter']+'%'};return _0x211526;})});}_0x16dfdc=_['merge']({},_0x16dfdc,_0x25906c[_0x9edd('0x4f')]);return _0x421e82['getFields'](_0x16dfdc);}})['then'](function(_0x3ef9c9){if(_0x3ef9c9){_0x6a1cfc=_0x3ef9c9[_0x9edd('0x4d')];if(!_0x25906c['query'][_0x9edd('0x57')](_0x9edd('0x3f'))){_0x16dfdc[_0x9edd('0x2b')]=qs['limit'](_0x25906c[_0x9edd('0x3a')]['limit']);_0x16dfdc[_0x9edd('0x2a')]=qs[_0x9edd('0x2a')](_0x25906c['query'][_0x9edd('0x2a')]);}return _0x421e82[_0x9edd('0x53')](_0x16dfdc);}})['then'](function(_0x2bd6d1){if(_0x2bd6d1){return _0x2bd6d1?{'count':_0x6a1cfc,'rows':_0x2bd6d1}:null;}})[_0x9edd('0x1a')](respondWithResult(_0x1e3087,null))[_0x9edd('0x25')](handleError(_0x1e3087,null));};exports[_0x9edd('0x58')]=function(_0x5ce70b,_0x366b04,_0x58330c){var _0x1a618c={};var _0x1a5cdb={};var _0xf6c8aa;var _0x5ad6f4;return db[_0x9edd('0x4a')][_0x9edd('0x54')]({'where':{'id':_0x5ce70b[_0x9edd('0x4c')]['id']}})[_0x9edd('0x1a')](handleEntityNotFound(_0x366b04,null))[_0x9edd('0x1a')](function(_0x14e2e5){if(_0x14e2e5){_0xf6c8aa=_0x14e2e5;_0x1a5cdb[_0x9edd('0x38')]=_['keys'](db['ZendeskField'][_0x9edd('0x37')]);_0x1a5cdb[_0x9edd('0x3a')]=_[_0x9edd('0x39')](_0x5ce70b[_0x9edd('0x3a')]);_0x1a5cdb[_0x9edd('0x3b')]=_['intersection'](_0x1a5cdb[_0x9edd('0x38')],_0x1a5cdb[_0x9edd('0x3a')]);_0x1a618c[_0x9edd('0x3e')]=_['intersection'](_0x1a5cdb[_0x9edd('0x38')],qs[_0x9edd('0x3d')](_0x5ce70b['query'][_0x9edd('0x3d')]));_0x1a618c[_0x9edd('0x3e')]=_0x1a618c['attributes'][_0x9edd('0x4d')]?_0x1a618c[_0x9edd('0x3e')]:_0x1a5cdb['model'];_0x1a618c[_0x9edd('0x56')]=qs['sort'](_0x5ce70b['query'][_0x9edd('0x40')]);_0x1a618c[_0x9edd('0x41')]=qs[_0x9edd('0x3b')](_['pick'](_0x5ce70b[_0x9edd('0x3a')],_0x1a5cdb[_0x9edd('0x3b')]));if(_0x5ce70b['query'][_0x9edd('0x43')]){_0x1a618c[_0x9edd('0x41')]=_[_0x9edd('0x44')](_0x1a618c[_0x9edd('0x41')],{'$or':_['map'](_0x1a618c['attributes'],function(_0x1129b7){var _0x5bb28c={};_0x5bb28c[_0x1129b7]={'$like':'%'+_0x5ce70b[_0x9edd('0x3a')][_0x9edd('0x43')]+'%'};return _0x5bb28c;})});}_0x1a618c=_[_0x9edd('0x44')]({},_0x1a618c,_0x5ce70b[_0x9edd('0x4f')]);return _0xf6c8aa[_0x9edd('0x58')](_0x1a618c);}})[_0x9edd('0x1a')](function(_0x1eabcd){if(_0x1eabcd){_0x5ad6f4=_0x1eabcd[_0x9edd('0x4d')];if(!_0x5ce70b[_0x9edd('0x3a')]['hasOwnProperty'](_0x9edd('0x3f'))){_0x1a618c[_0x9edd('0x2b')]=qs[_0x9edd('0x2b')](_0x5ce70b[_0x9edd('0x3a')][_0x9edd('0x2b')]);_0x1a618c[_0x9edd('0x2a')]=qs[_0x9edd('0x2a')](_0x5ce70b['query'][_0x9edd('0x2a')]);}return _0xf6c8aa[_0x9edd('0x58')](_0x1a618c);}})['then'](function(_0x26c11a){if(_0x26c11a){return _0x26c11a?{'count':_0x5ad6f4,'rows':_0x26c11a}:null;}})[_0x9edd('0x1a')](respondWithResult(_0x366b04,null))['catch'](handleError(_0x366b04,null));};exports[_0x9edd('0x59')]=function(_0x3d6d7a,_0xfd1b61,_0x55d112){var _0x41cd76={};var _0x191c3e={};var _0x3f04d3;var _0x5a7de3;return db['ZendeskConfiguration']['findOne']({'where':{'id':_0x3d6d7a['params']['id']}})[_0x9edd('0x1a')](handleEntityNotFound(_0xfd1b61,null))[_0x9edd('0x1a')](function(_0x179b7f){if(_0x179b7f){_0x3f04d3=_0x179b7f;_0x191c3e['model']=_['keys'](db['ZendeskField'][_0x9edd('0x37')]);_0x191c3e[_0x9edd('0x3a')]=_[_0x9edd('0x39')](_0x3d6d7a[_0x9edd('0x3a')]);_0x191c3e[_0x9edd('0x3b')]=_[_0x9edd('0x3c')](_0x191c3e[_0x9edd('0x38')],_0x191c3e[_0x9edd('0x3a')]);_0x41cd76[_0x9edd('0x3e')]=_[_0x9edd('0x3c')](_0x191c3e[_0x9edd('0x38')],qs[_0x9edd('0x3d')](_0x3d6d7a['query'][_0x9edd('0x3d')]));_0x41cd76[_0x9edd('0x3e')]=_0x41cd76[_0x9edd('0x3e')][_0x9edd('0x4d')]?_0x41cd76[_0x9edd('0x3e')]:_0x191c3e[_0x9edd('0x38')];_0x41cd76[_0x9edd('0x56')]=qs[_0x9edd('0x40')](_0x3d6d7a['query']['sort']);_0x41cd76[_0x9edd('0x41')]=qs['filters'](_[_0x9edd('0x42')](_0x3d6d7a['query'],_0x191c3e[_0x9edd('0x3b')]));if(_0x3d6d7a[_0x9edd('0x3a')]['filter']){_0x41cd76[_0x9edd('0x41')]=_[_0x9edd('0x44')](_0x41cd76['where'],{'$or':_[_0x9edd('0x45')](_0x41cd76[_0x9edd('0x3e')],function(_0x42d546){var _0xa36fa1={};_0xa36fa1[_0x42d546]={'$like':'%'+_0x3d6d7a[_0x9edd('0x3a')]['filter']+'%'};return _0xa36fa1;})});}_0x41cd76=_[_0x9edd('0x44')]({},_0x41cd76,_0x3d6d7a[_0x9edd('0x4f')]);return _0x3f04d3[_0x9edd('0x59')](_0x41cd76);}})[_0x9edd('0x1a')](function(_0xe898ec){if(_0xe898ec){_0x5a7de3=_0xe898ec['length'];if(!_0x3d6d7a['query']['hasOwnProperty']('nolimit')){_0x41cd76['limit']=qs[_0x9edd('0x2b')](_0x3d6d7a['query']['limit']);_0x41cd76[_0x9edd('0x2a')]=qs[_0x9edd('0x2a')](_0x3d6d7a[_0x9edd('0x3a')][_0x9edd('0x2a')]);}return _0x3f04d3[_0x9edd('0x59')](_0x41cd76);}})[_0x9edd('0x1a')](function(_0x23e213){if(_0x23e213){return _0x23e213?{'count':_0x5a7de3,'rows':_0x23e213}:null;}})[_0x9edd('0x1a')](respondWithResult(_0xfd1b61,null))[_0x9edd('0x25')](handleError(_0xfd1b61,null));};exports[_0x9edd('0x5a')]=function(_0x5b5ae9,_0x14e003,_0x2fb1c2){var _0x40df6e={};var _0x4376aa={};var _0x27c993;var _0x23e925;return db[_0x9edd('0x4a')][_0x9edd('0x54')]({'where':{'id':_0x5b5ae9['params']['id']}})['then'](handleEntityNotFound(_0x14e003,null))[_0x9edd('0x1a')](function(_0x13a2e8){if(_0x13a2e8){_0x27c993=_0x13a2e8;_0x4376aa[_0x9edd('0x38')]=_[_0x9edd('0x39')](db[_0x9edd('0x5b')][_0x9edd('0x37')]);_0x4376aa[_0x9edd('0x3a')]=_[_0x9edd('0x39')](_0x5b5ae9[_0x9edd('0x3a')]);_0x4376aa[_0x9edd('0x3b')]=_[_0x9edd('0x3c')](_0x4376aa[_0x9edd('0x38')],_0x4376aa[_0x9edd('0x3a')]);_0x40df6e[_0x9edd('0x3e')]=_['intersection'](_0x4376aa[_0x9edd('0x38')],qs[_0x9edd('0x3d')](_0x5b5ae9['query'][_0x9edd('0x3d')]));_0x40df6e[_0x9edd('0x3e')]=_0x40df6e[_0x9edd('0x3e')][_0x9edd('0x4d')]?_0x40df6e['attributes']:_0x4376aa[_0x9edd('0x38')];_0x40df6e[_0x9edd('0x56')]=qs[_0x9edd('0x40')](_0x5b5ae9[_0x9edd('0x3a')][_0x9edd('0x40')]);_0x40df6e['where']=qs[_0x9edd('0x3b')](_[_0x9edd('0x42')](_0x5b5ae9[_0x9edd('0x3a')],_0x4376aa[_0x9edd('0x3b')]));if(_0x5b5ae9[_0x9edd('0x3a')]['filter']){_0x40df6e['where']=_[_0x9edd('0x44')](_0x40df6e['where'],{'$or':_[_0x9edd('0x45')](_0x40df6e['attributes'],function(_0xe9ab48){var _0x82f31a={};_0x82f31a[_0xe9ab48]={'$like':'%'+_0x5b5ae9[_0x9edd('0x3a')][_0x9edd('0x43')]+'%'};return _0x82f31a;})});}_0x40df6e=_[_0x9edd('0x44')]({},_0x40df6e,_0x5b5ae9[_0x9edd('0x4f')]);return _0x27c993['getTags'](_0x40df6e);}})[_0x9edd('0x1a')](function(_0x33beb7){if(_0x33beb7){_0x23e925=_0x33beb7[_0x9edd('0x4d')];if(!_0x5b5ae9[_0x9edd('0x3a')][_0x9edd('0x57')](_0x9edd('0x3f'))){_0x40df6e[_0x9edd('0x2b')]=qs[_0x9edd('0x2b')](_0x5b5ae9['query'][_0x9edd('0x2b')]);_0x40df6e[_0x9edd('0x2a')]=qs[_0x9edd('0x2a')](_0x5b5ae9[_0x9edd('0x3a')][_0x9edd('0x2a')]);}return _0x27c993[_0x9edd('0x5a')](_0x40df6e);}})[_0x9edd('0x1a')](function(_0xf2ba6a){if(_0xf2ba6a){return _0xf2ba6a?{'count':_0x23e925,'rows':_0xf2ba6a}:null;}})[_0x9edd('0x1a')](respondWithResult(_0x14e003,null))[_0x9edd('0x25')](handleError(_0x14e003,null));};exports[_0x9edd('0x5c')]=function(_0x294035,_0xcadc0,_0x315a4c){if(_0x294035[_0x9edd('0x52')]['id']){delete _0x294035[_0x9edd('0x52')]['id'];}return db[_0x9edd('0x4a')][_0x9edd('0x54')]({'where':{'id':_0x294035[_0x9edd('0x4c')]['id']}})[_0x9edd('0x1a')](handleEntityNotFound(_0xcadc0,null))[_0x9edd('0x1a')](function(_0x495db0){if(_0x495db0){return _0x495db0[_0x9edd('0x5c')](_0x294035['body']['ids']||[]);}return null;})[_0x9edd('0x1a')](respondWithResult(_0xcadc0,null))[_0x9edd('0x25')](handleError(_0xcadc0,null));};