7171cd4db47cb7a11cdcb245489586b1ab7ef029
[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 _0x4057=['length','hasOwnProperty','limit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','params','rawAttributes','find','create','body','getFields','findOne','nolimit','getSubjects','getDescriptions','FreshdeskField','getTags','Tag','setTags','ids','eml-format','rimraf','zip-dir','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','undefined','count','offset','set','json','apply','reject','save','update','then','destroy','error','stack','name','index','map','FreshdeskConfiguration','fieldName','type','model','keys','query','filters','intersection','attributes','fields'];(function(_0x152449,_0x49f41d){var _0x5b58b2=function(_0x226c30){while(--_0x226c30){_0x152449['push'](_0x152449['shift']());}};_0x5b58b2(++_0x49f41d);}(_0x4057,0x163));var _0x7405=function(_0x571efc,_0x58ed0c){_0x571efc=_0x571efc-0x0;var _0xa4cabb=_0x4057[_0x571efc];return _0xa4cabb;};'use strict';var emlformat=require(_0x7405('0x0'));var rimraf=require(_0x7405('0x1'));var zipdir=require(_0x7405('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x7405('0x3'));var Mustache=require(_0x7405('0x4'));var util=require(_0x7405('0x5'));var path=require('path');var sox=require(_0x7405('0x6'));var csv=require(_0x7405('0x7'));var ejs=require(_0x7405('0x8'));var fs=require('fs');var fs_extra=require(_0x7405('0x9'));var _=require(_0x7405('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x7405('0xb'));var deskjs=require(_0x7405('0xc'));var toCsv=require('to-csv');var querystring=require(_0x7405('0xd'));var Papa=require(_0x7405('0xe'));var Redis=require('ioredis');var authService=require(_0x7405('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7405('0x10'));var logger=require(_0x7405('0x11'))(_0x7405('0x12'));var utils=require(_0x7405('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x7405('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x333101,_0x5db721){_0x5db721=_0x5db721||0xcc;return function(_0x31b235){if(_0x31b235){return _0x333101[_0x7405('0x15')](_0x5db721);}return _0x333101[_0x7405('0x16')](_0x5db721)[_0x7405('0x17')]();};}function respondWithResult(_0x41fc9d,_0x3dd449){_0x3dd449=_0x3dd449||0xc8;return function(_0x5d3c29){if(_0x5d3c29){return _0x41fc9d[_0x7405('0x16')](_0x3dd449)['json'](_0x5d3c29);}};}function respondWithFilteredResult(_0x5338cf,_0x2a847b){return function(_0x290aeb){if(_0x290aeb){var _0x1f105b=typeof _0x2a847b['offset']===_0x7405('0x18')&&typeof _0x2a847b['limit']===_0x7405('0x18');var _0x58a920=_0x290aeb[_0x7405('0x19')];var _0x35ec5d=_0x1f105b?0x0:_0x2a847b[_0x7405('0x1a')];var _0x482def=_0x1f105b?_0x290aeb['count']:_0x2a847b[_0x7405('0x1a')]+_0x2a847b['limit'];var _0x3c035b;if(_0x482def>=_0x58a920){_0x482def=_0x58a920;_0x3c035b=0xc8;}else{_0x3c035b=0xce;}_0x5338cf['status'](_0x3c035b);return _0x5338cf[_0x7405('0x1b')]('Content-Range',_0x35ec5d+'-'+_0x482def+'/'+_0x58a920)[_0x7405('0x1c')](_0x290aeb);}return null;};}function patchUpdates(_0x307afa){return function(_0x21ebb7){try{jsonpatch[_0x7405('0x1d')](_0x21ebb7,_0x307afa,!![]);}catch(_0x17f94d){return BPromise[_0x7405('0x1e')](_0x17f94d);}return _0x21ebb7[_0x7405('0x1f')]();};}function saveUpdates(_0x817b63,_0x265a82){return function(_0x2a42f2){if(_0x2a42f2){return _0x2a42f2[_0x7405('0x20')](_0x817b63)[_0x7405('0x21')](function(_0x43a30b){return _0x43a30b;});}return null;};}function removeEntity(_0x465d68,_0x2bb69c){return function(_0x156a6c){if(_0x156a6c){return _0x156a6c[_0x7405('0x22')]()['then'](function(){_0x465d68[_0x7405('0x16')](0xcc)[_0x7405('0x17')]();});}};}function handleEntityNotFound(_0x99301c,_0xc92ae3){return function(_0x4b8092){if(!_0x4b8092){_0x99301c['sendStatus'](0x194);}return _0x4b8092;};}function handleError(_0x577a4c,_0x17f3c8){_0x17f3c8=_0x17f3c8||0x1f4;return function(_0x3eb692){logger[_0x7405('0x23')](_0x3eb692[_0x7405('0x24')]);if(_0x3eb692[_0x7405('0x25')]){delete _0x3eb692[_0x7405('0x25')];}_0x577a4c[_0x7405('0x16')](_0x17f3c8)['send'](_0x3eb692);};}exports[_0x7405('0x26')]=function(_0x320641,_0x1703c1){var _0x3e3815={},_0x29a3f6={},_0x26a082={'count':0x0,'rows':[]};var _0x45eb9d=_[_0x7405('0x27')](db[_0x7405('0x28')]['rawAttributes'],function(_0x502e10){return{'name':_0x502e10[_0x7405('0x29')],'type':_0x502e10[_0x7405('0x2a')]['key']};});_0x29a3f6[_0x7405('0x2b')]=_[_0x7405('0x27')](_0x45eb9d,_0x7405('0x25'));_0x29a3f6['query']=_[_0x7405('0x2c')](_0x320641[_0x7405('0x2d')]);_0x29a3f6[_0x7405('0x2e')]=_[_0x7405('0x2f')](_0x29a3f6[_0x7405('0x2b')],_0x29a3f6[_0x7405('0x2d')]);_0x3e3815[_0x7405('0x30')]=_[_0x7405('0x2f')](_0x29a3f6[_0x7405('0x2b')],qs[_0x7405('0x31')](_0x320641[_0x7405('0x2d')][_0x7405('0x31')]));_0x3e3815[_0x7405('0x30')]=_0x3e3815[_0x7405('0x30')][_0x7405('0x32')]?_0x3e3815[_0x7405('0x30')]:_0x29a3f6[_0x7405('0x2b')];if(!_0x320641[_0x7405('0x2d')][_0x7405('0x33')]('nolimit')){_0x3e3815[_0x7405('0x34')]=qs[_0x7405('0x34')](_0x320641[_0x7405('0x2d')]['limit']);_0x3e3815[_0x7405('0x1a')]=qs[_0x7405('0x1a')](_0x320641[_0x7405('0x2d')]['offset']);}_0x3e3815[_0x7405('0x35')]=qs[_0x7405('0x36')](_0x320641[_0x7405('0x2d')][_0x7405('0x36')]);_0x3e3815['where']=qs['filters'](_[_0x7405('0x37')](_0x320641[_0x7405('0x2d')],_0x29a3f6[_0x7405('0x2e')]),_0x45eb9d);if(_0x320641[_0x7405('0x2d')][_0x7405('0x38')]){_0x3e3815[_0x7405('0x39')]=_[_0x7405('0x3a')](_0x3e3815[_0x7405('0x39')],{'$or':_['map'](_0x45eb9d,function(_0x26b760){if(_0x26b760['type']!==_0x7405('0x3b')){var _0x1c7efe={};_0x1c7efe[_0x26b760[_0x7405('0x25')]]={'$like':'%'+_0x320641['query']['filter']+'%'};return _0x1c7efe;}})});}_0x3e3815=_['merge']({},_0x3e3815,_0x320641[_0x7405('0x3c')]);var _0x3d7d0e={'where':_0x3e3815['where']};return db[_0x7405('0x28')][_0x7405('0x19')](_0x3d7d0e)[_0x7405('0x21')](function(_0x1d5dc6){_0x26a082[_0x7405('0x19')]=_0x1d5dc6;if(_0x320641[_0x7405('0x2d')][_0x7405('0x3d')]){_0x3e3815[_0x7405('0x3e')]=[{'all':!![]}];}return db[_0x7405('0x28')][_0x7405('0x3f')](_0x3e3815);})['then'](function(_0x3343d4){_0x26a082['rows']=_0x3343d4;return _0x26a082;})[_0x7405('0x21')](respondWithFilteredResult(_0x1703c1,_0x3e3815))[_0x7405('0x40')](handleError(_0x1703c1,null));};exports[_0x7405('0x41')]=function(_0x46fdcc,_0x42b646){var _0x475a23={'raw':![],'where':{'id':_0x46fdcc[_0x7405('0x42')]['id']}},_0x19e266={};_0x19e266[_0x7405('0x2b')]=_[_0x7405('0x2c')](db[_0x7405('0x28')][_0x7405('0x43')]);_0x19e266[_0x7405('0x2d')]=_[_0x7405('0x2c')](_0x46fdcc[_0x7405('0x2d')]);_0x19e266[_0x7405('0x2e')]=_[_0x7405('0x2f')](_0x19e266[_0x7405('0x2b')],_0x19e266[_0x7405('0x2d')]);_0x475a23[_0x7405('0x30')]=_['intersection'](_0x19e266[_0x7405('0x2b')],qs['fields'](_0x46fdcc['query'][_0x7405('0x31')]));_0x475a23[_0x7405('0x30')]=_0x475a23['attributes'][_0x7405('0x32')]?_0x475a23[_0x7405('0x30')]:_0x19e266[_0x7405('0x2b')];if(_0x46fdcc[_0x7405('0x2d')]['includeAll']){_0x475a23[_0x7405('0x3e')]=[{'all':!![]}];}_0x475a23=_[_0x7405('0x3a')]({},_0x475a23,_0x46fdcc[_0x7405('0x3c')]);return db['FreshdeskConfiguration'][_0x7405('0x44')](_0x475a23)[_0x7405('0x21')](handleEntityNotFound(_0x42b646,null))['then'](respondWithResult(_0x42b646,null))[_0x7405('0x40')](handleError(_0x42b646,null));};exports[_0x7405('0x45')]=function(_0xc3b680,_0x4537f1){return db[_0x7405('0x28')]['create'](_0xc3b680[_0x7405('0x46')],{})[_0x7405('0x21')](respondWithResult(_0x4537f1,0xc9))[_0x7405('0x40')](handleError(_0x4537f1,null));};exports[_0x7405('0x20')]=function(_0x1918e,_0xfe0fae){if(_0x1918e[_0x7405('0x46')]['id']){delete _0x1918e[_0x7405('0x46')]['id'];}return db[_0x7405('0x28')]['find']({'where':{'id':_0x1918e[_0x7405('0x42')]['id']}})['then'](handleEntityNotFound(_0xfe0fae,null))[_0x7405('0x21')](saveUpdates(_0x1918e[_0x7405('0x46')],null))['then'](respondWithResult(_0xfe0fae,null))[_0x7405('0x40')](handleError(_0xfe0fae,null));};exports['destroy']=function(_0x53c435,_0x4f5022){return db[_0x7405('0x28')][_0x7405('0x44')]({'where':{'id':_0x53c435['params']['id']}})[_0x7405('0x21')](handleEntityNotFound(_0x4f5022,null))[_0x7405('0x21')](removeEntity(_0x4f5022,null))['catch'](handleError(_0x4f5022,null));};exports[_0x7405('0x47')]=function(_0x325823,_0x266cb3,_0x4497f7){var _0x55e7dd={};var _0x366aba={};var _0x1b2563;var _0x508c78;return db[_0x7405('0x28')][_0x7405('0x48')]({'where':{'id':_0x325823[_0x7405('0x42')]['id']}})[_0x7405('0x21')](handleEntityNotFound(_0x266cb3,null))[_0x7405('0x21')](function(_0x1bf288){if(_0x1bf288){_0x1b2563=_0x1bf288;_0x366aba[_0x7405('0x2b')]=_[_0x7405('0x2c')](db['FreshdeskField'][_0x7405('0x43')]);_0x366aba[_0x7405('0x2d')]=_[_0x7405('0x2c')](_0x325823['query']);_0x366aba[_0x7405('0x2e')]=_[_0x7405('0x2f')](_0x366aba['model'],_0x366aba[_0x7405('0x2d')]);_0x55e7dd[_0x7405('0x30')]=_['intersection'](_0x366aba[_0x7405('0x2b')],qs[_0x7405('0x31')](_0x325823[_0x7405('0x2d')][_0x7405('0x31')]));_0x55e7dd[_0x7405('0x30')]=_0x55e7dd[_0x7405('0x30')][_0x7405('0x32')]?_0x55e7dd[_0x7405('0x30')]:_0x366aba[_0x7405('0x2b')];_0x55e7dd[_0x7405('0x35')]=qs[_0x7405('0x36')](_0x325823[_0x7405('0x2d')][_0x7405('0x36')]);_0x55e7dd[_0x7405('0x39')]=qs[_0x7405('0x2e')](_[_0x7405('0x37')](_0x325823[_0x7405('0x2d')],_0x366aba[_0x7405('0x2e')]));if(_0x325823['query'][_0x7405('0x38')]){_0x55e7dd['where']=_[_0x7405('0x3a')](_0x55e7dd[_0x7405('0x39')],{'$or':_['map'](_0x55e7dd[_0x7405('0x30')],function(_0x14916c){var _0x103d73={};_0x103d73[_0x14916c]={'$like':'%'+_0x325823[_0x7405('0x2d')]['filter']+'%'};return _0x103d73;})});}_0x55e7dd=_[_0x7405('0x3a')]({},_0x55e7dd,_0x325823[_0x7405('0x3c')]);return _0x1b2563[_0x7405('0x47')](_0x55e7dd);}})[_0x7405('0x21')](function(_0x46f49d){if(_0x46f49d){_0x508c78=_0x46f49d[_0x7405('0x32')];if(!_0x325823[_0x7405('0x2d')][_0x7405('0x33')](_0x7405('0x49'))){_0x55e7dd[_0x7405('0x34')]=qs[_0x7405('0x34')](_0x325823['query']['limit']);_0x55e7dd[_0x7405('0x1a')]=qs[_0x7405('0x1a')](_0x325823[_0x7405('0x2d')][_0x7405('0x1a')]);}return _0x1b2563[_0x7405('0x47')](_0x55e7dd);}})[_0x7405('0x21')](function(_0x14d6c8){if(_0x14d6c8){return _0x14d6c8?{'count':_0x508c78,'rows':_0x14d6c8}:null;}})[_0x7405('0x21')](respondWithResult(_0x266cb3,null))[_0x7405('0x40')](handleError(_0x266cb3,null));};exports[_0x7405('0x4a')]=function(_0x45243b,_0x4103cb,_0x1c201f){var _0x1ed59f={};var _0x3eae54={};var _0x5b2bfd;var _0x532c68;return db[_0x7405('0x28')][_0x7405('0x48')]({'where':{'id':_0x45243b[_0x7405('0x42')]['id']}})['then'](handleEntityNotFound(_0x4103cb,null))[_0x7405('0x21')](function(_0x4d1db9){if(_0x4d1db9){_0x5b2bfd=_0x4d1db9;_0x3eae54[_0x7405('0x2b')]=_[_0x7405('0x2c')](db['FreshdeskField'][_0x7405('0x43')]);_0x3eae54['query']=_[_0x7405('0x2c')](_0x45243b[_0x7405('0x2d')]);_0x3eae54[_0x7405('0x2e')]=_[_0x7405('0x2f')](_0x3eae54[_0x7405('0x2b')],_0x3eae54[_0x7405('0x2d')]);_0x1ed59f[_0x7405('0x30')]=_[_0x7405('0x2f')](_0x3eae54[_0x7405('0x2b')],qs[_0x7405('0x31')](_0x45243b[_0x7405('0x2d')]['fields']));_0x1ed59f[_0x7405('0x30')]=_0x1ed59f[_0x7405('0x30')][_0x7405('0x32')]?_0x1ed59f['attributes']:_0x3eae54['model'];_0x1ed59f['order']=qs[_0x7405('0x36')](_0x45243b['query'][_0x7405('0x36')]);_0x1ed59f['where']=qs[_0x7405('0x2e')](_['pick'](_0x45243b[_0x7405('0x2d')],_0x3eae54[_0x7405('0x2e')]));if(_0x45243b[_0x7405('0x2d')][_0x7405('0x38')]){_0x1ed59f[_0x7405('0x39')]=_[_0x7405('0x3a')](_0x1ed59f['where'],{'$or':_[_0x7405('0x27')](_0x1ed59f['attributes'],function(_0x3921a1){var _0x24427a={};_0x24427a[_0x3921a1]={'$like':'%'+_0x45243b['query'][_0x7405('0x38')]+'%'};return _0x24427a;})});}_0x1ed59f=_['merge']({},_0x1ed59f,_0x45243b['options']);return _0x5b2bfd[_0x7405('0x4a')](_0x1ed59f);}})[_0x7405('0x21')](function(_0x5c8203){if(_0x5c8203){_0x532c68=_0x5c8203['length'];if(!_0x45243b[_0x7405('0x2d')][_0x7405('0x33')](_0x7405('0x49'))){_0x1ed59f[_0x7405('0x34')]=qs[_0x7405('0x34')](_0x45243b[_0x7405('0x2d')]['limit']);_0x1ed59f['offset']=qs[_0x7405('0x1a')](_0x45243b['query'][_0x7405('0x1a')]);}return _0x5b2bfd[_0x7405('0x4a')](_0x1ed59f);}})[_0x7405('0x21')](function(_0x468af4){if(_0x468af4){return _0x468af4?{'count':_0x532c68,'rows':_0x468af4}:null;}})[_0x7405('0x21')](respondWithResult(_0x4103cb,null))['catch'](handleError(_0x4103cb,null));};exports[_0x7405('0x4b')]=function(_0x2604d4,_0x4a0988,_0x4b269f){var _0x9ffa8a={};var _0x2e8b42={};var _0x14701a;var _0x1713b4;return db[_0x7405('0x28')][_0x7405('0x48')]({'where':{'id':_0x2604d4[_0x7405('0x42')]['id']}})[_0x7405('0x21')](handleEntityNotFound(_0x4a0988,null))[_0x7405('0x21')](function(_0x3860cd){if(_0x3860cd){_0x14701a=_0x3860cd;_0x2e8b42[_0x7405('0x2b')]=_[_0x7405('0x2c')](db[_0x7405('0x4c')]['rawAttributes']);_0x2e8b42['query']=_['keys'](_0x2604d4[_0x7405('0x2d')]);_0x2e8b42[_0x7405('0x2e')]=_[_0x7405('0x2f')](_0x2e8b42[_0x7405('0x2b')],_0x2e8b42[_0x7405('0x2d')]);_0x9ffa8a[_0x7405('0x30')]=_[_0x7405('0x2f')](_0x2e8b42[_0x7405('0x2b')],qs[_0x7405('0x31')](_0x2604d4['query'][_0x7405('0x31')]));_0x9ffa8a[_0x7405('0x30')]=_0x9ffa8a[_0x7405('0x30')][_0x7405('0x32')]?_0x9ffa8a[_0x7405('0x30')]:_0x2e8b42[_0x7405('0x2b')];_0x9ffa8a[_0x7405('0x35')]=qs['sort'](_0x2604d4[_0x7405('0x2d')][_0x7405('0x36')]);_0x9ffa8a[_0x7405('0x39')]=qs[_0x7405('0x2e')](_[_0x7405('0x37')](_0x2604d4['query'],_0x2e8b42[_0x7405('0x2e')]));if(_0x2604d4[_0x7405('0x2d')][_0x7405('0x38')]){_0x9ffa8a[_0x7405('0x39')]=_['merge'](_0x9ffa8a[_0x7405('0x39')],{'$or':_['map'](_0x9ffa8a[_0x7405('0x30')],function(_0x22ff8b){var _0x5f2f17={};_0x5f2f17[_0x22ff8b]={'$like':'%'+_0x2604d4[_0x7405('0x2d')][_0x7405('0x38')]+'%'};return _0x5f2f17;})});}_0x9ffa8a=_[_0x7405('0x3a')]({},_0x9ffa8a,_0x2604d4['options']);return _0x14701a[_0x7405('0x4b')](_0x9ffa8a);}})[_0x7405('0x21')](function(_0x33a8d3){if(_0x33a8d3){_0x1713b4=_0x33a8d3[_0x7405('0x32')];if(!_0x2604d4[_0x7405('0x2d')][_0x7405('0x33')]('nolimit')){_0x9ffa8a[_0x7405('0x34')]=qs['limit'](_0x2604d4['query'][_0x7405('0x34')]);_0x9ffa8a[_0x7405('0x1a')]=qs['offset'](_0x2604d4[_0x7405('0x2d')][_0x7405('0x1a')]);}return _0x14701a['getDescriptions'](_0x9ffa8a);}})[_0x7405('0x21')](function(_0x5b04df){if(_0x5b04df){return _0x5b04df?{'count':_0x1713b4,'rows':_0x5b04df}:null;}})['then'](respondWithResult(_0x4a0988,null))[_0x7405('0x40')](handleError(_0x4a0988,null));};exports[_0x7405('0x4d')]=function(_0x51205,_0x29d687,_0x4dc90e){var _0x1c6864={};var _0x2baaa6={};var _0x58f88e;var _0x5fb2b1;return db[_0x7405('0x28')][_0x7405('0x48')]({'where':{'id':_0x51205[_0x7405('0x42')]['id']}})[_0x7405('0x21')](handleEntityNotFound(_0x29d687,null))[_0x7405('0x21')](function(_0x47e1cb){if(_0x47e1cb){_0x58f88e=_0x47e1cb;_0x2baaa6[_0x7405('0x2b')]=_['keys'](db[_0x7405('0x4e')]['rawAttributes']);_0x2baaa6[_0x7405('0x2d')]=_['keys'](_0x51205[_0x7405('0x2d')]);_0x2baaa6[_0x7405('0x2e')]=_[_0x7405('0x2f')](_0x2baaa6['model'],_0x2baaa6[_0x7405('0x2d')]);_0x1c6864['attributes']=_[_0x7405('0x2f')](_0x2baaa6[_0x7405('0x2b')],qs[_0x7405('0x31')](_0x51205[_0x7405('0x2d')]['fields']));_0x1c6864[_0x7405('0x30')]=_0x1c6864[_0x7405('0x30')][_0x7405('0x32')]?_0x1c6864['attributes']:_0x2baaa6[_0x7405('0x2b')];_0x1c6864[_0x7405('0x35')]=qs['sort'](_0x51205[_0x7405('0x2d')][_0x7405('0x36')]);_0x1c6864[_0x7405('0x39')]=qs['filters'](_['pick'](_0x51205[_0x7405('0x2d')],_0x2baaa6[_0x7405('0x2e')]));if(_0x51205[_0x7405('0x2d')][_0x7405('0x38')]){_0x1c6864[_0x7405('0x39')]=_[_0x7405('0x3a')](_0x1c6864[_0x7405('0x39')],{'$or':_[_0x7405('0x27')](_0x1c6864['attributes'],function(_0x41d79a){var _0x2a94f6={};_0x2a94f6[_0x41d79a]={'$like':'%'+_0x51205['query'][_0x7405('0x38')]+'%'};return _0x2a94f6;})});}_0x1c6864=_[_0x7405('0x3a')]({},_0x1c6864,_0x51205['options']);return _0x58f88e[_0x7405('0x4d')](_0x1c6864);}})[_0x7405('0x21')](function(_0x614cf3){if(_0x614cf3){_0x5fb2b1=_0x614cf3['length'];if(!_0x51205[_0x7405('0x2d')]['hasOwnProperty'](_0x7405('0x49'))){_0x1c6864[_0x7405('0x34')]=qs[_0x7405('0x34')](_0x51205[_0x7405('0x2d')]['limit']);_0x1c6864[_0x7405('0x1a')]=qs[_0x7405('0x1a')](_0x51205['query'][_0x7405('0x1a')]);}return _0x58f88e['getTags'](_0x1c6864);}})[_0x7405('0x21')](function(_0x4b5fc9){if(_0x4b5fc9){return _0x4b5fc9?{'count':_0x5fb2b1,'rows':_0x4b5fc9}:null;}})[_0x7405('0x21')](respondWithResult(_0x29d687,null))['catch'](handleError(_0x29d687,null));};exports[_0x7405('0x4f')]=function(_0x1c0575,_0x8e2aa7,_0x45763c){if(_0x1c0575[_0x7405('0x46')]['id']){delete _0x1c0575[_0x7405('0x46')]['id'];}return db[_0x7405('0x28')][_0x7405('0x48')]({'where':{'id':_0x1c0575[_0x7405('0x42')]['id']}})[_0x7405('0x21')](handleEntityNotFound(_0x8e2aa7,null))[_0x7405('0x21')](function(_0x1ff8f4){if(_0x1ff8f4){return _0x1ff8f4['setTags'](_0x1c0575[_0x7405('0x46')][_0x7405('0x50')]||[]);}return null;})['then'](respondWithResult(_0x8e2aa7,null))[_0x7405('0x40')](handleError(_0x8e2aa7,null));};