9b35766a78bee0ba5efc5e3366e1a6504070a2ca
[motion2.git] / server / api / trigger / trigger.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 _0xb8b9=['sendStatus','json','offset','limit','count','Content-Range','reject','save','update','then','destroy','get','Triggers','UserProfileResource','status','end','error','stack','name','send','index','Trigger','rawAttributes','type','key','model','map','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','merge','filter','includeAll','include','findAll','rows','catch','show','params','length','options','create','body','role','user','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addAllCondition','TriggerAllId','Condition','TriggerAnyId','getAllConditions','getAnyConditions','hasOwnProperty','addAction','TriggerId','Action','getActions','findOne','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x16b9fc,_0x1e33b8){var _0x2b7d22=function(_0x692166){while(--_0x692166){_0x16b9fc['push'](_0x16b9fc['shift']());}};_0x2b7d22(++_0x1e33b8);}(_0xb8b9,0x1be));var _0x9b8b=function(_0x2360ea,_0x8e8f30){_0x2360ea=_0x2360ea-0x0;var _0x5d86b6=_0xb8b9[_0x2360ea];return _0x5d86b6;};'use strict';var emlformat=require(_0x9b8b('0x0'));var rimraf=require(_0x9b8b('0x1'));var zipdir=require(_0x9b8b('0x2'));var jsonpatch=require(_0x9b8b('0x3'));var rp=require(_0x9b8b('0x4'));var moment=require(_0x9b8b('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x9b8b('0x6'));var util=require(_0x9b8b('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x9b8b('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9b8b('0x9'));var _=require(_0x9b8b('0xa'));var squel=require('squel');var crypto=require(_0x9b8b('0xb'));var jsforce=require(_0x9b8b('0xc'));var deskjs=require(_0x9b8b('0xd'));var toCsv=require(_0x9b8b('0x8'));var querystring=require(_0x9b8b('0xe'));var Papa=require(_0x9b8b('0xf'));var Redis=require(_0x9b8b('0x10'));var authService=require(_0x9b8b('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x9b8b('0x12'));var hardwareService=require(_0x9b8b('0x13'));var logger=require(_0x9b8b('0x14'))('api');var utils=require('../../config/utils');var config=require(_0x9b8b('0x15'));var licenseUtil=require(_0x9b8b('0x16'));var db=require(_0x9b8b('0x17'))['db'];function respondWithStatusCode(_0x5d388e,_0xf46845){_0xf46845=_0xf46845||0xcc;return function(_0x584b31){if(_0x584b31){return _0x5d388e[_0x9b8b('0x18')](_0xf46845);}return _0x5d388e['status'](_0xf46845)['end']();};}function respondWithResult(_0x12057a,_0x37fd22){_0x37fd22=_0x37fd22||0xc8;return function(_0x2b4fab){if(_0x2b4fab){return _0x12057a['status'](_0x37fd22)[_0x9b8b('0x19')](_0x2b4fab);}};}function respondWithFilteredResult(_0x49d28e,_0x4eb898){return function(_0x14ff40){if(_0x14ff40){var _0x539f02=typeof _0x4eb898[_0x9b8b('0x1a')]==='undefined'&&typeof _0x4eb898[_0x9b8b('0x1b')]==='undefined';var _0x5b6fd8=_0x14ff40['count'];var _0xaa38b7=_0x539f02?0x0:_0x4eb898['offset'];var _0x3365ef=_0x539f02?_0x14ff40[_0x9b8b('0x1c')]:_0x4eb898['offset']+_0x4eb898[_0x9b8b('0x1b')];var _0x4baed9;if(_0x3365ef>=_0x5b6fd8){_0x3365ef=_0x5b6fd8;_0x4baed9=0xc8;}else{_0x4baed9=0xce;}_0x49d28e['status'](_0x4baed9);return _0x49d28e['set'](_0x9b8b('0x1d'),_0xaa38b7+'-'+_0x3365ef+'/'+_0x5b6fd8)[_0x9b8b('0x19')](_0x14ff40);}return null;};}function patchUpdates(_0x172992){return function(_0x179e70){try{jsonpatch['apply'](_0x179e70,_0x172992,!![]);}catch(_0x4b11ff){return BPromise[_0x9b8b('0x1e')](_0x4b11ff);}return _0x179e70[_0x9b8b('0x1f')]();};}function saveUpdates(_0x2ce410,_0x416efc){return function(_0x31025d){if(_0x31025d){return _0x31025d[_0x9b8b('0x20')](_0x2ce410)[_0x9b8b('0x21')](function(_0x1d651e){return _0x1d651e;});}return null;};}function removeEntity(_0x2bfc43,_0x23b846){return function(_0x339a40){if(_0x339a40){return _0x339a40[_0x9b8b('0x22')]()[_0x9b8b('0x21')](function(){var _0x2ab33a=_0x339a40[_0x9b8b('0x23')]({'plain':!![]});var _0x2442d3=_0x9b8b('0x24');return db[_0x9b8b('0x25')]['destroy']({'where':{'type':_0x2442d3,'resourceId':_0x2ab33a['id']}})[_0x9b8b('0x21')](function(){return _0x339a40;});})[_0x9b8b('0x21')](function(){_0x2bfc43[_0x9b8b('0x26')](0xcc)[_0x9b8b('0x27')]();});}};}function handleEntityNotFound(_0x105374,_0x434746){return function(_0x2f0f7d){if(!_0x2f0f7d){_0x105374[_0x9b8b('0x18')](0x194);}return _0x2f0f7d;};}function handleError(_0x513246,_0x157447){_0x157447=_0x157447||0x1f4;return function(_0x141795){logger[_0x9b8b('0x28')](_0x141795[_0x9b8b('0x29')]);if(_0x141795[_0x9b8b('0x2a')]){delete _0x141795[_0x9b8b('0x2a')];}_0x513246[_0x9b8b('0x26')](_0x157447)[_0x9b8b('0x2b')](_0x141795);};}exports[_0x9b8b('0x2c')]=function(_0x3e442b,_0x1e8a6e){var _0x1dfce8={},_0x4f5a06={},_0x880208={'count':0x0,'rows':[]};var _0x1969d=_['map'](db[_0x9b8b('0x2d')][_0x9b8b('0x2e')],function(_0x2d933f){return{'name':_0x2d933f['fieldName'],'type':_0x2d933f[_0x9b8b('0x2f')][_0x9b8b('0x30')]};});_0x4f5a06[_0x9b8b('0x31')]=_[_0x9b8b('0x32')](_0x1969d,_0x9b8b('0x2a'));_0x4f5a06[_0x9b8b('0x33')]=_[_0x9b8b('0x34')](_0x3e442b[_0x9b8b('0x33')]);_0x4f5a06[_0x9b8b('0x35')]=_[_0x9b8b('0x36')](_0x4f5a06['model'],_0x4f5a06[_0x9b8b('0x33')]);_0x1dfce8[_0x9b8b('0x37')]=_[_0x9b8b('0x36')](_0x4f5a06[_0x9b8b('0x31')],qs['fields'](_0x3e442b[_0x9b8b('0x33')][_0x9b8b('0x38')]));_0x1dfce8['attributes']=_0x1dfce8[_0x9b8b('0x37')]['length']?_0x1dfce8[_0x9b8b('0x37')]:_0x4f5a06['model'];if(!_0x3e442b[_0x9b8b('0x33')]['hasOwnProperty'](_0x9b8b('0x39'))){_0x1dfce8[_0x9b8b('0x1b')]=qs[_0x9b8b('0x1b')](_0x3e442b[_0x9b8b('0x33')][_0x9b8b('0x1b')]);_0x1dfce8['offset']=qs[_0x9b8b('0x1a')](_0x3e442b[_0x9b8b('0x33')][_0x9b8b('0x1a')]);}_0x1dfce8[_0x9b8b('0x3a')]=qs[_0x9b8b('0x3b')](_0x3e442b[_0x9b8b('0x33')][_0x9b8b('0x3b')]);_0x1dfce8[_0x9b8b('0x3c')]=qs[_0x9b8b('0x35')](_[_0x9b8b('0x3d')](_0x3e442b[_0x9b8b('0x33')],_0x4f5a06[_0x9b8b('0x35')]),_0x1969d);if(_0x3e442b[_0x9b8b('0x33')]['filter']){_0x1dfce8[_0x9b8b('0x3c')]=_[_0x9b8b('0x3e')](_0x1dfce8[_0x9b8b('0x3c')],{'$or':_['map'](_0x1969d,function(_0xb5043f){if(_0xb5043f[_0x9b8b('0x2f')]!=='VIRTUAL'){var _0x358a11={};_0x358a11[_0xb5043f[_0x9b8b('0x2a')]]={'$like':'%'+_0x3e442b[_0x9b8b('0x33')][_0x9b8b('0x3f')]+'%'};return _0x358a11;}})});}_0x1dfce8=_[_0x9b8b('0x3e')]({},_0x1dfce8,_0x3e442b['options']);var _0x5bdf0d={'where':_0x1dfce8[_0x9b8b('0x3c')]};return db[_0x9b8b('0x2d')][_0x9b8b('0x1c')](_0x5bdf0d)['then'](function(_0x406910){_0x880208[_0x9b8b('0x1c')]=_0x406910;if(_0x3e442b[_0x9b8b('0x33')][_0x9b8b('0x40')]){_0x1dfce8[_0x9b8b('0x41')]=[{'all':!![]}];}return db['Trigger'][_0x9b8b('0x42')](_0x1dfce8);})[_0x9b8b('0x21')](function(_0x281557){_0x880208[_0x9b8b('0x43')]=_0x281557;return _0x880208;})[_0x9b8b('0x21')](respondWithFilteredResult(_0x1e8a6e,_0x1dfce8))[_0x9b8b('0x44')](handleError(_0x1e8a6e,null));};exports[_0x9b8b('0x45')]=function(_0x563186,_0x3437c4){var _0x839439={'raw':![],'where':{'id':_0x563186[_0x9b8b('0x46')]['id']}},_0x26c12c={};_0x26c12c[_0x9b8b('0x31')]=_[_0x9b8b('0x34')](db['Trigger'][_0x9b8b('0x2e')]);_0x26c12c[_0x9b8b('0x33')]=_[_0x9b8b('0x34')](_0x563186[_0x9b8b('0x33')]);_0x26c12c[_0x9b8b('0x35')]=_[_0x9b8b('0x36')](_0x26c12c['model'],_0x26c12c[_0x9b8b('0x33')]);_0x839439[_0x9b8b('0x37')]=_[_0x9b8b('0x36')](_0x26c12c[_0x9b8b('0x31')],qs[_0x9b8b('0x38')](_0x563186[_0x9b8b('0x33')]['fields']));_0x839439['attributes']=_0x839439[_0x9b8b('0x37')][_0x9b8b('0x47')]?_0x839439[_0x9b8b('0x37')]:_0x26c12c[_0x9b8b('0x31')];if(_0x563186[_0x9b8b('0x33')][_0x9b8b('0x40')]){_0x839439['include']=[{'all':!![]}];}_0x839439=_[_0x9b8b('0x3e')]({},_0x839439,_0x563186[_0x9b8b('0x48')]);return db[_0x9b8b('0x2d')]['find'](_0x839439)[_0x9b8b('0x21')](handleEntityNotFound(_0x3437c4,null))[_0x9b8b('0x21')](respondWithResult(_0x3437c4,null))[_0x9b8b('0x44')](handleError(_0x3437c4,null));};exports[_0x9b8b('0x49')]=function(_0x3eedac,_0x1ecc07){return db[_0x9b8b('0x2d')][_0x9b8b('0x49')](_0x3eedac[_0x9b8b('0x4a')],{})[_0x9b8b('0x21')](function(_0x172ad6){var _0x466c7f=_0x3eedac['user']['get']({'plain':!![]});if(!_0x466c7f)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x466c7f[_0x9b8b('0x4b')]===_0x9b8b('0x4c')){var _0x4e73cf=_0x172ad6[_0x9b8b('0x23')]({'plain':!![]});var _0x2fd830=_0x9b8b('0x24');return db[_0x9b8b('0x4d')][_0x9b8b('0x4e')]({'where':{'name':_0x2fd830,'userProfileId':_0x466c7f[_0x9b8b('0x4f')]},'raw':!![]})[_0x9b8b('0x21')](function(_0x23c9e7){if(_0x23c9e7&&_0x23c9e7[_0x9b8b('0x50')]===0x0){return db['UserProfileResource'][_0x9b8b('0x49')]({'name':_0x4e73cf[_0x9b8b('0x2a')],'resourceId':_0x4e73cf['id'],'type':_0x23c9e7[_0x9b8b('0x2a')],'sectionId':_0x23c9e7['id']},{})[_0x9b8b('0x21')](function(){return _0x172ad6;});}else{return _0x172ad6;}})[_0x9b8b('0x44')](function(_0x261afe){logger[_0x9b8b('0x28')](_0x9b8b('0x51'),_0x261afe);throw _0x261afe;});}return _0x172ad6;})[_0x9b8b('0x21')](respondWithResult(_0x1ecc07,0xc9))[_0x9b8b('0x44')](handleError(_0x1ecc07,null));};exports['update']=function(_0x59d654,_0x13dbab){if(_0x59d654[_0x9b8b('0x4a')]['id']){delete _0x59d654[_0x9b8b('0x4a')]['id'];}return db[_0x9b8b('0x2d')]['find']({'where':{'id':_0x59d654['params']['id']}})[_0x9b8b('0x21')](handleEntityNotFound(_0x13dbab,null))[_0x9b8b('0x21')](saveUpdates(_0x59d654[_0x9b8b('0x4a')],null))[_0x9b8b('0x21')](respondWithResult(_0x13dbab,null))[_0x9b8b('0x44')](handleError(_0x13dbab,null));};exports[_0x9b8b('0x22')]=function(_0x27c6f3,_0x26cf49){return db[_0x9b8b('0x2d')][_0x9b8b('0x4e')]({'where':{'id':_0x27c6f3[_0x9b8b('0x46')]['id']}})[_0x9b8b('0x21')](handleEntityNotFound(_0x26cf49,null))[_0x9b8b('0x21')](removeEntity(_0x26cf49,null))[_0x9b8b('0x44')](handleError(_0x26cf49,null));};exports[_0x9b8b('0x52')]=function(_0x301628,_0x367b98,_0x248aac){if(_0x301628[_0x9b8b('0x4a')]['id']){delete _0x301628[_0x9b8b('0x4a')]['id'];}return db[_0x9b8b('0x2d')][_0x9b8b('0x4e')]({'where':{'id':_0x301628[_0x9b8b('0x46')]['id']}})[_0x9b8b('0x21')](handleEntityNotFound(_0x367b98,null))[_0x9b8b('0x21')](function(_0x106b67){if(_0x106b67){_0x301628[_0x9b8b('0x4a')][_0x9b8b('0x53')]=_0x106b67['id'];return db[_0x9b8b('0x54')][_0x9b8b('0x49')](_0x301628['body']);}})[_0x9b8b('0x21')](respondWithResult(_0x367b98,null))[_0x9b8b('0x44')](handleError(_0x367b98,null));};exports['addAnyCondition']=function(_0x12943c,_0x162874,_0x13d7b7){if(_0x12943c[_0x9b8b('0x4a')]['id']){delete _0x12943c[_0x9b8b('0x4a')]['id'];}return db[_0x9b8b('0x2d')][_0x9b8b('0x4e')]({'where':{'id':_0x12943c['params']['id']}})[_0x9b8b('0x21')](handleEntityNotFound(_0x162874,null))[_0x9b8b('0x21')](function(_0x102750){if(_0x102750){_0x12943c[_0x9b8b('0x4a')][_0x9b8b('0x55')]=_0x102750['id'];return db[_0x9b8b('0x54')][_0x9b8b('0x49')](_0x12943c['body']);}})[_0x9b8b('0x21')](respondWithResult(_0x162874,null))['catch'](handleError(_0x162874,null));};exports[_0x9b8b('0x56')]=function(_0x265d79,_0x37fb0e,_0x3f1343){var _0x319c4f={};var _0x147769={};var _0x353ed1;var _0xe7fe77;return db['Trigger']['findOne']({'where':{'id':_0x265d79['params']['id']}})['then'](handleEntityNotFound(_0x37fb0e,null))[_0x9b8b('0x21')](function(_0x741c52){if(_0x741c52){_0x353ed1=_0x741c52;_0x147769[_0x9b8b('0x31')]=_[_0x9b8b('0x34')](db['Condition']['rawAttributes']);_0x147769['query']=_[_0x9b8b('0x34')](_0x265d79[_0x9b8b('0x33')]);_0x147769[_0x9b8b('0x35')]=_['intersection'](_0x147769[_0x9b8b('0x31')],_0x147769['query']);_0x319c4f[_0x9b8b('0x37')]=_[_0x9b8b('0x36')](_0x147769[_0x9b8b('0x31')],qs[_0x9b8b('0x38')](_0x265d79[_0x9b8b('0x33')][_0x9b8b('0x38')]));_0x319c4f[_0x9b8b('0x37')]=_0x319c4f[_0x9b8b('0x37')][_0x9b8b('0x47')]?_0x319c4f[_0x9b8b('0x37')]:_0x147769[_0x9b8b('0x31')];_0x319c4f[_0x9b8b('0x3a')]=qs['sort'](_0x265d79[_0x9b8b('0x33')][_0x9b8b('0x3b')]);_0x319c4f[_0x9b8b('0x3c')]=qs[_0x9b8b('0x35')](_[_0x9b8b('0x3d')](_0x265d79['query'],_0x147769[_0x9b8b('0x35')]));if(_0x265d79[_0x9b8b('0x33')]['filter']){_0x319c4f[_0x9b8b('0x3c')]=_[_0x9b8b('0x3e')](_0x319c4f[_0x9b8b('0x3c')],{'$or':_[_0x9b8b('0x32')](_0x319c4f[_0x9b8b('0x37')],function(_0x44a8d1){var _0x4cbedb={};_0x4cbedb[_0x44a8d1]={'$like':'%'+_0x265d79[_0x9b8b('0x33')]['filter']+'%'};return _0x4cbedb;})});}_0x319c4f=_[_0x9b8b('0x3e')]({},_0x319c4f,_0x265d79[_0x9b8b('0x48')]);return _0x353ed1[_0x9b8b('0x56')](_0x319c4f);}})[_0x9b8b('0x21')](function(_0x4a08db){if(_0x4a08db){_0xe7fe77=_0x4a08db[_0x9b8b('0x47')];if(!_0x265d79[_0x9b8b('0x33')]['hasOwnProperty'](_0x9b8b('0x39'))){_0x319c4f['limit']=qs['limit'](_0x265d79[_0x9b8b('0x33')][_0x9b8b('0x1b')]);_0x319c4f[_0x9b8b('0x1a')]=qs['offset'](_0x265d79[_0x9b8b('0x33')]['offset']);}return _0x353ed1[_0x9b8b('0x56')](_0x319c4f);}})['then'](function(_0x3cf571){if(_0x3cf571){return _0x3cf571?{'count':_0xe7fe77,'rows':_0x3cf571}:null;}})[_0x9b8b('0x21')](respondWithResult(_0x37fb0e,null))[_0x9b8b('0x44')](handleError(_0x37fb0e,null));};exports['getAnyConditions']=function(_0x37cfb3,_0x1e74ac,_0x2b03fd){var _0x4d6ba1={};var _0x1d4215={};var _0x2cbd5e;var _0x4f7edc;return db['Trigger']['findOne']({'where':{'id':_0x37cfb3[_0x9b8b('0x46')]['id']}})[_0x9b8b('0x21')](handleEntityNotFound(_0x1e74ac,null))[_0x9b8b('0x21')](function(_0x3a66dc){if(_0x3a66dc){_0x2cbd5e=_0x3a66dc;_0x1d4215['model']=_['keys'](db[_0x9b8b('0x54')][_0x9b8b('0x2e')]);_0x1d4215['query']=_[_0x9b8b('0x34')](_0x37cfb3['query']);_0x1d4215[_0x9b8b('0x35')]=_[_0x9b8b('0x36')](_0x1d4215['model'],_0x1d4215[_0x9b8b('0x33')]);_0x4d6ba1[_0x9b8b('0x37')]=_['intersection'](_0x1d4215[_0x9b8b('0x31')],qs[_0x9b8b('0x38')](_0x37cfb3[_0x9b8b('0x33')][_0x9b8b('0x38')]));_0x4d6ba1[_0x9b8b('0x37')]=_0x4d6ba1[_0x9b8b('0x37')][_0x9b8b('0x47')]?_0x4d6ba1[_0x9b8b('0x37')]:_0x1d4215[_0x9b8b('0x31')];_0x4d6ba1[_0x9b8b('0x3a')]=qs[_0x9b8b('0x3b')](_0x37cfb3[_0x9b8b('0x33')][_0x9b8b('0x3b')]);_0x4d6ba1['where']=qs[_0x9b8b('0x35')](_['pick'](_0x37cfb3[_0x9b8b('0x33')],_0x1d4215['filters']));if(_0x37cfb3[_0x9b8b('0x33')][_0x9b8b('0x3f')]){_0x4d6ba1[_0x9b8b('0x3c')]=_[_0x9b8b('0x3e')](_0x4d6ba1[_0x9b8b('0x3c')],{'$or':_[_0x9b8b('0x32')](_0x4d6ba1['attributes'],function(_0x4cae65){var _0x1ebca0={};_0x1ebca0[_0x4cae65]={'$like':'%'+_0x37cfb3['query'][_0x9b8b('0x3f')]+'%'};return _0x1ebca0;})});}_0x4d6ba1=_[_0x9b8b('0x3e')]({},_0x4d6ba1,_0x37cfb3[_0x9b8b('0x48')]);return _0x2cbd5e[_0x9b8b('0x57')](_0x4d6ba1);}})[_0x9b8b('0x21')](function(_0x1a2045){if(_0x1a2045){_0x4f7edc=_0x1a2045[_0x9b8b('0x47')];if(!_0x37cfb3[_0x9b8b('0x33')][_0x9b8b('0x58')](_0x9b8b('0x39'))){_0x4d6ba1[_0x9b8b('0x1b')]=qs[_0x9b8b('0x1b')](_0x37cfb3[_0x9b8b('0x33')][_0x9b8b('0x1b')]);_0x4d6ba1['offset']=qs[_0x9b8b('0x1a')](_0x37cfb3[_0x9b8b('0x33')][_0x9b8b('0x1a')]);}return _0x2cbd5e[_0x9b8b('0x57')](_0x4d6ba1);}})['then'](function(_0x21b436){if(_0x21b436){return _0x21b436?{'count':_0x4f7edc,'rows':_0x21b436}:null;}})[_0x9b8b('0x21')](respondWithResult(_0x1e74ac,null))[_0x9b8b('0x44')](handleError(_0x1e74ac,null));};exports[_0x9b8b('0x59')]=function(_0x382132,_0xfaa376,_0x4f2943){if(_0x382132[_0x9b8b('0x4a')]['id']){delete _0x382132[_0x9b8b('0x4a')]['id'];}return db['Trigger'][_0x9b8b('0x4e')]({'where':{'id':_0x382132['params']['id']}})[_0x9b8b('0x21')](handleEntityNotFound(_0xfaa376,null))[_0x9b8b('0x21')](function(_0xf5175a){if(_0xf5175a){_0x382132[_0x9b8b('0x4a')][_0x9b8b('0x5a')]=_0xf5175a['id'];return db[_0x9b8b('0x5b')]['create'](_0x382132[_0x9b8b('0x4a')]);}})['then'](respondWithResult(_0xfaa376,null))[_0x9b8b('0x44')](handleError(_0xfaa376,null));};exports[_0x9b8b('0x5c')]=function(_0x428cf4,_0x3f8e43,_0x28cc78){var _0x5af0ce={};var _0x38d779={};var _0x2a5664;var _0x16943d;return db[_0x9b8b('0x2d')][_0x9b8b('0x5d')]({'where':{'id':_0x428cf4[_0x9b8b('0x46')]['id']}})[_0x9b8b('0x21')](handleEntityNotFound(_0x3f8e43,null))[_0x9b8b('0x21')](function(_0x8fb34e){if(_0x8fb34e){_0x2a5664=_0x8fb34e;_0x38d779[_0x9b8b('0x31')]=_[_0x9b8b('0x34')](db[_0x9b8b('0x5b')][_0x9b8b('0x2e')]);_0x38d779['query']=_['keys'](_0x428cf4[_0x9b8b('0x33')]);_0x38d779[_0x9b8b('0x35')]=_[_0x9b8b('0x36')](_0x38d779[_0x9b8b('0x31')],_0x38d779[_0x9b8b('0x33')]);_0x5af0ce[_0x9b8b('0x37')]=_['intersection'](_0x38d779[_0x9b8b('0x31')],qs['fields'](_0x428cf4[_0x9b8b('0x33')][_0x9b8b('0x38')]));_0x5af0ce[_0x9b8b('0x37')]=_0x5af0ce[_0x9b8b('0x37')][_0x9b8b('0x47')]?_0x5af0ce[_0x9b8b('0x37')]:_0x38d779['model'];_0x5af0ce[_0x9b8b('0x3a')]=qs[_0x9b8b('0x3b')](_0x428cf4[_0x9b8b('0x33')][_0x9b8b('0x3b')]);_0x5af0ce[_0x9b8b('0x3c')]=qs[_0x9b8b('0x35')](_[_0x9b8b('0x3d')](_0x428cf4[_0x9b8b('0x33')],_0x38d779[_0x9b8b('0x35')]));if(_0x428cf4[_0x9b8b('0x33')]['filter']){_0x5af0ce[_0x9b8b('0x3c')]=_[_0x9b8b('0x3e')](_0x5af0ce[_0x9b8b('0x3c')],{'$or':_[_0x9b8b('0x32')](_0x5af0ce[_0x9b8b('0x37')],function(_0x1561db){var _0x557d0e={};_0x557d0e[_0x1561db]={'$like':'%'+_0x428cf4[_0x9b8b('0x33')][_0x9b8b('0x3f')]+'%'};return _0x557d0e;})});}_0x5af0ce=_[_0x9b8b('0x3e')]({},_0x5af0ce,_0x428cf4[_0x9b8b('0x48')]);return _0x2a5664[_0x9b8b('0x5c')](_0x5af0ce);}})[_0x9b8b('0x21')](function(_0x4c8ae0){if(_0x4c8ae0){_0x16943d=_0x4c8ae0[_0x9b8b('0x47')];if(!_0x428cf4['query']['hasOwnProperty'](_0x9b8b('0x39'))){_0x5af0ce[_0x9b8b('0x1b')]=qs[_0x9b8b('0x1b')](_0x428cf4[_0x9b8b('0x33')][_0x9b8b('0x1b')]);_0x5af0ce['offset']=qs[_0x9b8b('0x1a')](_0x428cf4[_0x9b8b('0x33')][_0x9b8b('0x1a')]);}return _0x2a5664[_0x9b8b('0x5c')](_0x5af0ce);}})[_0x9b8b('0x21')](function(_0x4ad1d8){if(_0x4ad1d8){return _0x4ad1d8?{'count':_0x16943d,'rows':_0x4ad1d8}:null;}})[_0x9b8b('0x21')](respondWithResult(_0x3f8e43,null))[_0x9b8b('0x44')](handleError(_0x3f8e43,null));};