64b1642f9a7c1d5393fc718a42ce350bf4670a65
[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 _0xfbf8=['intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','map','filter','options','includeAll','include','rows','catch','show','params','find','create','body','getFields','findOne','ZendeskField','length','getSubjects','getDescriptions','getTags','Tag','setTags','ids','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','count','set','Content-Range','apply','update','then','destroy','sendStatus','error','stack','name','index','ZendeskConfiguration','rawAttributes','fieldName','type','key','model','query','keys'];(function(_0x42c00c,_0x5339cd){var _0x27252b=function(_0x41ddb8){while(--_0x41ddb8){_0x42c00c['push'](_0x42c00c['shift']());}};_0x27252b(++_0x5339cd);}(_0xfbf8,0xc5));var _0x8fbf=function(_0x3ab065,_0x327461){_0x3ab065=_0x3ab065-0x0;var _0x3cbf8d=_0xfbf8[_0x3ab065];return _0x3cbf8d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8fbf('0x0'));var zipdir=require(_0x8fbf('0x1'));var jsonpatch=require(_0x8fbf('0x2'));var rp=require(_0x8fbf('0x3'));var moment=require(_0x8fbf('0x4'));var BPromise=require(_0x8fbf('0x5'));var Mustache=require(_0x8fbf('0x6'));var util=require(_0x8fbf('0x7'));var path=require('path');var sox=require(_0x8fbf('0x8'));var csv=require(_0x8fbf('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x8fbf('0xa'));var _=require(_0x8fbf('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x8fbf('0xc'));var deskjs=require(_0x8fbf('0xd'));var toCsv=require(_0x8fbf('0x9'));var querystring=require(_0x8fbf('0xe'));var Papa=require(_0x8fbf('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x8fbf('0x10'));var as=require(_0x8fbf('0x11'));var hardwareService=require(_0x8fbf('0x12'));var logger=require(_0x8fbf('0x13'))(_0x8fbf('0x14'));var utils=require('../../config/utils');var config=require(_0x8fbf('0x15'));var licenseUtil=require(_0x8fbf('0x16'));var db=require(_0x8fbf('0x17'))['db'];function respondWithStatusCode(_0xbb0a86,_0x84583e){_0x84583e=_0x84583e||0xcc;return function(_0x325474){if(_0x325474){return _0xbb0a86['sendStatus'](_0x84583e);}return _0xbb0a86[_0x8fbf('0x18')](_0x84583e)[_0x8fbf('0x19')]();};}function respondWithResult(_0x45ec64,_0x4635f6){_0x4635f6=_0x4635f6||0xc8;return function(_0x2dc811){if(_0x2dc811){return _0x45ec64[_0x8fbf('0x18')](_0x4635f6)[_0x8fbf('0x1a')](_0x2dc811);}};}function respondWithFilteredResult(_0x3de3d0,_0x2aed36){return function(_0x5c914f){if(_0x5c914f){var _0x1b8682=typeof _0x2aed36[_0x8fbf('0x1b')]==='undefined'&&typeof _0x2aed36[_0x8fbf('0x1c')]==='undefined';var _0x4936ec=_0x5c914f[_0x8fbf('0x1d')];var _0x272d0c=_0x1b8682?0x0:_0x2aed36['offset'];var _0x34ff6a=_0x1b8682?_0x5c914f[_0x8fbf('0x1d')]:_0x2aed36['offset']+_0x2aed36[_0x8fbf('0x1c')];var _0x40180c;if(_0x34ff6a>=_0x4936ec){_0x34ff6a=_0x4936ec;_0x40180c=0xc8;}else{_0x40180c=0xce;}_0x3de3d0[_0x8fbf('0x18')](_0x40180c);return _0x3de3d0[_0x8fbf('0x1e')](_0x8fbf('0x1f'),_0x272d0c+'-'+_0x34ff6a+'/'+_0x4936ec)['json'](_0x5c914f);}return null;};}function patchUpdates(_0x24ba16){return function(_0x569914){try{jsonpatch[_0x8fbf('0x20')](_0x569914,_0x24ba16,!![]);}catch(_0x12624a){return BPromise['reject'](_0x12624a);}return _0x569914['save']();};}function saveUpdates(_0x9889e5,_0xbb6d71){return function(_0x47e9b9){if(_0x47e9b9){return _0x47e9b9[_0x8fbf('0x21')](_0x9889e5)[_0x8fbf('0x22')](function(_0x4bb03d){return _0x4bb03d;});}return null;};}function removeEntity(_0x806a20,_0xb725ac){return function(_0x26f9d5){if(_0x26f9d5){return _0x26f9d5[_0x8fbf('0x23')]()[_0x8fbf('0x22')](function(){_0x806a20[_0x8fbf('0x18')](0xcc)[_0x8fbf('0x19')]();});}};}function handleEntityNotFound(_0x5b1471,_0x280acf){return function(_0x57eb55){if(!_0x57eb55){_0x5b1471[_0x8fbf('0x24')](0x194);}return _0x57eb55;};}function handleError(_0x234d2a,_0x1b69ca){_0x1b69ca=_0x1b69ca||0x1f4;return function(_0x246541){logger[_0x8fbf('0x25')](_0x246541[_0x8fbf('0x26')]);if(_0x246541[_0x8fbf('0x27')]){delete _0x246541[_0x8fbf('0x27')];}_0x234d2a[_0x8fbf('0x18')](_0x1b69ca)['send'](_0x246541);};}exports[_0x8fbf('0x28')]=function(_0x51db92,_0x5d5da7){var _0x1a4ffe={},_0x4d91dc={},_0x10d03c={'count':0x0,'rows':[]};var _0x3fddda=_['map'](db[_0x8fbf('0x29')][_0x8fbf('0x2a')],function(_0x461cf1){return{'name':_0x461cf1[_0x8fbf('0x2b')],'type':_0x461cf1[_0x8fbf('0x2c')][_0x8fbf('0x2d')]};});_0x4d91dc[_0x8fbf('0x2e')]=_['map'](_0x3fddda,'name');_0x4d91dc[_0x8fbf('0x2f')]=_[_0x8fbf('0x30')](_0x51db92[_0x8fbf('0x2f')]);_0x4d91dc['filters']=_[_0x8fbf('0x31')](_0x4d91dc[_0x8fbf('0x2e')],_0x4d91dc['query']);_0x1a4ffe[_0x8fbf('0x32')]=_[_0x8fbf('0x31')](_0x4d91dc['model'],qs['fields'](_0x51db92[_0x8fbf('0x2f')][_0x8fbf('0x33')]));_0x1a4ffe['attributes']=_0x1a4ffe[_0x8fbf('0x32')]['length']?_0x1a4ffe['attributes']:_0x4d91dc['model'];if(!_0x51db92[_0x8fbf('0x2f')][_0x8fbf('0x34')](_0x8fbf('0x35'))){_0x1a4ffe['limit']=qs[_0x8fbf('0x1c')](_0x51db92['query']['limit']);_0x1a4ffe[_0x8fbf('0x1b')]=qs[_0x8fbf('0x1b')](_0x51db92[_0x8fbf('0x2f')][_0x8fbf('0x1b')]);}_0x1a4ffe[_0x8fbf('0x36')]=qs[_0x8fbf('0x37')](_0x51db92[_0x8fbf('0x2f')]['sort']);_0x1a4ffe[_0x8fbf('0x38')]=qs[_0x8fbf('0x39')](_[_0x8fbf('0x3a')](_0x51db92[_0x8fbf('0x2f')],_0x4d91dc[_0x8fbf('0x39')]),_0x3fddda);if(_0x51db92['query']['filter']){_0x1a4ffe['where']=_[_0x8fbf('0x3b')](_0x1a4ffe[_0x8fbf('0x38')],{'$or':_[_0x8fbf('0x3c')](_0x3fddda,function(_0x48065b){if(_0x48065b[_0x8fbf('0x2c')]!=='VIRTUAL'){var _0x2cd4b5={};_0x2cd4b5[_0x48065b[_0x8fbf('0x27')]]={'$like':'%'+_0x51db92[_0x8fbf('0x2f')][_0x8fbf('0x3d')]+'%'};return _0x2cd4b5;}})});}_0x1a4ffe=_[_0x8fbf('0x3b')]({},_0x1a4ffe,_0x51db92[_0x8fbf('0x3e')]);var _0x5511ac={'where':_0x1a4ffe[_0x8fbf('0x38')]};return db['ZendeskConfiguration'][_0x8fbf('0x1d')](_0x5511ac)[_0x8fbf('0x22')](function(_0x4b1c7d){_0x10d03c[_0x8fbf('0x1d')]=_0x4b1c7d;if(_0x51db92['query'][_0x8fbf('0x3f')]){_0x1a4ffe[_0x8fbf('0x40')]=[{'all':!![]}];}return db[_0x8fbf('0x29')]['findAll'](_0x1a4ffe);})[_0x8fbf('0x22')](function(_0x41a50c){_0x10d03c[_0x8fbf('0x41')]=_0x41a50c;return _0x10d03c;})[_0x8fbf('0x22')](respondWithFilteredResult(_0x5d5da7,_0x1a4ffe))[_0x8fbf('0x42')](handleError(_0x5d5da7,null));};exports[_0x8fbf('0x43')]=function(_0x482432,_0x3e7fbb){var _0x1a61bb={'raw':![],'where':{'id':_0x482432[_0x8fbf('0x44')]['id']}},_0x2c2076={};_0x2c2076[_0x8fbf('0x2e')]=_[_0x8fbf('0x30')](db[_0x8fbf('0x29')][_0x8fbf('0x2a')]);_0x2c2076[_0x8fbf('0x2f')]=_[_0x8fbf('0x30')](_0x482432[_0x8fbf('0x2f')]);_0x2c2076[_0x8fbf('0x39')]=_[_0x8fbf('0x31')](_0x2c2076[_0x8fbf('0x2e')],_0x2c2076[_0x8fbf('0x2f')]);_0x1a61bb[_0x8fbf('0x32')]=_['intersection'](_0x2c2076[_0x8fbf('0x2e')],qs[_0x8fbf('0x33')](_0x482432[_0x8fbf('0x2f')][_0x8fbf('0x33')]));_0x1a61bb[_0x8fbf('0x32')]=_0x1a61bb[_0x8fbf('0x32')]['length']?_0x1a61bb[_0x8fbf('0x32')]:_0x2c2076[_0x8fbf('0x2e')];if(_0x482432[_0x8fbf('0x2f')]['includeAll']){_0x1a61bb[_0x8fbf('0x40')]=[{'all':!![]}];}_0x1a61bb=_[_0x8fbf('0x3b')]({},_0x1a61bb,_0x482432['options']);return db[_0x8fbf('0x29')][_0x8fbf('0x45')](_0x1a61bb)[_0x8fbf('0x22')](handleEntityNotFound(_0x3e7fbb,null))['then'](respondWithResult(_0x3e7fbb,null))[_0x8fbf('0x42')](handleError(_0x3e7fbb,null));};exports[_0x8fbf('0x46')]=function(_0x229ca7,_0x1bd7cf){return db['ZendeskConfiguration'][_0x8fbf('0x46')](_0x229ca7['body'],{})['then'](respondWithResult(_0x1bd7cf,0xc9))['catch'](handleError(_0x1bd7cf,null));};exports['update']=function(_0x486873,_0x406a72){if(_0x486873[_0x8fbf('0x47')]['id']){delete _0x486873[_0x8fbf('0x47')]['id'];}return db[_0x8fbf('0x29')][_0x8fbf('0x45')]({'where':{'id':_0x486873[_0x8fbf('0x44')]['id']}})[_0x8fbf('0x22')](handleEntityNotFound(_0x406a72,null))[_0x8fbf('0x22')](saveUpdates(_0x486873[_0x8fbf('0x47')],null))[_0x8fbf('0x22')](respondWithResult(_0x406a72,null))[_0x8fbf('0x42')](handleError(_0x406a72,null));};exports['destroy']=function(_0x30941b,_0x3dd1be){return db['ZendeskConfiguration'][_0x8fbf('0x45')]({'where':{'id':_0x30941b['params']['id']}})['then'](handleEntityNotFound(_0x3dd1be,null))[_0x8fbf('0x22')](removeEntity(_0x3dd1be,null))[_0x8fbf('0x42')](handleError(_0x3dd1be,null));};exports[_0x8fbf('0x48')]=function(_0x36c96a,_0x195136,_0x28e1c7){var _0x30127d={};var _0x318bdc={};var _0x53c215;var _0x2d9038;return db['ZendeskConfiguration'][_0x8fbf('0x49')]({'where':{'id':_0x36c96a[_0x8fbf('0x44')]['id']}})['then'](handleEntityNotFound(_0x195136,null))[_0x8fbf('0x22')](function(_0x319694){if(_0x319694){_0x53c215=_0x319694;_0x318bdc[_0x8fbf('0x2e')]=_['keys'](db[_0x8fbf('0x4a')][_0x8fbf('0x2a')]);_0x318bdc[_0x8fbf('0x2f')]=_['keys'](_0x36c96a['query']);_0x318bdc['filters']=_['intersection'](_0x318bdc[_0x8fbf('0x2e')],_0x318bdc['query']);_0x30127d[_0x8fbf('0x32')]=_[_0x8fbf('0x31')](_0x318bdc[_0x8fbf('0x2e')],qs['fields'](_0x36c96a[_0x8fbf('0x2f')][_0x8fbf('0x33')]));_0x30127d['attributes']=_0x30127d['attributes'][_0x8fbf('0x4b')]?_0x30127d[_0x8fbf('0x32')]:_0x318bdc[_0x8fbf('0x2e')];_0x30127d[_0x8fbf('0x36')]=qs[_0x8fbf('0x37')](_0x36c96a[_0x8fbf('0x2f')][_0x8fbf('0x37')]);_0x30127d[_0x8fbf('0x38')]=qs['filters'](_['pick'](_0x36c96a['query'],_0x318bdc[_0x8fbf('0x39')]));if(_0x36c96a['query'][_0x8fbf('0x3d')]){_0x30127d[_0x8fbf('0x38')]=_[_0x8fbf('0x3b')](_0x30127d['where'],{'$or':_[_0x8fbf('0x3c')](_0x30127d[_0x8fbf('0x32')],function(_0x52e9f1){var _0x30552c={};_0x30552c[_0x52e9f1]={'$like':'%'+_0x36c96a[_0x8fbf('0x2f')]['filter']+'%'};return _0x30552c;})});}_0x30127d=_[_0x8fbf('0x3b')]({},_0x30127d,_0x36c96a[_0x8fbf('0x3e')]);return _0x53c215[_0x8fbf('0x48')](_0x30127d);}})[_0x8fbf('0x22')](function(_0x176b75){if(_0x176b75){_0x2d9038=_0x176b75['length'];if(!_0x36c96a['query']['hasOwnProperty'](_0x8fbf('0x35'))){_0x30127d['limit']=qs[_0x8fbf('0x1c')](_0x36c96a[_0x8fbf('0x2f')]['limit']);_0x30127d[_0x8fbf('0x1b')]=qs[_0x8fbf('0x1b')](_0x36c96a['query']['offset']);}return _0x53c215[_0x8fbf('0x48')](_0x30127d);}})[_0x8fbf('0x22')](function(_0x1138cb){if(_0x1138cb){return _0x1138cb?{'count':_0x2d9038,'rows':_0x1138cb}:null;}})['then'](respondWithResult(_0x195136,null))[_0x8fbf('0x42')](handleError(_0x195136,null));};exports[_0x8fbf('0x4c')]=function(_0x569a24,_0x5cf71c,_0x1b42a0){var _0x1811d7={};var _0x1e97b5={};var _0x523a7c;var _0x9df8cd;return db[_0x8fbf('0x29')][_0x8fbf('0x49')]({'where':{'id':_0x569a24[_0x8fbf('0x44')]['id']}})[_0x8fbf('0x22')](handleEntityNotFound(_0x5cf71c,null))[_0x8fbf('0x22')](function(_0xe24052){if(_0xe24052){_0x523a7c=_0xe24052;_0x1e97b5[_0x8fbf('0x2e')]=_[_0x8fbf('0x30')](db[_0x8fbf('0x4a')][_0x8fbf('0x2a')]);_0x1e97b5[_0x8fbf('0x2f')]=_[_0x8fbf('0x30')](_0x569a24[_0x8fbf('0x2f')]);_0x1e97b5[_0x8fbf('0x39')]=_[_0x8fbf('0x31')](_0x1e97b5[_0x8fbf('0x2e')],_0x1e97b5['query']);_0x1811d7[_0x8fbf('0x32')]=_['intersection'](_0x1e97b5[_0x8fbf('0x2e')],qs['fields'](_0x569a24[_0x8fbf('0x2f')][_0x8fbf('0x33')]));_0x1811d7['attributes']=_0x1811d7[_0x8fbf('0x32')][_0x8fbf('0x4b')]?_0x1811d7[_0x8fbf('0x32')]:_0x1e97b5[_0x8fbf('0x2e')];_0x1811d7[_0x8fbf('0x36')]=qs[_0x8fbf('0x37')](_0x569a24[_0x8fbf('0x2f')][_0x8fbf('0x37')]);_0x1811d7[_0x8fbf('0x38')]=qs[_0x8fbf('0x39')](_[_0x8fbf('0x3a')](_0x569a24['query'],_0x1e97b5[_0x8fbf('0x39')]));if(_0x569a24[_0x8fbf('0x2f')][_0x8fbf('0x3d')]){_0x1811d7[_0x8fbf('0x38')]=_['merge'](_0x1811d7[_0x8fbf('0x38')],{'$or':_[_0x8fbf('0x3c')](_0x1811d7['attributes'],function(_0xf703c9){var _0x3650d3={};_0x3650d3[_0xf703c9]={'$like':'%'+_0x569a24[_0x8fbf('0x2f')][_0x8fbf('0x3d')]+'%'};return _0x3650d3;})});}_0x1811d7=_['merge']({},_0x1811d7,_0x569a24[_0x8fbf('0x3e')]);return _0x523a7c[_0x8fbf('0x4c')](_0x1811d7);}})[_0x8fbf('0x22')](function(_0x127e9b){if(_0x127e9b){_0x9df8cd=_0x127e9b[_0x8fbf('0x4b')];if(!_0x569a24[_0x8fbf('0x2f')][_0x8fbf('0x34')]('nolimit')){_0x1811d7['limit']=qs[_0x8fbf('0x1c')](_0x569a24[_0x8fbf('0x2f')][_0x8fbf('0x1c')]);_0x1811d7[_0x8fbf('0x1b')]=qs[_0x8fbf('0x1b')](_0x569a24['query'][_0x8fbf('0x1b')]);}return _0x523a7c[_0x8fbf('0x4c')](_0x1811d7);}})['then'](function(_0x32df1e){if(_0x32df1e){return _0x32df1e?{'count':_0x9df8cd,'rows':_0x32df1e}:null;}})['then'](respondWithResult(_0x5cf71c,null))[_0x8fbf('0x42')](handleError(_0x5cf71c,null));};exports[_0x8fbf('0x4d')]=function(_0x29567d,_0x1dce4a,_0x114e11){var _0x4c33ac={};var _0x1e73d7={};var _0x1264a7;var _0x2fc7c4;return db[_0x8fbf('0x29')]['findOne']({'where':{'id':_0x29567d[_0x8fbf('0x44')]['id']}})[_0x8fbf('0x22')](handleEntityNotFound(_0x1dce4a,null))[_0x8fbf('0x22')](function(_0x32b35f){if(_0x32b35f){_0x1264a7=_0x32b35f;_0x1e73d7[_0x8fbf('0x2e')]=_['keys'](db[_0x8fbf('0x4a')][_0x8fbf('0x2a')]);_0x1e73d7[_0x8fbf('0x2f')]=_[_0x8fbf('0x30')](_0x29567d['query']);_0x1e73d7[_0x8fbf('0x39')]=_[_0x8fbf('0x31')](_0x1e73d7[_0x8fbf('0x2e')],_0x1e73d7[_0x8fbf('0x2f')]);_0x4c33ac[_0x8fbf('0x32')]=_[_0x8fbf('0x31')](_0x1e73d7[_0x8fbf('0x2e')],qs['fields'](_0x29567d[_0x8fbf('0x2f')]['fields']));_0x4c33ac[_0x8fbf('0x32')]=_0x4c33ac['attributes'][_0x8fbf('0x4b')]?_0x4c33ac[_0x8fbf('0x32')]:_0x1e73d7[_0x8fbf('0x2e')];_0x4c33ac[_0x8fbf('0x36')]=qs[_0x8fbf('0x37')](_0x29567d[_0x8fbf('0x2f')][_0x8fbf('0x37')]);_0x4c33ac[_0x8fbf('0x38')]=qs[_0x8fbf('0x39')](_[_0x8fbf('0x3a')](_0x29567d[_0x8fbf('0x2f')],_0x1e73d7[_0x8fbf('0x39')]));if(_0x29567d['query'][_0x8fbf('0x3d')]){_0x4c33ac[_0x8fbf('0x38')]=_[_0x8fbf('0x3b')](_0x4c33ac[_0x8fbf('0x38')],{'$or':_[_0x8fbf('0x3c')](_0x4c33ac['attributes'],function(_0x4b6d34){var _0x5b9988={};_0x5b9988[_0x4b6d34]={'$like':'%'+_0x29567d[_0x8fbf('0x2f')][_0x8fbf('0x3d')]+'%'};return _0x5b9988;})});}_0x4c33ac=_['merge']({},_0x4c33ac,_0x29567d[_0x8fbf('0x3e')]);return _0x1264a7[_0x8fbf('0x4d')](_0x4c33ac);}})['then'](function(_0xf6a9d){if(_0xf6a9d){_0x2fc7c4=_0xf6a9d['length'];if(!_0x29567d[_0x8fbf('0x2f')][_0x8fbf('0x34')](_0x8fbf('0x35'))){_0x4c33ac[_0x8fbf('0x1c')]=qs[_0x8fbf('0x1c')](_0x29567d['query'][_0x8fbf('0x1c')]);_0x4c33ac[_0x8fbf('0x1b')]=qs['offset'](_0x29567d[_0x8fbf('0x2f')]['offset']);}return _0x1264a7[_0x8fbf('0x4d')](_0x4c33ac);}})['then'](function(_0x4eb0b4){if(_0x4eb0b4){return _0x4eb0b4?{'count':_0x2fc7c4,'rows':_0x4eb0b4}:null;}})['then'](respondWithResult(_0x1dce4a,null))[_0x8fbf('0x42')](handleError(_0x1dce4a,null));};exports[_0x8fbf('0x4e')]=function(_0xc5520d,_0x15d8a8,_0x4adbd8){var _0x33ce64={};var _0x56068e={};var _0x293c4f;var _0x1aa264;return db[_0x8fbf('0x29')][_0x8fbf('0x49')]({'where':{'id':_0xc5520d[_0x8fbf('0x44')]['id']}})[_0x8fbf('0x22')](handleEntityNotFound(_0x15d8a8,null))[_0x8fbf('0x22')](function(_0x45fe26){if(_0x45fe26){_0x293c4f=_0x45fe26;_0x56068e['model']=_['keys'](db[_0x8fbf('0x4f')][_0x8fbf('0x2a')]);_0x56068e[_0x8fbf('0x2f')]=_[_0x8fbf('0x30')](_0xc5520d[_0x8fbf('0x2f')]);_0x56068e[_0x8fbf('0x39')]=_[_0x8fbf('0x31')](_0x56068e[_0x8fbf('0x2e')],_0x56068e[_0x8fbf('0x2f')]);_0x33ce64[_0x8fbf('0x32')]=_[_0x8fbf('0x31')](_0x56068e['model'],qs[_0x8fbf('0x33')](_0xc5520d[_0x8fbf('0x2f')][_0x8fbf('0x33')]));_0x33ce64[_0x8fbf('0x32')]=_0x33ce64[_0x8fbf('0x32')][_0x8fbf('0x4b')]?_0x33ce64[_0x8fbf('0x32')]:_0x56068e[_0x8fbf('0x2e')];_0x33ce64[_0x8fbf('0x36')]=qs[_0x8fbf('0x37')](_0xc5520d['query']['sort']);_0x33ce64[_0x8fbf('0x38')]=qs[_0x8fbf('0x39')](_['pick'](_0xc5520d['query'],_0x56068e[_0x8fbf('0x39')]));if(_0xc5520d[_0x8fbf('0x2f')]['filter']){_0x33ce64['where']=_[_0x8fbf('0x3b')](_0x33ce64[_0x8fbf('0x38')],{'$or':_[_0x8fbf('0x3c')](_0x33ce64[_0x8fbf('0x32')],function(_0x31b1d){var _0x2ad5e7={};_0x2ad5e7[_0x31b1d]={'$like':'%'+_0xc5520d[_0x8fbf('0x2f')]['filter']+'%'};return _0x2ad5e7;})});}_0x33ce64=_[_0x8fbf('0x3b')]({},_0x33ce64,_0xc5520d[_0x8fbf('0x3e')]);return _0x293c4f[_0x8fbf('0x4e')](_0x33ce64);}})[_0x8fbf('0x22')](function(_0x34de2c){if(_0x34de2c){_0x1aa264=_0x34de2c[_0x8fbf('0x4b')];if(!_0xc5520d['query'][_0x8fbf('0x34')](_0x8fbf('0x35'))){_0x33ce64[_0x8fbf('0x1c')]=qs[_0x8fbf('0x1c')](_0xc5520d[_0x8fbf('0x2f')][_0x8fbf('0x1c')]);_0x33ce64[_0x8fbf('0x1b')]=qs[_0x8fbf('0x1b')](_0xc5520d[_0x8fbf('0x2f')]['offset']);}return _0x293c4f[_0x8fbf('0x4e')](_0x33ce64);}})[_0x8fbf('0x22')](function(_0xa25fca){if(_0xa25fca){return _0xa25fca?{'count':_0x1aa264,'rows':_0xa25fca}:null;}})[_0x8fbf('0x22')](respondWithResult(_0x15d8a8,null))['catch'](handleError(_0x15d8a8,null));};exports[_0x8fbf('0x50')]=function(_0x375c42,_0x29a5bd,_0x2e24c7){if(_0x375c42['body']['id']){delete _0x375c42['body']['id'];}return db[_0x8fbf('0x29')][_0x8fbf('0x49')]({'where':{'id':_0x375c42[_0x8fbf('0x44')]['id']}})[_0x8fbf('0x22')](handleEntityNotFound(_0x29a5bd,null))['then'](function(_0x2d6dc7){if(_0x2d6dc7){return _0x2d6dc7[_0x8fbf('0x50')](_0x375c42[_0x8fbf('0x47')][_0x8fbf('0x51')]||[]);}return null;})[_0x8fbf('0x22')](respondWithResult(_0x29a5bd,null))[_0x8fbf('0x42')](handleError(_0x29a5bd,null));};