Built motion from commit 64a6f4bc.|2.6.26
[motion2.git] / server / api / intDeskConfiguration / intDeskConfiguration.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 _0xdd5f=['destroy','error','stack','name','send','index','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','includeAll','findAll','rows','catch','show','params','DeskConfiguration','find','create','body','getFields','findOne','order','getSubjects','getDescriptions','DeskField','getTags','Tag','setTags','ids','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','squel','crypto','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','undefined','limit','count','offset','set','json','reject','save','update','then'];(function(_0x239314,_0xb56a8d){var _0x1c178b=function(_0x4ce36d){while(--_0x4ce36d){_0x239314['push'](_0x239314['shift']());}};_0x1c178b(++_0xb56a8d);}(_0xdd5f,0x131));var _0xfdd5=function(_0x31e29a,_0x349c9b){_0x31e29a=_0x31e29a-0x0;var _0x32d892=_0xdd5f[_0x31e29a];return _0x32d892;};'use strict';var emlformat=require(_0xfdd5('0x0'));var rimraf=require(_0xfdd5('0x1'));var zipdir=require(_0xfdd5('0x2'));var jsonpatch=require(_0xfdd5('0x3'));var rp=require(_0xfdd5('0x4'));var moment=require(_0xfdd5('0x5'));var BPromise=require(_0xfdd5('0x6'));var Mustache=require(_0xfdd5('0x7'));var util=require('util');var path=require(_0xfdd5('0x8'));var sox=require(_0xfdd5('0x9'));var csv=require('to-csv');var ejs=require(_0xfdd5('0xa'));var fs=require('fs');var fs_extra=require(_0xfdd5('0xb'));var _=require('lodash');var squel=require(_0xfdd5('0xc'));var crypto=require(_0xfdd5('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xfdd5('0xe'));var querystring=require(_0xfdd5('0xf'));var Papa=require('papaparse');var Redis=require(_0xfdd5('0x10'));var authService=require(_0xfdd5('0x11'));var qs=require(_0xfdd5('0x12'));var as=require(_0xfdd5('0x13'));var hardwareService=require(_0xfdd5('0x14'));var logger=require(_0xfdd5('0x15'))(_0xfdd5('0x16'));var utils=require(_0xfdd5('0x17'));var config=require(_0xfdd5('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xfdd5('0x19'))['db'];function respondWithStatusCode(_0x148a3f,_0x54dfcd){_0x54dfcd=_0x54dfcd||0xcc;return function(_0x5161b7){if(_0x5161b7){return _0x148a3f[_0xfdd5('0x1a')](_0x54dfcd);}return _0x148a3f[_0xfdd5('0x1b')](_0x54dfcd)[_0xfdd5('0x1c')]();};}function respondWithResult(_0x5e0b9f,_0x563978){_0x563978=_0x563978||0xc8;return function(_0x250ee8){if(_0x250ee8){return _0x5e0b9f[_0xfdd5('0x1b')](_0x563978)['json'](_0x250ee8);}};}function respondWithFilteredResult(_0x2f25c3,_0x37f588){return function(_0x3f20df){if(_0x3f20df){var _0x2a38d1=typeof _0x37f588['offset']===_0xfdd5('0x1d')&&typeof _0x37f588[_0xfdd5('0x1e')]==='undefined';var _0x3ac530=_0x3f20df[_0xfdd5('0x1f')];var _0x1895b6=_0x2a38d1?0x0:_0x37f588[_0xfdd5('0x20')];var _0x2927bb=_0x2a38d1?_0x3f20df[_0xfdd5('0x1f')]:_0x37f588['offset']+_0x37f588[_0xfdd5('0x1e')];var _0x3036ef;if(_0x2927bb>=_0x3ac530){_0x2927bb=_0x3ac530;_0x3036ef=0xc8;}else{_0x3036ef=0xce;}_0x2f25c3['status'](_0x3036ef);return _0x2f25c3[_0xfdd5('0x21')]('Content-Range',_0x1895b6+'-'+_0x2927bb+'/'+_0x3ac530)[_0xfdd5('0x22')](_0x3f20df);}return null;};}function patchUpdates(_0x18ad77){return function(_0x389d6f){try{jsonpatch['apply'](_0x389d6f,_0x18ad77,!![]);}catch(_0x13c294){return BPromise[_0xfdd5('0x23')](_0x13c294);}return _0x389d6f[_0xfdd5('0x24')]();};}function saveUpdates(_0x3eaecf,_0x4f55ee){return function(_0x1f3c51){if(_0x1f3c51){return _0x1f3c51[_0xfdd5('0x25')](_0x3eaecf)[_0xfdd5('0x26')](function(_0x4149cf){return _0x4149cf;});}return null;};}function removeEntity(_0x4ae30a,_0xc898d9){return function(_0x1d0f43){if(_0x1d0f43){return _0x1d0f43[_0xfdd5('0x27')]()[_0xfdd5('0x26')](function(){_0x4ae30a[_0xfdd5('0x1b')](0xcc)[_0xfdd5('0x1c')]();});}};}function handleEntityNotFound(_0x15723c,_0x4e8124){return function(_0x356079){if(!_0x356079){_0x15723c[_0xfdd5('0x1a')](0x194);}return _0x356079;};}function handleError(_0xa25e02,_0x24ee71){_0x24ee71=_0x24ee71||0x1f4;return function(_0x5abc6c){logger[_0xfdd5('0x28')](_0x5abc6c[_0xfdd5('0x29')]);if(_0x5abc6c[_0xfdd5('0x2a')]){delete _0x5abc6c['name'];}_0xa25e02[_0xfdd5('0x1b')](_0x24ee71)[_0xfdd5('0x2b')](_0x5abc6c);};}exports[_0xfdd5('0x2c')]=function(_0x1eefd6,_0x5f476b){var _0x41f710={},_0x3a8010={},_0x2ab194={'count':0x0,'rows':[]};var _0x212a13=_['map'](db['DeskConfiguration'][_0xfdd5('0x2d')],function(_0x41fb55){return{'name':_0x41fb55[_0xfdd5('0x2e')],'type':_0x41fb55[_0xfdd5('0x2f')][_0xfdd5('0x30')]};});_0x3a8010[_0xfdd5('0x31')]=_[_0xfdd5('0x32')](_0x212a13,_0xfdd5('0x2a'));_0x3a8010[_0xfdd5('0x33')]=_[_0xfdd5('0x34')](_0x1eefd6[_0xfdd5('0x33')]);_0x3a8010[_0xfdd5('0x35')]=_[_0xfdd5('0x36')](_0x3a8010[_0xfdd5('0x31')],_0x3a8010[_0xfdd5('0x33')]);_0x41f710[_0xfdd5('0x37')]=_[_0xfdd5('0x36')](_0x3a8010[_0xfdd5('0x31')],qs['fields'](_0x1eefd6[_0xfdd5('0x33')][_0xfdd5('0x38')]));_0x41f710['attributes']=_0x41f710[_0xfdd5('0x37')][_0xfdd5('0x39')]?_0x41f710[_0xfdd5('0x37')]:_0x3a8010[_0xfdd5('0x31')];if(!_0x1eefd6['query'][_0xfdd5('0x3a')](_0xfdd5('0x3b'))){_0x41f710[_0xfdd5('0x1e')]=qs['limit'](_0x1eefd6[_0xfdd5('0x33')]['limit']);_0x41f710[_0xfdd5('0x20')]=qs[_0xfdd5('0x20')](_0x1eefd6[_0xfdd5('0x33')][_0xfdd5('0x20')]);}_0x41f710['order']=qs[_0xfdd5('0x3c')](_0x1eefd6['query'][_0xfdd5('0x3c')]);_0x41f710[_0xfdd5('0x3d')]=qs[_0xfdd5('0x35')](_[_0xfdd5('0x3e')](_0x1eefd6[_0xfdd5('0x33')],_0x3a8010[_0xfdd5('0x35')]),_0x212a13);if(_0x1eefd6[_0xfdd5('0x33')][_0xfdd5('0x3f')]){_0x41f710[_0xfdd5('0x3d')]=_['merge'](_0x41f710[_0xfdd5('0x3d')],{'$or':_[_0xfdd5('0x32')](_0x212a13,function(_0x14d9f1){if(_0x14d9f1[_0xfdd5('0x2f')]!=='VIRTUAL'){var _0x2e0e45={};_0x2e0e45[_0x14d9f1[_0xfdd5('0x2a')]]={'$like':'%'+_0x1eefd6['query'][_0xfdd5('0x3f')]+'%'};return _0x2e0e45;}})});}_0x41f710=_[_0xfdd5('0x40')]({},_0x41f710,_0x1eefd6[_0xfdd5('0x41')]);var _0x521d45={'where':_0x41f710[_0xfdd5('0x3d')]};return db['DeskConfiguration'][_0xfdd5('0x1f')](_0x521d45)[_0xfdd5('0x26')](function(_0x35ee8c){_0x2ab194['count']=_0x35ee8c;if(_0x1eefd6[_0xfdd5('0x33')][_0xfdd5('0x42')]){_0x41f710['include']=[{'all':!![]}];}return db['DeskConfiguration'][_0xfdd5('0x43')](_0x41f710);})['then'](function(_0x499c09){_0x2ab194[_0xfdd5('0x44')]=_0x499c09;return _0x2ab194;})[_0xfdd5('0x26')](respondWithFilteredResult(_0x5f476b,_0x41f710))[_0xfdd5('0x45')](handleError(_0x5f476b,null));};exports[_0xfdd5('0x46')]=function(_0x48380a,_0x467dc0){var _0x257f1c={'raw':![],'where':{'id':_0x48380a[_0xfdd5('0x47')]['id']}},_0x1115bd={};_0x1115bd[_0xfdd5('0x31')]=_[_0xfdd5('0x34')](db[_0xfdd5('0x48')]['rawAttributes']);_0x1115bd[_0xfdd5('0x33')]=_['keys'](_0x48380a[_0xfdd5('0x33')]);_0x1115bd[_0xfdd5('0x35')]=_[_0xfdd5('0x36')](_0x1115bd[_0xfdd5('0x31')],_0x1115bd['query']);_0x257f1c[_0xfdd5('0x37')]=_[_0xfdd5('0x36')](_0x1115bd[_0xfdd5('0x31')],qs[_0xfdd5('0x38')](_0x48380a[_0xfdd5('0x33')]['fields']));_0x257f1c[_0xfdd5('0x37')]=_0x257f1c[_0xfdd5('0x37')]['length']?_0x257f1c['attributes']:_0x1115bd[_0xfdd5('0x31')];if(_0x48380a[_0xfdd5('0x33')][_0xfdd5('0x42')]){_0x257f1c['include']=[{'all':!![]}];}_0x257f1c=_['merge']({},_0x257f1c,_0x48380a[_0xfdd5('0x41')]);return db['DeskConfiguration'][_0xfdd5('0x49')](_0x257f1c)['then'](handleEntityNotFound(_0x467dc0,null))[_0xfdd5('0x26')](respondWithResult(_0x467dc0,null))['catch'](handleError(_0x467dc0,null));};exports[_0xfdd5('0x4a')]=function(_0x2d35b7,_0x262d9b){return db[_0xfdd5('0x48')][_0xfdd5('0x4a')](_0x2d35b7[_0xfdd5('0x4b')],{})[_0xfdd5('0x26')](respondWithResult(_0x262d9b,0xc9))[_0xfdd5('0x45')](handleError(_0x262d9b,null));};exports[_0xfdd5('0x25')]=function(_0x210ad1,_0x1ae086){if(_0x210ad1[_0xfdd5('0x4b')]['id']){delete _0x210ad1[_0xfdd5('0x4b')]['id'];}return db[_0xfdd5('0x48')][_0xfdd5('0x49')]({'where':{'id':_0x210ad1[_0xfdd5('0x47')]['id']}})[_0xfdd5('0x26')](handleEntityNotFound(_0x1ae086,null))[_0xfdd5('0x26')](saveUpdates(_0x210ad1[_0xfdd5('0x4b')],null))[_0xfdd5('0x26')](respondWithResult(_0x1ae086,null))[_0xfdd5('0x45')](handleError(_0x1ae086,null));};exports[_0xfdd5('0x27')]=function(_0x3edb2d,_0x28da8c){return db[_0xfdd5('0x48')][_0xfdd5('0x49')]({'where':{'id':_0x3edb2d[_0xfdd5('0x47')]['id']}})[_0xfdd5('0x26')](handleEntityNotFound(_0x28da8c,null))[_0xfdd5('0x26')](removeEntity(_0x28da8c,null))['catch'](handleError(_0x28da8c,null));};exports[_0xfdd5('0x4c')]=function(_0x1f832e,_0x7cacc4,_0xefc10c){var _0x6e4be1={};var _0x59adbe={};var _0x128a00;var _0x2c0429;return db['DeskConfiguration'][_0xfdd5('0x4d')]({'where':{'id':_0x1f832e[_0xfdd5('0x47')]['id']}})[_0xfdd5('0x26')](handleEntityNotFound(_0x7cacc4,null))[_0xfdd5('0x26')](function(_0x471f59){if(_0x471f59){_0x128a00=_0x471f59;_0x59adbe[_0xfdd5('0x31')]=_['keys'](db['DeskField']['rawAttributes']);_0x59adbe[_0xfdd5('0x33')]=_[_0xfdd5('0x34')](_0x1f832e[_0xfdd5('0x33')]);_0x59adbe[_0xfdd5('0x35')]=_[_0xfdd5('0x36')](_0x59adbe['model'],_0x59adbe[_0xfdd5('0x33')]);_0x6e4be1[_0xfdd5('0x37')]=_['intersection'](_0x59adbe['model'],qs[_0xfdd5('0x38')](_0x1f832e[_0xfdd5('0x33')][_0xfdd5('0x38')]));_0x6e4be1[_0xfdd5('0x37')]=_0x6e4be1['attributes'][_0xfdd5('0x39')]?_0x6e4be1['attributes']:_0x59adbe[_0xfdd5('0x31')];_0x6e4be1[_0xfdd5('0x4e')]=qs['sort'](_0x1f832e[_0xfdd5('0x33')][_0xfdd5('0x3c')]);_0x6e4be1[_0xfdd5('0x3d')]=qs[_0xfdd5('0x35')](_[_0xfdd5('0x3e')](_0x1f832e['query'],_0x59adbe[_0xfdd5('0x35')]));if(_0x1f832e[_0xfdd5('0x33')][_0xfdd5('0x3f')]){_0x6e4be1[_0xfdd5('0x3d')]=_[_0xfdd5('0x40')](_0x6e4be1[_0xfdd5('0x3d')],{'$or':_[_0xfdd5('0x32')](_0x6e4be1['attributes'],function(_0x21478b){var _0x30f9d7={};_0x30f9d7[_0x21478b]={'$like':'%'+_0x1f832e[_0xfdd5('0x33')][_0xfdd5('0x3f')]+'%'};return _0x30f9d7;})});}_0x6e4be1=_[_0xfdd5('0x40')]({},_0x6e4be1,_0x1f832e[_0xfdd5('0x41')]);return _0x128a00[_0xfdd5('0x4c')](_0x6e4be1);}})[_0xfdd5('0x26')](function(_0x4d5d31){if(_0x4d5d31){_0x2c0429=_0x4d5d31[_0xfdd5('0x39')];if(!_0x1f832e[_0xfdd5('0x33')][_0xfdd5('0x3a')](_0xfdd5('0x3b'))){_0x6e4be1[_0xfdd5('0x1e')]=qs[_0xfdd5('0x1e')](_0x1f832e[_0xfdd5('0x33')][_0xfdd5('0x1e')]);_0x6e4be1[_0xfdd5('0x20')]=qs['offset'](_0x1f832e['query'][_0xfdd5('0x20')]);}return _0x128a00[_0xfdd5('0x4c')](_0x6e4be1);}})[_0xfdd5('0x26')](function(_0x369a06){if(_0x369a06){return _0x369a06?{'count':_0x2c0429,'rows':_0x369a06}:null;}})[_0xfdd5('0x26')](respondWithResult(_0x7cacc4,null))[_0xfdd5('0x45')](handleError(_0x7cacc4,null));};exports[_0xfdd5('0x4f')]=function(_0x36ea91,_0x2066a1,_0x470da2){var _0x1eae87={};var _0x401b9b={};var _0x5a6383;var _0x53bcb7;return db[_0xfdd5('0x48')][_0xfdd5('0x4d')]({'where':{'id':_0x36ea91['params']['id']}})[_0xfdd5('0x26')](handleEntityNotFound(_0x2066a1,null))[_0xfdd5('0x26')](function(_0x3e2292){if(_0x3e2292){_0x5a6383=_0x3e2292;_0x401b9b[_0xfdd5('0x31')]=_['keys'](db['DeskField'][_0xfdd5('0x2d')]);_0x401b9b[_0xfdd5('0x33')]=_[_0xfdd5('0x34')](_0x36ea91[_0xfdd5('0x33')]);_0x401b9b['filters']=_[_0xfdd5('0x36')](_0x401b9b[_0xfdd5('0x31')],_0x401b9b[_0xfdd5('0x33')]);_0x1eae87['attributes']=_[_0xfdd5('0x36')](_0x401b9b['model'],qs[_0xfdd5('0x38')](_0x36ea91[_0xfdd5('0x33')][_0xfdd5('0x38')]));_0x1eae87[_0xfdd5('0x37')]=_0x1eae87[_0xfdd5('0x37')]['length']?_0x1eae87[_0xfdd5('0x37')]:_0x401b9b[_0xfdd5('0x31')];_0x1eae87['order']=qs[_0xfdd5('0x3c')](_0x36ea91['query'][_0xfdd5('0x3c')]);_0x1eae87['where']=qs[_0xfdd5('0x35')](_[_0xfdd5('0x3e')](_0x36ea91[_0xfdd5('0x33')],_0x401b9b[_0xfdd5('0x35')]));if(_0x36ea91[_0xfdd5('0x33')][_0xfdd5('0x3f')]){_0x1eae87[_0xfdd5('0x3d')]=_[_0xfdd5('0x40')](_0x1eae87['where'],{'$or':_[_0xfdd5('0x32')](_0x1eae87['attributes'],function(_0x3b37fe){var _0x3bca86={};_0x3bca86[_0x3b37fe]={'$like':'%'+_0x36ea91[_0xfdd5('0x33')][_0xfdd5('0x3f')]+'%'};return _0x3bca86;})});}_0x1eae87=_[_0xfdd5('0x40')]({},_0x1eae87,_0x36ea91[_0xfdd5('0x41')]);return _0x5a6383[_0xfdd5('0x4f')](_0x1eae87);}})['then'](function(_0x2d750c){if(_0x2d750c){_0x53bcb7=_0x2d750c[_0xfdd5('0x39')];if(!_0x36ea91[_0xfdd5('0x33')][_0xfdd5('0x3a')](_0xfdd5('0x3b'))){_0x1eae87[_0xfdd5('0x1e')]=qs[_0xfdd5('0x1e')](_0x36ea91[_0xfdd5('0x33')][_0xfdd5('0x1e')]);_0x1eae87[_0xfdd5('0x20')]=qs[_0xfdd5('0x20')](_0x36ea91[_0xfdd5('0x33')][_0xfdd5('0x20')]);}return _0x5a6383['getSubjects'](_0x1eae87);}})[_0xfdd5('0x26')](function(_0xa8ab8e){if(_0xa8ab8e){return _0xa8ab8e?{'count':_0x53bcb7,'rows':_0xa8ab8e}:null;}})[_0xfdd5('0x26')](respondWithResult(_0x2066a1,null))[_0xfdd5('0x45')](handleError(_0x2066a1,null));};exports[_0xfdd5('0x50')]=function(_0xaeb65e,_0x11c6d8,_0x48ea69){var _0x1946e3={};var _0x276957={};var _0x4a0f6b;var _0x36a667;return db['DeskConfiguration'][_0xfdd5('0x4d')]({'where':{'id':_0xaeb65e['params']['id']}})['then'](handleEntityNotFound(_0x11c6d8,null))['then'](function(_0x20a125){if(_0x20a125){_0x4a0f6b=_0x20a125;_0x276957['model']=_[_0xfdd5('0x34')](db[_0xfdd5('0x51')]['rawAttributes']);_0x276957['query']=_[_0xfdd5('0x34')](_0xaeb65e[_0xfdd5('0x33')]);_0x276957['filters']=_[_0xfdd5('0x36')](_0x276957[_0xfdd5('0x31')],_0x276957[_0xfdd5('0x33')]);_0x1946e3[_0xfdd5('0x37')]=_[_0xfdd5('0x36')](_0x276957[_0xfdd5('0x31')],qs['fields'](_0xaeb65e['query'][_0xfdd5('0x38')]));_0x1946e3[_0xfdd5('0x37')]=_0x1946e3['attributes'][_0xfdd5('0x39')]?_0x1946e3[_0xfdd5('0x37')]:_0x276957[_0xfdd5('0x31')];_0x1946e3[_0xfdd5('0x4e')]=qs[_0xfdd5('0x3c')](_0xaeb65e[_0xfdd5('0x33')][_0xfdd5('0x3c')]);_0x1946e3[_0xfdd5('0x3d')]=qs[_0xfdd5('0x35')](_[_0xfdd5('0x3e')](_0xaeb65e[_0xfdd5('0x33')],_0x276957['filters']));if(_0xaeb65e[_0xfdd5('0x33')]['filter']){_0x1946e3['where']=_[_0xfdd5('0x40')](_0x1946e3[_0xfdd5('0x3d')],{'$or':_[_0xfdd5('0x32')](_0x1946e3[_0xfdd5('0x37')],function(_0xa17c7b){var _0x25d0cc={};_0x25d0cc[_0xa17c7b]={'$like':'%'+_0xaeb65e['query'][_0xfdd5('0x3f')]+'%'};return _0x25d0cc;})});}_0x1946e3=_[_0xfdd5('0x40')]({},_0x1946e3,_0xaeb65e[_0xfdd5('0x41')]);return _0x4a0f6b[_0xfdd5('0x50')](_0x1946e3);}})[_0xfdd5('0x26')](function(_0x388f96){if(_0x388f96){_0x36a667=_0x388f96['length'];if(!_0xaeb65e[_0xfdd5('0x33')][_0xfdd5('0x3a')]('nolimit')){_0x1946e3[_0xfdd5('0x1e')]=qs['limit'](_0xaeb65e[_0xfdd5('0x33')][_0xfdd5('0x1e')]);_0x1946e3[_0xfdd5('0x20')]=qs[_0xfdd5('0x20')](_0xaeb65e[_0xfdd5('0x33')]['offset']);}return _0x4a0f6b[_0xfdd5('0x50')](_0x1946e3);}})[_0xfdd5('0x26')](function(_0xb13821){if(_0xb13821){return _0xb13821?{'count':_0x36a667,'rows':_0xb13821}:null;}})[_0xfdd5('0x26')](respondWithResult(_0x11c6d8,null))[_0xfdd5('0x45')](handleError(_0x11c6d8,null));};exports[_0xfdd5('0x52')]=function(_0x1c3abb,_0x890942,_0x333242){var _0x578ff1={};var _0x4f5467={};var _0xcbb025;var _0x5a5136;return db[_0xfdd5('0x48')][_0xfdd5('0x4d')]({'where':{'id':_0x1c3abb[_0xfdd5('0x47')]['id']}})[_0xfdd5('0x26')](handleEntityNotFound(_0x890942,null))[_0xfdd5('0x26')](function(_0x5577ac){if(_0x5577ac){_0xcbb025=_0x5577ac;_0x4f5467['model']=_[_0xfdd5('0x34')](db[_0xfdd5('0x53')][_0xfdd5('0x2d')]);_0x4f5467[_0xfdd5('0x33')]=_[_0xfdd5('0x34')](_0x1c3abb[_0xfdd5('0x33')]);_0x4f5467[_0xfdd5('0x35')]=_[_0xfdd5('0x36')](_0x4f5467['model'],_0x4f5467[_0xfdd5('0x33')]);_0x578ff1[_0xfdd5('0x37')]=_[_0xfdd5('0x36')](_0x4f5467[_0xfdd5('0x31')],qs['fields'](_0x1c3abb[_0xfdd5('0x33')][_0xfdd5('0x38')]));_0x578ff1['attributes']=_0x578ff1[_0xfdd5('0x37')][_0xfdd5('0x39')]?_0x578ff1['attributes']:_0x4f5467[_0xfdd5('0x31')];_0x578ff1[_0xfdd5('0x4e')]=qs[_0xfdd5('0x3c')](_0x1c3abb[_0xfdd5('0x33')][_0xfdd5('0x3c')]);_0x578ff1[_0xfdd5('0x3d')]=qs[_0xfdd5('0x35')](_['pick'](_0x1c3abb['query'],_0x4f5467['filters']));if(_0x1c3abb[_0xfdd5('0x33')]['filter']){_0x578ff1[_0xfdd5('0x3d')]=_[_0xfdd5('0x40')](_0x578ff1[_0xfdd5('0x3d')],{'$or':_[_0xfdd5('0x32')](_0x578ff1['attributes'],function(_0x397454){var _0x4a1139={};_0x4a1139[_0x397454]={'$like':'%'+_0x1c3abb[_0xfdd5('0x33')]['filter']+'%'};return _0x4a1139;})});}_0x578ff1=_['merge']({},_0x578ff1,_0x1c3abb['options']);return _0xcbb025[_0xfdd5('0x52')](_0x578ff1);}})['then'](function(_0x1088f2){if(_0x1088f2){_0x5a5136=_0x1088f2['length'];if(!_0x1c3abb['query'][_0xfdd5('0x3a')](_0xfdd5('0x3b'))){_0x578ff1[_0xfdd5('0x1e')]=qs[_0xfdd5('0x1e')](_0x1c3abb[_0xfdd5('0x33')]['limit']);_0x578ff1[_0xfdd5('0x20')]=qs[_0xfdd5('0x20')](_0x1c3abb[_0xfdd5('0x33')][_0xfdd5('0x20')]);}return _0xcbb025[_0xfdd5('0x52')](_0x578ff1);}})[_0xfdd5('0x26')](function(_0x5a35aa){if(_0x5a35aa){return _0x5a35aa?{'count':_0x5a5136,'rows':_0x5a35aa}:null;}})[_0xfdd5('0x26')](respondWithResult(_0x890942,null))[_0xfdd5('0x45')](handleError(_0x890942,null));};exports[_0xfdd5('0x54')]=function(_0x195dbd,_0x2f7e1d,_0x45f4df){if(_0x195dbd[_0xfdd5('0x4b')]['id']){delete _0x195dbd[_0xfdd5('0x4b')]['id'];}return db[_0xfdd5('0x48')]['findOne']({'where':{'id':_0x195dbd[_0xfdd5('0x47')]['id']}})[_0xfdd5('0x26')](handleEntityNotFound(_0x2f7e1d,null))[_0xfdd5('0x26')](function(_0x55f4a2){if(_0x55f4a2){return _0x55f4a2[_0xfdd5('0x54')](_0x195dbd[_0xfdd5('0x4b')][_0xfdd5('0x55')]||[]);}return null;})[_0xfdd5('0x26')](respondWithResult(_0x2f7e1d,null))[_0xfdd5('0x45')](handleError(_0x2f7e1d,null));};