Built motion from commit (unavailable).|2.4.18
[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 _0x88c7=['catch','create','body','update','find','findOne','FreshdeskField','getFields','hasOwnProperty','getSubjects','getDescriptions','getTags','Tag','setTags','ids','html-pdf','zip-dir','fast-json-patch','bluebird','mustache','path','sox','ejs','lodash','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','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','info','FreshdeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','FreshdeskConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','message','result','status','end','json','count','offset','limit','set','apply','reject','save','then','stack','name','send','index','map','FreshdeskConfiguration','rawAttributes','fieldName','key','model','keys','intersection','query','attributes','fields','nolimit','order','sort','filters','pick','filter','where','type','VIRTUAL','merge','options','includeAll','include','findAll','rows','params','length'];(function(_0x4c212c,_0x5b0c1e){var _0x1cde08=function(_0x58e7fc){while(--_0x58e7fc){_0x4c212c['push'](_0x4c212c['shift']());}};_0x1cde08(++_0x5b0c1e);}(_0x88c7,0x6f));var _0x788c=function(_0x388e38,_0x40abb3){_0x388e38=_0x388e38-0x0;var _0x138fe1=_0x88c7[_0x388e38];return _0x138fe1;};'use strict';var pdf=require(_0x788c('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x788c('0x1'));var jsonpatch=require(_0x788c('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x788c('0x3'));var Mustache=require(_0x788c('0x4'));var util=require('util');var path=require(_0x788c('0x5'));var sox=require(_0x788c('0x6'));var csv=require('to-csv');var ejs=require(_0x788c('0x7'));var fs=require('fs');var _=require(_0x788c('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x788c('0x9'));var deskjs=require(_0x788c('0xa'));var toCsv=require(_0x788c('0xb'));var querystring=require(_0x788c('0xc'));var Papa=require(_0x788c('0xd'));var Redis=require('ioredis');var authService=require(_0x788c('0xe'));var qs=require(_0x788c('0xf'));var as=require(_0x788c('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x788c('0x11'))(_0x788c('0x12'));var utils=require(_0x788c('0x13'));var config=require(_0x788c('0x14'));var db=require(_0x788c('0x15'))['db'];var jayson=require(_0x788c('0x16'));var client=jayson['client'][_0x788c('0x17')]({'port':0x232a});function checkPasswordPattern(_0x579e54,_0x3ccdca,_0x4dfc4e){if(_0x4dfc4e){var _0xdab417=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0xdab417[_0x788c('0x18')](_0x3ccdca)){return _0x579e54;}else{throw new db[(_0x788c('0x19'))][(_0x788c('0x1a'))](_0x788c('0x1b'));}}else{return _0x579e54;}}function respondWithRpcPromise(_0x7249ae,_0x3d7971,_0x3d837d,_0x2b6e32){return new BPromise(function(_0x41d920,_0x67dc6c){var _0xa118b5=_0x2b6e32||client;return _0xa118b5[_0x788c('0x1c')](_0x7249ae,_0x3d837d)['then'](function(_0x2f3b41){logger[_0x788c('0x1d')](_0x788c('0x1e'),_0x3d7971,_0x788c('0x1f'));logger[_0x788c('0x20')](_0x788c('0x21'),_0x3d7971,_0x788c('0x1f'),JSON[_0x788c('0x22')](_0x2f3b41));if(_0x2f3b41[_0x788c('0x23')]){if(_0x2f3b41[_0x788c('0x23')]['code']===0x1f4){logger[_0x788c('0x23')](_0x788c('0x1e'),_0x3d7971,_0x2f3b41[_0x788c('0x23')][_0x788c('0x24')]);return _0x67dc6c(_0x2f3b41[_0x788c('0x23')][_0x788c('0x24')]);}logger[_0x788c('0x23')](_0x788c('0x1e'),_0x3d7971,_0x2f3b41['error'][_0x788c('0x24')]);return _0x41d920(_0x2f3b41[_0x788c('0x23')][_0x788c('0x24')]);}else{logger[_0x788c('0x1d')](_0x788c('0x1e'),_0x3d7971,_0x788c('0x1f'));_0x41d920(_0x2f3b41[_0x788c('0x25')][_0x788c('0x24')]);}})['catch'](function(_0x3bf479){logger[_0x788c('0x23')]('FreshdeskConfiguration,\x20%s,\x20%s',_0x3d7971,_0x3bf479);_0x67dc6c(_0x3bf479);});});}function respondWithStatusCode(_0x14e2f1,_0x32353e){_0x32353e=_0x32353e||0xcc;return function(_0x16741c){if(_0x16741c){return _0x14e2f1['sendStatus'](_0x32353e);}return _0x14e2f1[_0x788c('0x26')](_0x32353e)[_0x788c('0x27')]();};}function respondWithResult(_0x28fa56,_0x37d2eb){_0x37d2eb=_0x37d2eb||0xc8;return function(_0x200134){if(_0x200134){return _0x28fa56[_0x788c('0x26')](_0x37d2eb)[_0x788c('0x28')](_0x200134);}};}function respondWithFilteredResult(_0x12fdbc,_0x2dbf2d){return function(_0x4fa90a){if(_0x4fa90a){var _0x4380f4=_0x4fa90a[_0x788c('0x29')],_0x57966d=_0x2dbf2d[_0x788c('0x2a')],_0x297ea6=_0x2dbf2d[_0x788c('0x2a')]+_0x2dbf2d[_0x788c('0x2b')],_0x18b271;if(_0x297ea6>=_0x4380f4){_0x297ea6=_0x4380f4;_0x18b271=0xc8;}else{_0x18b271=0xce;}_0x12fdbc[_0x788c('0x26')](_0x18b271);return _0x12fdbc[_0x788c('0x2c')]('Content-Range',_0x57966d+'-'+_0x297ea6+'/'+_0x4380f4)[_0x788c('0x28')](_0x4fa90a);}return null;};}function patchUpdates(_0x4e9b20){return function(_0x2b9bbb){try{jsonpatch[_0x788c('0x2d')](_0x2b9bbb,_0x4e9b20,!![]);}catch(_0x43509d){return BPromise[_0x788c('0x2e')](_0x43509d);}return _0x2b9bbb[_0x788c('0x2f')]();};}function saveUpdates(_0x19f6d5,_0x5ee705){return function(_0x2d719e){if(_0x2d719e){return _0x2d719e['update'](_0x19f6d5)[_0x788c('0x30')](function(_0x4d15d6){return _0x4d15d6;});}return null;};}function removeEntity(_0x4245ce,_0x57a030){return function(_0x2532e8){if(_0x2532e8){return _0x2532e8['destroy']()['then'](function(){_0x4245ce[_0x788c('0x26')](0xcc)[_0x788c('0x27')]();});}};}function handleEntityNotFound(_0x4eced2,_0x40b93d){return function(_0x45a0d4){if(!_0x45a0d4){_0x4eced2['sendStatus'](0x194);}return _0x45a0d4;};}function handleError(_0x1a4ce8,_0x5d2ced){_0x5d2ced=_0x5d2ced||0x1f4;return function(_0x581e7e){logger[_0x788c('0x23')](_0x581e7e[_0x788c('0x31')]);if(_0x581e7e[_0x788c('0x32')]){delete _0x581e7e['name'];}_0x1a4ce8['status'](_0x5d2ced)[_0x788c('0x33')](_0x581e7e);};}exports[_0x788c('0x34')]=function(_0x4ab290,_0x4d31c1){var _0x5040f0={},_0x81c866={},_0x5c889f={'count':0x0,'rows':[]};var _0x2c5b3c=_[_0x788c('0x35')](db[_0x788c('0x36')][_0x788c('0x37')],function(_0x9a0da7){return{'name':_0x9a0da7[_0x788c('0x38')],'type':_0x9a0da7['type'][_0x788c('0x39')]};});_0x81c866[_0x788c('0x3a')]=_[_0x788c('0x35')](_0x2c5b3c,'name');_0x81c866['query']=_[_0x788c('0x3b')](_0x4ab290['query']);_0x81c866['filters']=_[_0x788c('0x3c')](_0x81c866[_0x788c('0x3a')],_0x81c866[_0x788c('0x3d')]);_0x5040f0[_0x788c('0x3e')]=_[_0x788c('0x3c')](_0x81c866[_0x788c('0x3a')],qs[_0x788c('0x3f')](_0x4ab290['query']['fields']));_0x5040f0[_0x788c('0x3e')]=_0x5040f0[_0x788c('0x3e')]['length']?_0x5040f0[_0x788c('0x3e')]:_0x81c866[_0x788c('0x3a')];if(!_0x4ab290[_0x788c('0x3d')]['hasOwnProperty'](_0x788c('0x40'))){_0x5040f0[_0x788c('0x2b')]=qs[_0x788c('0x2b')](_0x4ab290[_0x788c('0x3d')][_0x788c('0x2b')]);_0x5040f0[_0x788c('0x2a')]=qs[_0x788c('0x2a')](_0x4ab290[_0x788c('0x3d')][_0x788c('0x2a')]);}_0x5040f0[_0x788c('0x41')]=qs[_0x788c('0x42')](_0x4ab290[_0x788c('0x3d')][_0x788c('0x42')]);_0x5040f0['where']=qs[_0x788c('0x43')](_[_0x788c('0x44')](_0x4ab290[_0x788c('0x3d')],_0x81c866['filters']));if(_0x4ab290['query'][_0x788c('0x45')]){_0x5040f0[_0x788c('0x46')]=_['merge'](_0x5040f0[_0x788c('0x46')],{'$or':_[_0x788c('0x35')](_0x2c5b3c,function(_0x10bd71){if(_0x10bd71[_0x788c('0x47')]!==_0x788c('0x48')){var _0x5afe5f={};_0x5afe5f[_0x10bd71['name']]={'$like':'%'+_0x4ab290[_0x788c('0x3d')]['filter']+'%'};return _0x5afe5f;}})});}_0x5040f0=_[_0x788c('0x49')]({},_0x5040f0,_0x4ab290[_0x788c('0x4a')]);var _0x243b70={'where':_0x5040f0[_0x788c('0x46')]};return db['FreshdeskConfiguration'][_0x788c('0x29')](_0x243b70)[_0x788c('0x30')](function(_0x3e6ac2){_0x5c889f['count']=_0x3e6ac2;if(_0x4ab290[_0x788c('0x3d')][_0x788c('0x4b')]){_0x5040f0[_0x788c('0x4c')]=[{'all':!![]}];}return db[_0x788c('0x36')][_0x788c('0x4d')](_0x5040f0);})[_0x788c('0x30')](function(_0x10dc18){_0x5c889f[_0x788c('0x4e')]=_0x10dc18;return _0x5c889f;})['then'](respondWithFilteredResult(_0x4d31c1,_0x5040f0))['catch'](handleError(_0x4d31c1,null));};exports['show']=function(_0x48830b,_0x551cc1){var _0x41414e={'raw':![],'where':{'id':_0x48830b[_0x788c('0x4f')]['id']}},_0x51eeee={};_0x51eeee[_0x788c('0x3a')]=_[_0x788c('0x3b')](db[_0x788c('0x36')]['rawAttributes']);_0x51eeee[_0x788c('0x3d')]=_[_0x788c('0x3b')](_0x48830b[_0x788c('0x3d')]);_0x51eeee[_0x788c('0x43')]=_[_0x788c('0x3c')](_0x51eeee[_0x788c('0x3a')],_0x51eeee[_0x788c('0x3d')]);_0x41414e[_0x788c('0x3e')]=_[_0x788c('0x3c')](_0x51eeee[_0x788c('0x3a')],qs[_0x788c('0x3f')](_0x48830b['query']['fields']));_0x41414e[_0x788c('0x3e')]=_0x41414e[_0x788c('0x3e')][_0x788c('0x50')]?_0x41414e['attributes']:_0x51eeee['model'];if(_0x48830b[_0x788c('0x3d')][_0x788c('0x4b')]){_0x41414e[_0x788c('0x4c')]=[{'all':!![]}];}_0x41414e=_[_0x788c('0x49')]({},_0x41414e,_0x48830b['options']);return db['FreshdeskConfiguration']['find'](_0x41414e)[_0x788c('0x30')](handleEntityNotFound(_0x551cc1,null))[_0x788c('0x30')](respondWithResult(_0x551cc1,null))[_0x788c('0x51')](handleError(_0x551cc1,null));};exports[_0x788c('0x52')]=function(_0x218b7c,_0x564a13){return db[_0x788c('0x36')][_0x788c('0x52')](_0x218b7c[_0x788c('0x53')],{})[_0x788c('0x30')](respondWithResult(_0x564a13,0xc9))[_0x788c('0x51')](handleError(_0x564a13,null));};exports[_0x788c('0x54')]=function(_0x22d14c,_0xa71323){if(_0x22d14c[_0x788c('0x53')]['id']){delete _0x22d14c['body']['id'];}return db[_0x788c('0x36')][_0x788c('0x55')]({'where':{'id':_0x22d14c['params']['id']}})[_0x788c('0x30')](handleEntityNotFound(_0xa71323,null))[_0x788c('0x30')](saveUpdates(_0x22d14c[_0x788c('0x53')],null))['then'](respondWithResult(_0xa71323,null))[_0x788c('0x51')](handleError(_0xa71323,null));};exports['destroy']=function(_0x357c27,_0x22f8d5){return db[_0x788c('0x36')][_0x788c('0x55')]({'where':{'id':_0x357c27[_0x788c('0x4f')]['id']}})[_0x788c('0x30')](handleEntityNotFound(_0x22f8d5,null))[_0x788c('0x30')](removeEntity(_0x22f8d5,null))['catch'](handleError(_0x22f8d5,null));};exports['getFields']=function(_0x1b492a,_0x4a7ca8,_0x312efc){var _0x3d7195={};var _0x1eb472={};var _0x3ded88;var _0x3ca9b4;return db[_0x788c('0x36')][_0x788c('0x56')]({'where':{'id':_0x1b492a['params']['id']}})[_0x788c('0x30')](handleEntityNotFound(_0x4a7ca8,null))[_0x788c('0x30')](function(_0x56e217){if(_0x56e217){_0x3ded88=_0x56e217;_0x1eb472['model']=_[_0x788c('0x3b')](db[_0x788c('0x57')][_0x788c('0x37')]);_0x1eb472['query']=_[_0x788c('0x3b')](_0x1b492a[_0x788c('0x3d')]);_0x1eb472['filters']=_[_0x788c('0x3c')](_0x1eb472[_0x788c('0x3a')],_0x1eb472[_0x788c('0x3d')]);_0x3d7195[_0x788c('0x3e')]=_['intersection'](_0x1eb472['model'],qs[_0x788c('0x3f')](_0x1b492a[_0x788c('0x3d')][_0x788c('0x3f')]));_0x3d7195[_0x788c('0x3e')]=_0x3d7195['attributes'][_0x788c('0x50')]?_0x3d7195[_0x788c('0x3e')]:_0x1eb472[_0x788c('0x3a')];_0x3d7195[_0x788c('0x41')]=qs[_0x788c('0x42')](_0x1b492a[_0x788c('0x3d')][_0x788c('0x42')]);_0x3d7195[_0x788c('0x46')]=qs[_0x788c('0x43')](_['pick'](_0x1b492a['query'],_0x1eb472[_0x788c('0x43')]));if(_0x1b492a[_0x788c('0x3d')][_0x788c('0x45')]){_0x3d7195[_0x788c('0x46')]=_[_0x788c('0x49')](_0x3d7195['where'],{'$or':_[_0x788c('0x35')](_0x3d7195[_0x788c('0x3e')],function(_0x5308ec){var _0x513432={};_0x513432[_0x5308ec]={'$like':'%'+_0x1b492a['query']['filter']+'%'};return _0x513432;})});}_0x3d7195=_[_0x788c('0x49')]({},_0x3d7195,_0x1b492a['options']);return _0x3ded88[_0x788c('0x58')](_0x3d7195);}})['then'](function(_0x5b324e){if(_0x5b324e){_0x3ca9b4=_0x5b324e['length'];if(!_0x1b492a[_0x788c('0x3d')][_0x788c('0x59')](_0x788c('0x40'))){_0x3d7195[_0x788c('0x2b')]=qs['limit'](_0x1b492a[_0x788c('0x3d')][_0x788c('0x2b')]);_0x3d7195[_0x788c('0x2a')]=qs['offset'](_0x1b492a[_0x788c('0x3d')][_0x788c('0x2a')]);}return _0x3ded88[_0x788c('0x58')](_0x3d7195);}})['then'](function(_0x50bb62){if(_0x50bb62){return _0x50bb62?{'count':_0x3ca9b4,'rows':_0x50bb62}:null;}})[_0x788c('0x30')](respondWithResult(_0x4a7ca8,null))[_0x788c('0x51')](handleError(_0x4a7ca8,null));};exports['getSubjects']=function(_0xde5292,_0x4b390e,_0x136b13){var _0x5a3906={};var _0x201d45={};var _0x433ad9;var _0x258b32;return db[_0x788c('0x36')]['findOne']({'where':{'id':_0xde5292[_0x788c('0x4f')]['id']}})[_0x788c('0x30')](handleEntityNotFound(_0x4b390e,null))[_0x788c('0x30')](function(_0x49f397){if(_0x49f397){_0x433ad9=_0x49f397;_0x201d45[_0x788c('0x3a')]=_['keys'](db['FreshdeskField'][_0x788c('0x37')]);_0x201d45[_0x788c('0x3d')]=_['keys'](_0xde5292[_0x788c('0x3d')]);_0x201d45[_0x788c('0x43')]=_[_0x788c('0x3c')](_0x201d45['model'],_0x201d45[_0x788c('0x3d')]);_0x5a3906[_0x788c('0x3e')]=_['intersection'](_0x201d45[_0x788c('0x3a')],qs[_0x788c('0x3f')](_0xde5292['query'][_0x788c('0x3f')]));_0x5a3906[_0x788c('0x3e')]=_0x5a3906['attributes'][_0x788c('0x50')]?_0x5a3906[_0x788c('0x3e')]:_0x201d45[_0x788c('0x3a')];_0x5a3906[_0x788c('0x41')]=qs[_0x788c('0x42')](_0xde5292[_0x788c('0x3d')][_0x788c('0x42')]);_0x5a3906[_0x788c('0x46')]=qs[_0x788c('0x43')](_['pick'](_0xde5292['query'],_0x201d45[_0x788c('0x43')]));if(_0xde5292[_0x788c('0x3d')]['filter']){_0x5a3906[_0x788c('0x46')]=_[_0x788c('0x49')](_0x5a3906[_0x788c('0x46')],{'$or':_['map'](_0x5a3906[_0x788c('0x3e')],function(_0x3ac007){var _0x374e3f={};_0x374e3f[_0x3ac007]={'$like':'%'+_0xde5292[_0x788c('0x3d')][_0x788c('0x45')]+'%'};return _0x374e3f;})});}_0x5a3906=_[_0x788c('0x49')]({},_0x5a3906,_0xde5292[_0x788c('0x4a')]);return _0x433ad9[_0x788c('0x5a')](_0x5a3906);}})['then'](function(_0x7ee208){if(_0x7ee208){_0x258b32=_0x7ee208['length'];if(!_0xde5292[_0x788c('0x3d')][_0x788c('0x59')]('nolimit')){_0x5a3906[_0x788c('0x2b')]=qs['limit'](_0xde5292[_0x788c('0x3d')][_0x788c('0x2b')]);_0x5a3906[_0x788c('0x2a')]=qs[_0x788c('0x2a')](_0xde5292[_0x788c('0x3d')][_0x788c('0x2a')]);}return _0x433ad9[_0x788c('0x5a')](_0x5a3906);}})[_0x788c('0x30')](function(_0x186204){if(_0x186204){return _0x186204?{'count':_0x258b32,'rows':_0x186204}:null;}})['then'](respondWithResult(_0x4b390e,null))['catch'](handleError(_0x4b390e,null));};exports['getDescriptions']=function(_0x52e46d,_0x53c1f8,_0x310c70){var _0x326a6b={};var _0x2bd3f6={};var _0x4cad59;var _0xc26db2;return db[_0x788c('0x36')][_0x788c('0x56')]({'where':{'id':_0x52e46d[_0x788c('0x4f')]['id']}})[_0x788c('0x30')](handleEntityNotFound(_0x53c1f8,null))[_0x788c('0x30')](function(_0xa201db){if(_0xa201db){_0x4cad59=_0xa201db;_0x2bd3f6[_0x788c('0x3a')]=_[_0x788c('0x3b')](db[_0x788c('0x57')]['rawAttributes']);_0x2bd3f6['query']=_[_0x788c('0x3b')](_0x52e46d[_0x788c('0x3d')]);_0x2bd3f6[_0x788c('0x43')]=_[_0x788c('0x3c')](_0x2bd3f6[_0x788c('0x3a')],_0x2bd3f6[_0x788c('0x3d')]);_0x326a6b[_0x788c('0x3e')]=_[_0x788c('0x3c')](_0x2bd3f6[_0x788c('0x3a')],qs[_0x788c('0x3f')](_0x52e46d[_0x788c('0x3d')]['fields']));_0x326a6b[_0x788c('0x3e')]=_0x326a6b[_0x788c('0x3e')][_0x788c('0x50')]?_0x326a6b[_0x788c('0x3e')]:_0x2bd3f6[_0x788c('0x3a')];_0x326a6b[_0x788c('0x41')]=qs[_0x788c('0x42')](_0x52e46d[_0x788c('0x3d')][_0x788c('0x42')]);_0x326a6b[_0x788c('0x46')]=qs[_0x788c('0x43')](_['pick'](_0x52e46d[_0x788c('0x3d')],_0x2bd3f6[_0x788c('0x43')]));if(_0x52e46d[_0x788c('0x3d')]['filter']){_0x326a6b[_0x788c('0x46')]=_['merge'](_0x326a6b[_0x788c('0x46')],{'$or':_['map'](_0x326a6b[_0x788c('0x3e')],function(_0x538abb){var _0x37ff0b={};_0x37ff0b[_0x538abb]={'$like':'%'+_0x52e46d[_0x788c('0x3d')][_0x788c('0x45')]+'%'};return _0x37ff0b;})});}_0x326a6b=_[_0x788c('0x49')]({},_0x326a6b,_0x52e46d[_0x788c('0x4a')]);return _0x4cad59['getDescriptions'](_0x326a6b);}})[_0x788c('0x30')](function(_0x8c6d17){if(_0x8c6d17){_0xc26db2=_0x8c6d17['length'];if(!_0x52e46d[_0x788c('0x3d')][_0x788c('0x59')](_0x788c('0x40'))){_0x326a6b['limit']=qs['limit'](_0x52e46d[_0x788c('0x3d')][_0x788c('0x2b')]);_0x326a6b['offset']=qs['offset'](_0x52e46d[_0x788c('0x3d')][_0x788c('0x2a')]);}return _0x4cad59[_0x788c('0x5b')](_0x326a6b);}})[_0x788c('0x30')](function(_0x4134b1){if(_0x4134b1){return _0x4134b1?{'count':_0xc26db2,'rows':_0x4134b1}:null;}})[_0x788c('0x30')](respondWithResult(_0x53c1f8,null))[_0x788c('0x51')](handleError(_0x53c1f8,null));};exports[_0x788c('0x5c')]=function(_0x227ab1,_0xe5d243,_0x39d283){var _0x458333={};var _0x404903={};var _0x358294;var _0x3fc528;return db[_0x788c('0x36')][_0x788c('0x56')]({'where':{'id':_0x227ab1['params']['id']}})[_0x788c('0x30')](handleEntityNotFound(_0xe5d243,null))['then'](function(_0x526ff1){if(_0x526ff1){_0x358294=_0x526ff1;_0x404903[_0x788c('0x3a')]=_[_0x788c('0x3b')](db[_0x788c('0x5d')][_0x788c('0x37')]);_0x404903[_0x788c('0x3d')]=_['keys'](_0x227ab1[_0x788c('0x3d')]);_0x404903[_0x788c('0x43')]=_['intersection'](_0x404903[_0x788c('0x3a')],_0x404903[_0x788c('0x3d')]);_0x458333[_0x788c('0x3e')]=_[_0x788c('0x3c')](_0x404903[_0x788c('0x3a')],qs[_0x788c('0x3f')](_0x227ab1[_0x788c('0x3d')][_0x788c('0x3f')]));_0x458333[_0x788c('0x3e')]=_0x458333[_0x788c('0x3e')]['length']?_0x458333[_0x788c('0x3e')]:_0x404903[_0x788c('0x3a')];_0x458333[_0x788c('0x41')]=qs['sort'](_0x227ab1[_0x788c('0x3d')]['sort']);_0x458333[_0x788c('0x46')]=qs[_0x788c('0x43')](_['pick'](_0x227ab1[_0x788c('0x3d')],_0x404903[_0x788c('0x43')]));if(_0x227ab1['query'][_0x788c('0x45')]){_0x458333[_0x788c('0x46')]=_[_0x788c('0x49')](_0x458333[_0x788c('0x46')],{'$or':_['map'](_0x458333['attributes'],function(_0x578fc0){var _0xa57067={};_0xa57067[_0x578fc0]={'$like':'%'+_0x227ab1['query'][_0x788c('0x45')]+'%'};return _0xa57067;})});}_0x458333=_[_0x788c('0x49')]({},_0x458333,_0x227ab1[_0x788c('0x4a')]);return _0x358294[_0x788c('0x5c')](_0x458333);}})[_0x788c('0x30')](function(_0x30abd2){if(_0x30abd2){_0x3fc528=_0x30abd2[_0x788c('0x50')];if(!_0x227ab1[_0x788c('0x3d')][_0x788c('0x59')]('nolimit')){_0x458333['limit']=qs['limit'](_0x227ab1[_0x788c('0x3d')][_0x788c('0x2b')]);_0x458333[_0x788c('0x2a')]=qs[_0x788c('0x2a')](_0x227ab1[_0x788c('0x3d')][_0x788c('0x2a')]);}return _0x358294[_0x788c('0x5c')](_0x458333);}})[_0x788c('0x30')](function(_0x57b199){if(_0x57b199){return _0x57b199?{'count':_0x3fc528,'rows':_0x57b199}:null;}})['then'](respondWithResult(_0xe5d243,null))[_0x788c('0x51')](handleError(_0xe5d243,null));};exports[_0x788c('0x5e')]=function(_0x1e0c46,_0x4558ee,_0x5058db){if(_0x1e0c46['body']['id']){delete _0x1e0c46[_0x788c('0x53')]['id'];}return db[_0x788c('0x36')]['findOne']({'where':{'id':_0x1e0c46[_0x788c('0x4f')]['id']}})['then'](handleEntityNotFound(_0x4558ee,null))[_0x788c('0x30')](function(_0x59aefe){if(_0x59aefe){return _0x59aefe['setTags'](_0x1e0c46['body'][_0x788c('0x5f')]||[]);}return null;})['then'](respondWithResult(_0x4558ee,null))[_0x788c('0x51')](handleError(_0x4558ee,null));};