50a5b84d69596343ea07beada74118df4da5131c
[motion2.git] / server / api / intFreshdeskConfiguration / intFreshdeskConfiguration.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 _0x3e3b=['find','create','body','getFields','findOne','keys','FreshdeskField','rawAttributes','getSubjects','getDescriptions','getTags','Tag','ids','html-pdf','rimraf','zip-dir','fast-json-patch','mustache','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../mysqldb','jayson/promise','client','request','then','FreshdeskConfiguration,\x20%s,\x20%s','FreshdeskConfiguration,\x20%s,\x20%s,\x20%s','error','code','message','info','request\x20sent','result','catch','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','stack','name','send','map','FreshdeskConfiguration','fieldName','type','model','query','filters','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','intersection','length'];(function(_0x3af8c1,_0xcd26d4){var _0xfeb4c7=function(_0x4889b0){while(--_0x4889b0){_0x3af8c1['push'](_0x3af8c1['shift']());}};_0xfeb4c7(++_0xcd26d4);}(_0x3e3b,0x175));var _0xb3e3=function(_0x504ca3,_0x40cf33){_0x504ca3=_0x504ca3-0x0;var _0x44c5b7=_0x3e3b[_0x504ca3];return _0x44c5b7;};'use strict';var pdf=require(_0xb3e3('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xb3e3('0x1'));var zipdir=require(_0xb3e3('0x2'));var jsonpatch=require(_0xb3e3('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xb3e3('0x4'));var util=require('util');var path=require('path');var sox=require(_0xb3e3('0x5'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xb3e3('0x6'));var squel=require(_0xb3e3('0x7'));var crypto=require(_0xb3e3('0x8'));var jsforce=require(_0xb3e3('0x9'));var deskjs=require(_0xb3e3('0xa'));var toCsv=require(_0xb3e3('0xb'));var querystring=require(_0xb3e3('0xc'));var Papa=require(_0xb3e3('0xd'));var Redis=require(_0xb3e3('0xe'));var authService=require(_0xb3e3('0xf'));var qs=require(_0xb3e3('0x10'));var as=require(_0xb3e3('0x11'));var hardwareService=require(_0xb3e3('0x12'));var logger=require(_0xb3e3('0x13'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xb3e3('0x14'))['db'];var jayson=require(_0xb3e3('0x15'));var client=jayson[_0xb3e3('0x16')]['http']({'port':0x232a});function respondWithRpcPromise(_0x129a46,_0x5cd84f,_0x443da3,_0x68a24b){return new BPromise(function(_0x4b2ca9,_0x406042){var _0x5ec679=_0x68a24b||client;return _0x5ec679[_0xb3e3('0x17')](_0x129a46,_0x443da3)[_0xb3e3('0x18')](function(_0x2f0a4c){logger['info'](_0xb3e3('0x19'),_0x5cd84f,'request\x20sent');logger['debug'](_0xb3e3('0x1a'),_0x5cd84f,'request\x20sent',JSON['stringify'](_0x2f0a4c));if(_0x2f0a4c[_0xb3e3('0x1b')]){if(_0x2f0a4c[_0xb3e3('0x1b')][_0xb3e3('0x1c')]===0x1f4){logger[_0xb3e3('0x1b')]('FreshdeskConfiguration,\x20%s,\x20%s',_0x5cd84f,_0x2f0a4c[_0xb3e3('0x1b')][_0xb3e3('0x1d')]);return _0x406042(_0x2f0a4c[_0xb3e3('0x1b')]['message']);}logger[_0xb3e3('0x1b')](_0xb3e3('0x19'),_0x5cd84f,_0x2f0a4c[_0xb3e3('0x1b')][_0xb3e3('0x1d')]);return _0x4b2ca9(_0x2f0a4c[_0xb3e3('0x1b')][_0xb3e3('0x1d')]);}else{logger[_0xb3e3('0x1e')]('FreshdeskConfiguration,\x20%s,\x20%s',_0x5cd84f,_0xb3e3('0x1f'));_0x4b2ca9(_0x2f0a4c[_0xb3e3('0x20')][_0xb3e3('0x1d')]);}})[_0xb3e3('0x21')](function(_0x44b416){logger[_0xb3e3('0x1b')](_0xb3e3('0x19'),_0x5cd84f,_0x44b416);_0x406042(_0x44b416);});});}function respondWithStatusCode(_0x4d8987,_0x41a97d){_0x41a97d=_0x41a97d||0xcc;return function(_0x37a8bb){if(_0x37a8bb){return _0x4d8987[_0xb3e3('0x22')](_0x41a97d);}return _0x4d8987[_0xb3e3('0x23')](_0x41a97d)['end']();};}function respondWithResult(_0x5079db,_0x563bf8){_0x563bf8=_0x563bf8||0xc8;return function(_0x94113a){if(_0x94113a){return _0x5079db[_0xb3e3('0x23')](_0x563bf8)[_0xb3e3('0x24')](_0x94113a);}};}function respondWithFilteredResult(_0x1fb465,_0x16adcf){return function(_0x16ff69){if(_0x16ff69){var _0x200762=_0x16ff69[_0xb3e3('0x25')],_0x1f6004=_0x16adcf[_0xb3e3('0x26')],_0x40d21a=_0x16adcf[_0xb3e3('0x26')]+_0x16adcf[_0xb3e3('0x27')],_0x3c26a1;if(_0x40d21a>=_0x200762){_0x40d21a=_0x200762;_0x3c26a1=0xc8;}else{_0x3c26a1=0xce;}_0x1fb465['status'](_0x3c26a1);return _0x1fb465[_0xb3e3('0x28')](_0xb3e3('0x29'),_0x1f6004+'-'+_0x40d21a+'/'+_0x200762)[_0xb3e3('0x24')](_0x16ff69);}return null;};}function patchUpdates(_0x598c05){return function(_0x3a127c){try{jsonpatch[_0xb3e3('0x2a')](_0x3a127c,_0x598c05,!![]);}catch(_0x2b2a54){return BPromise[_0xb3e3('0x2b')](_0x2b2a54);}return _0x3a127c[_0xb3e3('0x2c')]();};}function saveUpdates(_0x262073,_0xb87163){return function(_0x5e45c2){if(_0x5e45c2){return _0x5e45c2[_0xb3e3('0x2d')](_0x262073)['then'](function(_0x36ec68){return _0x36ec68;});}return null;};}function removeEntity(_0x30b4d7,_0x4b06da){return function(_0x23caae){if(_0x23caae){return _0x23caae[_0xb3e3('0x2e')]()['then'](function(){_0x30b4d7['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x930efa,_0x14cd5d){return function(_0xf82338){if(!_0xf82338){_0x930efa[_0xb3e3('0x22')](0x194);}return _0xf82338;};}function handleError(_0x5ea3eb,_0x292ee6){_0x292ee6=_0x292ee6||0x1f4;return function(_0x50ebaf){logger[_0xb3e3('0x1b')](_0x50ebaf[_0xb3e3('0x2f')]);if(_0x50ebaf[_0xb3e3('0x30')]){delete _0x50ebaf[_0xb3e3('0x30')];}_0x5ea3eb['status'](_0x292ee6)[_0xb3e3('0x31')](_0x50ebaf);};}exports['index']=function(_0x496bff,_0xb9b1f){var _0x5c33c8={},_0x23a589={},_0x494f64={'count':0x0,'rows':[]};var _0x1a3a9f=_[_0xb3e3('0x32')](db[_0xb3e3('0x33')]['rawAttributes'],function(_0x2fe9d9){return{'name':_0x2fe9d9[_0xb3e3('0x34')],'type':_0x2fe9d9[_0xb3e3('0x35')]['key']};});_0x23a589[_0xb3e3('0x36')]=_[_0xb3e3('0x32')](_0x1a3a9f,_0xb3e3('0x30'));_0x23a589['query']=_['keys'](_0x496bff[_0xb3e3('0x37')]);_0x23a589[_0xb3e3('0x38')]=_['intersection'](_0x23a589[_0xb3e3('0x36')],_0x23a589['query']);_0x5c33c8[_0xb3e3('0x39')]=_['intersection'](_0x23a589[_0xb3e3('0x36')],qs[_0xb3e3('0x3a')](_0x496bff[_0xb3e3('0x37')][_0xb3e3('0x3a')]));_0x5c33c8['attributes']=_0x5c33c8[_0xb3e3('0x39')]['length']?_0x5c33c8[_0xb3e3('0x39')]:_0x23a589[_0xb3e3('0x36')];if(!_0x496bff[_0xb3e3('0x37')][_0xb3e3('0x3b')](_0xb3e3('0x3c'))){_0x5c33c8[_0xb3e3('0x27')]=qs['limit'](_0x496bff['query'][_0xb3e3('0x27')]);_0x5c33c8['offset']=qs['offset'](_0x496bff[_0xb3e3('0x37')][_0xb3e3('0x26')]);}_0x5c33c8[_0xb3e3('0x3d')]=qs[_0xb3e3('0x3e')](_0x496bff[_0xb3e3('0x37')][_0xb3e3('0x3e')]);_0x5c33c8[_0xb3e3('0x3f')]=qs['filters'](_[_0xb3e3('0x40')](_0x496bff[_0xb3e3('0x37')],_0x23a589[_0xb3e3('0x38')]),_0x1a3a9f);if(_0x496bff[_0xb3e3('0x37')][_0xb3e3('0x41')]){_0x5c33c8[_0xb3e3('0x3f')]=_[_0xb3e3('0x42')](_0x5c33c8[_0xb3e3('0x3f')],{'$or':_['map'](_0x1a3a9f,function(_0x2e13d5){if(_0x2e13d5['type']!==_0xb3e3('0x43')){var _0x363c5b={};_0x363c5b[_0x2e13d5['name']]={'$like':'%'+_0x496bff['query'][_0xb3e3('0x41')]+'%'};return _0x363c5b;}})});}_0x5c33c8=_[_0xb3e3('0x42')]({},_0x5c33c8,_0x496bff[_0xb3e3('0x44')]);var _0x482bfb={'where':_0x5c33c8['where']};return db[_0xb3e3('0x33')][_0xb3e3('0x25')](_0x482bfb)[_0xb3e3('0x18')](function(_0x24c9dd){_0x494f64[_0xb3e3('0x25')]=_0x24c9dd;if(_0x496bff[_0xb3e3('0x37')][_0xb3e3('0x45')]){_0x5c33c8[_0xb3e3('0x46')]=[{'all':!![]}];}return db[_0xb3e3('0x33')][_0xb3e3('0x47')](_0x5c33c8);})['then'](function(_0x31da56){_0x494f64[_0xb3e3('0x48')]=_0x31da56;return _0x494f64;})['then'](respondWithFilteredResult(_0xb9b1f,_0x5c33c8))[_0xb3e3('0x21')](handleError(_0xb9b1f,null));};exports[_0xb3e3('0x49')]=function(_0x20b287,_0x2bf36b){var _0x48e0f7={'raw':![],'where':{'id':_0x20b287[_0xb3e3('0x4a')]['id']}},_0x9d16f6={};_0x9d16f6[_0xb3e3('0x36')]=_['keys'](db[_0xb3e3('0x33')]['rawAttributes']);_0x9d16f6[_0xb3e3('0x37')]=_['keys'](_0x20b287[_0xb3e3('0x37')]);_0x9d16f6['filters']=_[_0xb3e3('0x4b')](_0x9d16f6[_0xb3e3('0x36')],_0x9d16f6[_0xb3e3('0x37')]);_0x48e0f7[_0xb3e3('0x39')]=_[_0xb3e3('0x4b')](_0x9d16f6[_0xb3e3('0x36')],qs[_0xb3e3('0x3a')](_0x20b287['query'][_0xb3e3('0x3a')]));_0x48e0f7[_0xb3e3('0x39')]=_0x48e0f7[_0xb3e3('0x39')][_0xb3e3('0x4c')]?_0x48e0f7['attributes']:_0x9d16f6[_0xb3e3('0x36')];if(_0x20b287['query'][_0xb3e3('0x45')]){_0x48e0f7[_0xb3e3('0x46')]=[{'all':!![]}];}_0x48e0f7=_[_0xb3e3('0x42')]({},_0x48e0f7,_0x20b287[_0xb3e3('0x44')]);return db['FreshdeskConfiguration'][_0xb3e3('0x4d')](_0x48e0f7)['then'](handleEntityNotFound(_0x2bf36b,null))[_0xb3e3('0x18')](respondWithResult(_0x2bf36b,null))[_0xb3e3('0x21')](handleError(_0x2bf36b,null));};exports['create']=function(_0x3306c2,_0x3582dc){return db[_0xb3e3('0x33')][_0xb3e3('0x4e')](_0x3306c2['body'],{})[_0xb3e3('0x18')](respondWithResult(_0x3582dc,0xc9))['catch'](handleError(_0x3582dc,null));};exports[_0xb3e3('0x2d')]=function(_0x7bc494,_0x54c619){if(_0x7bc494[_0xb3e3('0x4f')]['id']){delete _0x7bc494[_0xb3e3('0x4f')]['id'];}return db[_0xb3e3('0x33')]['find']({'where':{'id':_0x7bc494[_0xb3e3('0x4a')]['id']}})[_0xb3e3('0x18')](handleEntityNotFound(_0x54c619,null))[_0xb3e3('0x18')](saveUpdates(_0x7bc494[_0xb3e3('0x4f')],null))[_0xb3e3('0x18')](respondWithResult(_0x54c619,null))[_0xb3e3('0x21')](handleError(_0x54c619,null));};exports[_0xb3e3('0x2e')]=function(_0x272f96,_0x52376b){return db[_0xb3e3('0x33')]['find']({'where':{'id':_0x272f96[_0xb3e3('0x4a')]['id']}})[_0xb3e3('0x18')](handleEntityNotFound(_0x52376b,null))[_0xb3e3('0x18')](removeEntity(_0x52376b,null))[_0xb3e3('0x21')](handleError(_0x52376b,null));};exports[_0xb3e3('0x50')]=function(_0x23ea7a,_0x8bb1c7,_0x44c5b2){var _0x3829e5={};var _0x1e2348={};var _0x4668a3;var _0x45c851;return db[_0xb3e3('0x33')][_0xb3e3('0x51')]({'where':{'id':_0x23ea7a[_0xb3e3('0x4a')]['id']}})['then'](handleEntityNotFound(_0x8bb1c7,null))[_0xb3e3('0x18')](function(_0x59a921){if(_0x59a921){_0x4668a3=_0x59a921;_0x1e2348[_0xb3e3('0x36')]=_[_0xb3e3('0x52')](db[_0xb3e3('0x53')][_0xb3e3('0x54')]);_0x1e2348[_0xb3e3('0x37')]=_[_0xb3e3('0x52')](_0x23ea7a[_0xb3e3('0x37')]);_0x1e2348[_0xb3e3('0x38')]=_[_0xb3e3('0x4b')](_0x1e2348[_0xb3e3('0x36')],_0x1e2348[_0xb3e3('0x37')]);_0x3829e5['attributes']=_['intersection'](_0x1e2348[_0xb3e3('0x36')],qs[_0xb3e3('0x3a')](_0x23ea7a[_0xb3e3('0x37')][_0xb3e3('0x3a')]));_0x3829e5[_0xb3e3('0x39')]=_0x3829e5[_0xb3e3('0x39')][_0xb3e3('0x4c')]?_0x3829e5[_0xb3e3('0x39')]:_0x1e2348['model'];_0x3829e5[_0xb3e3('0x3d')]=qs[_0xb3e3('0x3e')](_0x23ea7a[_0xb3e3('0x37')][_0xb3e3('0x3e')]);_0x3829e5[_0xb3e3('0x3f')]=qs['filters'](_[_0xb3e3('0x40')](_0x23ea7a[_0xb3e3('0x37')],_0x1e2348['filters']));if(_0x23ea7a[_0xb3e3('0x37')][_0xb3e3('0x41')]){_0x3829e5[_0xb3e3('0x3f')]=_[_0xb3e3('0x42')](_0x3829e5[_0xb3e3('0x3f')],{'$or':_['map'](_0x3829e5[_0xb3e3('0x39')],function(_0x2d914c){var _0x49f490={};_0x49f490[_0x2d914c]={'$like':'%'+_0x23ea7a[_0xb3e3('0x37')][_0xb3e3('0x41')]+'%'};return _0x49f490;})});}_0x3829e5=_[_0xb3e3('0x42')]({},_0x3829e5,_0x23ea7a[_0xb3e3('0x44')]);return _0x4668a3[_0xb3e3('0x50')](_0x3829e5);}})[_0xb3e3('0x18')](function(_0x48a6d5){if(_0x48a6d5){_0x45c851=_0x48a6d5[_0xb3e3('0x4c')];if(!_0x23ea7a[_0xb3e3('0x37')]['hasOwnProperty'](_0xb3e3('0x3c'))){_0x3829e5[_0xb3e3('0x27')]=qs[_0xb3e3('0x27')](_0x23ea7a[_0xb3e3('0x37')][_0xb3e3('0x27')]);_0x3829e5[_0xb3e3('0x26')]=qs[_0xb3e3('0x26')](_0x23ea7a[_0xb3e3('0x37')][_0xb3e3('0x26')]);}return _0x4668a3[_0xb3e3('0x50')](_0x3829e5);}})[_0xb3e3('0x18')](function(_0x7d305c){if(_0x7d305c){return _0x7d305c?{'count':_0x45c851,'rows':_0x7d305c}:null;}})[_0xb3e3('0x18')](respondWithResult(_0x8bb1c7,null))[_0xb3e3('0x21')](handleError(_0x8bb1c7,null));};exports[_0xb3e3('0x55')]=function(_0x42f9c1,_0x39323b,_0x206cd6){var _0xc760b={};var _0x14e851={};var _0x22f68a;var _0x4f323c;return db[_0xb3e3('0x33')][_0xb3e3('0x51')]({'where':{'id':_0x42f9c1[_0xb3e3('0x4a')]['id']}})[_0xb3e3('0x18')](handleEntityNotFound(_0x39323b,null))[_0xb3e3('0x18')](function(_0x37a15d){if(_0x37a15d){_0x22f68a=_0x37a15d;_0x14e851[_0xb3e3('0x36')]=_['keys'](db[_0xb3e3('0x53')][_0xb3e3('0x54')]);_0x14e851[_0xb3e3('0x37')]=_['keys'](_0x42f9c1[_0xb3e3('0x37')]);_0x14e851[_0xb3e3('0x38')]=_[_0xb3e3('0x4b')](_0x14e851[_0xb3e3('0x36')],_0x14e851[_0xb3e3('0x37')]);_0xc760b[_0xb3e3('0x39')]=_[_0xb3e3('0x4b')](_0x14e851[_0xb3e3('0x36')],qs[_0xb3e3('0x3a')](_0x42f9c1[_0xb3e3('0x37')][_0xb3e3('0x3a')]));_0xc760b[_0xb3e3('0x39')]=_0xc760b['attributes'][_0xb3e3('0x4c')]?_0xc760b[_0xb3e3('0x39')]:_0x14e851[_0xb3e3('0x36')];_0xc760b['order']=qs[_0xb3e3('0x3e')](_0x42f9c1[_0xb3e3('0x37')][_0xb3e3('0x3e')]);_0xc760b[_0xb3e3('0x3f')]=qs[_0xb3e3('0x38')](_[_0xb3e3('0x40')](_0x42f9c1['query'],_0x14e851[_0xb3e3('0x38')]));if(_0x42f9c1[_0xb3e3('0x37')]['filter']){_0xc760b['where']=_[_0xb3e3('0x42')](_0xc760b['where'],{'$or':_[_0xb3e3('0x32')](_0xc760b[_0xb3e3('0x39')],function(_0x51438e){var _0x4831fa={};_0x4831fa[_0x51438e]={'$like':'%'+_0x42f9c1[_0xb3e3('0x37')][_0xb3e3('0x41')]+'%'};return _0x4831fa;})});}_0xc760b=_['merge']({},_0xc760b,_0x42f9c1['options']);return _0x22f68a[_0xb3e3('0x55')](_0xc760b);}})['then'](function(_0x5c3560){if(_0x5c3560){_0x4f323c=_0x5c3560[_0xb3e3('0x4c')];if(!_0x42f9c1[_0xb3e3('0x37')][_0xb3e3('0x3b')](_0xb3e3('0x3c'))){_0xc760b[_0xb3e3('0x27')]=qs[_0xb3e3('0x27')](_0x42f9c1[_0xb3e3('0x37')][_0xb3e3('0x27')]);_0xc760b['offset']=qs['offset'](_0x42f9c1[_0xb3e3('0x37')]['offset']);}return _0x22f68a['getSubjects'](_0xc760b);}})['then'](function(_0x4c8633){if(_0x4c8633){return _0x4c8633?{'count':_0x4f323c,'rows':_0x4c8633}:null;}})[_0xb3e3('0x18')](respondWithResult(_0x39323b,null))[_0xb3e3('0x21')](handleError(_0x39323b,null));};exports['getDescriptions']=function(_0x5d297f,_0x1a0dcd,_0x5b781){var _0xb64546={};var _0x169b3e={};var _0x2f39f8;var _0x97d626;return db['FreshdeskConfiguration'][_0xb3e3('0x51')]({'where':{'id':_0x5d297f['params']['id']}})[_0xb3e3('0x18')](handleEntityNotFound(_0x1a0dcd,null))[_0xb3e3('0x18')](function(_0x3f76a8){if(_0x3f76a8){_0x2f39f8=_0x3f76a8;_0x169b3e[_0xb3e3('0x36')]=_[_0xb3e3('0x52')](db[_0xb3e3('0x53')]['rawAttributes']);_0x169b3e[_0xb3e3('0x37')]=_[_0xb3e3('0x52')](_0x5d297f[_0xb3e3('0x37')]);_0x169b3e['filters']=_[_0xb3e3('0x4b')](_0x169b3e[_0xb3e3('0x36')],_0x169b3e['query']);_0xb64546[_0xb3e3('0x39')]=_['intersection'](_0x169b3e[_0xb3e3('0x36')],qs[_0xb3e3('0x3a')](_0x5d297f[_0xb3e3('0x37')][_0xb3e3('0x3a')]));_0xb64546[_0xb3e3('0x39')]=_0xb64546[_0xb3e3('0x39')]['length']?_0xb64546[_0xb3e3('0x39')]:_0x169b3e[_0xb3e3('0x36')];_0xb64546[_0xb3e3('0x3d')]=qs['sort'](_0x5d297f[_0xb3e3('0x37')][_0xb3e3('0x3e')]);_0xb64546[_0xb3e3('0x3f')]=qs[_0xb3e3('0x38')](_[_0xb3e3('0x40')](_0x5d297f[_0xb3e3('0x37')],_0x169b3e[_0xb3e3('0x38')]));if(_0x5d297f[_0xb3e3('0x37')][_0xb3e3('0x41')]){_0xb64546[_0xb3e3('0x3f')]=_['merge'](_0xb64546[_0xb3e3('0x3f')],{'$or':_[_0xb3e3('0x32')](_0xb64546['attributes'],function(_0x5b305b){var _0x36c5d1={};_0x36c5d1[_0x5b305b]={'$like':'%'+_0x5d297f[_0xb3e3('0x37')]['filter']+'%'};return _0x36c5d1;})});}_0xb64546=_[_0xb3e3('0x42')]({},_0xb64546,_0x5d297f[_0xb3e3('0x44')]);return _0x2f39f8[_0xb3e3('0x56')](_0xb64546);}})[_0xb3e3('0x18')](function(_0x55e0f0){if(_0x55e0f0){_0x97d626=_0x55e0f0[_0xb3e3('0x4c')];if(!_0x5d297f[_0xb3e3('0x37')][_0xb3e3('0x3b')](_0xb3e3('0x3c'))){_0xb64546[_0xb3e3('0x27')]=qs[_0xb3e3('0x27')](_0x5d297f[_0xb3e3('0x37')][_0xb3e3('0x27')]);_0xb64546['offset']=qs[_0xb3e3('0x26')](_0x5d297f[_0xb3e3('0x37')]['offset']);}return _0x2f39f8[_0xb3e3('0x56')](_0xb64546);}})[_0xb3e3('0x18')](function(_0x4644cf){if(_0x4644cf){return _0x4644cf?{'count':_0x97d626,'rows':_0x4644cf}:null;}})['then'](respondWithResult(_0x1a0dcd,null))['catch'](handleError(_0x1a0dcd,null));};exports[_0xb3e3('0x57')]=function(_0x4289e4,_0xb9ba46,_0x2bc360){var _0x4d1c90={};var _0x272017={};var _0x278d43;var _0x2fa533;return db[_0xb3e3('0x33')][_0xb3e3('0x51')]({'where':{'id':_0x4289e4[_0xb3e3('0x4a')]['id']}})[_0xb3e3('0x18')](handleEntityNotFound(_0xb9ba46,null))[_0xb3e3('0x18')](function(_0x115a26){if(_0x115a26){_0x278d43=_0x115a26;_0x272017[_0xb3e3('0x36')]=_[_0xb3e3('0x52')](db[_0xb3e3('0x58')][_0xb3e3('0x54')]);_0x272017[_0xb3e3('0x37')]=_[_0xb3e3('0x52')](_0x4289e4[_0xb3e3('0x37')]);_0x272017[_0xb3e3('0x38')]=_[_0xb3e3('0x4b')](_0x272017[_0xb3e3('0x36')],_0x272017[_0xb3e3('0x37')]);_0x4d1c90[_0xb3e3('0x39')]=_[_0xb3e3('0x4b')](_0x272017[_0xb3e3('0x36')],qs['fields'](_0x4289e4[_0xb3e3('0x37')][_0xb3e3('0x3a')]));_0x4d1c90[_0xb3e3('0x39')]=_0x4d1c90[_0xb3e3('0x39')]['length']?_0x4d1c90['attributes']:_0x272017[_0xb3e3('0x36')];_0x4d1c90['order']=qs[_0xb3e3('0x3e')](_0x4289e4[_0xb3e3('0x37')][_0xb3e3('0x3e')]);_0x4d1c90[_0xb3e3('0x3f')]=qs[_0xb3e3('0x38')](_[_0xb3e3('0x40')](_0x4289e4[_0xb3e3('0x37')],_0x272017[_0xb3e3('0x38')]));if(_0x4289e4[_0xb3e3('0x37')]['filter']){_0x4d1c90[_0xb3e3('0x3f')]=_[_0xb3e3('0x42')](_0x4d1c90[_0xb3e3('0x3f')],{'$or':_[_0xb3e3('0x32')](_0x4d1c90[_0xb3e3('0x39')],function(_0x15e871){var _0x3d34a2={};_0x3d34a2[_0x15e871]={'$like':'%'+_0x4289e4[_0xb3e3('0x37')][_0xb3e3('0x41')]+'%'};return _0x3d34a2;})});}_0x4d1c90=_[_0xb3e3('0x42')]({},_0x4d1c90,_0x4289e4[_0xb3e3('0x44')]);return _0x278d43[_0xb3e3('0x57')](_0x4d1c90);}})['then'](function(_0x279eda){if(_0x279eda){_0x2fa533=_0x279eda['length'];if(!_0x4289e4[_0xb3e3('0x37')]['hasOwnProperty'](_0xb3e3('0x3c'))){_0x4d1c90[_0xb3e3('0x27')]=qs['limit'](_0x4289e4[_0xb3e3('0x37')]['limit']);_0x4d1c90[_0xb3e3('0x26')]=qs[_0xb3e3('0x26')](_0x4289e4['query'][_0xb3e3('0x26')]);}return _0x278d43[_0xb3e3('0x57')](_0x4d1c90);}})[_0xb3e3('0x18')](function(_0x32895a){if(_0x32895a){return _0x32895a?{'count':_0x2fa533,'rows':_0x32895a}:null;}})[_0xb3e3('0x18')](respondWithResult(_0xb9ba46,null))[_0xb3e3('0x21')](handleError(_0xb9ba46,null));};exports['setTags']=function(_0x35a7a0,_0x1b4761,_0x245049){if(_0x35a7a0['body']['id']){delete _0x35a7a0[_0xb3e3('0x4f')]['id'];}return db[_0xb3e3('0x33')][_0xb3e3('0x51')]({'where':{'id':_0x35a7a0[_0xb3e3('0x4a')]['id']}})[_0xb3e3('0x18')](handleEntityNotFound(_0x1b4761,null))[_0xb3e3('0x18')](function(_0x1eca11){if(_0x1eca11){return _0x1eca11['setTags'](_0x35a7a0[_0xb3e3('0x4f')][_0xb3e3('0x59')]||[]);}return null;})[_0xb3e3('0x18')](respondWithResult(_0x1b4761,null))['catch'](handleError(_0x1b4761,null));};