d596891b10e35d2983efa212c6ac8627d63a8848
[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 _0x7b2a=['Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','Condition','TriggerAnyId','findOne','sort','pick','getAllConditions','hasOwnProperty','getAnyConditions','nolimit','addAction','TriggerId','Action','getActions','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','json','offset','limit','undefined','count','status','set','Content-Range','apply','save','update','then','destroy','Triggers','UserProfileResource','error','stack','name','send','index','map','Trigger','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','order','filter','where','merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','find','create','user','get'];(function(_0x22e4a5,_0x4b1dc1){var _0x2b3e4a=function(_0x4738d3){while(--_0x4738d3){_0x22e4a5['push'](_0x22e4a5['shift']());}};_0x2b3e4a(++_0x4b1dc1);}(_0x7b2a,0x6f));var _0xa7b2=function(_0x3014b7,_0x274579){_0x3014b7=_0x3014b7-0x0;var _0x26543d=_0x7b2a[_0x3014b7];return _0x26543d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa7b2('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xa7b2('0x1'));var moment=require(_0xa7b2('0x2'));var BPromise=require(_0xa7b2('0x3'));var Mustache=require(_0xa7b2('0x4'));var util=require(_0xa7b2('0x5'));var path=require(_0xa7b2('0x6'));var sox=require(_0xa7b2('0x7'));var csv=require('to-csv');var ejs=require(_0xa7b2('0x8'));var fs=require('fs');var fs_extra=require(_0xa7b2('0x9'));var _=require(_0xa7b2('0xa'));var squel=require(_0xa7b2('0xb'));var crypto=require('crypto');var jsforce=require(_0xa7b2('0xc'));var deskjs=require(_0xa7b2('0xd'));var toCsv=require(_0xa7b2('0xe'));var querystring=require('querystring');var Papa=require(_0xa7b2('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xa7b2('0x10'));var hardwareService=require(_0xa7b2('0x11'));var logger=require(_0xa7b2('0x12'))(_0xa7b2('0x13'));var utils=require(_0xa7b2('0x14'));var config=require(_0xa7b2('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xa7b2('0x16'))['db'];function respondWithStatusCode(_0xde800e,_0x2d54fb){_0x2d54fb=_0x2d54fb||0xcc;return function(_0xeaf585){if(_0xeaf585){return _0xde800e[_0xa7b2('0x17')](_0x2d54fb);}return _0xde800e['status'](_0x2d54fb)[_0xa7b2('0x18')]();};}function respondWithResult(_0x4a6dab,_0x4a47cf){_0x4a47cf=_0x4a47cf||0xc8;return function(_0x3b8d08){if(_0x3b8d08){return _0x4a6dab['status'](_0x4a47cf)[_0xa7b2('0x19')](_0x3b8d08);}};}function respondWithFilteredResult(_0x377ee5,_0x2fdf6b){return function(_0xf8bf86){if(_0xf8bf86){var _0x3020a9=typeof _0x2fdf6b[_0xa7b2('0x1a')]==='undefined'&&typeof _0x2fdf6b[_0xa7b2('0x1b')]===_0xa7b2('0x1c');var _0x20742c=_0xf8bf86[_0xa7b2('0x1d')];var _0x360071=_0x3020a9?0x0:_0x2fdf6b[_0xa7b2('0x1a')];var _0x4fa562=_0x3020a9?_0xf8bf86[_0xa7b2('0x1d')]:_0x2fdf6b[_0xa7b2('0x1a')]+_0x2fdf6b[_0xa7b2('0x1b')];var _0x5c2e0c;if(_0x4fa562>=_0x20742c){_0x4fa562=_0x20742c;_0x5c2e0c=0xc8;}else{_0x5c2e0c=0xce;}_0x377ee5[_0xa7b2('0x1e')](_0x5c2e0c);return _0x377ee5[_0xa7b2('0x1f')](_0xa7b2('0x20'),_0x360071+'-'+_0x4fa562+'/'+_0x20742c)[_0xa7b2('0x19')](_0xf8bf86);}return null;};}function patchUpdates(_0x14f7d1){return function(_0x4ad2b2){try{jsonpatch[_0xa7b2('0x21')](_0x4ad2b2,_0x14f7d1,!![]);}catch(_0x2f6829){return BPromise['reject'](_0x2f6829);}return _0x4ad2b2[_0xa7b2('0x22')]();};}function saveUpdates(_0x237bea,_0x394f6c){return function(_0x47cf7c){if(_0x47cf7c){return _0x47cf7c[_0xa7b2('0x23')](_0x237bea)[_0xa7b2('0x24')](function(_0x2fd91b){return _0x2fd91b;});}return null;};}function removeEntity(_0x548860,_0x171c74){return function(_0x38ca3c){if(_0x38ca3c){return _0x38ca3c[_0xa7b2('0x25')]()[_0xa7b2('0x24')](function(){var _0x1038c3=_0x38ca3c['get']({'plain':!![]});var _0x14bdc3=_0xa7b2('0x26');return db[_0xa7b2('0x27')][_0xa7b2('0x25')]({'where':{'type':_0x14bdc3,'resourceId':_0x1038c3['id']}})['then'](function(){return _0x38ca3c;});})[_0xa7b2('0x24')](function(){_0x548860[_0xa7b2('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0xe2c5cb,_0x17da9b){return function(_0x5d002d){if(!_0x5d002d){_0xe2c5cb[_0xa7b2('0x17')](0x194);}return _0x5d002d;};}function handleError(_0x15a7c7,_0x417028){_0x417028=_0x417028||0x1f4;return function(_0x5cb3d5){logger[_0xa7b2('0x28')](_0x5cb3d5[_0xa7b2('0x29')]);if(_0x5cb3d5[_0xa7b2('0x2a')]){delete _0x5cb3d5[_0xa7b2('0x2a')];}_0x15a7c7[_0xa7b2('0x1e')](_0x417028)[_0xa7b2('0x2b')](_0x5cb3d5);};}exports[_0xa7b2('0x2c')]=function(_0x1f1fa1,_0x2f20f5){var _0x5635b6={},_0x128d3d={},_0x522f8d={'count':0x0,'rows':[]};var _0x5058d4=_[_0xa7b2('0x2d')](db[_0xa7b2('0x2e')][_0xa7b2('0x2f')],function(_0x4a3bd1){return{'name':_0x4a3bd1[_0xa7b2('0x30')],'type':_0x4a3bd1[_0xa7b2('0x31')][_0xa7b2('0x32')]};});_0x128d3d[_0xa7b2('0x33')]=_[_0xa7b2('0x2d')](_0x5058d4,_0xa7b2('0x2a'));_0x128d3d[_0xa7b2('0x34')]=_[_0xa7b2('0x35')](_0x1f1fa1[_0xa7b2('0x34')]);_0x128d3d[_0xa7b2('0x36')]=_[_0xa7b2('0x37')](_0x128d3d[_0xa7b2('0x33')],_0x128d3d[_0xa7b2('0x34')]);_0x5635b6[_0xa7b2('0x38')]=_[_0xa7b2('0x37')](_0x128d3d[_0xa7b2('0x33')],qs[_0xa7b2('0x39')](_0x1f1fa1[_0xa7b2('0x34')]['fields']));_0x5635b6[_0xa7b2('0x38')]=_0x5635b6[_0xa7b2('0x38')][_0xa7b2('0x3a')]?_0x5635b6[_0xa7b2('0x38')]:_0x128d3d['model'];if(!_0x1f1fa1[_0xa7b2('0x34')]['hasOwnProperty']('nolimit')){_0x5635b6[_0xa7b2('0x1b')]=qs[_0xa7b2('0x1b')](_0x1f1fa1[_0xa7b2('0x34')][_0xa7b2('0x1b')]);_0x5635b6['offset']=qs[_0xa7b2('0x1a')](_0x1f1fa1[_0xa7b2('0x34')][_0xa7b2('0x1a')]);}_0x5635b6[_0xa7b2('0x3b')]=qs['sort'](_0x1f1fa1['query']['sort']);_0x5635b6['where']=qs['filters'](_['pick'](_0x1f1fa1[_0xa7b2('0x34')],_0x128d3d['filters']),_0x5058d4);if(_0x1f1fa1[_0xa7b2('0x34')][_0xa7b2('0x3c')]){_0x5635b6[_0xa7b2('0x3d')]=_[_0xa7b2('0x3e')](_0x5635b6[_0xa7b2('0x3d')],{'$or':_[_0xa7b2('0x2d')](_0x5058d4,function(_0x243f13){if(_0x243f13[_0xa7b2('0x31')]!==_0xa7b2('0x3f')){var _0x1f0c0c={};_0x1f0c0c[_0x243f13[_0xa7b2('0x2a')]]={'$like':'%'+_0x1f1fa1['query']['filter']+'%'};return _0x1f0c0c;}})});}_0x5635b6=_[_0xa7b2('0x3e')]({},_0x5635b6,_0x1f1fa1[_0xa7b2('0x40')]);var _0xe9085={'where':_0x5635b6[_0xa7b2('0x3d')]};return db[_0xa7b2('0x2e')][_0xa7b2('0x1d')](_0xe9085)[_0xa7b2('0x24')](function(_0x16a85e){_0x522f8d['count']=_0x16a85e;if(_0x1f1fa1['query'][_0xa7b2('0x41')]){_0x5635b6[_0xa7b2('0x42')]=[{'all':!![]}];}return db['Trigger']['findAll'](_0x5635b6);})['then'](function(_0x46f9ff){_0x522f8d[_0xa7b2('0x43')]=_0x46f9ff;return _0x522f8d;})[_0xa7b2('0x24')](respondWithFilteredResult(_0x2f20f5,_0x5635b6))[_0xa7b2('0x44')](handleError(_0x2f20f5,null));};exports[_0xa7b2('0x45')]=function(_0x114fce,_0x3454a1){var _0x2bc323={'raw':![],'where':{'id':_0x114fce[_0xa7b2('0x46')]['id']}},_0x50f8e2={};_0x50f8e2[_0xa7b2('0x33')]=_[_0xa7b2('0x35')](db[_0xa7b2('0x2e')][_0xa7b2('0x2f')]);_0x50f8e2[_0xa7b2('0x34')]=_[_0xa7b2('0x35')](_0x114fce[_0xa7b2('0x34')]);_0x50f8e2[_0xa7b2('0x36')]=_[_0xa7b2('0x37')](_0x50f8e2[_0xa7b2('0x33')],_0x50f8e2[_0xa7b2('0x34')]);_0x2bc323['attributes']=_[_0xa7b2('0x37')](_0x50f8e2['model'],qs['fields'](_0x114fce[_0xa7b2('0x34')][_0xa7b2('0x39')]));_0x2bc323[_0xa7b2('0x38')]=_0x2bc323[_0xa7b2('0x38')][_0xa7b2('0x3a')]?_0x2bc323['attributes']:_0x50f8e2[_0xa7b2('0x33')];if(_0x114fce[_0xa7b2('0x34')][_0xa7b2('0x41')]){_0x2bc323[_0xa7b2('0x42')]=[{'all':!![]}];}_0x2bc323=_[_0xa7b2('0x3e')]({},_0x2bc323,_0x114fce['options']);return db[_0xa7b2('0x2e')][_0xa7b2('0x47')](_0x2bc323)[_0xa7b2('0x24')](handleEntityNotFound(_0x3454a1,null))[_0xa7b2('0x24')](respondWithResult(_0x3454a1,null))['catch'](handleError(_0x3454a1,null));};exports[_0xa7b2('0x48')]=function(_0x349f33,_0x463cb0){return db[_0xa7b2('0x2e')][_0xa7b2('0x48')](_0x349f33['body'],{})[_0xa7b2('0x24')](function(_0x48d3dd){var _0x5205ac=_0x349f33[_0xa7b2('0x49')][_0xa7b2('0x4a')]({'plain':!![]});if(!_0x5205ac)throw new Error(_0xa7b2('0x4b'));if(_0x5205ac[_0xa7b2('0x4c')]==='user'){var _0x461ca9=_0x48d3dd[_0xa7b2('0x4a')]({'plain':!![]});var _0x4e2676=_0xa7b2('0x26');return db['UserProfileSection'][_0xa7b2('0x47')]({'where':{'name':_0x4e2676,'userProfileId':_0x5205ac[_0xa7b2('0x4d')]},'raw':!![]})[_0xa7b2('0x24')](function(_0x5e0a31){if(_0x5e0a31&&_0x5e0a31['autoAssociation']===0x0){return db[_0xa7b2('0x27')][_0xa7b2('0x48')]({'name':_0x461ca9[_0xa7b2('0x2a')],'resourceId':_0x461ca9['id'],'type':_0x5e0a31[_0xa7b2('0x2a')],'sectionId':_0x5e0a31['id']},{})[_0xa7b2('0x24')](function(){return _0x48d3dd;});}else{return _0x48d3dd;}})[_0xa7b2('0x44')](function(_0x1ee584){logger['error'](_0xa7b2('0x4e'),_0x1ee584);throw _0x1ee584;});}return _0x48d3dd;})[_0xa7b2('0x24')](respondWithResult(_0x463cb0,0xc9))[_0xa7b2('0x44')](handleError(_0x463cb0,null));};exports[_0xa7b2('0x23')]=function(_0x1e1ef4,_0x265094){if(_0x1e1ef4['body']['id']){delete _0x1e1ef4[_0xa7b2('0x4f')]['id'];}return db['Trigger'][_0xa7b2('0x47')]({'where':{'id':_0x1e1ef4['params']['id']}})['then'](handleEntityNotFound(_0x265094,null))[_0xa7b2('0x24')](saveUpdates(_0x1e1ef4[_0xa7b2('0x4f')],null))['then'](respondWithResult(_0x265094,null))[_0xa7b2('0x44')](handleError(_0x265094,null));};exports[_0xa7b2('0x25')]=function(_0x23cd04,_0x1c926d){return db[_0xa7b2('0x2e')][_0xa7b2('0x47')]({'where':{'id':_0x23cd04['params']['id']}})[_0xa7b2('0x24')](handleEntityNotFound(_0x1c926d,null))['then'](removeEntity(_0x1c926d,null))[_0xa7b2('0x44')](handleError(_0x1c926d,null));};exports['addAllCondition']=function(_0x416f44,_0x3a1e66,_0x500256){if(_0x416f44[_0xa7b2('0x4f')]['id']){delete _0x416f44[_0xa7b2('0x4f')]['id'];}return db[_0xa7b2('0x2e')]['find']({'where':{'id':_0x416f44['params']['id']}})['then'](handleEntityNotFound(_0x3a1e66,null))[_0xa7b2('0x24')](function(_0x437f42){if(_0x437f42){_0x416f44[_0xa7b2('0x4f')]['TriggerAllId']=_0x437f42['id'];return db[_0xa7b2('0x50')]['create'](_0x416f44[_0xa7b2('0x4f')]);}})['then'](respondWithResult(_0x3a1e66,null))['catch'](handleError(_0x3a1e66,null));};exports['addAnyCondition']=function(_0x91afdb,_0x5c8f64,_0x2c34fa){if(_0x91afdb[_0xa7b2('0x4f')]['id']){delete _0x91afdb[_0xa7b2('0x4f')]['id'];}return db[_0xa7b2('0x2e')]['find']({'where':{'id':_0x91afdb[_0xa7b2('0x46')]['id']}})[_0xa7b2('0x24')](handleEntityNotFound(_0x5c8f64,null))[_0xa7b2('0x24')](function(_0x3a7998){if(_0x3a7998){_0x91afdb[_0xa7b2('0x4f')][_0xa7b2('0x51')]=_0x3a7998['id'];return db[_0xa7b2('0x50')]['create'](_0x91afdb[_0xa7b2('0x4f')]);}})[_0xa7b2('0x24')](respondWithResult(_0x5c8f64,null))['catch'](handleError(_0x5c8f64,null));};exports['getAllConditions']=function(_0x13767c,_0x2e8251,_0x2b5aed){var _0x754368={};var _0x3f550e={};var _0x4119ad;var _0xe6cd04;return db[_0xa7b2('0x2e')][_0xa7b2('0x52')]({'where':{'id':_0x13767c[_0xa7b2('0x46')]['id']}})[_0xa7b2('0x24')](handleEntityNotFound(_0x2e8251,null))[_0xa7b2('0x24')](function(_0x52a857){if(_0x52a857){_0x4119ad=_0x52a857;_0x3f550e[_0xa7b2('0x33')]=_[_0xa7b2('0x35')](db[_0xa7b2('0x50')][_0xa7b2('0x2f')]);_0x3f550e['query']=_['keys'](_0x13767c[_0xa7b2('0x34')]);_0x3f550e[_0xa7b2('0x36')]=_['intersection'](_0x3f550e[_0xa7b2('0x33')],_0x3f550e[_0xa7b2('0x34')]);_0x754368[_0xa7b2('0x38')]=_['intersection'](_0x3f550e[_0xa7b2('0x33')],qs[_0xa7b2('0x39')](_0x13767c[_0xa7b2('0x34')][_0xa7b2('0x39')]));_0x754368[_0xa7b2('0x38')]=_0x754368[_0xa7b2('0x38')][_0xa7b2('0x3a')]?_0x754368['attributes']:_0x3f550e[_0xa7b2('0x33')];_0x754368['order']=qs[_0xa7b2('0x53')](_0x13767c[_0xa7b2('0x34')]['sort']);_0x754368[_0xa7b2('0x3d')]=qs[_0xa7b2('0x36')](_[_0xa7b2('0x54')](_0x13767c[_0xa7b2('0x34')],_0x3f550e['filters']));if(_0x13767c[_0xa7b2('0x34')][_0xa7b2('0x3c')]){_0x754368['where']=_[_0xa7b2('0x3e')](_0x754368['where'],{'$or':_[_0xa7b2('0x2d')](_0x754368['attributes'],function(_0x3460c9){var _0x4c01ed={};_0x4c01ed[_0x3460c9]={'$like':'%'+_0x13767c[_0xa7b2('0x34')][_0xa7b2('0x3c')]+'%'};return _0x4c01ed;})});}_0x754368=_[_0xa7b2('0x3e')]({},_0x754368,_0x13767c['options']);return _0x4119ad[_0xa7b2('0x55')](_0x754368);}})['then'](function(_0x193ada){if(_0x193ada){_0xe6cd04=_0x193ada['length'];if(!_0x13767c[_0xa7b2('0x34')][_0xa7b2('0x56')]('nolimit')){_0x754368[_0xa7b2('0x1b')]=qs[_0xa7b2('0x1b')](_0x13767c[_0xa7b2('0x34')][_0xa7b2('0x1b')]);_0x754368[_0xa7b2('0x1a')]=qs[_0xa7b2('0x1a')](_0x13767c[_0xa7b2('0x34')][_0xa7b2('0x1a')]);}return _0x4119ad[_0xa7b2('0x55')](_0x754368);}})[_0xa7b2('0x24')](function(_0x4fb213){if(_0x4fb213){return _0x4fb213?{'count':_0xe6cd04,'rows':_0x4fb213}:null;}})[_0xa7b2('0x24')](respondWithResult(_0x2e8251,null))[_0xa7b2('0x44')](handleError(_0x2e8251,null));};exports['getAnyConditions']=function(_0x269af9,_0x305de0,_0x1e4f36){var _0x52861f={};var _0x58afc1={};var _0xc3aef5;var _0x14966b;return db['Trigger'][_0xa7b2('0x52')]({'where':{'id':_0x269af9[_0xa7b2('0x46')]['id']}})['then'](handleEntityNotFound(_0x305de0,null))[_0xa7b2('0x24')](function(_0xfd090){if(_0xfd090){_0xc3aef5=_0xfd090;_0x58afc1[_0xa7b2('0x33')]=_[_0xa7b2('0x35')](db['Condition'][_0xa7b2('0x2f')]);_0x58afc1['query']=_[_0xa7b2('0x35')](_0x269af9[_0xa7b2('0x34')]);_0x58afc1[_0xa7b2('0x36')]=_[_0xa7b2('0x37')](_0x58afc1[_0xa7b2('0x33')],_0x58afc1[_0xa7b2('0x34')]);_0x52861f[_0xa7b2('0x38')]=_['intersection'](_0x58afc1['model'],qs[_0xa7b2('0x39')](_0x269af9[_0xa7b2('0x34')]['fields']));_0x52861f[_0xa7b2('0x38')]=_0x52861f[_0xa7b2('0x38')][_0xa7b2('0x3a')]?_0x52861f[_0xa7b2('0x38')]:_0x58afc1[_0xa7b2('0x33')];_0x52861f[_0xa7b2('0x3b')]=qs[_0xa7b2('0x53')](_0x269af9['query'][_0xa7b2('0x53')]);_0x52861f['where']=qs[_0xa7b2('0x36')](_['pick'](_0x269af9[_0xa7b2('0x34')],_0x58afc1[_0xa7b2('0x36')]));if(_0x269af9[_0xa7b2('0x34')]['filter']){_0x52861f[_0xa7b2('0x3d')]=_['merge'](_0x52861f[_0xa7b2('0x3d')],{'$or':_['map'](_0x52861f[_0xa7b2('0x38')],function(_0x308178){var _0x7fa3c7={};_0x7fa3c7[_0x308178]={'$like':'%'+_0x269af9['query'][_0xa7b2('0x3c')]+'%'};return _0x7fa3c7;})});}_0x52861f=_[_0xa7b2('0x3e')]({},_0x52861f,_0x269af9['options']);return _0xc3aef5[_0xa7b2('0x57')](_0x52861f);}})[_0xa7b2('0x24')](function(_0x249ec4){if(_0x249ec4){_0x14966b=_0x249ec4[_0xa7b2('0x3a')];if(!_0x269af9[_0xa7b2('0x34')]['hasOwnProperty'](_0xa7b2('0x58'))){_0x52861f['limit']=qs['limit'](_0x269af9[_0xa7b2('0x34')][_0xa7b2('0x1b')]);_0x52861f['offset']=qs[_0xa7b2('0x1a')](_0x269af9[_0xa7b2('0x34')][_0xa7b2('0x1a')]);}return _0xc3aef5[_0xa7b2('0x57')](_0x52861f);}})[_0xa7b2('0x24')](function(_0x565e3e){if(_0x565e3e){return _0x565e3e?{'count':_0x14966b,'rows':_0x565e3e}:null;}})[_0xa7b2('0x24')](respondWithResult(_0x305de0,null))[_0xa7b2('0x44')](handleError(_0x305de0,null));};exports[_0xa7b2('0x59')]=function(_0x11abf2,_0x27f1ff,_0x389b68){if(_0x11abf2[_0xa7b2('0x4f')]['id']){delete _0x11abf2[_0xa7b2('0x4f')]['id'];}return db[_0xa7b2('0x2e')][_0xa7b2('0x47')]({'where':{'id':_0x11abf2[_0xa7b2('0x46')]['id']}})['then'](handleEntityNotFound(_0x27f1ff,null))[_0xa7b2('0x24')](function(_0x183201){if(_0x183201){_0x11abf2[_0xa7b2('0x4f')][_0xa7b2('0x5a')]=_0x183201['id'];return db[_0xa7b2('0x5b')][_0xa7b2('0x48')](_0x11abf2['body']);}})['then'](respondWithResult(_0x27f1ff,null))[_0xa7b2('0x44')](handleError(_0x27f1ff,null));};exports[_0xa7b2('0x5c')]=function(_0x2866dd,_0x4e45ac,_0x3bac8e){var _0x176da9={};var _0xad7b2b={};var _0x4b0e62;var _0x580ec6;return db[_0xa7b2('0x2e')][_0xa7b2('0x52')]({'where':{'id':_0x2866dd[_0xa7b2('0x46')]['id']}})[_0xa7b2('0x24')](handleEntityNotFound(_0x4e45ac,null))[_0xa7b2('0x24')](function(_0x35cc97){if(_0x35cc97){_0x4b0e62=_0x35cc97;_0xad7b2b['model']=_['keys'](db[_0xa7b2('0x5b')][_0xa7b2('0x2f')]);_0xad7b2b[_0xa7b2('0x34')]=_[_0xa7b2('0x35')](_0x2866dd[_0xa7b2('0x34')]);_0xad7b2b['filters']=_['intersection'](_0xad7b2b[_0xa7b2('0x33')],_0xad7b2b[_0xa7b2('0x34')]);_0x176da9[_0xa7b2('0x38')]=_[_0xa7b2('0x37')](_0xad7b2b[_0xa7b2('0x33')],qs['fields'](_0x2866dd['query'][_0xa7b2('0x39')]));_0x176da9['attributes']=_0x176da9[_0xa7b2('0x38')]['length']?_0x176da9[_0xa7b2('0x38')]:_0xad7b2b[_0xa7b2('0x33')];_0x176da9[_0xa7b2('0x3b')]=qs[_0xa7b2('0x53')](_0x2866dd[_0xa7b2('0x34')]['sort']);_0x176da9[_0xa7b2('0x3d')]=qs['filters'](_[_0xa7b2('0x54')](_0x2866dd[_0xa7b2('0x34')],_0xad7b2b[_0xa7b2('0x36')]));if(_0x2866dd[_0xa7b2('0x34')][_0xa7b2('0x3c')]){_0x176da9[_0xa7b2('0x3d')]=_['merge'](_0x176da9[_0xa7b2('0x3d')],{'$or':_[_0xa7b2('0x2d')](_0x176da9[_0xa7b2('0x38')],function(_0x6fd57a){var _0x41e6ab={};_0x41e6ab[_0x6fd57a]={'$like':'%'+_0x2866dd[_0xa7b2('0x34')][_0xa7b2('0x3c')]+'%'};return _0x41e6ab;})});}_0x176da9=_[_0xa7b2('0x3e')]({},_0x176da9,_0x2866dd[_0xa7b2('0x40')]);return _0x4b0e62[_0xa7b2('0x5c')](_0x176da9);}})[_0xa7b2('0x24')](function(_0x47eaf0){if(_0x47eaf0){_0x580ec6=_0x47eaf0[_0xa7b2('0x3a')];if(!_0x2866dd[_0xa7b2('0x34')][_0xa7b2('0x56')](_0xa7b2('0x58'))){_0x176da9[_0xa7b2('0x1b')]=qs[_0xa7b2('0x1b')](_0x2866dd[_0xa7b2('0x34')][_0xa7b2('0x1b')]);_0x176da9[_0xa7b2('0x1a')]=qs['offset'](_0x2866dd[_0xa7b2('0x34')]['offset']);}return _0x4b0e62[_0xa7b2('0x5c')](_0x176da9);}})[_0xa7b2('0x24')](function(_0x115399){if(_0x115399){return _0x115399?{'count':_0x580ec6,'rows':_0x115399}:null;}})[_0xa7b2('0x24')](respondWithResult(_0x4e45ac,null))[_0xa7b2('0x44')](handleError(_0x4e45ac,null));};